王穎晶 倪連超
(上海交通大學(xué)醫(yī)學(xué)院附屬仁濟(jì)醫(yī)院信息中心 上海200127) (萬達(dá)信息股份有限公司 上海201112)
陳珊黎 邵維君 韓 剛 丁粉華 鄭 濤
(上海交通大學(xué)醫(yī)學(xué)院附屬仁濟(jì)醫(yī)院信息中心 上海200127)
經(jīng)皮冠狀動脈介入治療(Percutaneous Coronary Intervention,PCI)已成為急性冠脈綜合征(Acute Coronary Syndrome,ACS)主要且有效的治療方法。隨著PCI技術(shù)的廣泛應(yīng)用和疾病復(fù)雜多變性的增加,PCI術(shù)后冠脈再狹窄成為臨床難點(diǎn),也是影響患者預(yù)后的主要因素。目前機(jī)器學(xué)習(xí)已逐漸應(yīng)用于醫(yī)學(xué)輔助診斷領(lǐng)域[1-2],機(jī)器學(xué)習(xí)與現(xiàn)代醫(yī)學(xué)融合可用于醫(yī)療決策和輔助診斷,能夠?yàn)榕R床醫(yī)務(wù)人員提供幫助,為患者提供便利。
當(dāng)前關(guān)于PCI預(yù)后的研究主要集中在相關(guān)危險(xiǎn)因素評估以及不良事件或并發(fā)癥事件發(fā)生預(yù)測方面。程誠和王鑫[3]基于行PCI術(shù)治療冠心病合并2型糖尿病患者的血壓、血糖、血脂、支架情況、Th1及Th2細(xì)胞因子水平等,采用Logistic逐步回歸模型分析PCI術(shù)后發(fā)生支架內(nèi)再狹窄的影響因素。吳歡、薛萬國和應(yīng)俊等[4]利用隨機(jī)抽樣和合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)進(jìn)行樣本均衡化處理,再分別利用分類回歸樹算法(Classification And Regression Tree,CART),C4.5條件樹,AdaBoost,Bagging,隨機(jī)森林(Random Forest,RF)和樸素貝葉斯算法(Naive Bayes) 6種機(jī)器學(xué)習(xí)方法構(gòu)建PCI術(shù)后12個月主要不良心血管事件的風(fēng)險(xiǎn)預(yù)測模型。宋玲花、李保和韓慧媛[5]對PCI術(shù)后患者病歷資料、定期復(fù)診資料和電話隨訪資料進(jìn)行分析,建立Cox比例風(fēng)險(xiǎn)模型和預(yù)后指數(shù)方程,實(shí)現(xiàn)對具有不同危險(xiǎn)因素的冠心病患者的PCI術(shù)后復(fù)發(fā)風(fēng)險(xiǎn)預(yù)測。
上述模型均需要再次行有創(chuàng)經(jīng)冠脈造影檢查才能予以診斷PCI是否復(fù)發(fā)。針對這一問題,可嘗試使用術(shù)后隨訪的常規(guī)無創(chuàng)性檢驗(yàn)結(jié)果和患者基本信息等數(shù)據(jù),運(yùn)用機(jī)器學(xué)習(xí)算法對PCI術(shù)后復(fù)發(fā)進(jìn)行預(yù)測。本文主要基于機(jī)器學(xué)習(xí)算法的二分類模型,構(gòu)建一種多模型融合的Stacking算法,并通過醫(yī)院真實(shí)樣本數(shù)據(jù)對患者PCI術(shù)后的復(fù)發(fā)情況預(yù)警開展研究。
選取仁濟(jì)醫(yī)院2015-2018年期間收治、接受過冠狀動脈支架植入術(shù)且具有完整記錄的患者作為樣本集,并以該樣本集的醫(yī)療電子病歷信息數(shù)據(jù)作為數(shù)據(jù)源開展研究。
根據(jù)專家知識制定PCI術(shù)后復(fù)發(fā)患者納入和排除標(biāo)準(zhǔn),在心內(nèi)科住院和門診數(shù)據(jù)中存在多條手術(shù)記錄的患者即為復(fù)發(fā)患者,而僅有1條手術(shù)記錄且此次手術(shù)時間距離2021年已超過3年的患者被認(rèn)為沒有復(fù)發(fā)的患者。基于該標(biāo)準(zhǔn)共采集復(fù)發(fā)患者即正樣本402條,沒有復(fù)發(fā)患者即負(fù)樣本2 509條,正負(fù)樣本共計(jì)2 911條。通過患者唯一標(biāo)識,關(guān)聯(lián)得到患者的基本信息、門診和住院信息以及檢查、檢驗(yàn)項(xiàng)目等作為分析因素。其中針對多次手術(shù)的患者取其最后一次手術(shù)信息;針對多次檢查和檢驗(yàn)的情況以手術(shù)時間作為參考時間點(diǎn),手術(shù)前3個月內(nèi)是否存在檢驗(yàn)檢查記錄作為納入標(biāo)準(zhǔn),取該時間段內(nèi)最后一次檢驗(yàn)檢查項(xiàng)目作為采納分析數(shù)據(jù)。
分析因素主要包括患者基本信息、臨床就診信息以及檢驗(yàn)檢查資料等,通過醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)中的患者病歷及其門診和住院檢查數(shù)據(jù)獲得,主要包含以下3個方面,共計(jì)263個特征。一是檢驗(yàn)檢查特征:住院和門診中常見的常規(guī)檢驗(yàn)檢查項(xiàng)目,如全血細(xì)胞分析、尿液分析、血?dú)夥治龅?58個特征。二是患者基本特征:年齡、性別、血型3個特征。三是手術(shù)相關(guān)特征:手術(shù)完成時間、手術(shù)進(jìn)行總時長兩個特征。
3.1.1 常用方法 基于上述分析因素借助機(jī)器學(xué)習(xí)方法構(gòu)建PCI術(shù)后復(fù)發(fā)預(yù)警模型。通過納入和排除標(biāo)準(zhǔn)確定復(fù)發(fā)患者和未復(fù)發(fā)患者,得到明確的樣本類別,因此可構(gòu)建有監(jiān)督分類方法進(jìn)行PCI術(shù)后復(fù)發(fā)預(yù)警。當(dāng)前機(jī)器學(xué)習(xí)有監(jiān)督分類方法較多,常用方法包括邏輯回歸(Logistic Regression, LR),支持向量機(jī)(Support Vector Machine, SVM),K近鄰(K-Nearest Neighbors, KNN),RF,極限梯度提升(Extreme Gradient Boosting, XGB),Light Gradient Boosting Machine(LightGBM),Categorical Boosting(CatBoost)等。其中RF、XGB、LightGBM和CatBoost均為以決策樹為基模型構(gòu)造的集成學(xué)習(xí)方法,適合結(jié)構(gòu)化數(shù)據(jù)建模并具有較強(qiáng)的泛化能力,而LR、SVM以及KNN與前幾種方法具有較大差異,構(gòu)造原理也不同。
3.1.2 各類方法對比分析 邏輯回歸受制于模型的線性結(jié)構(gòu),無法對非線性信息進(jìn)行準(zhǔn)確刻畫,同時也無法抽取多個特征間的組合關(guān)系,導(dǎo)致使用者必須人工設(shè)計(jì)復(fù)雜特征集合來提升模型預(yù)測精度。支持向量機(jī)在大規(guī)模數(shù)據(jù)集上難以應(yīng)用,當(dāng)樣本數(shù)量較大時模型訓(xùn)練會占用大量內(nèi)存和運(yùn)算時間。K近鄰的缺點(diǎn)也較為明顯,首先其在預(yù)測過程中運(yùn)算量較大,需要計(jì)算到每個訓(xùn)練樣本的距離,其次模型可解釋性較差,再次模型魯棒性較差,容易受到錯誤數(shù)據(jù)的影響。隨機(jī)森林有很強(qiáng)的實(shí)用性,但是在處理某些噪聲較大的數(shù)據(jù)時會出現(xiàn)過擬合。XGBoost、LightGBM和CatBoost均為Boosting算法梯度下降樹的優(yōu)化算法。但是這些方法使用門檻較高、模型參數(shù)多,在進(jìn)行參數(shù)優(yōu)化時較為復(fù)雜。
為提升PCI術(shù)后復(fù)發(fā)預(yù)測精度,基于上述7種方法構(gòu)建一種多模型融合的Stacking算法。Stacking算法能夠結(jié)合多種不同類型的有監(jiān)督分類方法作為基學(xué)習(xí)器,并在此基礎(chǔ)上再構(gòu)建一個分類器,預(yù)測未知樣本類別。該方法最顯著的優(yōu)點(diǎn)是能夠明顯降低模型方差從而有效提升模型預(yù)測精度;此外能夠納入任何有監(jiān)督分類方法作為基分類器,不受方法本身構(gòu)造原理的約束。因此該方法在實(shí)際應(yīng)用中對計(jì)算資源要求更高,針對同等規(guī)模的數(shù)據(jù)集,模型訓(xùn)練時間也數(shù)倍于單個模型。具體的Stacking算法主要分為兩層,第1層是由7種不同的基學(xué)習(xí)器組成,包括LR、SVM、KNN、RF、XGB、LightGBM和CatBoost。第2層是將第1層輸出作為新特征輸入到元學(xué)習(xí)器并進(jìn)行訓(xùn)練,形成最終的預(yù)測模型,見圖1。
圖1 Stacking算法架構(gòu)
4.1.1 實(shí)驗(yàn)環(huán)境 為探究基于機(jī)器學(xué)習(xí)的PCI術(shù)后復(fù)發(fā)預(yù)警模型的有效性,基于納入的2 911條樣本展開實(shí)驗(yàn)和分析。借助Python及其開源的機(jī)器學(xué)習(xí)框架scikit-learn等[6-8]實(shí)現(xiàn)上述8種算法。
4.1.2 數(shù)據(jù)預(yù)處理 由于部分方法對特征分布非常敏感,為更準(zhǔn)確地評估各算法的性能表現(xiàn),需要對數(shù)據(jù)進(jìn)行預(yù)處理。首先,對數(shù)據(jù)集中每個特征均進(jìn)行標(biāo)準(zhǔn)化處理,以此消除特征的量綱。其次,考慮到除XGB、LightGBM、CatBoost 3個較新算法外,其他傳統(tǒng)算法均無法對缺失值進(jìn)行合適處理,因此對數(shù)據(jù)中的缺失值以-1數(shù)值進(jìn)行填充。最后,為了模型訓(xùn)練過程中更加平穩(wěn),防止正負(fù)樣本嚴(yán)重失衡對模型性能損傷,對原始數(shù)據(jù)集中的負(fù)樣本進(jìn)行下采樣處理,最終正負(fù)樣本比例為1∶2。
為更好地評估算法表現(xiàn)及其泛化性能,使用五折交叉驗(yàn)證方式進(jìn)行模型驗(yàn)證。保證正負(fù)樣本比例在訓(xùn)練與測試過程中保持一致,并采用隨機(jī)劃分方式,以避免人為因素干擾。針對非均衡數(shù)據(jù)集,模型評估衡準(zhǔn)主要采用受試者操作特征曲線下面積(Area Under the Curve, AUC),真正率(True Positive Rate,TPR),假正率(False Positive Rate,F(xiàn)PR)和F1值,同時為了避免隨機(jī)劃分可能引入的偏差,以獨(dú)立的隨機(jī)劃分5次后的評估均值為最終結(jié)果評價衡準(zhǔn)。各項(xiàng)評估指標(biāo)的具體計(jì)算公式為:
(1)
(2)
(3)
(4)
(5)
其中TP、TN、FP、FN分別表示正樣本被正確預(yù)測、負(fù)樣本被正確預(yù)測、正樣本被錯誤預(yù)測、負(fù)樣本被錯誤預(yù)測的樣本數(shù)。
模型參數(shù)通過多次實(shí)驗(yàn)效果比較進(jìn)行選取,見表1。對于其他未列舉的模型參數(shù),其取值均采用計(jì)算框架中的默認(rèn)值。對比本文的Stacking算法以及其他7種有監(jiān)督分類方法開展實(shí)驗(yàn)情況可見,本文構(gòu)造的Stacking算法性能最佳,AUC達(dá)到0.901,TPR達(dá)到78.2%,F(xiàn)PR為14.1%,F(xiàn)1值為0.744。
表1 算法與其參數(shù)的取值范圍
4.4.1 分析方法 鑒于模型輸入變量較多,針對這些指標(biāo)因素進(jìn)行重點(diǎn)評估和篩選具有重要研究意義。通過篩選對模型具有重要影響的變量,挖掘?qū)膊【哂刑崾拘缘囊蛩?,能夠?yàn)榕R床研究者提供更多依據(jù)以及新的研究思路。為了對建模指標(biāo)因素進(jìn)行解讀,選取預(yù)測精度較高的Xgboost、LightGBM和CatBoost 3種模型,分別計(jì)算指標(biāo)因素的特征重要性權(quán)重。對于這3種基于決策樹的模型,由于樹模型在每一折交叉驗(yàn)證中均對訓(xùn)練集學(xué)習(xí)得到一個預(yù)測模型,同時也得到不同特征的重要性權(quán)重,因此將每一折的結(jié)果進(jìn)行平均即可得到其對整體數(shù)據(jù)特征重要性的評估。
4.4.2 分析結(jié)果 通過計(jì)算特征重要性得到3種模型各自排名前20的特征重要性權(quán)重。結(jié)果顯示載脂蛋白B對于PCI術(shù)后再狹窄的預(yù)測評估至關(guān)重要,電導(dǎo)率、標(biāo)準(zhǔn)碳酸氫根濃度、促甲狀腺激素、糖化血紅蛋白A1C等指標(biāo)也有顯著影響。因此后期隨訪中相關(guān)檢驗(yàn)檢查如血脂全套、尿液分析、血?dú)夥治?、甲狀腺功?項(xiàng)等需要重點(diǎn)關(guān)注。
通過機(jī)器學(xué)習(xí)有監(jiān)督分類模型,結(jié)合檢驗(yàn)檢查、患者基本信息和手術(shù)信息,對PCI術(shù)后復(fù)發(fā)進(jìn)行預(yù)測,構(gòu)建一種基于Stacking算法的PCI術(shù)后復(fù)發(fā)預(yù)測方法,實(shí)驗(yàn)結(jié)果顯示該方法的AUC達(dá)到0.901、TPR達(dá)到78.2%、FPR低至14.1%,F(xiàn)1值達(dá)到0.744。此外特征重要性排序結(jié)果顯示載脂蛋白B、電導(dǎo)率、標(biāo)準(zhǔn)碳酸氫根濃度等指標(biāo)是對PCI術(shù)后再狹窄預(yù)測評估的關(guān)鍵因素,對PCI術(shù)后再狹窄有重要的提示意義,從而為PCI術(shù)后復(fù)發(fā)預(yù)測的進(jìn)一步研究和相關(guān)醫(yī)療資源的合理使用提供參考。盡管相較于單個基模型,Stacking算法能夠降低模型方差,較大地提升模型預(yù)測精度,但該方法存在幾點(diǎn)不足有待改進(jìn)。第一,當(dāng)建模數(shù)據(jù)較多時,該方法相比單個模型需要更長的訓(xùn)練和預(yù)測時間;第二,由于集成多個模型的預(yù)測結(jié)果作為特征數(shù)據(jù),該方法缺乏對原始指標(biāo)因素的解釋能力,僅憑借該方法難以對臨床指標(biāo)進(jìn)行分析和篩選;第三,該方法的模型構(gòu)建較為復(fù)雜,考慮到基模型數(shù)量較多且每種模型都有多個超參數(shù),模型參數(shù)的設(shè)定和優(yōu)化是需要多次迭代和調(diào)試進(jìn)而達(dá)到最優(yōu),該過程較為繁瑣、耗時。針對上述問題,在未來工作中將進(jìn)一步優(yōu)化方法流程,在保證模型泛化能力的基礎(chǔ)上提升模型訓(xùn)練效率,增強(qiáng)模型的可解釋性及易用性。