SIAI Yearbook – 2024

Yeonsook Kwak (MBA, 2024)

Estimated reading: 4 minutes 209 views
160X600_GIAI_AIDSNote

국민건강보험공단이 공개한 수면장애 환자 건강보험 진료 현황에 따르면, 2022년 수면장애로 병원을 찾은 환자는 109만 8819명으로 2018년 85만 5025명보다 28.5% 늘었다. 수면장애 환자가 늘고 있는 만큼 양질의 수면에 대한 관심도 증가하고 있다. 하지만 환자마다 발생 원인과 특성이 달라 그에 맞는 치료법과 다양한 검사 방법이 동원돼야 하는 부담이 있다.

수면장애가 의심되는 환자는 수면다원검사(polysomnography)를 통해 수면에 대한 정밀진단을 받는다. 클리닉에 방문해서 받는 수면다원검사는 영상녹화(video recording), 수면 뇌파검사(a sleep electroencephalogram (leads C4-A1 and C3-A2)), 양측 안구움직임 검사(bilateral eye movements), 심근근전도 (submental EMG), 그리고 양측 전방 경골근 EMG(bilateral anterior tibialis EMG–수면하는 동안 다리움직임 기록)와 같은 다양한 검사로 정밀한 분석이 진행된다. 하지만 수면다원검사는 특정 전문 장소를 찾아가야 하는 불편함과 일회성 검사가 단점으로 꼽힌다. 때문에 수면을 간편하게 추적(monitoring)하는 도구에 대한 수요가 증가하고 있는 추세다.

Ⅰ. 가속도계 데이터 기반 수면 추적

가장 큰 변화를 갖는 축을 중심으로 움직임 측정

최근에는 웨어러블 디바이스(wearable device)를 통한 건강관리가 보편화됐으며, 이를 통해 실시간 데이터 수집도 가능해졌다. 손목 착용 시계(wrist wore watch)를 통해 활동상태를 확인하고, 수면 측정의 경우 ‘가속도센서’와 ‘광혈류 측정센서’ 두 가지를 사용한다. 가속도센서는 몸의 움직임을 측정하는 센서이고, 광혈류 측정센서는 손목 조직 내에 혈류의 양을 빛으로 측정하는 센서로 심박수를 측정한다. 이 두 가지 센서 데이터를 모두 활용한다면 수면측정에 오차가 줄어들겠지만, 본 연구에서는 데이터 사용 제약으로 인해 가속도계(accelerometer) 센서 데이터만을 활용한다. 그 이유에 대해서는 잠시 후 데이터의 정보량과 정보 손실의 관점에서 풀어나갈 계획이다.

먼저 가속도계 데이터는 아래의 그림처럼 세 가지 축의 데이터로 이루어져 있다.[1]

Sleep State Detection MDSA YeonsookKwak 1
Figure 1. 가속도계 센서 그림[1]

$x$축은 땅과 수평으로 움직이는 방향의 변화를 나타내며, $y$축은 진행 방향의 옆 방향에서의 변화(e.g. 양팔을 양옆으로 얼마나 흔드는지), 그리고 $z$축은 수직으로 점프하는 방향으로의 변화(다리가 겹치는 구간에서 가장 높아짐)를 나타낸다. 여기서 짚고 넘어가야 할 점은 각 축의 기능은 센서의 기준축에 의존하며, 센서의 기준축이 바뀌는 경우 일반적으로 전체값 중 가장 큰 변화를 가지는 값을 기준으로 움직임을 측정한다.

아래의 그래프는 3축 데이터의 예시를 보여준다.[4] 이 그래프는 일반적인 걸음에서 팔을 흔드는 것과 양팔을 고정한 상태에서 걸었을 때, 측정값이 어떻게 달라지는지를 시각화했다. $x, y, z$축 방향의 변화는 평균값의 변화를 나타나며, 양팔을 고정한 상태에서 녹색으로 표시된 신호가 가장 변동이 큰 것을 볼 수 있다. 따라서 가속도계 데이터는 같은 행동이더라도 센서의 위치 변화나 기준축의 변화에 따라 데이터가 다르게 측정된다는 특징이 있다.

Sleep State Detection MDSA YeonsookKwak 2
Figure 2. 가속도계 $x, y, z$축 데이터 예시
ENMO, 변수변환을 통한 유용한 변수 활용

센서 방향에 따라 축이 변하는 문제점을 보완하기 위해 정보 함축적이지만 간편한 변수로의 변형이 필요하다. 많은 연구에서 선형변환 변수(summary metric or summary measurement)를 사용하는데, summary metric은 $x, y, z$축 값을 하나의 값으로 변환하기 때문에 센서 방향 변화의 영향을 적게 받는다. Summary metric의 종류로는 ENMO(표준화 가속도 벡터 크기), VMC, AI, Z-angle(손목 각도) 등이 있다. 본 연구에서 활용된 ENMO와 Z-angle에 대해 자세히 알아보자.

Figure 1의 가속도계 그림에서처럼 센서 데이터의 운동가속도를 해석하려면, 중력가속도(gravity(g))의 영향을 고려해야 한다. 따라서 3축 값의 선형변환을 표준화하기 위해 중력가속도를 빼주는 변수를 ENMO변수라고 지칭했고, 이를 수식으로 표현하면 아래와 같다.

