夏濤 徐輝煌 鄭建立
摘 要:冠心病是一種常見的心血管疾病,具有高發(fā)病率的特點。因此,冠心病住院費用的預測對于控制醫(yī)療費用有著重要意義。本文基于機器學習方法,通過將總的住院費用劃為8個分項費用,以患者特征作為輸入,結(jié)合隨機森林與極端梯度提升算法,并使用十折交叉驗證確定最佳的分項費用預測模型。再根據(jù)分項費用的預測值進行求和得出總的預測住院費用??傎M用預測模型的擬合優(yōu)度(R2)為0.825,平均絕對百分比誤差(MAPE)為29.16%。以此預測模型測試新的數(shù)據(jù)集,結(jié)果R2為0.769,MAPE為29.13%。結(jié)果表明,本文建立的費用預測模型能夠有效地預測冠心病住院費用。
關(guān)鍵詞: 冠心病;住院費用;集成學習;隨機森林;極端梯度提升
【Abstract】 Coronary heart disease is a common cardiovascular disease characterized by high morbidity. Therefore, the prediction of hospitalization expenses for coronary heart disease is of great significance for controlling medical expenses. Based on the machine learning method, this paper divides the total hospitalization cost into eight sub-items, takes the patient characteristics as input, combines the Random Forest and extreme gradient boosting algorithm, and uses the ten-fold cross-validation to determine the best sub-cost prediction model. Then, the total predicted hospitalization expenses are obtained by summing the predicted values of different itemized expenses. The total cost prediction model has a goodness of fit (R2) of 0.825 and an average absolute percentage error (MAPE) of 29.16%. Using this predictive model to test the new data set, the result is R2 of 0.769 and MAPE of 29.13%. The results show that the cost prediction model established in this paper can accurately and effectively predict the hospitalization cost of coronary heart disease.
【Key words】 ?coronary heart disease; hospital costs; ensemble learning; Random Forest; extreme gradient boosting
0 引 言
2017年,國務院印發(fā)《關(guān)于進一步深化基本醫(yī)療保險支付方式改革的指導意見》等系列政策文件,針對醫(yī)保支付方式提出了明確的指導意見,疾病診斷相關(guān)分組[1](Diagnosis-related groups, DRGs)收付費改革在全國多地醫(yī)院開展試點。DRGs是以出院患者信息為依據(jù),綜合考慮患者的主要疾病診斷以及治療方式,并結(jié)合患者體征如年齡、并發(fā)癥和合并癥,將疾病的復雜程度和費用相似的案例分到同一組,從而讓不同強度和復雜程度的醫(yī)療服務之間有了客觀對比依據(jù)。
隨著老齡化進程的加速,中國冠心病的患病率和死亡率呈現(xiàn)上升趨勢。本文基于DRGs收付費方式,探究如何在冠心病患者入院時根據(jù)患者的不同情況如性別、年齡、疾病的嚴重程度、手術(shù)與否等來預測出患者的總費用,并將總費用控制在相應的DRGs分組[2]中,由此達到對醫(yī)療費用的有效控制。費用預測使醫(yī)療成本趨近于合理,從而保證醫(yī)療質(zhì)量,提高醫(yī)院競爭力。另外,費用的預測能夠為住院處收取預交金提供數(shù)據(jù)參考。
近年來,隨著機器學習技術(shù)的發(fā)展,基于機器學習的疾病醫(yī)療費用預測成為研究熱點之一。宋振等人[3]采用人工神經(jīng)網(wǎng)絡(luò)模型來對膽石病患者住院費用因素進行分析,得到住院天數(shù)、醫(yī)院等級、結(jié)石部位、是否手術(shù)等對住院費用均有影響。張繼[4]使用決策樹分類算法對婦科腫瘤患者住院費用做了一定的研究,得出婦科惡性腫瘤患者住院費用的影響因素,包括入院診斷、年齡、婚姻、住院天數(shù)、入院情況、出院情況、手術(shù)方式以及麻醉方式。趙璇[5]采用決策樹算法分析了影響患者醫(yī)療費用的因素,得到住院天數(shù)、藥品使用規(guī)則、衛(wèi)生材料使用、就診醫(yī)院等不同因素會影響冠心病患者費用。郭偉文等人[6]應用灰色GM(1,1)模型預測住院費用,得到人均住院費用模型的平均相對誤差為2.36%。
上述研究通過不同的數(shù)據(jù)挖掘算法對影響費用的因素進行定量分析,但是沒有對相應的住院總費用加以預測。使用灰色GM(1,1)模型預測住院費用只是基于統(tǒng)計學原理對費用進行粗略的預測,缺乏實用性和參考性。
本文采用機器學習中的集成學習方法建立冠心病住院費用的預測模型。首先采集2017~2019三年的冠心病患者信息以及相應的住院費用數(shù)據(jù),對數(shù)據(jù)進行預處理和特征選擇,將得到的特征作為輸入。其次,使用4種機理不同的機器學習算法對冠心病住院患者治療總費用中占比最大的材料費用進行預測性能比對,并確定最佳回歸器。針對2017~2018兩年的冠心病住院的分項費用建立了8個回歸器,并進行十折交叉驗證。將所有分項費用預測值求和后與實際總費用進行比較,使用擬合優(yōu)度和平均絕對百分比誤差作為度量指標,由此確定最佳的費用預測模型。最后,應用此模型對2019年的冠心病治療費用進行預測。預測結(jié)果穩(wěn)定,證明了本文方法的實用性和有效性。
1 材料與方法
1.1 數(shù)據(jù)選取與預處理
本文數(shù)據(jù)來源于某三甲醫(yī)院數(shù)據(jù)庫,通過文獻閱讀,從醫(yī)院信息系統(tǒng)(HIS)數(shù)據(jù)庫和臨床信息系統(tǒng)(CIS)數(shù)據(jù)庫中抽取冠心病住院患者信息和費用信息。冠心病患者的信息可以從人口學特征、臨床因素、管理因素、支付方式等因素抽取,費用信息可以從結(jié)算日期、每一部分的費用明細等提取。
抽取患者信息和費用信息時,數(shù)據(jù)會存在異常值、缺失值、錯誤值、重復記錄等問題,需要進行數(shù)據(jù)預處理,如刪除住院天數(shù)小于1天或者大于1年的住院記錄等異常值。處理空值(NULL)則應對缺失值進行補充或刪除該變量[7]。如果該變量缺失值大于總樣本數(shù)目的1/3,就刪除該變量;若該變量的缺失值低于樣本的1/3,則根據(jù)其他信息對該變量進行相應的補充。通過數(shù)據(jù)預處理,數(shù)據(jù)總共有7 200份樣本,將2017~2018年5 800份作為訓練集,2019年1 400份作為測試集。
1.2 特征處理
數(shù)據(jù)預處理后,需要選取更加精確、有意義的特征作為模型訓練的特征向量。經(jīng)查閱相關(guān)文獻并結(jié)合醫(yī)院數(shù)據(jù)庫的有效信息,本文選取的特征見表1。在回歸建模中,分類特征不應直接使用,需要進行獨熱編碼[8]使其特征得以數(shù)字化。離散型特征獨熱編碼后,能使得特征向量之間的距離計算更加合理。本文中“護理名稱、疾病種類、醫(yī)保代碼、科室名稱”特征都屬于離散特征,應對其進行相應的獨熱編碼。
多類別特征獨熱編碼后映射到高維的特征空間,稀疏性會增多。稀疏特征會影響或誤導學習器,因此,需要通過降維刪掉冗余特征只保留主成分。本文采用SparsePCA[9]進行數(shù)據(jù)降維,通過機器學習開源庫Sklearn[10]的decomposition.SparsePCA函數(shù)來實現(xiàn)。
對疾病種類特征進行獨熱編碼后,SparsePCA函數(shù)的n_components(返回的特征數(shù)目)設(shè)置為4,而科室名稱、護理名稱和醫(yī)保代碼的n_comonents設(shè)置為3。參數(shù)的設(shè)置旨在最大程度保留有效信息,減少稀疏分量。經(jīng)過降維,科室名稱降至3維,護理名稱降至3維,醫(yī)保代碼降到3維,疾病種類降到4維。結(jié)合性別、年齡、入院情況、患者來源、是否手術(shù)、高血壓等級、是否患有高血壓、是否患有糖尿病、是否并發(fā)癥以及并發(fā)癥的數(shù)量,共24維特征構(gòu)成回歸器的特征輸入。
1.3 基于集成學習的住院費用預測建模
機器學習中處理回歸問題主要分為兩大類。一類是廣義線性回歸算法,另一類是集成學習方法。其中,集成學習使用一系列學習器進行訓練,運用某種規(guī)則把各個預測結(jié)果通過整合來獲得比單個學習器更好的學習效果。集成學習相比廣義線性回歸優(yōu)勢在于保證模型的準確度,并可有效防止模型過擬合,具有較高的魯棒性。本文將住院總費用拆分為8種費用類別,包括:檢驗費用、材料費用、治療費用、住院費用、藥品費用、護理費用、手術(shù)費用與其他費用。
1.3.1 隨機森林
1.3.3 總住院費用預測建模
本文通過對特征進行處理,將上述24維特征作為回歸器輸入,并使用集成學習方法,結(jié)合十折交叉驗證建立總住院費用預測模型。
總的住院費用是由檢驗費用(jyfy)、材料費用(clfy)、藥品費用(ypfy)、治療費用(zlfy)、護理費用(hlfy)、手術(shù)費用(ssfy)、住院費用(zytsfy)、其他費用(qtfy)構(gòu)成。因此,通過對其子項費用進行預測后求和可得到總預測住院費用。
分析可知,材料費用占總住院費用的比重最大,該模型預測精確與否會極大影響總費用模型的性能。因此,在建立材料費用的預測模型時采用Lasso回歸、K近鄰回歸(KNN)、支持向量回歸(SVR)、隨機森林與XGBoost多種機理不同的算法進行比較,擬合優(yōu)度分別為0.821,0.549,0.659,0.824,0.826,確定XGBoost為材料費用的最佳預測模型。
對于材料費用之外的分項費用,由于其數(shù)值所占的比重較低,所建立的不同費用回歸器的預測精度對總費用預測模型的影響較小。子項費用回歸器越簡單,聚合而成的總費用預測框架就越穩(wěn)定。此外,隨機森林需要調(diào)試的超參數(shù)少于XGBoost,以此構(gòu)建的預測模型復雜度比XGBoost低。因此,為保證預測框架的魯棒性,本文運用隨機森林對其它子項費用進行預測建模。
總費用預測模型的流程如圖1所示。在對子項費用建立回歸模型時,采用網(wǎng)格搜索確定各個模型最佳參數(shù),隨機森林模型參數(shù)見表2。
材料費用的XGBoost模型最大深度為3,學習率為0.01,集成樹數(shù)目為600,最小子節(jié)點權(quán)重為5,訓練樣本子采樣率為0.8,特征列采樣率為0.8,L2正則化項為1。
2.3 特征權(quán)重分析
本文將總費用拆分為8項子費用,在分別建立費用預測模型后,計算出每個模型不同特征的重要性,并取7個特征度最大的預測變量制圖,詳見圖2。
從圖2可知,住院天數(shù)特征對治療費用模型、住院費用模型、護理費用模型、其它費用模型以及藥品費用模型影響較大。是否手術(shù)特征對材料費用模型、手術(shù)費用模型影響較大。這對后續(xù)費用控制的研究有一定指導意義。
3 結(jié)束語
對冠心病住院費用的控制能減輕患者負擔,降低治療成本,提高醫(yī)療質(zhì)量,因此費用預測具有研究意義。本文基于機器學習中的集成學習方法,根據(jù)24維特征輸入構(gòu)建出不同回歸器,并對冠心病住院患者的分項費用進行預測,確定了結(jié)合隨機森林和極端梯度提升的費用預測模型,而且通過擬合優(yōu)度和平均絕對百分比誤差度量模型的預測性能。
實驗結(jié)果顯示,本文構(gòu)建的費用預測模型能夠有效預測冠心病住院費用。后續(xù)工作將采集更多的數(shù)據(jù)完善模型,進一步優(yōu)化算法,提升預測性能,并應用到疾病費用預測工具當中。
參考文獻
[1]唐劍, 陳武朝, 王桂榕. 疾病診斷相關(guān)分組(DRGs)研究及應用[J].中國病案, 2014, 15(5): 36-39.
[2]楊超. 面向診斷分組的費用預測研究和實現(xiàn)[D]. 成都:電子科技大學, 2017.
[3]宋振, 李長平, 崔壯, 等. 基于人工神經(jīng)網(wǎng)絡(luò)模型的膽石病參?;颊咦≡嘿M用分析[J].中國預防醫(yī)學雜志, 2013, 14(1): 31-34.
[4]張繼. 基于數(shù)據(jù)挖掘技術(shù)的婦科腫瘤病人住院費用研究[D]. 鄭州:鄭州大學, 2011.
[5]趙璇. 基于數(shù)據(jù)挖掘技術(shù)的冠心病費用研究[D]. 北京:北京中醫(yī)藥大學, 2018.
[6]郭偉文, 梅文華, 郭文燕. 應用灰色GM(1,1)模型預測醫(yī)院住院量和住院費用[J].中國病案, 2018, 19(11): 62-66.
[7]李汝慶. 基于數(shù)據(jù)挖掘技術(shù)對精神科病人住院天數(shù)的預測[J].電子世界, 2015 (17): 143-145.
[8]梁杰, 陳嘉豪, 張雪芹, 等. 基于獨熱編碼和卷積神經(jīng)網(wǎng)絡(luò)的異常檢測[J].清華大學學報(自然科學版), 2019,59(7):523-529.
[9]ZOU Hui, HASTIE T, TIBSHIRANI R. Sparse principal component analysis[J]. Journal of Computational & Graphical Statistics, 2006, 15(2):265-286.
[10]PEDREGOSA F, VAROQUAUX G, GRAMFORT A, et al. Scikit-learn: Machine learning in Python [J]. Journal of Machine Learning Research, 2012, 12(10): 2825-2830.
[11]BREIMAN L. Random Forests [J]. Machine Learning, 2001, 45(1): 5-32.
[12]王鵬新,齊璇,李俐,等.基于隨機森林回歸的玉米單產(chǎn)估測[J].農(nóng)業(yè)機械學報,2019,50(7):237-245.
[13]CHEN T, GUESTRIN C. XGBoost: A scalable tree Boosting system[C]//ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.San Francisco, CA, USA: ACM, 2016:785-794.
[14]施國良, 景志剛, 范麗偉. 基于Lasso和Xgboost的油價預測研究[J]. 工業(yè)技術(shù)經(jīng)濟, 2018, 37(7): 31-37.