周展 劉彬 鄭立瑞 譚建聰 鄒北驥 彭清華 肖曉霞



〔摘要〕 目的 研究疾病預測模型存在的類別不平衡性與不可解釋性難題。方法 結合極限梯度提升(eXtreme gradient boosting, XGBoost)、混合采樣和Shapley加法解釋(shapley additive exPlanations, SHAP)分析,提出一種面向不平衡數據的心臟病風險預測可解釋性框架ICRPI。結果 該框架下的風險預測模型平衡準確度為0.942 50,AUC為0.986 03,模型可視化分析獲得高齡、高體質量指數(body mass index, BMI)值、患有糖尿病等9個心臟病危險因素,并得出高齡的糖尿病患者、高BMI值且診斷為糖尿病或臨界糖尿病患者、高BMI值且缺乏體力活動群體為患心臟病高危群體,臨界糖尿病人群參與體力活動可降低患心臟病風險。結論 ICRPI框架適用于真實臨床不平衡數據分析,且能明確給出致病風險因素及其相關性,可有效提高臨床診斷準確率的同時為醫生提供致病因素分析,智能輔助醫生臨床診療。
〔關鍵詞〕 數據類別不平衡;心臟病風險預測;XGBoost;SHAP;可解釋性
〔中圖分類號〕R2? ? ? ?〔文獻標志碼〕A? ? ? ? 〔文章編號〕doi:10.3969/j.issn.1674-070X.2023.06.019
〔Abstract〕 Objective To solve the problems caused by imbalanced data and interpretability of disease prediction models. Methods ICRPI, the framework for predicting heart disease risk factors with interpretability by imbalanced data was proposed by combining eXtreme Gradient Boosting(XGBoost), mixed sampling, and Shapley Additive exPlanations(SHAP). Results The balance accuracy of the risk prediction model within this framework was 0.942 50, and the AUC was 0.986 03. Nine heart disease factors such as older age, high body mass index (BMI) value, and diabetes were obtained by model visualization analysis. The older diabetic patients, the diabetes or borderline diabetes with high BMI value, the patients with high BMI and lacking physical activities are high-risk groups for heart disease; while for the borderline diabetes, physical activity can reduce the risk of heart disease. Conclusion The ICRPI framework can analyze real clinical imbalance data, and can clearly show the pathogenic factors and their correlations. It can effectively improve the accuracy of clinical diagnosis, provide pathogenic factor analysis for doctors, and intelligently assist doctors in clinical practice.
〔Keywords〕 imbalanced data; predicting heart disease risk factors; XGBoost; SHAP; interpretability
心血管疾病(cardiovascular disease, CVD)是心臟病和血管疾病的一個類別,包括冠心病、腦血管病、先天性心臟病、心力衰竭等。根據《中國心血管健康與疾病報告2021》推算我國現心血管患病人數為3.3億,2019年農村和城市CVD死亡人數分別占總死亡人數的46.74%和44.26%,且死亡率仍處于持續上升趨勢[1]。目前,CVD臨床診斷多采用臨床血管造影術和影像診斷,該方式對醫院資源配置要求較高,檢查費用昂貴且對人體有一定創傷[2]。CVD治療費用高昂,2019年中國心腦血管疾病患者的住院總費用為3 133.66億元,且其負擔持續加重,特別是在農村地區[1]。因此,早預防、早發現和早治療是減輕患者負擔的關鍵。
CVD往往是多種危險因素協同作用的結果,通過疾病風險評估可了解患病風險,做到早預防和早治療,但這要求醫生具有較高專業水平。基于大數據建立機器學習模型并分析患病危險因素可輔助醫生診斷決策,提高診斷準確率,緩解醫療資源不均衡問題。同時,也可從海量臨床數據中發現疾病診療新知識,豐富臨床診斷知識。朱宵彤等[2]提出了基于一維卷積的CVD預測模型,在爾灣加州大學兩個數據集上的獨立實驗準確率分別93.36%和94.48%。李瑞等[3]基于心腦一體化CT血管成像預測主要心血管不良事件,采用多因素邏輯回歸(logistic regression, LR)分析其危險因素,顯示多因素綜合的心腦血管系統的影像評估模型預測結果最佳。然而這些研究都是基于類別平衡的數據集,而真實臨床數據多為類別不均衡數據,基于這種數據構建的機器學習模型性能較差,且大多機器學習和深度學習模型都缺乏可解釋性,無法直接給出模型基于哪些因素進行預測,這將無法滿足醫療領域要求模型可解釋的需求。目前,CVD風險預測模型對類別不均衡和模型可解釋性的問題關注較少,本文提出基于類別不平衡數據集的ICRPI心血管疾病風險預測模型,該模型融合SMOTEENN采樣、極限梯度提升(eXtreme gradient boosting, XGBoost)等模型和SHAP可解釋性分析,可獲得較高風險預測準確率的同時獲得影響CVD的危險因素,為構建智能診療模型打下基礎。
1 相關工作
1.1? 基于結構化數據的分類算法
LR的本質是對數幾率(log odds)的線性模型,由于線性模型由特征權重的線性加權組成,可通過特征權重來解釋特征對輸出的貢獻程度,LR則可通過特征改變帶來的對數幾率的變化來解釋模型,因此LR具有內置可解釋性。MCRAE等[4]通過LR的可解釋性,建立基于多變量指數測定系統的“心臟病計分卡”,分析CVD的危險因素,疾病預測心臟健康和心力衰竭的AUC分別為0.840 3和0.941 2。決策樹(decision tree, DT)是通過樹形結構形象地模擬出決策過程,從根節點到葉子節點的路徑代表一條決策路徑,只要將DT可視化即可了解模型決策全過程,因此DT是內置可解釋性模型。但為提高模型準確性所建立的DT,往往因層數較深使人類無法真正理解。BLANCO-JUSTICIA等[5]通過微聚合結合淺層DT進行機器學習模型解釋。這些具有內置可解釋性的分類算法,雖具有較好的模型可解釋性,但受模型本身的限制使其預測準確性不高。隨機森林(random forest, RF)是由BREIMAN等[6]提出的基于Bagging的集成學習方法,而XGBoost是基于Boosting的集成學習算法[7]。相較于其他機器學習模型,不少學者發現集成學習模型預測能力更強[8-11]。但集成學習模型作為“黑盒模型”,在可解釋方面存在不足。深度學習模型在圖像和自然語言處理領域不僅預測性能高,還能避免大量特征工程工作,但在結構化數據任務中的表現卻不如集成樹模型。為提升神經網絡模型在結構化數據中的性能,許多學者研究如何實現模擬樹結構的神經網絡架構[12-13]。TabNet是Google發布的針對結構化數據的神經網絡模型[14]。與之前學者研究的模型相比,該模型不僅預測性能更好,且可提供模型輸出的可視化解釋。劉玉航[15]在研究中醫哮喘辨證分型中提出基于定向正則化的TabNet模型,其辨證模型在多評價指標中占優。盡管基于結構化數據的深度學習模型在近年來取得了較大的進展,但這些模型不論在準確性、性能還是可解釋性方面仍然有待改進。從整體上來看,在結構化數據領域分類模型中集成樹模型仍然處于優勢地位[16]。
1.2? SHAP可解釋性分析
盡管集成樹模型在預測能力上取得巨大成功,但缺乏可解釋性的模型仍難以在業界應用,尤其在醫療領域中。集成樹模型的解釋方法常用有兩種,第一種方法是將模型轉化為可解釋的模型,用可解釋性模型替代“黑盒模型”進行模型解釋。SAGI等[17]通過將任意決策森林模型轉為可解釋性DT進行模型解釋,使其預測能力近似XGBoost模型且具有可解釋性。這種方法雖然可解釋模型,但在預測能力方面仍不足原生模型。第二種方法是使用模型無關的方法,該方法通過關注模型的輸入和輸出行為而不是模型的內部結構來解釋模型。傳統的模型無關解釋方法是輸出置換特征重要性,這種方法能輸出對模型影響較大的特征并直觀地反映特征的重要程度,但無法提供具體特征與預測輸出的關系,在可解釋力度上仍有不足。該問題的替代方案是使用Shapley值替代置換特征值,Shapley值不僅能表示特征重要度還能顯示特征如何影響模型輸出,例如在二分類任務中,通過輸出某特征的Shapley值即可表示該特征對模型輸出結果值(正類或負類)的貢獻度。與傳統的特征重要性方法相比,Shapley值更具有數學上的有效性,它是唯一滿足效益性、對稱性、虛擬性和可加性的歸因方法[18]。但計算Shapley值的時間復雜度較高,使其難以應用于真實領域。SHAP是Shapley值的另一種估計方法,該方法極大地提升了計算速度,實現了工業化應用[19]。為計算特征x的SHAP值,假設set代表特征x與其他特征的所有可能的組合,F代表所有特征的個數,模型在包含特征x的特征組合下的預測結果表示為Predictset(x),模型在不包含特征x的特征組合下的預測結果表示為Predictset/feature(x),特征x的SHAP值計算公式如(1)所示。
SHAP概要圖是將輸出重要特征和特征效應相結合的全局可解釋性方法,通過SHAP概要圖可直觀了解每個重要特征對模型類別輸出的影響程度,但它無法展示不同特征值下模型輸出結果的變化趨勢。SHAP依賴圖可展示單個特征取不同值時SHAP值的變化趨勢,也是一種全局可解釋性方法。這兩種全局解釋方法中,概要圖顯示重要特征對模型輸出的關系,依賴圖則從某個重要特征入手進一步展示該特征不同取值時對模型預測的影響。SHAP可解釋性分析屬于模型無關可解釋方法,相較于傳統方法的優勢在于具有靈活性且不影響模型的預測能力。
1.3? 不平衡分類的數據采樣方法
在醫療領域,由于疾病的發病率不同,使得收集到的數據往往存在類別不平衡的問題。傳統機器學習方法和深度學習方法在數據類別均衡時能取得較好成績,相反往往性能極差,特別在類別極度不均衡時。面對類別極度不平衡的數據,通常使用數據采樣的方法來解決。主流的采樣方法有欠采樣、過采樣和混合采樣,目的都是通過改變數據量使不同類別的樣本量達到平衡。欠采樣是減少多數類的樣本量確保樣本量均衡的方法,隨機欠采樣通過隨機丟棄部分多數類樣本使樣本量達到平衡,是經典的欠采樣方法。過采樣與欠采樣相反,是通過數學模型或方法合成的方式增加少數類樣本量使不同類別的樣本量均衡。最為經典的過采樣方法是CHAWLA等[20]提出的SMOTE算法,該方法增加了數據量使數據達到均衡,同時提高了數據質量,在諸多領域得到認可。由于過采樣能增加樣本量則更多應用于小樣本數據集,但樣本合成的方式容易造成過擬合。混合采樣是將欠采樣和過采樣相結合使不同類別樣本量達到平衡的方法,BATISTA等[21]提出的SMOTETomek和SMOTEENN算法是較為經典的混合采樣方法。混合采樣可彌補欠采樣導致的樣本量減少,同時能優化過采樣導致的樣本重疊問題,能在不改變數據量的條件下均衡數據集。
2 對象和方法
2.1? 研究對象及數據規范
本文采用kaggle網站2020年的Personal Key Indicators of Heart Disease數據集(https://www.kaggle.com/datasets/kamilpytlak/personal-key-indicators-of-heart-disease),其數據總量為319 795,包括167 805名女性和151 990名男性,分類標簽為是否患有心臟病,包括27 373名心臟病患者和292 422名非心臟病患者,共有17個特征。通過樣本量分析,該數據集具有數據量大且數據類別不平衡的特點。
本文采用的數據集的數據規范化包括:分類標簽數值化處理(心臟病患者標記為“1”,非心臟病患者標記為“0”)、特征數值化處理(文本特征值數值化)以及范圍特征取均值(如:年齡范圍為55~59,則取57),規范化結果如表1所示。
2.2? ICRPI框架
本文首先進行數據規范化,將規范后數據集進行類別平衡處理,得到多個“人工”數據集,對各“人工”數據集分別構建模型并得到疾病預測結果,選擇最優預測模型并根據心血管醫學理論為基準進行SHAP分析,具體模型架構如圖1所示。
ICRPI框架執行步驟:(1)使用規范化后數據集S(樣本量為n),由特征集與分類標簽組成;(2)對數據集S分別進行隨機欠采樣、SMOTE過采樣、SMOTETomek和SMOTEENN混合采樣,得到采樣后“人工”數據集;(3)對“人工”數據集分別構建LR、RF、XGBoost、TabNet模型,并采用平衡準確度、精度、召回率、F1和AUC進行模型結果評價,對比模型評價結果,得到預測性能最佳模型M;(4)通過SHAP獲取影響模型M輸出的重要特征;(5)使用SHAP概要圖導出重要特征與心臟病患病的相關關系;(6)使用SHAP依賴圖導出top5重要特征的單變量依賴圖;(7)對單變量依賴圖進行分析,并導出無法直接反映線性關系的重要特征的交互依賴圖;(8)結合相關臨床研究結果與實際情況對步驟(6)和步驟(7)中導出的圖進行可解釋性分析。
3 實驗結果與可解釋性分析
3.1? 實驗結果分析與對比
本文以TabNet、RF、DT、LR和XGBoost模型為基礎構建心臟病風險預測模型,采用平衡準確度、AUC、F1、精度和召回率作為模型評價指標,分別對類別不平衡的原始數據集和采樣后的數據集構建模型,結果如表2所示。從表2可知,所有在原始數據集上構建的模型效果都不好。經分別使用隨機采樣、SMOTE采樣、SMOTETomek采樣和SMOTEENN采樣后,所建立的模型具有更好的學習能力,其中XGBoost+SMOTEENN模型的效果最好,其平衡準確度為0.942 5,比RF+SMOTEENN模型稍好,比XGBoos高出0.41還多,比TabNet模型高出0.175,說明XGBoost+SMOTEENN模型在數據集上效果最佳。
3.2? 可解釋性分析
由于在采樣后建立的XGBoost+SMOTEENN模型的預測結果整體要優于其他機器學習模型,因此本文選擇該模型做臨床診斷可解釋性分析。XGBoost是“黑盒模型”,無法通過模型內置性質獲得模型解釋,但模型都依賴特征進行預測,可通過分析特征取值與模型預測結果的關系了解模型決策的依據。不同特征對于模型決策的重要程度不同,模型決策結果往往僅受少數重要特征影響,因此,本研究重點分析對模型輸出結果影響大的少數重要特征,而不是均攤地解釋所有特征。本研究通過SHAP值分析訓練模型的重要特征信息,模型中特征的SHAP值降序排序結果如圖2所示,展示了從17個特征中篩選出的排名top 9的重要特征,通過對比不同特征的SHAP值可知,這些重要特征是對模型輸出影響較大的特征。
為進一步明確重要特征對模型輸出結果正/負關系,本文使用SHAP摘要圖進行分析。如圖3所示,SHAP摘要圖顯示了模型中的重要特征及對模型預測的影響關系。
SHAP單變量依賴圖可分析單個特征與SHAP值之間的線性關系,圖4是對輸出結果有影響的排名top5的重要特征的單變量依賴圖。圖4(a)顯示SHAP值隨年齡增加,中老年人患心臟病風險更高;圖4(b)顯示參與體力活動的成年人比缺乏體力活動的成年人SHAP值更低,表明缺乏鍛煉是導致心臟病的危險因素;圖4(c)顯示患有糖尿病和臨界糖尿病的成年人有更多患心臟病的風險;圖4(d)表明整體健康水平越高患心臟病風險越低;圖4(e)中“BMI”與SHAP值不是簡單線性關系,說明該特征可能與其他特征交互影響預測結果,無法通過單變量分析特征與模型的預測關系,需要引入雙變量突出組合特征效應的交互依賴圖做進一步分析。
本文分析“BMI”分別與“體力活動”“糖尿病”的組合特征關系,如圖5所示。圖5(a)中顯示當“BMI”取值大于35時,紅色點靠下居多,藍色點靠上居多,表明“BMI”較高且缺乏體力活動的成年人有更高患病風險。因此,將“BMI”與“糖尿病”組合起來分析,如圖5(b)所示,“BMI”取值大于30時,紅色點靠右上居多,表明“BMI”較高的糖尿病患者或臨界糖尿病患者有更高的患心臟病風險。
從“糖尿病”單變量依賴圖可知糖尿病與臨界糖尿病患者是患心臟病的高危人群,構建“糖尿病”與“體力活動”及“年齡范圍”的交互依賴圖進一步分析患病因素,如圖6所示。圖6(a)顯示“糖尿病”取值為2時,藍色區域靠上,說明臨界糖尿病且缺乏體力活動的成年人有更高的患心臟病風險。圖6(b)中顯示“糖尿病”取值為3時,紅色區域靠上,表明糖尿病患者隨年齡的增長患心臟病風險提高。
4 討論
本文結合XGBoost和SMOTEENN算法提出了ICRPI框架,該框架預測的平衡準確度超過94%,AUC值超過98%,且能提取與患病風險關系緊密的重要特征及其與患病風險的關系。通過本研究的實驗得出傳統機器學習模型、集成學習和TabNet對類別不平衡的數據分類效果不好,混合采樣后的集成學習模型分類效果最佳。
為解釋模型,本文使用SHAP進行可解釋性分析。通過SHAP值排序獲得年齡、高BMI值、糖尿病、缺乏體力活動等9個模型重要特征,有大量研究表明肥胖、糖尿病、缺乏鍛煉等是導致心血管疾病的危險因素[22-24],這說明通過SHAP值篩選出的重要特征符合醫學臨床真實情況。為獲得重要特征與模型輸出的關系,本文使用了基于SHAP值的單變量依賴圖和交互依賴圖,通過單變量依賴圖得出“年齡范圍”“糖尿病”“體力活動”和“整體健康水平”這些特征與心臟病診斷結果存在線性關系。然而,單變量依賴圖無法直接得出“BMI”與輸出結果的線性關系。為分析“BMI”與其他特征的交互關系,需要了解在醫學臨床中哪些特征與“BMI”具有相關性。由于肥胖和缺乏鍛煉是心臟病的危險因素[22],而肥胖可體現在較高的“BMI”值上,缺乏鍛煉可體現在缺乏一定的體力活動上,于是分析“BMI”與“體力活動”共同作用于心臟病患病風險。ECKEL等[25]提出BMI和糖尿病體現了心臟代謝風險,是引發心臟病的危險指標,因此,將“BMI”與“糖尿病”組合起來分析。從“BMI”交互依賴圖的分析得出高BMI值是心臟病危險指標,主要體現在高BMI值且缺乏體力活動與高BMI值的糖尿病患者或臨界糖尿病人群中,分析結果與臨床實際情況相符合。2型糖尿病防治指南指出,2型糖尿病患病時長大于等于10年或合并年齡大于50歲等為心血管風險高危因素,早期生活方式干預(如加強運動)可有效減少2型糖尿病的發生或延緩并發癥的發展[26]。本文構建“糖尿病”與“體力活動”及“年齡范圍”的交互依賴圖分析得出高齡糖尿病患者及缺乏鍛煉的臨界糖尿病人群具有較高心臟病患病風險,該結果與2型糖尿病防治指南觀點一致。
綜上所述,本研究表明ICRPI框架可以面向真實的臨床類別不平衡數據構建合適的具有較高預測性能的分類模型,且能客觀地給出致病因素分析,可輔助醫生提高心血管疾病風險預測準確率,降低心臟病診療費用并減少人體的創傷。該框架目前僅可解釋特征與預測結果的相關性,不能解釋特征與預測結果的因果關系,但這一框架為構建面向真實臨床的高準確率、可解釋性的風險預測模型提供一種有效途徑,滿足臨床智能診療系統需求。
參考文獻
[1] 中國心血管健康與疾病報告編寫組. 中國心血管健康與疾病報告2021概要[J]. 中國循環雜志, 2022, 37(6): 553-578.
[2] 朱宵彤, 龐春穎, 朱? 涵. 基于深度學習的心血管疾病預測模型[J]. 計算機應用, 2021, 41(S2): 346-350.
[3] 李? 瑞, 劉墨麒, 黎佳璐, 等. 心腦血管系統的影像評估對主要心血管不良事件的預測作用[J]. 中國腦血管病雜志, 2022, 19(3): 154-160.
[4] MCRAE M P, BOZKURT B, BALLANTYNE C M, et al. Cardiac ScoreCard: A diagnostic multivariate index assay system for predicting a spectrum of cardiovascular disease[J]. Expert Systems With Applications, 2016, 54: 136-147.
[5] BLANCO-JUSTICIA A, DOMINGO-FERRER J, MARTíNEZ S, et al. Machine learning explainability via microaggregation and shallow decision trees[J]. Knowledge-Based Systems, 2020, 194: 105532.
[6] BREIMAN L. Random forests[J]. Machine learning, 2001, 45: 5-32.
[7] CHEN T Q, GUESTRIN C. XGBoost: A scalable tree boosting system[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York: ACM, 2016: 785-794.
[8] 陳? 苗, 陳? 青, 尹曉清. 隨機森林的集成分類算法對心胸外科ICU患者譫妄風險的預測分析[J]. 中國胸心血管外科臨床雜志, 2022, 29(7): 886-891.
[9] 鄭曉燕. 基于機器學習的心血管疾病預測系統研究[D]. 北京: 北京交通大學, 2018.
[10] 于大海. 基于BP神經網絡和隨機森林算法的冠狀動脈狹窄風險識別模型研究[D]. 太原: 山西醫科大學, 2019.
[11] 彭佳麗, 劉春容, 李? 旭, 等. 采用XGBoost和隨機森林探索中國西部女性乳腺癌危險因素[J]. 現代預防醫學, 2020, 47(1): 1-4.
[12] KONTSCHIEDER P, FITERAU M, CRIMINISI A, et al. Deep neural decision forests[C]//2015 IEEE International Conference on Computer Vision (ICCV). Santiago, Chile. IEEE, 2016: 1467-1475.
[13] YANG Y, MORILLO I G, HOSPEDALES T M. "Deep neural decision trees"[EB/OL]. 2018. DOI: 10.48550/arXiv.1806.06988.
[14] ARIK S ?, PFISTER T. TabNet: Attentive interpretable tabular learning[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2021, 35(8): 6679-6687.
[15] 劉玉航. 基于機器學習的中醫哮喘辨證分型研究與應用[D]. 青島: 青島科技大學, 2022.
[16] SHWARTZ-ZIV R, ARMON A. Tabular data: Deep learning is not all you need[J]. Information Fusion, 2022, 81: 84-90.
[17] SAGI O, ROKACH L. Approximating XGBoost with an interpretable decision tree[J]. Information Sciences, 2021, 572: 522-542.
[18] MOLNAR C. Interpretable machine learning:A guide for making black box models explainable[M]. Fletcher, NC, USA: LULU, Feb. 2019: 295-296.
[19] LUNDBERG S M, LEE S I. A unified approach to interpreting model predictions[C]//In Proceedings of the Advances in Neural Information Processing Systems, Long Beach, CA, USA, 4-9 December, 2017: 4765-4774.
[20] CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: Synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16: 321-357.
[21] BATISTA G E A P A, PRATI R C, MONARD M C. A study of the behavior of several methods for balancing machine learning training data[J]. ACM SIGKDD Explorations Newsletter, 2004, 6(1): 20-29.
[22] LI X, WU C Q, LU J P, et al. Cardiovascular risk factors in China: A nationwide population-based cohort study[J]. The Lancet Public Health, 2020, 5(12): e672-e681.
[23] 何? 源, 馬少寧, 王海宏, 等. 寧夏回族自治區心血管疾病高危人群篩查與相關危險因素研究[J]. 現代預防醫學, 2022, 49(1): 21-26, 31.
[24] 劉? 覽, 劉華章, 馮穎青, 等. 廣州市35~75歲社區居民心血管病主要危險因素聚集情況分析[J]. 現代預防醫學, 2020, 47(4): 635-639, 647.
[25] ECKEL R H, KAHN R, ROBERTSON R M, et al. Preventing cardiovascular disease and diabetes: A call to action from the American Diabetes Association and the American Heart Association[J]. Circulation, 2006, 113(25): 2943-2946.
[26] 中華醫學會糖尿病學分會. 中國2型糖尿病防治指南(2020年版)[J]. 國際內分泌代謝雜志, 2021, 41(5): 482-548.