Insomnia & EEG Beta1(期刊架構草稿)
一句話版本
在縱貫三時間點(T1/T2/T3,各間隔 6 個月)的樣本中,以 T1 的 BAI/BDI 總分預測「長期失眠」(ISI 三次皆 ≥9)仍有侷限;加入 T1 靜息態 EEG 的 Beta1(12–15 Hz)全腦相對功率(EEG_PWR_REL_BETA1_BRAIN_AVG)後,整體表現最佳的模型為 Naive Bayes,而在可解釋的 Logistic Regression 架構中,單獨加入 Beta1 線性項未提升效能,但進一步納入其平方項(beta1²)後,模型表現於 Stratified 10-fold CV 與 LOSO 皆改善,支持 Beta1 與長期失眠風險之間可能存在非線性關係。
1. 研究背景(Introduction)
1.1 現在已知什麼?
- 焦慮/憂鬱症狀(BAI/BDI)與失眠風險或失眠嚴重度相關,且可用於預測後續睡眠狀態。
- 機器學習結合量表可用來預測長期失眠或失眠風險。
- 機器學習結合 EEG(尤其靜息態頻帶功率特徵)可用於失眠相關分類/預測。
1.2 還不知道什麼?(研究缺口)
- 僅用 BAI/BDI(自陳量表)進行預測,仍會出現預測不準的個案:量表無法完整反映生理層級的失眠機制(例如過度喚醒)。
- 以縱貫設計、同時整合「量表 + EEG 生理特徵」並以機器學習預測「長期失眠」的研究仍相對不足;也較少討論「為什麼只有某些模型(非線性)會明顯受益」。
1.3 研究目的(研究問題)
- RQ1:若加入 EEG 生理數據(以 Beta1 全腦相對功率指標為核心特徵),是否能提升預測長期失眠的準確度?其中,整體表現最佳的模型為何?
- RQ2:若單獨加入 Beta1 線性項無法穩定提升效能,進一步加入 Beta1 的平方項是否能改善預測?
- RQ3:平方項帶來的改善是否支持 Beta1 與長期失眠風險之間存在非線性關係?
- RQ4:Logistic Regression 的 SHAP 分析是否支持 Beta1 功率對預測有貢獻?
1.4 研究假設
- H1:單獨加入 EEG Beta1 全腦相對功率指標,對部分模型可提升預測效能,但對線性模型(如 Logistic Regression)提升可能有限。
- H2:進一步加入 Beta1 平方項後,Logistic Regression 的預測效能提升,表示線性模型可藉由顯式非線性特徵捕捉額外資訊。
- H3:提升主要出現在可反映非線性關係的模型或特徵設定,支持量表與 EEG 的整合關係並非單純線性。
- H4(理論):長期失眠組反映過度喚醒(hyperarousal),因此 Beta1 活動(功率)相對較高,但其影響模式可能呈現曲線關係,而非單調直線關係。
2. 方法(Methods)
2.1 研究設計與樣本
- 設計:縱貫三時間點(T1、T2、T3),T1→T2 6 個月;T2→T3 6 個月。
- 收案來源:社區招募 + 醫院轉介。
- 最終納入樣本:N=54
- 長期失眠組(3TP=1;T1/T2/T3 ISI 皆 ≥9):n=19
- 長期睡眠良好組(3TP=0;T1/T2/T3 ISI 皆 <9):n=35
- 年齡(歲)
- Overall:18–54,M=26.38,SD=7.37
- 3TP=1:18–54,M=28.56,SD=9.12
- 3TP=0:18–40,M=25.26,SD=6.13
- 性別(1=男, 0=女)
- Overall:男 17 (31.5%),女 37 (68.5%)
- 3TP=1:男 6 (31.6%),女 13 (68.4%)
- 3TP=0:男 11 (31.4%),女 24 (68.6%)
2.2 納入/排除條件(摘要可濃縮,Methods 寫清楚)
- 納入:
- 年齡 18–65 歲(>65 排除)。
- 完整三時間點 ISI(T1/T2/T3 皆完成)且符合「三次皆 ≥9」或「三次皆 <9」其一(用以定義長期狀態)。
- T1 當天完成量表(BAI/BDI)且同日完成 EEG 測量。
- 排除(依你目前描述):
- 精神疾病史。
- 服用藥物個案。
- 測驗/資料品質不佳(例如 EEG 通道狀況、可用片段比例不足;見 EEG 品質控管)。
2.3 主要測量工具(Measures)
- Insomnia Severity Index(ISI)
- 分組切點:ISI ≥9 vs <9(文獻依據;之後在文中補引用與理由)。
- 長期失眠定義:T1/T2/T3 皆 ≥9。
- 長期睡眠良好定義:T1/T2/T3 皆 <9。
- Beck Anxiety Inventory(BAI):使用總分(T1)。
- Beck Depression Inventory(BDI):使用總分(T1)。
2.4 EEG 資料收集(T1)
- 靜息態:閉眼(eyes-closed)5 分鐘連續量測。
- 佈點:10–20 系統,19 個電極。
- 採樣率:300 Hz。
- 參考:雙耳參考(linked mastoids / bilateral ears)👉 要再確認
2.5 EEG 前處理與品質控管(QC)
- 濾波:
- 高通:0.5 Hz。
- 低通:100 Hz。
- 電源濾波:Notch 60 ± 1 Hz(59–61 Hz;帶寬 2 Hz)。
- 片段切分:將 5 分鐘資料切成每 3 秒一個片段(epochs)。
- 壞通道(bad channel)偵測與處理:
- 以 python 腳本 + 人工確認偵測壞通道。
- 指標(投票/評分):
ptp、hf_ratio、line_noise、correlation。 - 壞通道處理:刪除後以鄰近兩個電極補值(interpolation)。
- 壞片段(bad epochs)偵測與處理:
- 使用 AutoReject(開源工具;主要用於片段層級偵測)進行偵測。
- 另進行全樣本人工篩檢,標註/剔除疑似肌電、眼動等雜訊片段。
- 不進行獨立 EOG/EMG 校正;以「剔除壞片段」取代(需在限制段落說明取捨)。
- 可用片段門檻:
- 5 分鐘中可用片段比例需 ≥70%,否則剔除該受試者 EEG 資料(進而剔除樣本)。
- 特徵計算採樣:
- 對每位受試者,從可用片段中以隨機方式抽取 60 個「每 3 秒」片段。
- 片段盡量不重複(但可能仍有重複;需在 Methods 說明抽樣策略與原因)。
2.6 頻帶定義與功率特徵(Feature Engineering)
- 功率特徵:同時計算「絕對功率(absolute power)」與「相對功率(relative power)」。
- 全腦(global)定義:
- 將 19 個電極之功率特徵加總後取平均(作為全腦平均功率)。
- 腦區(regional)分析(補充/探索):
- 依四個腦區(需在文中明確列出每區包含哪些電極)計算區域平均功率。
- 主要關注特徵:
- Beta1(12–15 Hz)全腦相對功率:
EEG_PWR_REL_BETA1_BRAIN_AVG。 - 多項式擴充特徵:以訓練資料中的 Beta1 平均值為中心,建立
(Beta1 - mean)^2,作為 Beta1 的平方項(beta1²),並在 cross-validation pipeline 內產生以避免 leakage。
- Beta1(12–15 Hz)全腦相對功率:
頻段定義(Hz)
FREQ_BANDS = {
'Delta': (0.1, 3.0),
'Theta': (4.0, 7.0),
'Alpha': (8.0, 12.0),
'Alpha1': (8.0, 10.0),
'Alpha2': (10.0, 12.0),
'Beta': (12.0, 30.0),
'HighBeta': (18.0, 30.0),
'Beta1': (12.0, 15.0),
'Beta2': (15.0, 20.0),
'Beta3': (20.0, 30.0),
'Gamma': (30.0, 70.0),
'Gamma1': (30.0, 50.0),
'Gamma2': (50.0, 70.0),
}2.7 機器學習任務定義(Prediction Task)
- 目標(label):長期失眠(3TP=1) vs 長期睡眠良好(3TP=0)。
- 特徵集(主要比較):
- Model A:僅量表(T1 BAI + T1 BDI)。
- Model B:量表(BAI + BDI)+ EEG(T1 全腦 Beta1 相對功率;
EEG_PWR_REL_BETA1_BRAIN_AVG)。 - Model C:量表(BAI + BDI)+ EEG(T1 全腦 Beta1 相對功率)+ Beta1 平方項(
beta1²)。
2.8 模型與驗證策略(Modeling & Validation)
- 模型(正式稿可用「線性 / 非線性 / 樹模型」分組呈現):
- 線性:Logistic Regression
- 非線性:Naive Bayes、SVM、KNN、MLP
- 樹相關:Decision Tree、Random Forest、XGBoost
- 驗證策略(目前程式實作):
- 主結果報告:Stratified 10-fold CV(
StratifiedKFold(n_splits=10, shuffle=True, random_state=42))。 - LOSO 為補充驗證版本,可另外報告或放補充資料。
- 主結果報告:Stratified 10-fold CV(
- 類別不平衡處理(目前程式實作):
- 對 LogisticRegression/SVM/DecisionTree/RandomForest:
class_weight="balanced"。 - 對 XGBoost:每個 fold 依訓練集動態設定
scale_pos_weight = (#neg/#pos)。 - 類別比例:35(非失眠): 19(失眠)。
- 對 LogisticRegression/SVM/DecisionTree/RandomForest:
- 標準化策略:
- 不先對所有資料做整體 z-score;原始特徵直接進入各模型 pipeline。
- 對特徵尺度敏感的模型(KNN、Logistic Regression、SVM、MLP),在 pipeline 內於缺失值填補後使用
StandardScaler()進行 z-score 標準化。 - z-score 的計算方式為:以訓練資料的平均數與標準差進行轉換(
x' = (x - mean) / std),再將相同參數套用至對應測試資料。 - 對特徵尺度相對不敏感的模型(Gaussian Naive Bayes、Decision Tree、Random Forest、XGBoost)不另外進行標準化。
- 所有標準化步驟皆封裝於 cross-validation 的 pipeline 內,以避免 data leakage。
- 多項式特徵生成策略:
- Beta1 平方項並非先以全資料預先計算,而是在每個 training fold 內,以訓練資料的 Beta1 平均值進行中心化後建立
(Beta1 - mean)^2。 - 同一 fold 的測試資料使用訓練集的平均值進行轉換,以避免 leakage。
- 此設計的目的不是增加大量高維特徵,而是在保留解釋性的前提下,檢驗 Beta1 與失眠風險之間是否存在簡單且可解釋的非線性關係。
- Beta1 平方項並非先以全資料預先計算,而是在每個 training fold 內,以訓練資料的 Beta1 平均值進行中心化後建立
2.9 效能指標與可解釋性(Metrics & Explainability)
- 主要效能指標:
- AUC
- F1-pos(正類=失眠組;你特別關注在「預測失眠者」的表現)
- 可解釋性分析:
- 使用 SHAP 檢視特徵貢獻度,重點呈現 Beta1 全腦相對功率對預測的貢獻。
- 本研究以 Logistic Regression 進行 SHAP 分析,對應 LinearExplainer。
3. 主要結果(Results)
3.1 核心發現(以 Stratified 10-fold CV 為主)
- 加入 EEG(全腦 Beta1 相對功率)後:
- 整體表現最佳的模型為 Naive Bayes:AUC 由
0.9128(量表)提升至0.9308(量表 + Beta1),再於加入平方項後提升至0.9444;LOSO AUC 亦達0.943。 - 線性模型(Logistic Regression)效能未提升,甚至略低於只用量表的模型(AUC:
0.9053 -> 0.8902)。 - 非線性模型(Naive Bayes、SVM、MLP、KNN)多數出現 AUC 提升;且在 F1-pos(失眠組)有更明顯改善。
- 樹模型(Random Forest、Decision Tree)在加入 Beta1 後亦有一定提升,但幅度與穩定性需審慎解讀。
- 整體表現最佳的模型為 Naive Bayes:AUC 由
- 加入 Beta1 平方項(
beta1²)後:- Logistic Regression 的 AUC 由
0.8902提升至0.9323,不僅高於「量表 + Beta1 線性項」,亦高於只使用量表的 baseline。 - LOSO 驗證下,Logistic Regression 的 AUC 亦由
0.901提升至0.934,表示平方項帶來的改善不僅存在於 10-fold CV,也保留於更嚴格的 subject-level 驗證。 - 整體來看,單獨加入 Beta1 線性項不足以改善 Logistic Regression,但加入平方項後可補足線性模型對曲線關係的擬合能力。
- 因此,本研究有兩條可並行報告的結果:其一,Naive Bayes 為整體 AUC 最佳模型;其二,Logistic Regression 的平方項分析提供了「Beta1 與失眠風險可能為非線性關係」的可解釋證據。
- Logistic Regression 的 AUC 由
- Logistic Regression 的 SHAP 顯示:Beta1 全腦相對功率對模型預測具有貢獻度;結合平方項結果,支持其效果可能並非單純線性。
3.2 建議結果呈現形式
- Table 1:樣本人口學(overall + 分組)。
- Table 2:各模型在 Model A(量表)、Model B(量表 + Beta1)、Model C(量表 + Beta1 + Beta1²)的 AUC、F1-pos。
- Table 3:Logistic Regression 於 10-fold CV 與 LOSO 下的 AUC 比較(A vs B vs C)。
- Figure 1:研究流程圖(招募→3TP 定義→T1 量表+EEG→QC→特徵→ML→評估)。
- Figure 2:各模型在 linear vs quadratic feature setting 下的 AUC 比較。
- Figure 3:Logistic Regression 中 Model A / B / C 的預測表現比較(建議放 OOF ROC 或 AUC bar chart)。
- Figure 4:SHAP summary plot(顯示 Beta1 與 BAI/BDI 的相對重要性)。
4. 討論(Discussion)
4.1 主要結論(可以直接對應 RQ)
- 量表(BAI/BDI)可提供穩定的基礎預測能力。
- 若以整體預測表現而言,Naive Bayes 在本資料中的 AUC 最高,顯示較彈性的機率模型可能更能利用量表與 EEG 的結合資訊。
- 單獨加入 EEG 生理特徵(Beta1 全腦相對功率)後,對非線性模型較有幫助,但對 Logistic Regression 並未帶來增益。
- 當進一步加入 Beta1 平方項後,Logistic Regression 表現明顯提升,支持 Beta1 與長期失眠風險之間可能存在非線性關係。
- 因此,本研究的關鍵訊息有兩層:第一,最佳預測模型可由 Naive Bayes 代表;第二,若要討論機制與可解釋性,則 Logistic Regression 的平方項分析顯示「若以適當的非線性特徵形式表示 Beta1,線性模型亦可獲得增量效度」。
4.2 理論解釋:過度喚醒(Hyperarousal)
- 長期失眠者可能呈現皮質喚醒程度較高,反映在 Beta 頻帶(此處主張 Beta1)功率較高,提供超越主觀症狀量表的資訊。
4.3 為什麼只有非線性模型提升?(文章的亮點)
- 可能存在非線性交互、曲線或閾值效應:例如 Beta1 的影響並非單調直線,而是在特定區間對失眠風險更敏感;線性模型若只納入一次項將難以擬合此型態。
- 本研究中,Logistic Regression 在只加入 Beta1 一次項時未見提升,但在加入 Beta1 平方項後效能上升,說明先前「只有非線性模型提升」的現象,部分可能是因為線性模型缺乏對曲線關係的表徵能力,而不代表 Logistic Regression 本身完全無法利用 EEG 訊號。
- 樹模型未提升的可能原因:
- 特徵維度很低(BAI、BDI、Beta1),樹模型增益有限或易受資料量影響。
- 樹模型對連續特徵切分方式/超參數敏感;在小樣本下不一定穩定。
4.4 臨床意義
- 若目標是「提早辨識未來會維持失眠的個案」,單純加入 EEG 指標可能不足以讓所有模型受益;但若能以適當的非線性形式(如 Beta1 平方項)表徵 EEG 訊號,則可進一步提升辨識能力,對篩檢與介入排序更有幫助。
4.5 限制
- 樣本數偏小且來源混合(社區 + 醫院轉介),外部效度需再驗證。
- 只有閉眼靜息態 EEG;未納入其他睡眠/覺醒生理指標或更多 EEG 特徵(連結性、複雜度等)。
- 未做 EOG/EMG 校正而以片段剔除替代,可能影響可用資料與特徵穩定性。
- 片段抽樣(60 個 3 秒 epochs)與可用比例門檻(70%)可能引入選樣偏差;需報告被剔除比例與原因。
- 需避免資料洩漏:標準化、參數選擇、任何以全資料計算的統計量都必須限制在訓練集內(請在 Methods 明確)。
- 多項式項(平方項)雖提升效能,但仍屬於在同一 cohort 內驗證的結果;即使在 LOSO 下表現一致,仍不能完全取代外部獨立樣本驗證。
4.6 未來方向
- 外部獨立樣本/多中心驗證。
- 加入更多 EEG 指標(多頻帶、多腦區、連結性)與更完整的臨床變項,檢驗增量效度。
- 探索更嚴謹的 nested CV、permutation test 或模型比較檢定,提升結論可信度。
5. 目前已確認的分析設定
- 主結果報告使用 Stratified 10-fold CV。
- EEG 特徵使用
EEG_PWR_REL_BETA1_BRAIN_AVG(Beta1 全腦相對功率)。 - 針對 Logistic Regression,另比較加入 Beta1 平方項(
beta1²)前後的表現。 - SHAP 使用 Logistic Regression。