GIL's LAB

수면 상태 예측 모델 개발: 심박수와 모션 데이터를 활용한 분석 본문

데이터사이언스/케이스스터디

수면 상태 예측 모델 개발: 심박수와 모션 데이터를 활용한 분석

GIL~ 2025. 3. 4. 08:15

1. 프로젝트 개요

이번 분석에서는 심박수 및 모션 가속 센서 데이터를 활용하여 수면 상태를 예측하는 모델을 개발했다. 데이터는 PhysioNet에서 수집된 31명의 피험자 데이터를 사용했으며, 주요 목표는 주어진 생체 데이터를 바탕으로 수면 상태(Wake, Light Sleep, Deep Sleep, REM)를 예측하는 것이다.

 

2. 사용 데이터 및 전처리

데이터 구성

  • 심박수 (HR) 데이터: 불규칙한 주기로 측정됨
  • 모션 가속도 센서 데이터: X, Y, Z 축 값으로 제공됨
  • 수면 상태 레이블: 30초 단위로 측정됨 (Wake, Light Sleep, Deep Sleep, REM)

주요 전처리 과정

  • 심박수 데이터 보완: 특정 시점(t)의 수면 상태 예측을 위해 이전 30초 동안의 평균 심박수를 계산하여 추가
  • 모션 데이터 가공: X, Y, Z 축의 최댓값 - 최솟값을 활용한 가속도 범위 계산 (모션 감지 기준)
  • N1, N2 수면 단계를 통합하여 총 4개 클래스(Wake, N1-N2, N3, REM)로 단순화

 

3. 문제 정의 및 접근 방식

해결하고자 하는 문제

주어진 심박수 및 모션 데이터만을 활용하여 실시간으로 수면 상태를 예측하는 모델을 개발하는 것이 목표다. 이를 위해 다음 3가지 접근법을 고려했다.

#1 현재 시점 데이터만 활용 실시간 예측 가능 성능 저하 가능성
#2 이전 시점 데이터까지 활용 패턴 반영 가능 실시간 예측 어려움
#3 전체 데이터를 활용하여 예측 높은 정확도 수면 종료 후에만 예측 가능

 

4. 모델링 및 성능 비교

모델 성능 비교 (Baseline)

초기 모델링에서는 랜덤포레스트, 결정나무, LightGBM, XGBoost, 신경망, 로지스틱 회귀, LSTM을 테스트하여 최적의 모델을 탐색했다.

케이스최적 모델정확도

#1 로지스틱 회귀 55.81%
#2 신경망 56.85%
#3 신경망 56.91%

전체 데이터를 활용한 케이스(#3)의 성능이 가장 우수하며, 케이스 #2의 신경망 모델도 비교적 좋은 성능을 보였다.

 

하이퍼파라미터 튜닝 결과

이후 신경망 모델을 중심으로 하이퍼파라미터 튜닝을 진행했다.

케이스최적 아키텍처옵티마이저정확도

#2 (100, 50, 10) Adam 70.09%
#3 (10) Adam 70.12%

 

케이스 #3에서는 단순한 모델도 좋은 성능을 보였으나, 실시간 예측을 위해서는 케이스 #2의 모델이 더 적합할 것으로 판단된다.

 

5. 결론 및 향후 개선 방향

이번 분석에서는 심박수 및 모션 데이터를 활용하여 수면 상태를 예측하는 신경망 모델을 개발했다. 실시간 예측을 위한 모델(케이스 #2)이 가장 현실적인 대안이며, 추가적인 하이퍼파라미터 튜닝 및 추가 데이터 적용을 통해 성능을 더욱 향상시킬 수 있을 것으로 기대된다.

 

추후 개선 방향

  • 데이터 증강: 피험자 수 증가 및 다양한 환경에서의 데이터 수집
  • 특성 엔지니어링: 주파수 도메인 특성 추가 (FFT 변환 등)
  • 모델 최적화: Transformer 계열 모델 도입 검토

유사 프로젝트 요청이 필요하다면?

 

https://kmong.com/gig/374194

 

데이터사이언스 박사의 데이터 분석 서비스 드립니다. - 크몽

데이터사이언스박사 전문가의 IT·프로그래밍 서비스를 만나보세요. <p><span style="font-size: 20px;">의뢰 내용에 따라 작업 기간과...

kmong.com

 

 

Comments