\begin{equation} \label{eq:ENMO}
ENMO = max(0, \sqrt{x^{2}+y^{2}+z^{2}} – 1)
\end{equation}

Z-angle은 손목 각도에 대한 summary metric인데, 몸의 수직축에 대한 팔의 각도라고 볼 수 있으며, 아래의 수식으로 표현할 수 있다.

\begin{equation} \label{eq:Z-angle}
Z-angle = tan^{-1}\left(\frac{a_{z}}{\sqrt{a_{x}^2 + a_{y}^2}}\right) \cdot \frac{180}{\pi}
\end{equation}

직관적인 이해를 위해 측정값을 통해 표준가속도 벡터크기(ENMO)가 어느 수준일지 가늠해 보자. 아래 Figure 3은 일상 활동 시 표준가속도 벡터크기 측정값을 정리한 표다.[2]

image
Figure 3. Activity 표준가속도 벡터크기(ENMO) 측정표[2]

서있는 자세에서는 표준가속도 벡터크기가 평균 1.03g으로 측정되었고, 일상에서 걸어 다니는 자세에서는 10.3g으로 측정된 것이 눈에 띈다. 이처럼 움직임이 적을 때에는 값이 작고, 활동성이 커질수록 값이 커진다는 것을 쉽게 인지할 수 있다. 다시 말해 인간은 로봇처럼 항상 같은 속도로 움직이지 않기 때문에 속도의 변화인 가속도로 활동 크기 측정이 가능하다는 의미다.

전체적인 정보의 양으로 보면 1개의 축으로 변환된 summary metric을 사용하는 것보다 $x, y, z$축이 다 있는 가공하지 않은 데이터를 사용하는 것이 더 좋아 보일 수 있다. 하지만 summary metric을 사용해도 치명적인 정보 손실이 일어나지 않았으며, 본 연구에서는 데이터의 제약사항과 더불어 summary metric 하나를 가지고도 수면 상태 추정이 가능하다는 방법론을 제시하고자 한다.

또한 간단한 모델을 통해 Z-angle 데이터를 사용하지 않아도 치명적인 정보 손실이 없음을 확인해 보았다. Z-angle과 ENMO 두 변수의 통계량으로 변수의 설명력을 트리 모델로 확인한 결과, ENMO 통계량 변수의 중요도가 압도적으로 높았다. ENMO의 통계량 변수가 상위 10개 중요도(importance)를 모두 가져갔다. 게다가 Z-angle 통계량의 변수 중요도가 확연히 낮은 것도 확인했으므로 하나의 변수 ENMO를 시작으로 문제를 풀어나갈 것이다.

Ⅱ. 선행 연구 조사 및 기존 방법론의 한계 분석

최적화에 초점을 맞춘 기존 방법론

앞서 ENMO(표준화 가속도 벡터 크기), VMC, AI, Z-angle(손목 각도) 등 summary measurement의 몇 가지 변수들을 살펴봤었다. 최근에는 가속도 센서에서 수집되는 $x, y, z$축의 데이터를 통해서 MAD(Mean Absolute Deviation)와 같은 새로운 summary measurement를 찾기 위한 연구가 진행 중이다. 물론 이러한 변수변환 작업은 높은 수준의 도메인 지식을 요구하며, 축약된 변수들을 검증하는 단계 또한 간단하지 않다.

기존 연구에서는 적절한 summary measurement를 찾아 시간적 통계량, 예를 들어 1분 간격으로 겹쳐거나(rolling) 겹치지 않는 편차, 평균, 최솟값, 최댓값으로 머신러닝 모델, 직관에 기반한 모델(heuristic), 또는 회귀모델로 분류나 검출을 진행한 바 있다. 아래 Figure 4는 이전 연구들의 대표적인 방법론들을 요약하고 있다. [5]

Sleep State Detection MDSA YeonsookKwak 4
Figure 4. 기존 연구 알고리즘 비교 [40 years of actigraphy in sleep medicine and current state of the art algorithms][7]

추가로, 수면 연구에서 사용되는 평가지표(metric)는 아래와 같다. [2]

  1. sensitivity(actigraphy = sleep when PSG= sleep)
  2. specificity( actigraphy = wake when PSG = wake)
  3. Accuracy : total proportion correct
  4. The amount of wakefulness after sleep onset(WASO) : 수면 기간 동안 깨어난 횟수를 합산
  5. SE(sleep efficiency) : 수면다원검사 라벨이 있는 기간내의 수면 비율을 계산
  6. TST(Total sleep time) : 1박당 수면 시기(epoch) 분류의 합으로 계산
데이터의 패턴 변화 민감도↑

