Skip to content
/ cp2 Public

수면 단계 예측 모델링 - 기업협업 프로젝트

Notifications You must be signed in to change notification settings

mooncw/cp2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

심전도 데이터로 수면단계 예측하기

기업협업 프로젝트로 진행했고 NDA로 인해 코드는 비공개
추후에 보완 할 예정

프로젝트 배경과 목적

사람은 좋은 수면 하는 것이 좋습니다.

좋은 수면을 하고 있는지 알기 위해선 병원에서 수면다원검사를 받으면 됩니다.

하지만 일반인들에게 병원에 직접 가서 검사 받기에는 번거롭고 몸에 전극 여러 개 붙이고 낯선 환경에서 잠을 자야 돼서 불편합니다.

수면다원검사는 여러가지 데이터를 측정하는데, 그 중 측정하기 쉬운 ECG데이터와 호흡데이터가 있습니다.

설치하기만 하면 되는 비접촉 Radar 센서를 이용하면 ECG데이터와 호흡데이터를 얻을 수 있습니다.

ECG데이터와 호흡데이터로 수면 단계를 예측할 수 있는 모델 만들면 수면다원검사보다 검사 시간, 검사 인력, 검사 비용을 줄일 수 있을 것이라 생각했습니다.

프로젝트 진행 과정

  1. 도메인 공부
  2. 데이터 공부
  3. 기업이 제시한 해결 해야 할 문제 파악
  4. EDA
  5. base line 코드 작성
  6. 모델링
  7. 결과 확인

데이터셋 설명

주어진 데이터는 5명의 코골이, 심전도, 호흡 데이터가 들어있는 edf 파일

그 중 심전도 데이터만 이용

심전도
image
image

문제 상황 해결 과정

수면 단계를 예측하기 위해 시간에 따른 심박의 주기적인 변화를 나타내는 hrv 데이터가 필요하기에 기업에 공유한 코드를 참고하여 심전도 데이터를 hrv 데이터로 바꾸는 과정을 거쳤습니다.

수면 단계를 분류하는 문제이기에 분류 모델을 사용했고 모델은 kneighborsclassifier을 이용했습니다.

이 분류 모델 선정 이유는 다른 모델과 비교해보니 학습 속도도 빠르고 수면 단계마다 hrv특성들이 있어서 k - 최근접 이웃에 좋을 것 같았기 때문입니다.

파라미터는 Random search로 조정하였습니다.

최종적으로 기업이 제시한 해결해야 할 문제는 심전도 데이터는 사람들 마다 다르기 때문에 특정 사람들의 데이터로 모델을 학습 시키면 다른 사람의 데이터를 예측할 때 정확도가 매우 떨어진다는 것 이였습니다.

이 부분까지 base line으로 작성하였습니다.

이 문제를 해결하기 위해 공부하던 중에 Domain adaption이라는 기술을 알게 되었고 적용시키기 위해 adapt 모델을 사용 했습니다.

다른 사람의 데이터를 예측할 때 정확도가 매우 떨어지는 이유가 사람마다 다른 편향이 있기 때문이라고 생각했기에 편향을 맞춰주는 adapt 모델 중 KMM이라는 모델을 사용했습니다.

정확도를 높여야하는 문제이기에 모든 모델의 평가지표는 accuracy를 사용했습니다.

결과 정리

base line accuracy : 0.2521

수면 단계 예측

image

KMM 모델 적용 후 accuracy : 0.3886

수면 단계 예측

image

accuracy는 약 13.65 퍼 증가 했습니다.

유의미한 증가 수치는 아닙니다.

한계점 및 해결 방안

위의 결과 그래프 2개를 볼 때, 어떤 것이 더 좋은지 알 수 없을만큼 accuracy 증가 폭이 유의미하게 증가하지 않았습니다.

수치데이터로만 학습시키기엔 모델의 성능에 한계가 있었던 것 같습니다.

다른 Domain adaption 모델을 보면 이미지가 훈련 데이터였기에, 추후에 심전도 데이터를 스펙토그램처럼 이미지화 시킬 수 있다면 좀 더 다양한 모델 구조를 적용시킬 수 있을 것입니다.

추후에 Domain adaption만 적용시킬 것이 아니라 전이학습, 강화학습도 적용 시킬 수 있다면 더 좋은 결과를 기대해볼 수 있을 것 같습니다.

또한, 시간상 심전도 데이터만 사용했지만 논문을 보면 호흡 데이터도 같이 이용하면 더 좋은 결과가 나온다는 글이 있기에 추후에 호흡 데이터도 같이 이용하면 더 좋은 결과를 기대해볼 수 있을 것 같습니다.

About

수면 단계 예측 모델링 - 기업협업 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published