夏濤 徐輝煌 鄭建立
摘 要:冠心病是一種常見的心血管疾病,具有高發(fā)病率的特點(diǎn)。因此,冠心病住院費(fèi)用的預(yù)測對(duì)于控制醫(yī)療費(fèi)用有著重要意義。本文基于機(jī)器學(xué)習(xí)方法,通過將總的住院費(fèi)用劃為8個(gè)分項(xiàng)費(fèi)用,以患者特征作為輸入,結(jié)合隨機(jī)森林與極端梯度提升算法,并使用十折交叉驗(yàn)證確定最佳的分項(xiàng)費(fèi)用預(yù)測模型。再根據(jù)分項(xiàng)費(fèi)用的預(yù)測值進(jìn)行求和得出總的預(yù)測住院費(fèi)用??傎M(fèi)用預(yù)測模型的擬合優(yōu)度(R2)為0.825,平均絕對(duì)百分比誤差(MAPE)為29.16%。以此預(yù)測模型測試新的數(shù)據(jù)集,結(jié)果R2為0.769,MAPE為29.13%。結(jié)果表明,本文建立的費(fèi)用預(yù)測模型能夠有效地預(yù)測冠心病住院費(fèi)用。
關(guān)鍵詞: 冠心病;住院費(fèi)用;集成學(xué)習(xí);隨機(jī)森林;極端梯度提升
【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年,國務(wù)院印發(fā)《關(guān)于進(jìn)一步深化基本醫(yī)療保險(xiǎn)支付方式改革的指導(dǎo)意見》等系列政策文件,針對(duì)醫(yī)保支付方式提出了明確的指導(dǎo)意見,疾病診斷相關(guān)分組[1](Diagnosis-related groups, DRGs)收付費(fèi)改革在全國多地醫(yī)院開展試點(diǎn)。DRGs是以出院患者信息為依據(jù),綜合考慮患者的主要疾病診斷以及治療方式,并結(jié)合患者體征如年齡、并發(fā)癥和合并癥,將疾病的復(fù)雜程度和費(fèi)用相似的案例分到同一組,從而讓不同強(qiáng)度和復(fù)雜程度的醫(yī)療服務(wù)之間有了客觀對(duì)比依據(jù)。
隨著老齡化進(jìn)程的加速,中國冠心病的患病率和死亡率呈現(xiàn)上升趨勢。本文基于DRGs收付費(fèi)方式,探究如何在冠心病患者入院時(shí)根據(jù)患者的不同情況如性別、年齡、疾病的嚴(yán)重程度、手術(shù)與否等來預(yù)測出患者的總費(fèi)用,并將總費(fèi)用控制在相應(yīng)的DRGs分組[2]中,由此達(dá)到對(duì)醫(yī)療費(fèi)用的有效控制。費(fèi)用預(yù)測使醫(yī)療成本趨近于合理,從而保證醫(yī)療質(zhì)量,提高醫(yī)院競爭力。另外,費(fèi)用的預(yù)測能夠?yàn)樽≡禾幨杖☆A(yù)交金提供數(shù)據(jù)參考。
近年來,隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,基于機(jī)器學(xué)習(xí)的疾病醫(yī)療費(fèi)用預(yù)測成為研究熱點(diǎn)之一。宋振等人[3]采用人工神經(jīng)網(wǎng)絡(luò)模型來對(duì)膽石病患者住院費(fèi)用因素進(jìn)行分析,得到住院天數(shù)、醫(yī)院等級(jí)、結(jié)石部位、是否手術(shù)等對(duì)住院費(fèi)用均有影響。張繼[4]使用決策樹分類算法對(duì)婦科腫瘤患者住院費(fèi)用做了一定的研究,得出婦科惡性腫瘤患者住院費(fèi)用的影響因素,包括入院診斷、年齡、婚姻、住院天數(shù)、入院情況、出院情況、手術(shù)方式以及麻醉方式。趙璇[5]采用決策樹算法分析了影響患者醫(yī)療費(fèi)用的因素,得到住院天數(shù)、藥品使用規(guī)則、衛(wèi)生材料使用、就診醫(yī)院等不同因素會(huì)影響冠心病患者費(fèi)用。郭偉文等人[6]應(yīng)用灰色GM(1,1)模型預(yù)測住院費(fèi)用,得到人均住院費(fèi)用模型的平均相對(duì)誤差為2.36%。
上述研究通過不同的數(shù)據(jù)挖掘算法對(duì)影響費(fèi)用的因素進(jìn)行定量分析,但是沒有對(duì)相應(yīng)的住院總費(fèi)用加以預(yù)測。使用灰色GM(1,1)模型預(yù)測住院費(fèi)用只是基于統(tǒng)計(jì)學(xué)原理對(duì)費(fèi)用進(jìn)行粗略的預(yù)測,缺乏實(shí)用性和參考性。
本文采用機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)方法建立冠心病住院費(fèi)用的預(yù)測模型。首先采集2017~2019三年的冠心病患者信息以及相應(yīng)的住院費(fèi)用數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和特征選擇,將得到的特征作為輸入。其次,使用4種機(jī)理不同的機(jī)器學(xué)習(xí)算法對(duì)冠心病住院患者治療總費(fèi)用中占比最大的材料費(fèi)用進(jìn)行預(yù)測性能比對(duì),并確定最佳回歸器。針對(duì)2017~2018兩年的冠心病住院的分項(xiàng)費(fèi)用建立了8個(gè)回歸器,并進(jìn)行十折交叉驗(yàn)證。將所有分項(xiàng)費(fèi)用預(yù)測值求和后與實(shí)際總費(fèi)用進(jìn)行比較,使用擬合優(yōu)度和平均絕對(duì)百分比誤差作為度量指標(biāo),由此確定最佳的費(fèi)用預(yù)測模型。最后,應(yīng)用此模型對(duì)2019年的冠心病治療費(fèi)用進(jìn)行預(yù)測。預(yù)測結(jié)果穩(wěn)定,證明了本文方法的實(shí)用性和有效性。
1 材料與方法
1.1 數(shù)據(jù)選取與預(yù)處理
本文數(shù)據(jù)來源于某三甲醫(yī)院數(shù)據(jù)庫,通過文獻(xiàn)閱讀,從醫(yī)院信息系統(tǒng)(HIS)數(shù)據(jù)庫和臨床信息系統(tǒng)(CIS)數(shù)據(jù)庫中抽取冠心病住院患者信息和費(fèi)用信息。冠心病患者的信息可以從人口學(xué)特征、臨床因素、管理因素、支付方式等因素抽取,費(fèi)用信息可以從結(jié)算日期、每一部分的費(fèi)用明細(xì)等提取。
抽取患者信息和費(fèi)用信息時(shí),數(shù)據(jù)會(huì)存在異常值、缺失值、錯(cuò)誤值、重復(fù)記錄等問題,需要進(jìn)行數(shù)據(jù)預(yù)處理,如刪除住院天數(shù)小于1天或者大于1年的住院記錄等異常值。處理空值(NULL)則應(yīng)對(duì)缺失值進(jìn)行補(bǔ)充或刪除該變量[7]。如果該變量缺失值大于總樣本數(shù)目的1/3,就刪除該變量;若該變量的缺失值低于樣本的1/3,則根據(jù)其他信息對(duì)該變量進(jìn)行相應(yīng)的補(bǔ)充。通過數(shù)據(jù)預(yù)處理,數(shù)據(jù)總共有7 200份樣本,將2017~2018年5 800份作為訓(xùn)練集,2019年1 400份作為測試集。
1.2 特征處理
數(shù)據(jù)預(yù)處理后,需要選取更加精確、有意義的特征作為模型訓(xùn)練的特征向量。經(jīng)查閱相關(guān)文獻(xiàn)并結(jié)合醫(yī)院數(shù)據(jù)庫的有效信息,本文選取的特征見表1。在回歸建模中,分類特征不應(yīng)直接使用,需要進(jìn)行獨(dú)熱編碼[8]使其特征得以數(shù)字化。離散型特征獨(dú)熱編碼后,能使得特征向量之間的距離計(jì)算更加合理。本文中“護(hù)理名稱、疾病種類、醫(yī)保代碼、科室名稱”特征都屬于離散特征,應(yīng)對(duì)其進(jìn)行相應(yīng)的獨(dú)熱編碼。
多類別特征獨(dú)熱編碼后映射到高維的特征空間,稀疏性會(huì)增多。稀疏特征會(huì)影響或誤導(dǎo)學(xué)習(xí)器,因此,需要通過降維刪掉冗余特征只保留主成分。本文采用SparsePCA[9]進(jìn)行數(shù)據(jù)降維,通過機(jī)器學(xué)習(xí)開源庫Sklearn[10]的decomposition.SparsePCA函數(shù)來實(shí)現(xiàn)。
對(duì)疾病種類特征進(jìn)行獨(dú)熱編碼后,SparsePCA函數(shù)的n_components(返回的特征數(shù)目)設(shè)置為4,而科室名稱、護(hù)理名稱和醫(yī)保代碼的n_comonents設(shè)置為3。參數(shù)的設(shè)置旨在最大程度保留有效信息,減少稀疏分量。經(jīng)過降維,科室名稱降至3維,護(hù)理名稱降至3維,醫(yī)保代碼降到3維,疾病種類降到4維。結(jié)合性別、年齡、入院情況、患者來源、是否手術(shù)、高血壓等級(jí)、是否患有高血壓、是否患有糖尿病、是否并發(fā)癥以及并發(fā)癥的數(shù)量,共24維特征構(gòu)成回歸器的特征輸入。
1.3 基于集成學(xué)習(xí)的住院費(fèi)用預(yù)測建模
機(jī)器學(xué)習(xí)中處理回歸問題主要分為兩大類。一類是廣義線性回歸算法,另一類是集成學(xué)習(xí)方法。其中,集成學(xué)習(xí)使用一系列學(xué)習(xí)器進(jìn)行訓(xùn)練,運(yùn)用某種規(guī)則把各個(gè)預(yù)測結(jié)果通過整合來獲得比單個(gè)學(xué)習(xí)器更好的學(xué)習(xí)效果。集成學(xué)習(xí)相比廣義線性回歸優(yōu)勢在于保證模型的準(zhǔn)確度,并可有效防止模型過擬合,具有較高的魯棒性。本文將住院總費(fèi)用拆分為8種費(fèi)用類別,包括:檢驗(yàn)費(fèi)用、材料費(fèi)用、治療費(fèi)用、住院費(fèi)用、藥品費(fèi)用、護(hù)理費(fèi)用、手術(shù)費(fèi)用與其他費(fèi)用。
1.3.1 隨機(jī)森林
1.3.3 總住院費(fèi)用預(yù)測建模
本文通過對(duì)特征進(jìn)行處理,將上述24維特征作為回歸器輸入,并使用集成學(xué)習(xí)方法,結(jié)合十折交叉驗(yàn)證建立總住院費(fèi)用預(yù)測模型。
總的住院費(fèi)用是由檢驗(yàn)費(fèi)用(jyfy)、材料費(fèi)用(clfy)、藥品費(fèi)用(ypfy)、治療費(fèi)用(zlfy)、護(hù)理費(fèi)用(hlfy)、手術(shù)費(fèi)用(ssfy)、住院費(fèi)用(zytsfy)、其他費(fèi)用(qtfy)構(gòu)成。因此,通過對(duì)其子項(xiàng)費(fèi)用進(jìn)行預(yù)測后求和可得到總預(yù)測住院費(fèi)用。
分析可知,材料費(fèi)用占總住院費(fèi)用的比重最大,該模型預(yù)測精確與否會(huì)極大影響總費(fèi)用模型的性能。因此,在建立材料費(fèi)用的預(yù)測模型時(shí)采用Lasso回歸、K近鄰回歸(KNN)、支持向量回歸(SVR)、隨機(jī)森林與XGBoost多種機(jī)理不同的算法進(jìn)行比較,擬合優(yōu)度分別為0.821,0.549,0.659,0.824,0.826,確定XGBoost為材料費(fèi)用的最佳預(yù)測模型。
對(duì)于材料費(fèi)用之外的分項(xiàng)費(fèi)用,由于其數(shù)值所占的比重較低,所建立的不同費(fèi)用回歸器的預(yù)測精度對(duì)總費(fèi)用預(yù)測模型的影響較小。子項(xiàng)費(fèi)用回歸器越簡單,聚合而成的總費(fèi)用預(yù)測框架就越穩(wěn)定。此外,隨機(jī)森林需要調(diào)試的超參數(shù)少于XGBoost,以此構(gòu)建的預(yù)測模型復(fù)雜度比XGBoost低。因此,為保證預(yù)測框架的魯棒性,本文運(yùn)用隨機(jī)森林對(duì)其它子項(xiàng)費(fèi)用進(jìn)行預(yù)測建模。
總費(fèi)用預(yù)測模型的流程如圖1所示。在對(duì)子項(xiàng)費(fèi)用建立回歸模型時(shí),采用網(wǎng)格搜索確定各個(gè)模型最佳參數(shù),隨機(jī)森林模型參數(shù)見表2。
材料費(fèi)用的XGBoost模型最大深度為3,學(xué)習(xí)率為0.01,集成樹數(shù)目為600,最小子節(jié)點(diǎn)權(quán)重為5,訓(xùn)練樣本子采樣率為0.8,特征列采樣率為0.8,L2正則化項(xiàng)為1。
2.3 特征權(quán)重分析
本文將總費(fèi)用拆分為8項(xiàng)子費(fèi)用,在分別建立費(fèi)用預(yù)測模型后,計(jì)算出每個(gè)模型不同特征的重要性,并取7個(gè)特征度最大的預(yù)測變量制圖,詳見圖2。
從圖2可知,住院天數(shù)特征對(duì)治療費(fèi)用模型、住院費(fèi)用模型、護(hù)理費(fèi)用模型、其它費(fèi)用模型以及藥品費(fèi)用模型影響較大。是否手術(shù)特征對(duì)材料費(fèi)用模型、手術(shù)費(fèi)用模型影響較大。這對(duì)后續(xù)費(fèi)用控制的研究有一定指導(dǎo)意義。
3 結(jié)束語
對(duì)冠心病住院費(fèi)用的控制能減輕患者負(fù)擔(dān),降低治療成本,提高醫(yī)療質(zhì)量,因此費(fèi)用預(yù)測具有研究意義。本文基于機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)方法,根據(jù)24維特征輸入構(gòu)建出不同回歸器,并對(duì)冠心病住院患者的分項(xiàng)費(fèi)用進(jìn)行預(yù)測,確定了結(jié)合隨機(jī)森林和極端梯度提升的費(fèi)用預(yù)測模型,而且通過擬合優(yōu)度和平均絕對(duì)百分比誤差度量模型的預(yù)測性能。
實(shí)驗(yàn)結(jié)果顯示,本文構(gòu)建的費(fèi)用預(yù)測模型能夠有效預(yù)測冠心病住院費(fèi)用。后續(xù)工作將采集更多的數(shù)據(jù)完善模型,進(jìn)一步優(yōu)化算法,提升預(yù)測性能,并應(yīng)用到疾病費(fèi)用預(yù)測工具當(dāng)中。
參考文獻(xiàn)
[1]唐劍, 陳武朝, 王桂榕. 疾病診斷相關(guān)分組(DRGs)研究及應(yīng)用[J].中國病案, 2014, 15(5): 36-39.
[2]楊超. 面向診斷分組的費(fèi)用預(yù)測研究和實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2017.
[3]宋振, 李長平, 崔壯, 等. 基于人工神經(jīng)網(wǎng)絡(luò)模型的膽石病參?;颊咦≡嘿M(fèi)用分析[J].中國預(yù)防醫(yī)學(xué)雜志, 2013, 14(1): 31-34.
[4]張繼. 基于數(shù)據(jù)挖掘技術(shù)的婦科腫瘤病人住院費(fèi)用研究[D]. 鄭州:鄭州大學(xué), 2011.
[5]趙璇. 基于數(shù)據(jù)挖掘技術(shù)的冠心病費(fèi)用研究[D]. 北京:北京中醫(yī)藥大學(xué), 2018.
[6]郭偉文, 梅文華, 郭文燕. 應(yīng)用灰色GM(1,1)模型預(yù)測醫(yī)院住院量和住院費(fèi)用[J].中國病案, 2018, 19(11): 62-66.
[7]李汝慶. 基于數(shù)據(jù)挖掘技術(shù)對(duì)精神科病人住院天數(shù)的預(yù)測[J].電子世界, 2015 (17): 143-145.
[8]梁杰, 陳嘉豪, 張雪芹, 等. 基于獨(dú)熱編碼和卷積神經(jīng)網(wǎng)絡(luò)的異常檢測[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 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]王鵬新,齊璇,李俐,等.基于隨機(jī)森林回歸的玉米單產(chǎn)估測[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),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的油價(jià)預(yù)測研究[J]. 工業(yè)技術(shù)經(jīng)濟(jì), 2018, 37(7): 31-37.