모델의 복잡도로 보았을 때, 랜덤포레스트와 같은 머신러닝 모델들과 CNN, LSTM과 같은 인공신경망 모델(neural network model)들이 “복잡도 상”으로 표시된 것을 볼 수 있다. 이 모델들은 정확도(Accuracy)에 좀 더 무게를 두기 때문에 매개변수가 많아 과적합(Overfitting)에 취약해지고 버려지는 데이터 포인트들도 생긴다. 또한 데이터가 충분하지 않으면 근본 패턴 대신 학습 데이터의 노이즈를 학습하여 새로운 데이터에 대한 성능이 저하될 수 있다. 그 결과 실제 연구에서도 잠이 드는 순간과 깨어나는 상태를 잘 잡아내지 못하는 경우가 발생했다고 한다. 최적화에 너무 신경 쓴 나머지, 일반화를 놓친 것이다.

상대적으로 모델이 단순하고 새로운 데이터의 패턴 변화에 덜 민감하다고 알져져 있는 회귀모델(regression model)은 최적화의 한계에서 자유로웠을까? 먼저 짚고 넘어가야 할 점은 회귀모델은 데이터의 정규성을 가정하는 모델이라는 사실이다. 데이터가 정규성을 만족하지 못하면 상관계수의 표준오차가 계수의 크기에 비해 상대적으로 높게 계산되는데, 이는 상관계수의 유의성을 낮춰(p-값이 높아져) 모델의 추론 결과를 신뢰할 수 없게 만든다. 안타깝게도 수면 데이터는 정규성을 만족하지 못해 Cole-Kripke[3]와 Oakely[6]의 두 회귀모델 모두 추가적인 최적화 작업을 진행했다고 한다. 머신러닝이나 인공신경망 모델보다는 타겟 데이터에 대해서 정확성이 떨어졌지만, 모델 복잡도가 상대적으로 낮고 최적화가 정교해, 연구에서는 수면다원검사와 함께 기준 모델(baseline model)로 활용되고 있다.

아울러 웨어러블 기기를 착용한 지 얼마 되지 않은 사용자의 경우, 적은 양의 데이터로 수면 상태를 분류해야 하는 상황이 발생한다. 초기에 수집된 데이터는 대표성이 떨어질 가능성이 높은데, 이러한 상황에서 데이터 포인트가 많이 필요한 머신러닝·딥러닝 계열의 모델뿐만 아니라, 고도의 최적화 작업이 필요했던 기존의 회귀모델 역시 지속 가능하지 않은 접근법이다. 심지어 한 명의 사용자가 아니라 여러 명의 사용자에 대해서도 분석을 진행하려면 기존 방법론의 한계는 더욱 두드러진다. 이에 본 연구에서는 일반화 성능을 끌어올리는 데이터 변형과 모델 변형 방법론을 소개하고자 한다.

ENMO 데이터의 특성과 수집 방법

기존 연구의 한계를 극복해 나가는 본격적인 데이터 전처리 과정 설명과 방법론 소개에 앞서, ENMO 데이터의 특성을 더 자세히 살펴보자. 데이터가 보여주는 상황에 주의를 기울이다 보면 앞으로 제시할 전처리 과정과 방법론을 더욱 명확하게 이해할 수 있을 것이다.

지난 글에서 언급한 대로 필자는 ENMO라는 summary measurement 변수를 사용했다. ENMO 신호는 5초 간격으로 수집된 데이터이며, 해당 신호는 수면 일기를 통해 부여된 수면 상태 값과 결합해서 분석할 수 있다. 수면 일기에서 라벨값을 부여하는 기준은 아래와 같다.

  • 최소 30분 이상 수면 상태가 지속되어야 수면으로 가정한다.
  • 밤 동안 가장 긴 수면 기간이 수면 상태로 기록된다. 다만, 주어진 기간 내에 발생할 수 있는 수면 횟수를 제한하는 규칙은 없다. 예를 들어 개인이 같은 날 1시부터 6시까지, 그리고 17시 30분부터 23시 30분까지 두 차례의 수면 시간을 갖는 것은 모두 유효하게 집계된다. 이는 하루 중, 수면 이벤트가 발생하는 새벽과 저녁 시간이 일과시간을 기준으로 나뉘는 것을 생각하면 자연스러운 기준 선정이다.

이해를 돕기 위해 아래의 그래프로 샘플 데이터를 확인해 보자. 한 사람의 Z-angle과 ENMO 신호에 대해서 약 30일 정도의 기간 동안 수집한 데이터다. 잠을 자는 기간은 0으로, 활동하는 기간은 1로 표시되어 있다. -1은 수면일기의 라벨값이 기기누락 또는 기록 누락으로 존재하지 않는 경우다.

Sleep State Detection MDSA YeonsookKwak 5
Figure 5. 최종 사용하게되는 데이터 그래프. 0(잠을 자는 기간), 1(활동하는 기간). ENMO 데이터(상), Z-angle 데이터(하)

당연하게도 자는 기간(0, 빨간색)과 깨어 있는 기간(1, 초록색)이 번갈아 나타나며 주기성을 보이는 것이 눈에 띈다. 모든 사람이 동일한 수면 패턴을 보이지는 않지만, 큰 틀에서 수면과 활동이라는 주기성이 존재하는 것에는 변함이 없다. 이러한 데이터 특성 때문에 본 연구에서는 일반화된(Generalized) 데이터 변형으로 수면과 활동의 주기 특성을 더욱 안정적으로 구분짓고, 일반화에 초점을 맞춘 모델링 방법을 다음 글에서 소개할 예정이다.

