王穎晶 鄭 濤 陳珊黎 邵維君 韓 剛 丁粉華
(上海交通大學(xué)醫(yī)學(xué)院附屬仁濟(jì)醫(yī)院信息中心 上海 200127)
目前我國(guó)約有2.9 億心血管病患者,其中心肌梗死患者數(shù)量約在250萬人左右。心肌梗死作為一種臨床常見的危急重癥,近年來死亡率不斷攀升[1-2],加強(qiáng)心血管病防控刻不容緩。心肌梗死疾病發(fā)生發(fā)展過程緩慢、影響因素較復(fù)雜,疾病早期預(yù)防及干預(yù)需要對(duì)發(fā)病危險(xiǎn)因素進(jìn)行定位評(píng)估,進(jìn)而針對(duì)不同個(gè)體風(fēng)險(xiǎn)等級(jí)制定相應(yīng)綜合治療或管理方案,以實(shí)現(xiàn)早期預(yù)防心肌梗死事件的目標(biāo)。目前國(guó)內(nèi)有少數(shù)研究關(guān)注急性心肌梗死(Acute Myocardial Infarction,AMI)患者的危險(xiǎn)因素分布情況,但缺乏大規(guī)模、前瞻性的臨床研究以提供詳實(shí)數(shù)據(jù)[2]。隨著人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等信息技術(shù)發(fā)展,醫(yī)學(xué)數(shù)據(jù)挖掘和臨床科研工作加速開展。臨床大量結(jié)構(gòu)化及半結(jié)構(gòu)化數(shù)據(jù)為人工智能機(jī)器學(xué)習(xí)相關(guān)算法研究提供支撐。機(jī)器學(xué)習(xí)是人工智能領(lǐng)域的重要分支,通過將不同領(lǐng)域數(shù)據(jù)進(jìn)行特征提取并自動(dòng)學(xué)習(xí),使模型不斷適應(yīng)數(shù)據(jù)特征從而提高性能[3]。機(jī)器學(xué)習(xí)逐漸與醫(yī)學(xué)領(lǐng)域相結(jié)合,例如醫(yī)學(xué)圖像處理的診斷識(shí)別技術(shù)。利用醫(yī)療大數(shù)據(jù)及機(jī)器學(xué)習(xí)技術(shù)進(jìn)行疾病研究,深入醫(yī)療決策各環(huán)節(jié)從而為臨床醫(yī)護(hù)人員提供協(xié)助將是現(xiàn)代醫(yī)學(xué)探索的方向之一[4]。
利用機(jī)器學(xué)習(xí)建立心肌梗死疾病特征自動(dòng)識(shí)別模型,使用真實(shí)臨床數(shù)據(jù)對(duì)多種算法模型進(jìn)行準(zhǔn)確性和性能驗(yàn)證,為心肌梗死疾病危險(xiǎn)因素挖掘提供有效機(jī)器學(xué)習(xí)方法,通過特征挖掘找出關(guān)鍵和主要致病因素,為醫(yī)生提供定性或定量輔助診斷意見。
利用心內(nèi)科患者數(shù)據(jù)建立機(jī)器學(xué)習(xí)模型,判別和比較各種常見機(jī)器學(xué)習(xí)模型性能并得出性能最佳模型用于特征對(duì)應(yīng),進(jìn)而篩選出與心肌梗死相關(guān)的變量因素。
搜集2015年12月1日-2020年12月31日期間上海仁濟(jì)醫(yī)院心內(nèi)科患者數(shù)據(jù)作為研究對(duì)象,從病案出院診斷中篩選出診斷為心肌梗死的患者,將患者分為心肌梗死組和對(duì)照組,利用患者歷史診療數(shù)據(jù)進(jìn)行回顧性研究。預(yù)測(cè)變量包括患者基本信息、生命體征、肝功能、腎功能、血常規(guī)、尿常規(guī)以及凝血功能等生化檢查檢驗(yàn)診療數(shù)據(jù)。初步清洗剔除缺失比例較高的指標(biāo)后篩選得到123個(gè)可納入模型的特征變量。
本研究從病案出院診斷中篩選診斷為心肌梗死的患者作為實(shí)驗(yàn)組,隨機(jī)抽取其余數(shù)據(jù)作為對(duì)照組。首先對(duì)數(shù)據(jù)進(jìn)行均衡性處理,從對(duì)照組樣本中采用下采樣方式抽取樣本,得到2:3比例的心肌梗死組和對(duì)照組數(shù)據(jù)集。將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集分別訓(xùn)練模型和評(píng)估模型性能。訓(xùn)練集和測(cè)試集以7:3比例從數(shù)據(jù)集中隨機(jī)劃分。最終得到訓(xùn)練集數(shù)據(jù)量為557,包括223位心肌梗死患者和334位對(duì)照組患者,得到測(cè)試集數(shù)據(jù)量為240,包括96位心肌梗死患者和144位對(duì)照組患者。
標(biāo)準(zhǔn)化處理是數(shù)據(jù)挖掘的基礎(chǔ)工作,不同特征具有不同量綱和量綱單位,這一情況會(huì)影響數(shù)據(jù)分析結(jié)果。為了消除特征之間的量綱影響,需要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理以解決數(shù)據(jù)特征之間的可比性問題。原始數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級(jí)從而適合進(jìn)行綜合評(píng)價(jià)。采用離差標(biāo)準(zhǔn)化方式將連續(xù)性特征變量歸一化到0~1之間,對(duì)訓(xùn)練集和測(cè)試集同時(shí)進(jìn)行以下處理:借助正則表達(dá)式抽取某一指標(biāo)信息,轉(zhuǎn)化為數(shù)值變量。對(duì)部分?jǐn)?shù)值變量進(jìn)行分層處理,轉(zhuǎn)化為分類變量。例如將患者檢查結(jié)果轉(zhuǎn)化為正常檢查結(jié)果與不正常檢查結(jié)果。將字符類型變量轉(zhuǎn)換為數(shù)值變量,方便后續(xù)處理。統(tǒng)計(jì)建模所需特征和樣本缺失情況,剔除缺失比例達(dá)到60%及以上的特征,以及缺失比例超過40%的樣本。類別性和連續(xù)型特征分別采用眾數(shù)和均值填充方法進(jìn)行填補(bǔ)。利用Pearson相關(guān)系數(shù)判斷多重共線性。計(jì)算兩兩特征之間的相關(guān)系數(shù),相關(guān)系數(shù)絕對(duì)值大于0.75的變量之間存在較強(qiáng)共線性,剔除其中1個(gè)特征。最后進(jìn)行數(shù)據(jù)歸一化處理。
采用邏輯回歸(Logistic Regression,LR),決策樹(Decision Tree,DT),隨機(jī)森林(Random Forest,RF),自適應(yīng)增強(qiáng)(Adaptive Boosting,AdaBoost),梯度提升決策樹(Gradient Boosting Decision Tree,GBDT),極限梯度提升(Extreme Gradient Boosting,XGBoost)6種機(jī)器學(xué)習(xí)算法訓(xùn)練模型[5]。
基本分類方法,由節(jié)點(diǎn)和有向邊組成。決策樹包含1個(gè)根節(jié)點(diǎn)、1個(gè)內(nèi)部節(jié)點(diǎn)和1個(gè)葉節(jié)點(diǎn)。其中內(nèi)部節(jié)點(diǎn)代表要素,葉節(jié)點(diǎn)代表類。首先根據(jù)特征信息增益對(duì)特征進(jìn)行過濾;然后根據(jù)特征值將每個(gè)節(jié)點(diǎn)劃分為子節(jié)點(diǎn)。根節(jié)點(diǎn)包含樣本集。從根節(jié)點(diǎn)到每個(gè)葉節(jié)點(diǎn)的路徑對(duì)應(yīng)1個(gè)決策序列。
分類方法,主要用于兩分類問題(即輸出只有兩種,分別代表兩個(gè)類別)回歸模型中。y是一個(gè)定性變量,例如y=0或1,Logistic方法主要應(yīng)用于研究某些事件發(fā)生概率。邏輯回歸過程如下:面對(duì)回歸或者分類問題建立代價(jià)函數(shù),通過優(yōu)化方法迭代求解出最優(yōu)模型參數(shù),然后測(cè)試驗(yàn)證該求解模型。
基于非線性樹的集成學(xué)習(xí)模型。獲取隨機(jī)森林模型后,當(dāng)新樣本進(jìn)入時(shí)判斷隨機(jī)森林中每個(gè)決策樹。對(duì)于分類問題使用投票方法,最大投票數(shù)是最終模型輸出。
集成學(xué)習(xí)算法。在迭代過程中該算法在訓(xùn)練集上生成新的學(xué)習(xí)器,以預(yù)測(cè)所有樣本并評(píng)估每個(gè)樣本重要性。區(qū)分樣本越困難迭代過程中給定的權(quán)重越高。當(dāng)錯(cuò)誤率足夠小或達(dá)到一定數(shù)量迭代時(shí)將終止整個(gè)迭代過程。
基于決策樹的綜合學(xué)習(xí)模型,采用可加模型方法。在迭代訓(xùn)練過程中模型基于最后一次迭代的殘差生成弱分類器,通過不斷減少訓(xùn)練過程中產(chǎn)生的殘差達(dá)到數(shù)據(jù)分類目的。
在GBDT基礎(chǔ)上對(duì)boosting算法進(jìn)行改進(jìn)而得到的學(xué)習(xí)模型。內(nèi)部決策樹使用回歸樹。回歸樹的分裂結(jié)點(diǎn)對(duì)于平方損失函數(shù),擬合的就是殘差;對(duì)于一般損失函數(shù)(梯度下降),擬合的就是殘差近似值,分裂結(jié)點(diǎn)劃分時(shí)枚舉所有特征的值,選取劃分點(diǎn)。最后預(yù)測(cè)結(jié)果是每棵樹的預(yù)測(cè)結(jié)果相加。
對(duì)同一組訓(xùn)練和測(cè)試數(shù)據(jù)分別使用6種方法進(jìn)行建模和評(píng)估,計(jì)算模型在訓(xùn)練集和測(cè)試集上的精確率(Precision)、召回率(Recall)、綜合評(píng)價(jià)指標(biāo)(F1 score)、觀測(cè)者操作特性曲線(Receiver Operating Characteristic,ROC)及曲線下面積(Area Under the Curve,AUC)等指標(biāo)。計(jì)算公式如下:
其中TP為真陽性率(True Positive),F(xiàn)P為假陽性率(False Positive),F(xiàn)N 為假陰性率(False Negative)。
不同特征對(duì)模型預(yù)測(cè)的影響不同,影響大小被稱為特征重要性。不同模型計(jì)算方法略有不同,均遵循以下原則:誰對(duì)模型預(yù)測(cè)結(jié)果準(zhǔn)確度貢獻(xiàn)越大誰的重要性越高。特征重要性主要通過模型返回的特征系數(shù),或者在建模過程中特征被使用次數(shù)、帶來的信息增益計(jì)算得到。
用于反映患者數(shù)據(jù)在訓(xùn)練集和測(cè)試集上各特征集間的組間水平,比較組間統(tǒng)計(jì)學(xué)顯著性差異。將訓(xùn)練集和測(cè)試集劃分為心肌梗死組和對(duì)照組,分別統(tǒng)計(jì)心肌梗死組和對(duì)照組的均值和標(biāo)準(zhǔn)差,對(duì)兩組特征變量進(jìn)行統(tǒng)計(jì)學(xué)顯著性檢驗(yàn)得到P值,見表1。
表1 基線特征
續(xù)表1
分別計(jì)算6種方法在驗(yàn)證集上的Precision、Recall、F1和AUC值,見表2。其中 XGBoost模型對(duì)應(yīng)的ROC曲線,見圖1。XGBoost模型對(duì)應(yīng)的箱線圖,見圖2。
圖1 XGBoost模型的ROC曲線
表2 6種模型指標(biāo)
4.3.1 XGBoost性能最佳 利用訓(xùn)練好的6個(gè)模型分別對(duì)驗(yàn)證集進(jìn)行特征重要性分析并對(duì)結(jié)果按降序排列,如XGBoost模型的特征重要性排序,見圖3。在利用機(jī)器學(xué)習(xí)模型進(jìn)行心肌梗死特征分析實(shí)驗(yàn)中,XGBoost的Precision、Recall、F1、AUC值分別達(dá)到0.82、0.82、0.82、0.91,均為各方法中的最高值,可見XGBoost在本研究中性能最佳。
圖3 XGBoost模型特征重要性排序
4.3.2 心肌梗死發(fā)病影響因素分析 通過對(duì)比觀察6種方法的特征重要性可以與心肌梗死關(guān)鍵和致病因素關(guān)聯(lián)起來。載脂蛋白A1、激酶同工酶、空腹血糖、纖維蛋白原、膽固醇等因素均排在前列且占據(jù)重要位置。在性能最佳的XGBoost方法預(yù)測(cè)結(jié)果中,空腹血糖、總膽固醇、激酶同工酶、尿酸堿度等因素均排在前列,與臨床判斷血糖、血脂、心肌酶譜和心功能指標(biāo)等相關(guān)指標(biāo)與心肌梗死具有重要相關(guān)性相符合[1-2]。同時(shí)研究結(jié)果表明性別、年齡等因素對(duì)心肌梗死發(fā)病具有重要影響。
4.3.3 研究?jī)?yōu)勢(shì)與局限 優(yōu)勢(shì)在于使用大量真實(shí)心肌梗死患者臨床數(shù)據(jù),其中包含臨床評(píng)估和生化變量數(shù)據(jù)。模型具有從機(jī)器學(xué)習(xí)算法和常規(guī)回歸中得出的易于使用的臨床數(shù)據(jù)。同時(shí)研究存在一定局限性。首先,上述數(shù)據(jù)均來自同一機(jī)構(gòu),缺乏外部驗(yàn)證,在研究中可能會(huì)出現(xiàn)潛在偏見,需要進(jìn)行進(jìn)一步的前瞻性研究和其他人群研究。其次,研究未包括社會(huì)經(jīng)濟(jì)狀況、職業(yè)、飲食和體育活動(dòng)方面數(shù)據(jù),此類數(shù)據(jù)同樣可能是心肌梗死的危險(xiǎn)因素。
通過機(jī)器學(xué)習(xí)模型建立邏輯回歸、決策樹、隨機(jī)森林、AdaBoost、GBDT、XGBoost 6種心肌梗死疾病特征自動(dòng)識(shí)別模型,挖掘心肌梗死關(guān)鍵和主要致病因素,為疾病發(fā)病可能性提供數(shù)據(jù)支持。其中XGBoost方法的AUC值最高,達(dá)到0.914 8。在該方法預(yù)測(cè)中,空腹血糖、總膽固醇、激酶同工酶、尿酸堿度等因素占據(jù)前列,與臨床經(jīng)驗(yàn)相符合。可見利用機(jī)器學(xué)習(xí)算法建立特征自動(dòng)識(shí)別模型對(duì)心肌梗死致病因素重要性進(jìn)行研究具有可行性。