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