Z-angle 데이터도 주기성을 보였지만, 이전 글에서 언급한 대로 ENMO 데이터의 중요도가 Z-angle의 것보다 압도적으로 높고 정보 손실도 적어, 앞으로의 방법론에는 ENMO 단일 변수만을 학습 데이터로 활용했다.

Ⅲ. 데이터 전처리 심층 분석

ENMO 신호의 주기성에 대해 간략하게 살펴봤다. 크게 잠을 자는 기간과 깨어 있는 기간으로 나뉘었는데, 흥미로운 점은 수면 기간에도 미세한 변동성이 관찰됐다는 사실이다. 이는 많은 사람이 알고 있듯이 수면에도 단계가 존재하기 때문인데, 수면의 단계는 보통 아래의 모식도에서 보이는 기준을 따라 분류된다.

Sleep State Detection MDSA YeonsookKwak 6
수면 단계 예시 그래프
Sleep State Detection MDSA YeonsookKwak 7
수면 단계 검출 모식도

기존의 Van Hees 연구에서도 해당 모식도를 기준으로 수면 단계를 분류하고 있다. 수면에 단계가 있다는 말은 곧 수면 단계에 따라 몸의 움직임이 달라져 수면 신호에 미세한 변동이 발생할 수 있음을 의미한다. 아래 Figure 5의 ENMO 데이터에서도 잠들어 있는 기간(빨간 막대)의 $y$값이 균일하지 않다는 것을 확인할 수 있다.

수면 구간의 신호를 더 안정적(consistent)인 신호로 가공할 수만 있다면, 수면 상태 검출이 더 쉬어질 것이라는 생각이 자연스럽게 떠올랐다. 안정화의 목적은 수면 신호를 아예 죽이는 것이 아니라, 그 특성은 살리되 미가공 데이터(raw data)의 분산보다는 상대적으로 안정된 값을 유지하는 것이 핵심이다.

위의 생각을 조금 더 확장하면 개인뿐만 아니라 전체 사용자 간의 뒤척임 정도가 달라도 일반화가 가능하다는 결론에 도달할 수 있다. 물론 이러한 복잡한 과정을 생략했을 수도 있다. 예를 들어 기존 연구에서는 최적화에 과도하게 초점을 맞춰 과적합(overfitting)과 같은 문제점이 발생했는데, 이를 개선하기 위해 정규화(regularization) 작업으로 라그랑주 승수법(Lagrange multiplier)을 적용하는 것이 보편적인 전근법이라는 것을 알고 있다.

하지만 본 연구에서는 데이터의 특성을 더 면밀하게 분석해서 얻은 인사이트로 데이터를 가공하고, 모델도 그것에 맞게 변경하여 일반화 성능이 더 우수한 방법론을 고안하기 위해 노력했다. 데이터 전처리 단계부터 탄탄한 논리가 뒷받침되어야 신뢰할 수 있는 모델을 만들 수 있다는 생각을 이번 글에서 공감했으면 한다.

데이터 변형을 통한 수면 신호 안정화

수면 신호 안정화를 위해 처음 사용했던 방식은 일반적인 필터링을 적용한 이상치(outlier) 제거였다. 고속 푸리에 변환(Fast Fourier transform, FFT)과 비슷한 전력 스펙트럼 밀도(Power Spectral Density, PSD)를 적용했다. PSD는 다양한 주파수 대역에 걸친 FFT2 밀도의 비율을 이해하는데 유용하다고 알려져 있다.

하지만 ENMO 신호 데이터에 PSD를 적용해 본 결과, 전체 데이터의 99.8%를 남겨 원래 의도했던 수면 신호만의 안정화를 이루지 못한 것을 확인했다. Figure 6을 들여다보면 가공된 ENMO(빨간막대) 신호의 수면 기간(빨간 선과 초록 선의 사이, 순서 중요) 변동성이 그대로 살아 있는 것을 발견할 수 있다.

Sleep State Detection MDSA YeonsookKwak 8
Figure 6. 사용자 한 명(ID 값 한 개)의 샘플 데이터에 대해 PSD를 적용한 결과 그래프. 파란막대(raw ENMO signal), 빨간막대(가공된 ENMO), 빨간 선(잠드는 순간표시), 초록 선(깨어나는 시점 표시)

혹시 데이터를 평활화(smoothing)하면 문제가 해결되지 않을까 해서 칼만 필터도 적용해 보았다. 하지만 이전 데이터의 공분산(covariance)를 활용해도 수면 신호를 안정화 하지 못했다. Figure 7에서도 가공된 ENMO 신호의 수면 기간 변동성이 대부분 남아 있었다.

Sleep State Detection MDSA YeonsookKwak 9
Figure 7: 사용자 한 명(ID 값 한 개)의 샘플 데이터에 대해 칼만 필터를 적용한 결과 그래프. 파란막대(raw ENMO signal), 빨간막대(가공된 ENMO), 빨간 선(잠드는 순간표시), 초록 선(깨어나는 시점 표시)

참고로 칼만 필터는 수면 상태(state) 검출 성능이 낮았으며, 이전 데이터의 공분산을 활용한 탓에 계산 비용도 PSD보다 더 높았다.

