陳思玎,劉歡,黃馨瑩,李皓琳,谷鴻秋,姜勇,2
卒中是全球第二大死因,在中國近年來已經(jīng)成為人群死亡的首要原因,缺血性卒中占全部卒中的80%,具有高致殘率、高致死率及高復(fù)發(fā)率等特點[1]。根據(jù)我國卒中流行病學調(diào)查研究推算,目前每年約有240萬人新發(fā)卒中,每年110萬人死于卒中,現(xiàn)存的卒中患者1100多萬[2]。在國內(nèi),卒中單病種死因順位排名自2010年上升到第一位后,仍未改變[3-5]。因此,探討缺血性卒中死亡的預(yù)測具有重要意義。隨著大數(shù)據(jù)時代的到來,在醫(yī)療領(lǐng)域中各種繁雜的醫(yī)療信息被整合為大數(shù)據(jù),為將機器學習引入醫(yī)療領(lǐng)域創(chuàng)造了條件。本研究旨在比較機器學習模型和傳統(tǒng)統(tǒng)計學模型對缺血性卒中患者發(fā)病3個月死亡預(yù)測效果,以期為后續(xù)建立更加完善的缺血性卒中死亡預(yù)測提供借鑒。
1.1 研究對象 CNSR為全國范圍內(nèi)前瞻性及觀察性急性卒中登記研究,其數(shù)據(jù)庫資料連續(xù)記錄了2007年9月-2008年8月全國27個省和4個直轄市(包括香港)132家醫(yī)院的急性卒中患者信息。本研究納入CNSR數(shù)據(jù)庫中基線和隨訪數(shù)據(jù)齊全且明確診斷為缺血性卒中的住院患者進行數(shù)據(jù)分析與研究。
1.2 結(jié)局與變量初步篩選 基于CNSR數(shù)據(jù)庫資料,總變量有1219個,本研究結(jié)局變量是缺血性卒中患者發(fā)病3個月死亡。結(jié)合臨床知識,將與死亡結(jié)局強相關(guān)的變量(如癌癥是否轉(zhuǎn)移)以及和卒中結(jié)局不相關(guān)的變量(如是否做2次MRI)進行人工篩選剔除。經(jīng)過人工篩選后確定438個變量,包括人口學特征(性別、年齡等)、既往病史(高血壓、糖尿病、血脂異常等)、用藥史、首發(fā)癥狀(失語癥、感覺障礙、吞咽困難等)、并發(fā)癥(消化道出血、肺炎、泌尿道感染等)、實驗室檢測指標和評分指標等。
1.3 模型構(gòu)建方法 將總數(shù)據(jù)集按7∶3隨機分為訓練集和測試集,訓練集用于構(gòu)建預(yù)測模型,測試集用于評價模型效果。1.3.1 XGBoost預(yù)測模型 XGBoost算法是集成學習boosting方法的一種,兼具線性規(guī)模求解器和樹學習算法。XGBoost是對損失函數(shù)做了二階的泰勒展開,并在目標函數(shù)之外加入了正則項,整體求最優(yōu)解,用于權(quán)衡目標函數(shù)的下降和模型的復(fù)雜程度,避免過擬合,提高模型的求解效率。SelectFromModel是一個通用轉(zhuǎn)換器,如果相應(yīng)的coef或feature_importances值低于提供的閾值參數(shù),則認為這些特性不重要并將其刪除。
XGBoost模型通過SelectFromModel對全部變量(438個)進行特征篩選,篩選時變量逐步增加,步長為1時,發(fā)現(xiàn)選取20個變量代價最低,故而篩選出相應(yīng)預(yù)測變量。XGBoost對訓練集采用5折交叉驗證法,在訓練集內(nèi)進行5折交叉驗證調(diào)參數(shù),模型參數(shù)learning_rate為0.1,n_estimators為40,max_depth為3,min_child_weight為5,seed為0,subsample為0.6,colsample_bytree為0.6,gamma為0.1,reg_alpha為0.1,reg_lambda為0.05。
1.3.2 Logistic回歸預(yù)測模型 Logistic回歸模型適合于預(yù)測結(jié)局變量為二項分類的情況,Logistic模型是一種概率模型,該模型參數(shù)估計是采用經(jīng)典算法——最大似然估計法。在訓練集中,對全部變量采用非條件Logistic回歸,建立預(yù)測模型,選擇納入模型的預(yù)測指標。首先采用單因素Logistic回歸,以P<0.1為納入多因素分析的標準;將單因素分析選擇出的危險因素納入多因素分析,采用逐步回歸法,以P<0.05為最終納入多因素模型的標準,建立缺血性卒中發(fā)病后3個月死亡預(yù)測模型。
1.3.3 缺失值處理 缺失值分三種類型處理:①跳轉(zhuǎn)變量:如果一級變量選否,二級變量自動補0;②刪掉缺失值超過30%的變量;③剩余缺失值,分類變量用99填充缺失值;連續(xù)變量用均值填補缺失值。
1.4 統(tǒng)計學方法 本研究應(yīng)用SAS 9.4統(tǒng)計軟件進行Logistic回歸模型的建立,使用逐步回歸法。應(yīng)用Python3.6.8進行XGBoost機器學習模型建立,XGBoost調(diào)用xgboost API,采用scikit-learn中GridSearchCV函數(shù)做參數(shù)遍歷選擇,matplotlib API提供作圖支持,繪制預(yù)測的ROC曲線。兩種模型的預(yù)測性能采用ROC曲線下面積(area under the curve,AUC)表示,AUC越高表明模型預(yù)測性能越好。P<0.05為差異具有統(tǒng)計學意義。
2.1 一般資料 CNSR數(shù)據(jù)庫共22 216例急性卒中患者,排除1765例從其他非登記醫(yī)院轉(zhuǎn)入患者、314例基線信息不完整患者、120例最終診斷不明確患者、1437例未同意隨訪患者及6165例非缺血性卒中患者后,有缺血卒中患者12 415例?;谘芯啃枰A羝渲惺杖朐旱牟±?1 327例,再去掉缺失結(jié)局觀測和隨訪相關(guān)變量后,最終納入10 645例缺血性卒中患者?;颊咂骄挲g65.18±12.23歲,女性4045例(38.0%),入院NIHSS評分4(2~9)分,3個月死亡患者447例(4.48%)。其中訓練集7451例,3個月死亡334例;測試集3194例,3個月死亡143例。
2.2 預(yù)測模型變量篩選結(jié)果 XGBoost模型最終篩選出20個變量納入預(yù)測模型,Logistic回歸預(yù)測模型最終納入27個變量,兩個模型預(yù)測因子大多數(shù)屬于基線特征變量。兩種模型篩選出的變量有3個相同,分別為入院NIHSS評分、健康教育和住院總天數(shù)。具體其他變量如表1所示。2.3 預(yù)測模型效果比較 訓練集與測試集中,XGBoost與Logistic回歸預(yù)測模型的AUC差異均無統(tǒng)計學意義(0.9001vs0.8933,P=0.3420;0.8539vs0.8278,P=0.0835),其余結(jié)果如表2所示,測試集ROC曲線如圖1所示。
傳統(tǒng)Logistic回歸模型[6]作為一種有效的數(shù)據(jù)處理方法,廣泛應(yīng)用于醫(yī)學、生物信息處理等領(lǐng)域。而XGBoost是美國華盛頓大學陳天奇[7]于2016年開發(fā)的Boosting庫,其兼具線性規(guī)模求解器和樹學習算法。XGBoost算法是集成學習boosting方法的一種,具有運行速度快、分類效果好、有效避免過擬合、支持自定義損失函數(shù)等優(yōu)點,在機器學習領(lǐng)域受到追捧和青睞[8]?,F(xiàn)如今越來越多的學者將機器學習模型預(yù)測結(jié)果作為一種臨床輔助醫(yī)師判斷手段,為臨床診療提供參考意見,以適應(yīng)實際臨床應(yīng)用環(huán)境?,F(xiàn)階段,在臨床診療方面已有一些嘗試,如基于國際中心注冊的急性心肌梗死預(yù)測研究[9]、癌癥患者化療后的死亡預(yù)測[10]及卒中后肺炎預(yù)測等[11]。
本研究基于CNSR項目的缺血性卒中病例,分別采用了傳統(tǒng)的Logistic回歸和機器學習XGBoost算法,來構(gòu)建缺血性卒中3個月死亡結(jié)局預(yù)測模型??紤]到兩種模型的底層結(jié)構(gòu)不同,因而各自篩選變量以適應(yīng)各自模型,采用分別進行變量篩選的方法來進行預(yù)測模型評價,也保證了對比的公平性,是本研究的優(yōu)勢,與既往研究不同[12]。
在本研究中,總數(shù)據(jù)集10 645例,3個月死亡477例。對于類似這種大樣本、大批量數(shù)據(jù)而言,相比傳統(tǒng)Logistic模型,機器學習模型XGBoost有眾多優(yōu)點:首先,支持并行計算,可調(diào)用計算機的所有內(nèi)核同時運算,節(jié)省運算時間;同時采用L1+L2的正則化方法可防止因維度過高而帶來的過擬合問題;自帶交叉驗證及缺失值處理機制;靈活支持個性化目標函數(shù)和評估指標。其次,Logistic回歸分析假設(shè)中各特征之間是相互獨立的,并且模型只有線性的分割面,而應(yīng)用XGBoost算法構(gòu)建預(yù)測模型時能夠保留特征之間的相關(guān)性,使得預(yù)測效果更準確[13]。由于各研究中具體研究問題、研究設(shè)計及數(shù)據(jù)不同、XGBoost預(yù)測模型的表現(xiàn)也不盡相同,與傳統(tǒng)Logistic回歸預(yù)測模型相比,有些情形下兩者相當,有些情形下XGBoost更優(yōu)。在類似數(shù)據(jù)量大、預(yù)測變量多、關(guān)系復(fù)雜時,機器學習模型更能凸顯其優(yōu)勢。
未來如果要進一步提高機器學習模型(算法)的準確性,可以嘗試通過改變分類閾值提高靈敏度或陽性預(yù)測值,或結(jié)合更優(yōu)的選擇算法來提高精準預(yù)測的能力[14]。其次,在本研究中應(yīng)用特征篩選,最大限度地從原始數(shù)據(jù)中提取特征以供模型使用。數(shù)據(jù)清理和特征篩選都是特征工程的一部分,特征工程是數(shù)據(jù)分析中最耗時間和精力的一部分工作,它不像算法和模型那樣是確定的步驟,更多是臨床和工程上的經(jīng)驗和權(quán)衡,因此沒有統(tǒng)一的方法,但它是必須且特別重要的一項工作,本研究在特征工
程上還需進一步探索。
表1 兩種預(yù)測模型變量篩選結(jié)果
表2 兩種預(yù)測模型效果比較
本研究的局限性在于進行預(yù)測模型評價時所用方法單一,主要考慮模型在AUC方面的表現(xiàn)。在評價預(yù)測模型時未來可以考慮綜合多種指標,常用的如Brier分數(shù)、F1-score等指標[15]。未來將會進一步探究不同模型對于缺血性卒中的適應(yīng)條件,在預(yù)測因子、模型開發(fā)以及預(yù)測性能方面進行全面研究,以期為后續(xù)建立更加完善的缺血性卒中死亡預(yù)測提供更全面的借鑒。
圖1 兩種預(yù)測模型的測試集ROC曲線
[9] AL'AREF S J,MALIAKAL G,SINGH G,et al. Machine learning of clinical variables and coronary artery calcium scoring for the prediction of obstructive coronary artery disease on coronary computed tomography angiography:analysis from the CONFIRM registry[J]. Eur Heart J,2020,41(3):359-367.
[10] ELFIKY A A,PANY M J,PARIKH R B,et al. Development and application of a machine learning approach to assess short-term mortality risk among patients with cancer starting chemotherapy[J/OL]. JAMA Netw Open,2018,1(3):e180926[2020-02-20]. https://doi.org/10.1001/jamanetworkopen.2018. 0926.
[11] GE Y Q,WANG Q H,WANG L,et al. Predicting post-stroke pneumonia using deep neural network approaches[J]. Int J Med Inform,2019,132:103986.
[12] 王孟,覃露,王春娟,等. 基于機器學習算法的腦出血相關(guān)肺炎預(yù)測模型研究[J]. 中國卒中雜志,2020,15(3):243-249.
[13] 許源,馬健勇,葛艷秋,等. XGBoost模型對缺血性腦卒中出院后90 d內(nèi)復(fù)發(fā)再入院風險的預(yù)測效果分析[J]. 中華神經(jīng)醫(yī)學雜志,2018,17(8):813-818.
[14] 劉澤文. 基于機器學習的腦卒中復(fù)發(fā)預(yù)測模型研究[D]. 長沙:湖南大學,2015.
[15] POWERS D M W. Evaluation:from precision,recall and F-measure to ROC,informedness,markedness and correlation[J]. J Mach Learn Tech,2011,2(1):37-63.