読んだ論文は An actigraphy-based algorithm to assess daytime napping in people with narcolepsy type 1 である。
https://academic.oup.com/sleep/advance-article/doi/10.1093/sleep/zsag219/8763765
前回(第1回)はこちら。
即時心拍変動データから睡眠段階ラベリングを自動化する深層学習モデル
0. 目次
- 日中の眠気を「実際に何回・何分寝たか」で測る試み
- この論文は何をした?
- なぜ「昼寝」を測るのか?
- どんなデータを使った?
- アクチグラフィとは?
- 既存アルゴリズムの問題
- どのように改善した?
- 7-1. Cole–Kripke式
- 7-2. パラメータCについて
- 7-3. パラメータFについて
- 7-4. パラメータPについて
- 7-5. Zero-proportion pruning
- 7-6. 全体の流れ
- アルゴリズムの性能
- Tau A, Tau Bとは?
- 今回の結果をこれで読むと
- F1 Areaとは?
- ナルコレプシー患者と健常者は区別できた?
- ESSとの関係は?
- 自己申告の昼寝とは一致した?
- 薬の効果も測れた?
- 15-1. TAK-994
- 15-2. TAK-861(oveporexton)
- この研究の何が面白い?
- 注意点
- 17-1. 睡眠判定が真の睡眠ではない
- 17-2. アルゴリズム開発の集団が高齢に寄っている
- 17-3. 眠気があっても昼寝できない状況もある
- まとめ
1. 日中の眠気を「実際に何回・何分寝たか」で測る試み
論文: An actigraphy-based algorithm to assess daytime napping in people with narcolepsy type 1
https://academic.oup.com/sleep/advance-article/doi/10.1093/sleep/zsag219/8763765
2026年 SLEEP に掲載された論文。
米国
- Takeda Development Center Americas, Inc.(米国マサチューセッツ州ケンブリッジ)
- University of South Carolina の Department of Epidemiology and Biostatistics
- Johns Hopkins University所属の Department of Biostatistics
の共同研究。
Raul Torres と Rahul Ghosal が共同筆頭著者。
大学単独の論文ではなく、製薬企業Takeda主導の研究。
論文では研究費もTakeda Development Center Americas, Inc. が提供したと記載されている。
2. この論文は何をした?
ナルコレプシー1型(NT1)の重要な症状は、日中の過度の眠気(EDS)である。
EDSの評価には通常、
- ESS:本人が「どれくらい眠いか」を答える
- MWT:検査室で「どれくらい起きていられるか」を測る
などが使われる。
ただしESSは主観的で、MWTは手間がかかる。
そこでこの研究では、
腕時計型の活動量計をずっと着けてもらい、日常生活の中で実際に何回・何分昼寝したかを自動測定できないか
を検討した。
最終的には、
「昼寝しなかった日数」 「1日の昼寝時間」 「1日の昼寝回数」
を、ナルコレプシーの重症度や治療効果を測るデジタル指標として使おう、という研究。
3. なぜ「昼寝」を測るのか?
ナルコレプシー患者は眠気をしのぐため、日中に短い睡眠をとることが多くある。
つまり昼寝は単なる生活習慣ではなく、
眠気が強い ↓ 起き続けられない ↓ 昼寝する
というEDSの行動上の表れでもある。
そこで「どれくらい眠いですか?」と聞く代わりに、
実際に日中どれくらい寝ていたか
を測れば、より客観的にEDSを評価できるのではないか、という発想。
4. どんなデータを使った?
この研究では、4つのデータを使っている。
| データ | 対象 | 用途 |
|---|---|---|
| MESA Sleep | 約2150人 | アルゴリズム開発 |
| Phase 0 | NT1 16人+健常者16人 | NT1と健常者を区別できるか |
| TAK-994 Phase 2 | NT1 72人 | 治療効果を検出できるか |
| TAK-861 Phase 2 | NT1 112人 | 別の治療試験でも再現するか |
ちなみにMESAは今回の研究のために集めたデータではない。 もともとはMulti-Ethnic Study of Atherosclerosisという心血管系の大規模コホート研究で、その睡眠サブスタディの既存データを利用している。
MESA参加者には、
1晩のPSG+7日間の腕時計型アクチグラフィ+睡眠日誌
が行われていた。
今回、この中に存在していた専門技師による昼寝判定を使ってアルゴリズムを作っている。
5. アクチグラフィとは?
腕時計型センサーで手首の動きを記録する方法。
基本的には、
よく動いている → 覚醒
ほとんど動かない → 睡眠
と推定する。
非常に簡便なので、何週間も自宅で測定できる。
一方で大きな問題もある。
たとえば、
ソファでテレビを見る 読書する じっとスマホを見る
といった状態も、腕はほとんど動かない。
そのため、
「寝ている」のか「起きているけど動いていない」のか
の区別が苦手である。
これが特に昼寝検出では問題になる。
6. 既存アルゴリズムの問題
睡眠・覚醒判定には昔からCole–Kripke algorithmという方法がある。
ところがこれを昼間にそのまま使うと、
昼間にじっとしているだけの時間を昼寝と誤判定しやすい
という問題があった。
実際、従来法は本当の昼寝をよく拾う一方で、偽陽性が非常に多い状態であった。
そこで今回の研究ではCole–Kripkeをそのまま使わず、昼寝検出専用の後処理を追加している。
7. どのように改善した?
$$ パラメータC、F、P、ZPを導入した $$7-1. Cole–Kripke式
各データセットごとにアクチグラムから生加速度サンプリングデータを取り出し、それの一定時間間隔ごとにactivity countを算出する。
| データ | 生加速度サンプリング | activity count |
|---|---|---|
| MESA / Actiwatch Spectrum | 論文では明記なし | 30秒ごと |
| Phase 0 / Actigraph | 32 Hz | 1分ごと |
| TAK-994 / GENEActiv | 85.7 Hz | 1分ごとに著者らが算出 |
| TAK-861 / Empatica | 64 Hz | 1分ごと |
activity countの算出方法は論文内に記載されていない。
そうして算出したアクティビティカウント$A_t$($t$は時間点) を以下のようにCole–Kripke式に入れてsleep indexを算出。
$$ S_t = 0.001\bigl(106A_{t-4} + 54A_{t-3} + 58A_{t-2} + 76A_{t-1} + 230A_t + 74A_{t+1} + 67A_{t+2}\bigr) $$Cole–Kripke式とはアクチフグラフィから眠気を測る既存のアルゴリズム
例えばMESAでは30秒ごとの区間なので3.5分窓 それ以外は1分ごとの区間なので7分窓 ごとにsleep indexが算出される。
このsleep indexを閾値でsleep/wakeに分ける。
7-2. パラメータCについて
この論文では、閾値を固定1.0にせずパラメータ Cとして調整している。
この研究では、
$$ C\in \{0.25,0.50,0.75,1.00,1.25,1.50\} $$を探索している。
$$ \boxed{ S_t \lt C \Rightarrow sleep } $$$$ S_t\ge C \Rightarrow wake $$$$ \boxed{C\uparrow \Rightarrow sleep判定が増える} $$$$ \boxed{C\downarrow \Rightarrow sleep判定が厳しくなる} $$という関係。
7-3. パラメータFについて
F = Fuse time
Cでsleep/wakeを判定したあと、次は連続するsleep epochをまとめる。
例えば、
| |
となったとする。
単純に処理すると、
- nap 1:13:00–13:20
- nap 2:13:25–13:45
の2回のnapになる。
ところが寝返りなどで5分だけactivityが増えただけなら、本当は1回のnapかもしれない。
そこでFを使う。
概念的には2つのnap、
$$ N_1=[s_1,e_1] $$$$ N_2=[s_2,e_2] $$
- $s_n$:n個目のnapの start time(開始時刻)
- $e_n$:n個目のnapの end time(終了時刻)
について、そのgapを
$$ G=s_2-e_1 $$とすると、
$$ \boxed{ G\le F \Rightarrow N_1,N_2を結合候補 } $$とする。
さらに間の区間の最大activityにも条件があり、
新たに結合されるgap部分のmax activityが一定値未満
のときに結合する。
したがって概念的には、
$$ \boxed{ (s_2-e_1)\le F\text{ min} \quad\land\quad \max(A_{\mathrm{gap}}) \lt 200 } $$なら、
$$ N_1\cup gap\cup N_2 $$を1つのnapにする、という処理となる。
$\max(A_{\mathrm{gap}}) \lt 200$の$200$は固定値でこれをどう決めたかは触れられていない。おそらく事前解析や経験的検討で決めた値と思われる。
7-4. パラメータPについて
P = Prune time
Pは検出されたnapのうち、短すぎるものを消す。
nap $N_i$ のdurationを
$$ D_i=e_i-s_i $$とすると、
概念的には、
$$ \boxed{ D_i \lt P \Rightarrow N_iを削除 } $$となる。 つまり、$P$分未満のnap候補をpruneする。
これの存在理由としては、例えば
| |
だけでnapと判定していたら、
- 会議
- PC画面を見る
- スマホを見る
- TVを見る
などが大量にnapになる。
そこで、
$$ D \lt P~\text{min} $$という短い候補を落として、
FPを減らすねらいがある。
7-5. Zero-proportion pruning
パラメータはC・F・Pだけではない。
nap候補それぞれにおける、activity countが0だったepochの割合も使っている。
nap候補 $N_i$ の中で、
$$ ZP_i = \frac{\#\{t\in N_i:A_t=0\}}{\#\{t\in N_i\}} $$のようなzero proportion(ZP)を考え、
$$ \boxed{ZP \lt 0.7} $$のように閾値以下のnapを除外する処理もある。
「本当に寝ているなら、その区間のかなりの割合でactivity countが完全に0になるだろう」という考え方。
静かではあるけどちょこちょこ動いているwake状態を排除する処理。
7-6. 全体の流れ
まず各minuteについてCole–Kripke score、
$$ S_t=f(A_{t-4},...,A_{t+2}) $$を作る。
そして、
$$ Y_t = \begin{cases} 1 & S_t \lt C \\ 0 & S_t \ge C \end{cases} $$として、
$$ Y_t = 1 $$をsleepとする。
次に5分以上連続するsleepを、
$$ N_i=[s_i,e_i] $$というnap候補にする。
その後、隣接するnapについて、
$$ s_{i+1}-e_i\le F $$かつgap内activityが低ければ、
$$ N_i,N_{i+1} \rightarrow N_i' $$としてfusion。
最後に、
$$ D_i \lt P $$または、
$$ ZP_i \lt 0.7 $$なら、
$$ N_i\rightarrow\varnothing $$として削除。
最終モデルのパラメータは
$$ \boxed{ C=0.25,\quad F=40\text{ min},\quad P=20\text{ min} } $$となった。
| Parameter | 操作 | 大きくすると |
|---|---|---|
| C | 各epochのsleep/wake判定 | sleep判定が増える |
| F | 分断されたnapの結合 | nap同士がつながりやすくなる |
| P | 短いnapの削除 | 短いnapをより多く消す |
Cをかなり厳しくして偽sleepを減らす → Fで本当に同じっぽい昼寝をつなぎ直す → Pとzero-proportionで怪しい短い昼寝をさらに捨てる
という構造。
8. アルゴリズムの性能
最終的なパラメータは、
C = 0.25 F = 40分 P = 20分
であった。
MESAデータセットで従来のCole–Kripkeアルゴリズムと性能比較すると、
| 指標 | 従来法 | 新アルゴリズム |
|---|---|---|
| Tau A | 92.4% | 81.0% |
| Tau B | 34.7% | 93.2% |
| F1 Area | 51.9% | 83.9% |
ここで重要なのはTau Bである。
従来法では、
「昼寝だと予測したもの」のかなりの部分が偽陽性
であった。
新アルゴリズムではTau Bが
34.7% → 93.2%
まで上昇した。
つまり、
昼間にじっとしているだけの状態をかなり除外できた
ということ。
9. Tau A, Tau Bとは?
τA(Tau A)と τB(Tau B)は、この論文内で昼寝区間の重なりを表すために定義している量である。
論文ではこう定義されている。
$$ \tau_A= \frac{\text{真の昼寝と予測昼寝が重なった時間}} {\text{真の昼寝の総時間}} $$$$ \tau_B= \frac{\text{真の昼寝と予測昼寝が重なった時間}} {\text{予測した昼寝の総時間}} $$| 混同行列風 | 真の昼寝時間 | 真の昼寝以外の時間 |
|---|---|---|
| 予測昼寝時間 | TP | FP |
| 予測昼寝以外の時間 | FN | TN |
上記のように表した時、計算式は以下に書き直せる。
$$ \tau_A= \frac{\text{TP}} {\text{TP+FN}} $$$$ \tau_B= \frac{\text{TP}} {\text{TP+FP}} $$つまり、通常の「イベント数」ではなく、時間の長さ(area, duration)で計算したrecall, precisionと考えることができる。
- τA ≒ recall (sensitivity)
- τB ≒ precision(PPV)
10. 今回の結果をこれで読むと
この論文では従来のCole–Kripkeが
- τA = 92.4%
- τB = 34.7%
であった。
つまり、
本当の昼寝はかなり拾うが、昼寝じゃない時間まで大量に昼寝判定している
というアルゴリズムである。
一方、新アルゴリズムは
- τA = 81.0%
- τB = 93.2%
です。
これは、
少し昼寝を取りこぼす代わりに、偽陽性を激減させた
ということ。
この数字だけ見ると、今回の改良の本質がかなり分かりやすい。
Cole–Kripke → 「ちょっとでも怪しかったら昼寝!」
新アルゴリズム → 「かなり昼寝らしいものだけ昼寝とする」
という方向。
11. F1 Areaとは?
tau A, tau B同様、F1 scoreの時間版。
$$ F1_{Area}=\frac{2\tau_A\tau_B}{\tau_A+\tau_B} $$今回の新アルゴリズムではこれが83.9%であった。
12. ナルコレプシー患者と健常者は区別できた?
できた。
Phase 0研究で、NT1患者16人と健常者16人を比較している。
28日換算した昼寝しなかった日数は、
健常者:17.2日
に対して、
NT1:4.4日
であった。
つまりNT1患者では、28日のうち約24日は何らかの昼寝が検出されたことになる。
さらにNT1患者は健常者と比較して、
日中の睡眠時間:+33.5分/日
昼寝回数:+1.0回/日
であった。
かなり明瞭な差となっている。
13. ESSとの関係は?
ESSが高い人ほど昼寝が多い傾向はあった。
ただし相関はかなり弱く、
nap-free days:r = −0.16
日中睡眠時間:r = 0.14
昼寝回数:r = 0.14
程度であった。
つまり、
本人が感じる眠気と、実際に昼寝した量はそれほど同じものではない
という結果でもある。
ESSは「主観的な眠気」。
昼寝は「眠気が実際の行動として現れた結果」。
両者は似ているが、完全に同じ指標ではない。
14. 自己申告の昼寝とは一致した?
あまり一致しなかった。
本人が記録した昼寝と、アクチグラフィが検出した昼寝の時間的な一致度は、
F1 Area = 21%
しかなかった。
さらにアクチグラフィで昼寝と判断された時間帯では、ほぼ活動がなかった。
一方で本人が「昼寝した」と記録していた時間帯でも、活動量が多いケースがあった。
著者らは、
昼寝の開始・終了時間を本人が正確に覚えていない
などのrecall biasを一因として考えている。
ただし、これは
「自己申告が間違いで、アクチグラフィが正しい」
と証明したわけではない。
アクチグラフィ自体もEEGを見ているわけではなく、
「非常に動きが少ない」ことを睡眠と推定しているだけ
だからである。
15. 薬の効果も測れた?
測れたと言える。
15-1. TAK-994
治療後、 28日あたり昼寝しない日が7.3〜8.6日増加 した。
さらに昼寝をした日についても、
- 日中睡眠時間:18〜33分減少
- 昼寝回数:0.4〜0.6回/日減少
となった。
15-2. TAK-861(oveporexton)
別のPhase 2試験でも同様であった。
昼寝しない日:+6.1〜11.9日 / 28日
日中睡眠時間:−12〜33分
昼寝回数:−0.4〜0.9回/日
であった。
つまり、
薬を飲んだことで、日常生活の中で本当に昼寝が減った
ことをウェアラブルから捉えられたと言える。
16. この研究の何が面白い?
従来のEDS評価では、
ESS → 「自分はどのくらい眠いと思うか」
MWT → 「検査室でどのくらい起きていられるか」
を測る。
今回の方法では、
アクチグラフィ → 「現実の生活で、実際にどのくらい昼寝したか」
を測る。
特に、
「昼寝しないで過ごせた日が月に何日増えたか」
という指標はかなり分かりやすい。
たとえば、
「MWTが○分改善しました」
より、
「治療前より、1か月に10日ほど昼寝せずに生活できる日が増えました」
のほうが患者にとっての意味を直感的に理解しやすい可能性がある。
17. 注意点
この論文にはかなり重要な限界もある。
17-1. 睡眠判定が真の睡眠ではない
まず、アルゴリズム開発に使ったMESAの昼寝判定はPSGによるEEG上の睡眠判定ではない。
専門技師が、
活動量、睡眠日誌、光量、event markerなどを組み合わせて判定している。
したがって、
F1 Area 83.9% = 生理学的な睡眠を83.9%正確に検出した
という意味ではない。
あくまで、
MESAの専門家による昼寝annotationとの一致度
である。
あくまで真の睡眠とするには、EEGでの確認が不可欠である。
17-2. アルゴリズム開発の集団が高齢に寄っている
またMESA参加者の平均年齢は約70歳なのに対し、NT1患者は30歳前後であった。集団がかなり異なる。
年齢が変わると、日中の活動量、座っている時間、仕事の有無、昼寝の長さ 、寝返りや体動、生活リズムなどが変わってくる。
このアルゴリズムは基本的に「活動量の少なさ」を利用しているから、こうした違いはかなり効き得る。
たとえば
- 高齢者では、起きていても長時間ほとんど動かないという時間が多いかもしれない。
一方で
- NT1患者では、短時間の急なnapを取るというパターンが多いかもしれない。
するとMESAで最適だったC=0.25, F=40分, P=20分が、NT1でも最適とは限らなくなってくる。
また、このアルゴリズムは
false positiveを減らすために、短いnap候補を除去(pruning)している
が、NT1では、臨床的には短い昼寝が重要なため、MESAで偽陽性を減らすために最適化されたpruningが、NT1では真のnapを削っている可能性がある。
17-3. 眠気があっても昼寝できない状況もある
昼寝の有無は、眠気だけでは決まらない。
たとえば同じくらい眠くても、
休日で家にいる人 → 昼寝できる
仕事中の人 → 昼寝できない
という違いがある。
つまり「昼寝しなかった日」が多いからといって、
必ずしも
「生理学的な眠気が少なかった」
とは限らない。
著者ら自身も、この指標は純粋なsleep propensity(睡眠傾向)ではなく、
「生活環境の中で実際に観察された睡眠行動」
だとしている。
18. まとめ
この論文を一言でいうと、
腕時計型活動量計から日中の昼寝を自動検出し、「現実世界でどれくらい眠らずに生活できたか」をナルコレプシーの新しいデジタル評価指標にしようとした研究
従来のアクチグラフィでは、昼間に動かないだけの時間を睡眠と誤判定する問題があった。
今回、Cole–Kripke法にfragmentationの統合とfalse-positive pruningを加えることで、F1 Areaを51.9% → 83.9%まで改善した。
さらにこの指標によって、
NT1患者は健常者より昼寝が明らかに多い
ことだけでなく、
orexin receptor 2 agonist治療によって昼寝が実際に減る
ことまで検出できた。
一方で、EEGで睡眠そのものを検出しているわけではないという限界は残る。
なのでこの研究の価値は、
「ナルコレプシーをアクチグラフィだけで診断できた」
ではなく、
「日常生活におけるEDSの表現型を、ウェアラブルで長期間・客観的に定量化できる可能性を示した」
ところにある。