불규칙한 간격에서 주기성을 찾는 문제

초기 데이터 변환 작업에서 간과했던 부분이 있다. 주어진 데이터의 가장 중요했던 특징 중 하나를 놓쳤던 것인데, 사용자 한 명에 대해서도 잠이 드는 시간이나 깨어나는 시간이 규칙적이지 않다는 점이었다. 따라서 이번에는 간격이 고르지 않은 관측에서 주기적인 신호를 감지하도록 설계된 롬-스카글 주기(Lomb-Scargle Periodogram) 분석법을 사용했다.

아래 Figure 11은 롬-스카글 주기 분석법을 적용한 데이터를 시각화한 그래프다. 전체 데이터 기간이 길어서 수면 구간의 신호가 거의 균일해 보이지만 구간을 확대하면, 신호들의 특성은 최대한 살리면서 변동성은 낮췄다는 것을 확인할 수 있다.

Sleep State Detection MDSA YeonsookKwak 11
Figure 8: 사용자 한 명(ID 값 한 개)의 샘플 데이터에 대해 롬-스카글 주기 분석을 적용한 결과 그래프. 파란막대(raw ENMO signal), 빨간막대(가공된 ENMO), 빨간 선(잠드는 순간표시), 초록 선(깨어나는 시점 표시)

ID 값 한 개에 적용하는 것을 넘어, 기기 누락이 없는 전체 ID에 관해서도 확인해 본 결과, 주빈도(dominant frequency)는 파워(power)와 선형적(linear)인 패턴을 보였다. 따라서 회귀선 안에서 관측되는 빈도에 대해서는 선형선 안에 있는 일반적인 값을 사용해서 필터링을 진행해도 예측값의 정확도가 크게 떨어지지 않을 것이라고 판단됐다.

Sleep State Detection MDSA YeonsookKwak 10
Figure 9. 주빈도(Dominant frequency) ID 35ea에 관해서 확인한 결과 그래프. 왼쪽(전체 데이터로 확인), 오른쪽(왼쪽의 80% 샘플링으로 확인)

FFT와 결을 같이하는 롬-스카글 주기 분석법과 같은 신호 처리 방법론들은 주기성을 파악할 최소한의 데이터가 준비되어 있어야 한다. 즉, ENMO 데이터에서는 최소 하루는 지나야 잠을 자고 깨어나는 하나의 주기가 관측될 수 있다.

때문에 각 ID에서 표본 기간이 3~5일을 넘지 않거나, 기기 누락이 많을 때는 학습 데이터의 주빈도 데이터를 적용해서 필터링을 진행했으며, 최소 5일 정도의 데이터가 있을 때는 개별적으로 ID에 따라 필터링을 적용했다.

Ⅳ. 수면·활동 분포 기반 우도비 비교

일반화 방법론의 하나로 데이터를 어떻게 변형할 수 있는지 살펴보았다. 이번 글에서는 모델 변형을 통해 어떻게 일반화 성능을 개선할 수 있는지 알아보려 한다.

수면과 활동 기간 분포의 비교 분석

앞서 롬-스카글 주기 분석법을 적용한 ENMO 신호 데이터를 확인했을 때, 활동·수면 구간의 데이터 모두 균일 분포(uniform distribution)를 가지고 있지 않았다.

Figure 10에서 볼 수 있듯이 두 구간의 분포 모양도 다르다. 특히 분포의 봉우리 모양에서 확연히 차이가 나는데, 수면 구간의 결합 분포 봉우리가 부드러운 곡선인 반면, 활동 구간의 결합 분포 봉우리는 각진 모습을 보이고 있다.

Sleep State Detection MDSA YeonsookKwak 12
Figure 10. 전처리된 ENMO 신호를 ID 값별로 본 수면·활동 구간 별 분포: 수면 분포(왼쪽), 활동 분포(오른쪽)

주목할 만한 점은 분포 모양은 다르지만 각 ID의 정점 값(peak value)이 수면·활동 구간과 무관하게 $x$축의 0을 중심으로 관찰된다는 것이다.

Sleep State Detection MDSA YeonsookKwak 13
Figure 11a. 전체 데이터의 분포
Sleep State Detection MDSA YeonsookKwak 14
Figure 11b. 결측값이 없는 데이터의 80%
(전체 데이터의 9%수준)

마찬가지로 Figure 11a(전체 데이터)와 11b(전체 데이터의 9%)에서도 수면·활동 분포의 정점 값이 크게 변하지 않았다. 또한 Figure 11b에서 800개의 관측 값을 무작위 추출한 Figure 12의 정점 값도 변동이 적었다.

Sleep State Detection MDSA YeonsookKwak 15
Figure 12. 훈련 데이터: Figure 11b 데이터에서 약 800ea 무작위 추출(Random Sampling)
우도비 비교 방법론 적용

앞서 분포 함수의 정점 값이 다른지 같은지를 계속 살펴보았다. 이는 수면 상태 검출 방법을 일반화 하기 위해 수면·활동 구간의 분포 정보량을 활용해 우도비(likelihood ratio, LR) 비교 방법론을 적용하려는 노력의 일환이었다. 분포를 알고 있다면, 최대우도법(Maximum Likelihood Estimation, MLE)으로 접근하는 것이 가장 적절한 계산법인 것처럼, 수면·활동 분포의 정보를 활용해 우도비(Likelihood Ratio, LR)를 기준으로 모델링을 하고자 했다.

하지만 수면·활동 분포는 일반적으로 알려진 확률밀도함수(예: 가우시안, 포아송… 등)를 따르지 않을 수 있고, 종종 불규칙적이다. 그 대안으로 커널 밀도추정(kernel density estimation)을 적용한 분포를 사용했다. 커널 밀도추정은 관측된 데이터 각각마다 해당 데이터값을 중심으로 하는 커널 함수를 생성한 후 모두 더해, 전체 데이터 개수로 나눠주는 과정을 거친다. 보통 최적의 커널 함수는 에파네치코프(Epanechinikov) 커널이지만, 계산의 편의상 가우시안 커널을 많이 사용한다. 본 연구에서도 가우시안 커널을 사용했다.

먼저 LR 방법을 어떻게 적용했는지 수식으로 설명해 보자. $LR = \frac{L_{1} (D)}{L_{0} (D)}$.

각 데이터 입력 포인트에 대해서 우도비를 구할 수 있는데, $L_{0} (D)$은 귀무가설 하에 있는 데이터의 우도가 수면 신호일 가능성이 높은 것을 뜻한다. 그리고 $L_{1} (D)$는 대립가설하에서 데이터의 우도가 활동 신호일 가능성이 더 높은 것을 뜻한다. 만약 LR이 임계값(threshold)보다 크면, 데이터가 대립가설(활동 신호)하에 있을 가능성이 더 높다는 것을 의미한다.

Figure 13은 위 일반화 방법론을 통해 수면상태를 검출한 결과를 ID 한 개에 대해서 시각화한 그래프다. 아래 그래프 안에서 최하단에 있는 그래프는 데이터 변형을 마친 후, 활동 신호 첫 점(깨어나는 순간)과 마지막 점(잠드는 순간)까지 포인트를 최대한 많이 찾아주는 것을 볼 수 있다.

Sleep State Detection MDSA YeonsookKwak 16
Figure 13. Original ENMO 신호(최상단), 우도비(중간),
임곗값을 넘는 활동 기간을 빨간색 점으로 표시(최하단)

계산 효율성 측면에서도 LR은 매력적인 접근법이다. 컴퓨터 연산시간을 확인해 본 결과, 데이터가 입력과 동시에 데이터 변형이 이루어지고 LR 결과가 임곗값을 넘게 되는데 걸리는 시간은 짧았다. 대략 39,059ea의 데이터를 한 번에 처리할 경우, 7초 정도 소요되는 것을 확인했다. 예를 들어 10명의 하루치 데이터(17,280ea)는 총 약 1분 40초가 소모된다.

마지막으로 당연한 결과이지만 분포를 활용하기 때문에, 기기 누락에 대해서는 찾아주지 않고 기기 누락이 아니지만 라벨값이 없는 신호일 경우에는 찾아준다는 것을 시각적으로 확인할 수도 있었다.

강건성 평가를 위한 새로운 평가지표

모델의 강건성을 확인하기 위해 본 연구에서는 예측값과 라벨값의 시간 차이(time difference)를 성과지표로 사용하고자 한다. 위에서 소개한 우도비 방법론은 일반화에 초점을 맞췄기 때문에, 최적화 방법론을 위한 기존 수면 연구의 평가지표는 사용할 수 없다고 판단했다.

모델의 예측값과 라벨값의 시간 차이를 비교해 본 결과, 잠이 드는 시점은 전체적으로 실제 라벨값보다 빠르게 예측하는 경향성이 있었고, 깨어나는 시점은 전체적으로 실제 라벨값보다 느리게 예측하는 경향성이 있었다. 원인을 파악하기 위해 가공하지 않은 ENMO 신호에 대해서도 LR 방법을 적용해서 수면 상태를 검출해 봤다.

그 결과가 Figure 14a에서 확인 가능하듯이, 가공하지 않은 ENMO 신호를 사용하여도 예측의 빠르고 느린 경향성은 동일하게 나타났다. 따라서 이는 수집된 ENMO 신호 자체가 그런 특성이 있기 때문이라고 추정할 수 있다. 향후 맥박이나 다른 데이터를 보완적으로 사용한다면 time diff가 낮아질 것으로 기대된다.

Sleep State Detection MDSA YeonSookKwak Original ENMO
Figure 14a. time diff 결과(original ENMO사용)
Sleep State Detection MDSA YeonsookKwak 18
Figure 14b: time diff 결과(processed ENMO사용)

V. 한계 및 추후 연구 계획

간단하게 예측값과 라벨값의 시간차이(time difference)로 우도비 비교 방법론의 성능을 확인했다. 조금 더 객관적인 평가를 위해 이번에는 훈련 데이터에 미포함된 ID(테스트 세트)의 적용 결과도 함께 살펴보려고 한다.

Sleep State Detection MDSA YeonsookKwak 17
Figure 15a. 훈련 세트: 훈련 데이터에 포함된 ID의 적용 결과
Sleep State Detection MDSA YeonSookKwak SE 2
Figure 15b. 테스트 세트: 훈련 데이터에 미포함된 ID의 적용 결과

위의 표기된 숫자들은 각 ID의 시간차이 표준오차(within individual standar error, SE)를 구해 전체의 평균을 구한 값이다. 그리고 Figure 15a는 훈련 데이터에 포함된 ID 10개를 무작위로 선택해 우도비 비교 모델을 적용한 결괏값을, Figure 15b는 훈련 데이터에 포함되지 않은 ID 3개를 무작위로 사용한 결괏값을 보여주고 있다.

훈련 데이터 vs. 테스트 데이터 성능 차이

결과적으로 가공된 ENMO 신호는 훈련·테스트 데이터 세트 간의 성능 차이가 크지 않아, 일반화에 초점을 맞춘 방법론의 강건성을 다시 한번 확인할 수 있었다. 가공된 ENMO 신호는 이해할 수 있을 만한 수준의 변동성이 관찰됐지만, 가공되지 않은 오리지널 ENMO 신호의 경우에는 평균 표준오차가 많이 증가했다.

아울러 Figure 15a & b에서는 데이터 변형의 성능 개선 기여도 눈에 띄었다. 데이터 전처리 과정을 생략한 오리지널 ENMO 신호는 가공된 ENMO 신호 보다 평균 표준오차가 크다. 테스트 세트에서는 그 차이가 더 명확해지는데(Figure 15b), 가공된 ENMO 신호 데이터의 평균 표준오차가 기상(wakeup)·취침(sleep onset) 모두 20분 이상 낮아지는 것을 확인할 수 있다. 앞서 일반화 성능을 끌어올리기 위해 데이터 전처리 과정에 힘을 쏟은 이유가 바로 여기에 있다.

따라서 본 연구에서 제시한 방법론은 훈련 데이터 세트와 테스트 데이터 세트의 성능 차이를 최소화하여 모델의 일반화 성능을 입증해 냈다고 할 수 있다. 훈련 데이터 세트는 ID 10개에 대해서 무작위로 표본을 추출해 성능을 확인했으며, 훈련 분포에 활용되지 않은 ID 3개를 무작위로 추출한 테스트 데이터 세트까지 추가로 검증하여 모델의 일반화 성능을 엄격하게 실험했다. 참고로 훈련·테스트 세트에서 사용된 13개 ID에 대해서 뽑은 결과의 총일수(night)는 110일 정도 되는 긴 기간이다. 평균 표준오차 비교를 위해 충분한 기간을 사용했다고 사료된다.

주요 연구 내용 요약

요약하자면 이번 연구는 최적화보다는 일반화 방법론에 초점을 맞췄다. 특히 데이터 변형 단계에서부터 일반화 성능을 향상시키기 위해 노력했다. 가속도계 데이터 기반의 로우 데이터(raw data) 통계량을 사용하면 차원이 늘어나고 이상치(outlier)나 잡음에 영향을 많이 받을 수 있어 데이터 전처리의 필요성이 높았다. 또한 수면 패턴이 일정하지 않다는 데이터 특성을 함께 고려해야 하므로 간격이 고르지 않은 데이터에서 주기성을 찾아낼 수 있는 롬-스카글 주기 분석법(Lomb-Scargle periodogram)을 적용해 데이터 안정화를 꾀했다.

모델링 측면에서는 기존의 머신러닝이나 딥러닝 모델과 같이 데이터 하나하나에 대한 적합도를 높인 것이 아니라, 정보량이 많은 분포 데이터를 활용했다. 분포는 분산(variance)보다도 정보량이 더 많으므로 모델링의 관점에서 효율성이 더 높아질 수밖에 없는 구조다. 그 결과 웨어러블 기기 착용을 시작한 지 오래되지 않은 사용자도 초기 대응(단, 1시간 이상의 데이터는 필요함)할 수 있어 기기의 실용성도 높아졌다.

더 나아가 LR 방법론은 연산 효율이 높다는 장점이 있다. 머신러닝이나 딥러닝과 같이 복잡도가 높은 모델뿐만 아니라, 기존의 이동 통계량(rolling statistic)을 활용한 모델과 비교해 봐도 연산 효율의 차이가 크다. 같은 맥락에서 LR 방법론은 유지 관리가 편하다. 모델의 복잡도가 낮고, 데이터 전처리와 LR 모델 추론 단계가 차례대로 실행되기 때문에 이후 모델의 구조 수정도 간편하다.

미래 연구 방향 제시

현재는 ENMO 신호 데이터만 사용하고 있지만, 더 많은 보완 변수(e.g. 심박수)를 사용한다면, 수면 상태 검출이 한 단계 더 정교해질 것으로 예상된다. 그리고 ID 별로 데이터 전처리를 할 때에 업데이트 사항도 세부적으로 만든다면 성능이 향상될 것으로 보인다. 실제로 이번 연구에서는 간단한 실험으로만 과거 분포 데이터 사용 허용 기간이나, 주빈도(dominant frequency)를 결정짓는 기간을 선정했는데, 이후 정밀하게 조절하는 것을 고려해 볼 수 있을 것 같다.

ID 간(between individual) 존재하는 이질성도 고려해야 할 대상이다. 향후 연구에서 그룹(활동성이 보통 이상인 그룹 vs. 활동이 거의 없는 그룹)을 나눠서 분석한다면, 지금의 임곗값을 조정하는 방식보다 더 높은 정확도를 얻을 수 있을 것이다. 또한 연구 대상 집단을 확장하면, 비즈니스 측면이나 수면 연구 측면에서 사람 간의 인구학적 특징(demographic characteristic)을 반영할 수 있다는 점에서 공중보건 연구(public healthcare research)에 더 많은 기여가 가능할 것으로 전망된다.

현실적인 맥락에서의 모델 선택

아직은 보조적인 역할이 강하더라도 지속적으로 데이터의 특성을 업데이트하면 수면 연구 관련 분야에 잠재력이 크다고 생각된다. 실제로 이번 연구에서 사용한 데이터를 제공한 Healthy Brain Network에서는 수면 상태와 아이들의 심리 상태를 연관 지어서 연구하려는 의도도 가지고 있었다. 수면 상태 측정을 인간의 심리나 사회 현상에 연결 지어 분석하고자 하는 측면에서 보조도구로서의 중요성이나 흥미가 높다는 것을 엿볼 수 있다.

결국 현상에 대한 이해는 주어진 정보를 어떻게 활용하는가에 달려있다고 생각한다. 이번 연구에서 사용한 데이터는 신호 데이터다. 그리고 대부분의 신호 측정값은 잡음(noise)이 끼어 있어 기본적으로 불확실성을 가지고 있다. 게다가 수면 상태에 대한 이해는 도메인 전문성이 필수적으로 요구되며 직접 측정 또한 어려운 분야다. 어떻게 보면 직접 측정을 할 수 없거나 일부만 측정할 수 있는 연구지만, 최근 웨어러블 기기의 발전과 발맞춰 간접적으로 인간의 수면 상태에 대해 예측을 하고자 한 것이다.

끝으로 최적화와 일반화는 항상 큰 틀에서 보면 상충(trade-off)관계가 있을 수밖에 없다. 본 논문에서는 일반화에 초점을 맞춰 이야기를 풀어나갔지만, 비즈니스적으로 정밀함이 얼마나 요구되는지에 따라 최적화의 가중치도 유동적으로 결정해야 할 것으로 사료된다. “One size fits all”이란 말의 모순과 같이 언제나 완벽하게 100% 해결해 주는 것은 불가능에 가까운 것처럼, 데이터에 따라 때로는 처한 상황에 따라 선택이 필요하다는 생각으로 글을 마친다.

References

[1] URL https://insights.globalspec.com/images/assets/263/1263/Accelerometers-04-fullsize.jpg. 2

[2] Kishan Bakrania, Thomas Yates, Alex V Rowlands, Dale W Esliger, Sarah Bunnewell, James Sanders, Melanie Davies, Kamlesh Khunti, and Charlotte L Edwardson. Intensity thresholds on raw acceleration data: Euclidean norm minus one (enmo) and mean amplitude deviation (mad) approaches. PloS one, 11 (10):e0164045, 2016. 4

[3] Roger J. Cole, Daniel F. Kripke, William Gruen, Daniel J. Mullaney, and J. Christian Gillin. Automatic sleep/wake identification from wrist activity. Sleep, 15(5):461–469, 09 1992. ISSN 0161-8105. doi: 10.1093/sleep/15.5.461. URL https://doi.org/10.1093/sleep/15.5.461. (document)

[4] Marta Karas, Jiawei Bai, Marcin Str´aczkiewicz, Jaroslaw Harezlak, Nancy W. Glynn, Tamara Harris, Vadim Zipunnikov, Ciprian Crainiceanu, and Jacek K. Urbanek. Accelerometry data in health research: challenges and opportunities. bioRxiv, 2018. doi: 10.1101/276154. URL https://www.biorxiv.org/content/early/2018/03/05/276154. (document), 3

[5] Miguel Marino, Yi Li, Michael N. Rueschman, J. W. Winkelman, J. M. Ellenbogen, J. M. Solet, Hilary Dulin, Lisa F. Berkman, and Orfeu M. Buxton. Measuring sleep: Accuracy, sensitivity, and specificity of wrist actigraphy compared to polysomnography. Sleep, 36(11):1747–1755, 11 2013. ISSN 0161-8105. doi:10.5665/sleep.3142. URL https://doi.org/10.5665/sleep.3142. (document)

[6] Nigel R Oakley. Validation with polysomnography of the sleepwatch sleep/wake scoring algorithm used by the actiwatch activity monitoring system. mini mitter co. Sleep, 2:0–140, 1997. (document)

[7] Matthew R Patterson, Adonay AS Nunes, Dawid Gerstel, Rakesh Pilkar, Tyler Guthrie, Ali Neishabouri, and Christine C Guo. 40 years of actigraphy in sleep medicine and current state of the art algorithms. NPJ Digital Medicine, 6(1):51, 2023. 5

Share this Doc

Yeonsook Kwak (MBA, 2024)

Or copy link

CONTENTS