李金林, 趙秀林,2, 張素威, 張增博, 朱鏡蓉
(1.北京理工大學(xué) 管理與經(jīng)濟學(xué)院,北京 100081; 2.聯(lián)通在線信息科技有限公司,北京 100032;3.南京大學(xué) 計算機科學(xué)與技術(shù)系,江蘇,南京 210023)
“健康中國”是我國正在大力實施的一個重要戰(zhàn)略. 醫(yī)療服務(wù)與人民健康緊密相連,關(guān)乎全民福祉,一直受到國家的高度重視[1]. 本文針對患者發(fā)生非計劃再入院的風(fēng)險預(yù)測進行研究.
非計劃再入院是指在醫(yī)療機構(gòu)計劃外,患者在出院后的一段時間內(nèi),如30, 60,90 d等,由于相同或者相關(guān)病因發(fā)生的再次入院[2]. 非計劃再入院會給患者生活帶來巨大困擾. 同時,世界各地的醫(yī)療機構(gòu)每年都會因非計劃再入院產(chǎn)生大量醫(yī)療費用[3-4],造成醫(yī)療資源浪費. 然而,已有的研究表明,大多數(shù)非計劃再入院是可以通過醫(yī)療干預(yù)得以緩和甚至避免的[5-6],包括合適的治療方案,適當延長住院時間等[2-7]. 目前,再入院率已被多國政府列為評價醫(yī)療機構(gòu)服務(wù)質(zhì)量的一個重要指標. 美國國會將“減少再入院計劃”列入醫(yī)療法案,而且自該計劃啟動以來,醫(yī)療保險和醫(yī)療補助服務(wù)中心(CMS)觀察到再入院率有明顯下降[3]. 我國于2011年出臺的《三級綜合醫(yī)院醫(yī)療質(zhì)量管理與控制指標》,共包括7類指標,其中,重返類指標被列為其中的一類[8]. 利用風(fēng)險預(yù)測模型,醫(yī)療機構(gòu)能夠根據(jù)患者的醫(yī)療數(shù)據(jù)對患者的非計劃再入院風(fēng)險進行提前評估,進而采取合理的干預(yù)措施,提升醫(yī)療質(zhì)量,改善患者健康質(zhì)量,降低非計劃再入院率[9].
再入院風(fēng)險預(yù)測的傳統(tǒng)模型是以LACE指數(shù)和Rothman指數(shù)為基礎(chǔ)的[10],這兩類指數(shù)均是借助實踐經(jīng)驗被人工定義的,因此模型的表現(xiàn)取決于經(jīng)驗總結(jié)是否準確. 而近年來興起的基于機器學(xué)習(xí)的風(fēng)險預(yù)測模型,能夠不依賴實踐知識從數(shù)據(jù)中學(xué)習(xí)出合適的策略,所以基于機器學(xué)習(xí)的模型往往都能夠取得比傳統(tǒng)方法更好的預(yù)測效果.
針對特定疾病進行的再入院風(fēng)險預(yù)測,其分析對象包括許多常見疾病,如心腦血管類疾病、呼吸道病、流行性感冒以及腫瘤癌癥等. Agarwal[11]使用Logistic回歸、樸素貝葉斯分類以及高斯核支持向量機,對充血性心力衰竭患者的再入院風(fēng)險進行預(yù)測,發(fā)現(xiàn)Logistic回歸和樸素貝葉斯分類的預(yù)測效果較好. 而Hebert等[12]利用Logistic回歸對充血性心力衰竭、急性心肌梗死和肺炎患者的電子病歷進行研究,發(fā)現(xiàn)Logistic回歸對急性心肌梗死和肺炎病例的再入院風(fēng)險預(yù)測表現(xiàn)更好. Yu等[13]則為醫(yī)療機構(gòu)的再入院風(fēng)險預(yù)測提出了一個通用框架,利用心力衰竭、急性心肌梗塞和肺炎患者數(shù)據(jù)進行實驗驗證,發(fā)現(xiàn)相對于傳統(tǒng)的風(fēng)險預(yù)測模型,如LACE模型,該通用框架具有更高的靈活性并且能夠取得更好的預(yù)測效果. Hempstalk等[14]則基于UCI公開數(shù)據(jù)庫中的糖尿病病人再入院數(shù)據(jù)集,驗證了與現(xiàn)有技術(shù)相比,在廣泛特征集上使用機器學(xué)習(xí)方法將提高再入院風(fēng)險預(yù)測的準確性的假設(shè). 在這些已有工作中,由于數(shù)據(jù)集性質(zhì)的不同,沒有任何一種算法能夠勝任全部預(yù)測任務(wù),需要根據(jù)具體情況選擇合適的預(yù)測模型.
未針對于特定疾病的風(fēng)險預(yù)測模型同樣有許多具有代表性的研究成果. Vaithianathan等[15]基于新西蘭醫(yī)院的公開數(shù)據(jù)集,根據(jù)多元Logistic回歸分析患者的社會經(jīng)濟因素和住院指標,建立了風(fēng)險預(yù)測模型,同時得到了影響再入院風(fēng)險的關(guān)鍵因素包括年齡、性別、最后住院診斷、住院時間和先前住院費用. Futoma等[16]在同一數(shù)據(jù)集上的研究則表明,隨機森林、帶有懲罰項的Logistic回歸和深度神經(jīng)網(wǎng)絡(luò)預(yù)測效果較好. 以上研究均通過概率表征再入院風(fēng)險,而有一些研究工作則通過定義某種特定的指標來表征再入院風(fēng)險. Donze等[7]基于出院患者的管理數(shù)據(jù),使用多元Logistic回歸根建立了一種再入院風(fēng)險評分,并驗證了該評分在風(fēng)險預(yù)測中的有效性. Billings等[17]對英格蘭的醫(yī)院統(tǒng)計數(shù)據(jù)以及英格蘭的人口普查數(shù)據(jù)進行了多變量統(tǒng)計分析,定義了一種表征患者未來12個月內(nèi)再入院風(fēng)險的指數(shù),通過調(diào)節(jié)該指數(shù)的分類閾值來表示再入院的發(fā)生風(fēng)險.
總的來說,目前再入院風(fēng)險預(yù)測主要有兩種思路:一是直接將對病例分類的概率代替風(fēng)險值,通過概率來預(yù)測患者是否會再入院;二是定義一種新的風(fēng)險衡量指數(shù),通過對閾值的確定來預(yù)測患者是否會再入院. 已有研究將再入院風(fēng)險預(yù)測視作一個二分類問題,即患者在未來一段時間內(nèi)是否會發(fā)生再入院. 如果要同時預(yù)測患者發(fā)生再入院的時間和風(fēng)險,則必須修改時間限制,重新建模. 另外,已有研究均是基于國外數(shù)據(jù)集進行的,其結(jié)果對于國內(nèi)醫(yī)療領(lǐng)域的參考價值有限. 因此,本研究立足于國內(nèi)醫(yī)療數(shù)據(jù),采用機器學(xué)習(xí)方法,同時在時間和可能性兩個維度上構(gòu)建非計劃再入院風(fēng)險預(yù)測模型,使得預(yù)測更全面,實用性更強.
本研究所使用的數(shù)據(jù)來源于我國某區(qū)域衛(wèi)生信息平臺. 通過對源數(shù)據(jù)集進行脫敏、集成規(guī)約和轉(zhuǎn)換等預(yù)處理,得到研究所用數(shù)據(jù)集. 基于研究所用數(shù)據(jù)集,使用神經(jīng)網(wǎng)絡(luò)、隨機森林和支持向量機3種算法,通過調(diào)整模型參數(shù),構(gòu)建備選風(fēng)險預(yù)測模型.
本研究的源數(shù)據(jù)集包括31張數(shù)據(jù)表,包括患者信息數(shù)據(jù)、醫(yī)療機構(gòu)醫(yī)囑費用數(shù)據(jù)、電子病歷、住院病案數(shù)據(jù)、手術(shù)明細報告等. 由于醫(yī)療數(shù)據(jù)包含患者大量的個人信息數(shù)據(jù),如患者身份證號、姓名和聯(lián)系方式等,對數(shù)據(jù)進行了脫敏處理.
經(jīng)過對研究相關(guān)的11張數(shù)據(jù)表進行數(shù)據(jù)整合、清理、歸約、數(shù)據(jù)離散化和規(guī)范化等預(yù)處理后,最終的數(shù)據(jù)集共有10 262條病例記錄,每條記錄包含性別、年齡、入院季度、血型等36項患者屬性. 其中屬于多次非計劃再入院的記錄有7 168例,占比69.8%,屬于單次再入院的記錄占比30.2%,有3 094例. 進一步將病例樣本按照患者下次入院和上次出院的時間間隔分為4類,并進行重新編碼. 住院時間間隔對應(yīng)的編碼及其數(shù)量如表1所示.
表1 住院時間間隔對應(yīng)的編碼及其統(tǒng)計信息
Tab.1 Encoding rules and statistics of hospital admission time interval
住院時間間隔/d編碼樣本數(shù)量/例百分比/%0~3011 75317.131~6021 57315.361~9038077.9≥9146 12959.7
將入院時間間隔編碼作為數(shù)據(jù)樣本的類別標記進行非計劃再入院風(fēng)險預(yù)測模型訓(xùn)練和測試.
典型的神經(jīng)網(wǎng)絡(luò)包含一個輸入層、一個輸出層以及一個或多個的隱含層[18]. 本研究采用經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)構(gòu)建風(fēng)險預(yù)測模型. BP神經(jīng)網(wǎng)絡(luò)采用經(jīng)典的誤差逆?zhèn)鞑ニ惴ǎ碆P算法,求解神經(jīng)網(wǎng)絡(luò)模型參數(shù)[19]. BP神經(jīng)網(wǎng)絡(luò)求解的主要過程如下.
① 在輸入層輸入一組數(shù)據(jù),即本研究選定的參與預(yù)測的屬性值.
X={X1,X2,…,Xn},
(1)
② 將輸入數(shù)據(jù)按照網(wǎng)絡(luò)神經(jīng)元的連接關(guān)系,進行前向傳播.
即上一網(wǎng)絡(luò)層的輸出(y)可以作為下一網(wǎng)絡(luò)層的輸入(x). 神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)由輸入層向輸出層方向傳遞的過程稱為前向傳播. 前向傳播的過程可表示為
(2)
式中:hl+1是第l+1層的輸出狀態(tài)向量;h1即為輸入層的數(shù)據(jù)x,wi為該層第i個神經(jīng)元輸入的權(quán)重向量. 因此,對于一個m層神經(jīng)網(wǎng)絡(luò),其最終的輸出可表示為
(3)
③ 計算輸出層輸出值與實際值的誤差.
假設(shè)輸出層的實際值為y′,則可以計算輸出值與實際值之間的均方誤差為
(4)
對應(yīng)到本研究的預(yù)測問題,y′即為輸入數(shù)據(jù)對應(yīng)的實際風(fēng)險等級.
④ 按照網(wǎng)絡(luò)結(jié)構(gòu)將輸出層處的誤差進行逆?zhèn)鞑?,并得到參?shù)的更新規(guī)則.
BP算法是基于梯度下降策略,以負梯度方向作為參數(shù)調(diào)整的方向[20]. 考慮到誤差是從輸出層向輸入層的逆向傳播,在使用Sigmoid函數(shù)作為神經(jīng)元激活函數(shù)時,參數(shù)W的更新公式為[21]
(5)
式(5)包含的運算均為向量運算. 其中,m為網(wǎng)絡(luò)層數(shù),α為訓(xùn)練學(xué)習(xí)率,λ是權(quán)重衰減項. ΔW為權(quán)重向量的梯度,
ΔWl=hlδl+1,
(6)
(7)
⑤ 持續(xù)迭代直到滿足終止條件. 可以設(shè)置迭代最大次數(shù),也可以設(shè)置梯度的最小變化閾值來結(jié)束迭代. 迭代結(jié)束時,就得到了最優(yōu)模型參數(shù),模型訓(xùn)練完成.
神經(jīng)網(wǎng)絡(luò)模型的實際應(yīng)用十分便捷. 在完成網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計后,將選定的患者數(shù)據(jù)屬性對應(yīng)地輸入到輸入層神經(jīng)元中,并將患者數(shù)據(jù)對應(yīng)的風(fēng)險等級作為預(yù)測類別. 訓(xùn)練開始后,算法將自動求解網(wǎng)絡(luò)中各個神經(jīng)元處的參數(shù)值. 所以,神經(jīng)網(wǎng)絡(luò)模型只需人工選定網(wǎng)絡(luò)結(jié)構(gòu)、輸入變量和目標輸出,不需要對輸入或輸出進行額外的設(shè)計和處理.
本節(jié)中的神經(jīng)網(wǎng)絡(luò)風(fēng)險預(yù)測模型的輸入變量包括性別、患者年齡、婚姻狀況、卡類型、血型、RH、入院季度、出院季度、入院科室編碼、疾病大類、實際住院天數(shù)、住院時間間隔、醫(yī)療付費方式、住院醫(yī)師數(shù)量、累計住院次數(shù)、住院病案費用共16項屬性. 輸出變量為1(0~30 d內(nèi))、2(31~60 d內(nèi))、3(61~90 d內(nèi))、4(91 d以上),4個風(fēng)險等級. 因此,神經(jīng)網(wǎng)絡(luò)模型的輸入層包括16個神經(jīng)元,輸出層包括4個神經(jīng)元. 通過設(shè)置不同的神經(jīng)網(wǎng)絡(luò)隱含層的層數(shù)和神經(jīng)元數(shù),可以得到不同的神經(jīng)網(wǎng)絡(luò)模型.
為了得到基于本研究數(shù)據(jù)集預(yù)測效果最好的神經(jīng)網(wǎng)絡(luò)模型,首先對神經(jīng)網(wǎng)絡(luò)隱含層的神經(jīng)元數(shù)進行一定的調(diào)整,獲得不同的網(wǎng)絡(luò)結(jié)構(gòu),然后從中選取預(yù)測效果相對較好的網(wǎng)絡(luò)結(jié)構(gòu)作為本節(jié)的風(fēng)險預(yù)測模型. 在此對網(wǎng)絡(luò)結(jié)構(gòu)的詳細信息進行列舉,如表2所示. 本次列舉了3種網(wǎng)絡(luò)結(jié)構(gòu),包括2層隱含層-每層10個神經(jīng)元的結(jié)構(gòu)、2層隱含層-每層20個神經(jīng)元的結(jié)構(gòu)和2層隱含層-每層30個神經(jīng)元的結(jié)構(gòu). 以上網(wǎng)絡(luò)結(jié)構(gòu)僅在隱含層數(shù)和神經(jīng)元數(shù)進行了調(diào)整,保留了相同的輸入、輸出層,且在各層神經(jīng)元間采用了全連接.
表2 神經(jīng)網(wǎng)絡(luò)模型詳細信息Tab.2 Details of neural network models
隨機森林(random forest,RF)是一種集成學(xué)習(xí)模型. 集成學(xué)習(xí)模型是指將多個基學(xué)習(xí)模型通過某種策略結(jié)合起來,作為一個整體來訓(xùn)練和使用. 隨機森林的基學(xué)習(xí)模型是決策樹模型. 決策樹模型能夠從樣本數(shù)據(jù)中學(xué)得一個樹形結(jié)構(gòu)[21]. 樹的葉子結(jié)點表示最終決策,即輸入數(shù)據(jù)的預(yù)測類別,對應(yīng)樣本的非計劃再入院風(fēng)險等級. 樹的根結(jié)點和中間結(jié)點都具有判斷和劃分功能,能夠根據(jù)結(jié)點處的條件將流經(jīng)結(jié)點的數(shù)據(jù)劃分出子集并向后傳遞,這些結(jié)點也和離散化處理后的屬性建立了對應(yīng)關(guān)系. 決策樹在工作時,從根節(jié)點開始根據(jù)每個節(jié)點處劃分屬性的取值對當前數(shù)據(jù)進行劃分,每個取值對應(yīng)一個數(shù)據(jù)子集. 為保證樹結(jié)構(gòu)每增加一層都對決策樹建立有利,需要從數(shù)據(jù)的所有屬性中選擇最合適的劃分屬性,即能最大限度降低數(shù)據(jù)集混亂度的屬性. 為此,定義了信息增益、信息增益率、基尼指數(shù)等衡量標準. 選定節(jié)點劃分屬性的過程,就是決策樹建立的過程. 所以決策樹模型學(xué)習(xí)的關(guān)鍵在于找到符合要求的劃分條件,包括根據(jù)什么屬性劃分和如何劃分[22].
在決策樹模型的發(fā)展過程中,研究者提出了多種決策樹模型. 如ID3、C4.5、CART、CHAID和QUEST等. 這些模型的思路與基本模型大致相同,通常只是在最優(yōu)劃分屬性選擇的標準上做了改動. 如ID3使用信息增益;C4.5使用信息增益率;CART使用基尼指數(shù);CHAID和QUEST算法則采用卡方檢驗選擇最優(yōu)屬性. 這些衍生模型各有千秋,其擅長數(shù)據(jù)集的特征各異. 在使用時應(yīng)根據(jù)數(shù)據(jù)集的實際情況選擇合適的衍生模型.
隨機森林是將多個決策樹模型集成起來,共同訓(xùn)練和使用. 隨機森林模型就是基于Bagging[23]策略的集成學(xué)習(xí)模型. Bagging方法則是將多個學(xué)習(xí)器并行訓(xùn)練. 對同一個樣本數(shù)據(jù)集重復(fù)采樣多次,得到多個采樣集,然后在各個采樣集上分別訓(xùn)練一個決策樹模型,最后將每個學(xué)習(xí)器對測試樣本的預(yù)測結(jié)果匯總. 另一種集成策略是Boosting[24]方法.
本節(jié)的隨機森林風(fēng)險預(yù)測模型的輸入變量包括入院季度、出院季度、入院科室編碼、疾病大類、實際住院天數(shù)、住院時間間隔、住院醫(yī)師數(shù)量、累計住院次數(shù)、住院病案費用共9個變量. 輸出變量為1、2、3、4等4個風(fēng)險等級. 由于在構(gòu)造隨機森林模型的過程中需要不斷選擇中間判斷結(jié)點,因此,為模型輸入太多變量可能會干擾模型的訓(xùn)練,不利于最后的預(yù)測. 此外,由于決策樹深度的限制,模型大部分的輸入變量并沒有機會被用于最終預(yù)測. 所以,與其他預(yù)測模型相比,隨機森林模型的輸入變量相對較少.
隨機森林模型的區(qū)別主要在于構(gòu)成森林的決策樹類型以及決策樹的數(shù)量. 在此對隨機森林模型的詳細信息進行展示,如表3所示. 決策樹共采用了CART和CHAID兩類,模型的決策樹數(shù)量有10、20、40棵三類.
表3 隨機森林模型詳細信息Tab.3 Details of random forest models
支持向量機(support vector machine,SVM)是Vapnik等[25]于1995年首次提出的,模型的基本思想是從數(shù)據(jù)中學(xué)習(xí)得出一個能將樣本空間劃分為若干部分的超平面. 在本文的研究場景中,所有的樣本屬性構(gòu)成一個高維樣本空間,假設(shè)需要尋找的劃分超平面可以用一個線性方程表示為
wTx+b=0,
(8)
在超平面兩側(cè)分別假設(shè)一個“支持向量”,使得
(9)
兩支持向量與超平面的距離之和為
γ=2/‖w‖.
(10)
γ稱為支持向量的間隔. 間隔越大,說明超平面的分類效果越好. 所以,從間隔入手就可以建立一個優(yōu)化模型,該模型可以用拉格朗日乘子法和SMO算法配合求解[26]. 原始的支持向量機模型僅能解決二分類任務(wù),而本研究中的風(fēng)險等級共有4種,故需要對支持向量機進行多分類的拓展. 支持向量機的多分類拓展主要有兩種思路[27]:“一對多”和“一對一”.
以本研究應(yīng)用場景為例. “一對多”思路是指選定一種類別作為正例,其余類別作為反例,按照這種劃分方式進行多次訓(xùn)練. 如將風(fēng)險等級為1的樣本作為類別正例,風(fēng)險等級為2、3、4的作為反例,訓(xùn)練得到一個支持向量機模型. 依次選擇不同的類別作為正例,分別訓(xùn)練可以得到4個支持向量機模型. 取4個模型計算值中的最大值作為測試樣本的預(yù)測結(jié)果. “一對一”思路則是將4種類別的數(shù)據(jù)樣本進行兩兩組合作為正反例訓(xùn)練,可以得到6個支持向量機模型,測試樣本的預(yù)測結(jié)果由6個支持向量機模型采用投票法決定. 本研究中采用“一對多”策略構(gòu)建的多分類支持向量機模型.
上述方法與推導(dǎo)都建立在樣本空間線性可分的的前提下,即存在一個超平面能夠?qū)颖究臻g劃分開來. 若樣本空間線性不可分,考慮將原樣本空間投影到更高維空間中去,然后在高維空間中尋找超平面. 在投影過程中需要大規(guī)模計算,利用核方法[21]可以降低計算量.
核方法使用的將原有樣本空間投影到更高維空間的函數(shù)稱為核函數(shù)[28]. 常用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)和Sigmoid核函數(shù)等. 這些核函數(shù)有各自對應(yīng)適用的樣本空間類型. 核函數(shù)的選擇已經(jīng)成為影響支持向量機模型性能的最重要的因素之一,因為在實際應(yīng)用中,簡單的線性可分的樣本空間幾乎不存在. 采用不同的核函數(shù)就得到不同的支持向量機模型.
采用核方法的支持向量機模型善于解決非線性問題,尤其是高維非線性問題. 本研究涉及的數(shù)據(jù)集維度較高,適合采用帶核方法的支持向量機模型進行處理. 本節(jié)支持向量機風(fēng)險預(yù)測模型的輸入變量包括性別、患者年齡、婚姻狀況、卡類型、血型、RH、入院季度、出院季度、入院科室編碼、疾病大類、實際住院天數(shù)、住院時間間隔、醫(yī)療付費方式、住院醫(yī)師數(shù)量、累計住院次數(shù)、住院病案費用共16項屬性. 輸出變量為1~4等4個風(fēng)險等級. 使用常用的高斯核(RBF)、多項式核(PK)以及線性核(LK)分別構(gòu)造支持向量機模型,進而從中選取預(yù)測效果相對較好的支持向量機模型. 以上模型僅在核函數(shù)上有區(qū)分,其余設(shè)置相同.
基于上一節(jié)構(gòu)建的3大類10個預(yù)測模型,比較各模型在數(shù)據(jù)集上的預(yù)測性能以得到同一算法中預(yù)測結(jié)果相對較好的備選風(fēng)險預(yù)測模型. 最后,比較3種備選風(fēng)險預(yù)測模型的綜合性能,決定本研究最終采用的非計劃再入院風(fēng)險預(yù)測模型. 對于所有實驗,隨機選擇80%的數(shù)據(jù)集作為訓(xùn)練集,用于訓(xùn)練預(yù)測模型. 其余20%作為測試集,用于對模型性能評估. 主要評估指標是模型預(yù)測準確率.
在2.1中,調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)隱含層的神經(jīng)元個數(shù)構(gòu)建了3個備選模型,分別為2層隱含層-每層10個神經(jīng)元 (NN_10_10)、2層隱含層-每層20個神經(jīng)元 (NN_20_20)及2層隱含層-每層30個神經(jīng)元(NN_30_30). 統(tǒng)計3種模型在測試集上的預(yù)測準確率如表4所示.
表4 基于神經(jīng)網(wǎng)絡(luò)的模型預(yù)測準確率統(tǒng)計
Tab.4 Statistics of prediction accuracy of neural network-based models
由表中不難看出,N_30_30模型,即包含2層隱含層、每層有30個結(jié)點的神經(jīng)網(wǎng)絡(luò)模型的總體預(yù)測準確率最高,且其在4個子類別的預(yù)測準確率也均高于其他3個神經(jīng)網(wǎng)絡(luò)模型,分別為89.22%、89.32%、81.78%和98.01%. 就總體預(yù)測準確率和子類別準確率而言,N_30_30模型預(yù)測效果最好.
從表中分析得知,隨著網(wǎng)絡(luò)結(jié)構(gòu)隱含層結(jié)點數(shù)量的增加,即隨著網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度的不斷提升,模型的預(yù)測效果越好. 而這種性能的提升是以快速增長的訓(xùn)練時間開銷為代價的. 因此,依據(jù)數(shù)據(jù)挖掘中選用算法的標準,綜合考慮模型的預(yù)測精確度和增加網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度花費的成本與收益,在此選擇包含2層隱含層且每層有30個結(jié)點的神經(jīng)網(wǎng)絡(luò)模型作為備選風(fēng)險預(yù)測模型進入下一階段的遴選.
基于隨機森林算法的備選模型共有4個:10棵CART樹構(gòu)成的模型(RF_1),20棵CART樹構(gòu)成的模型(RF_2),20棵CHAID樹構(gòu)成的模型(RF_3),40棵CHAID樹構(gòu)成的模型(RF_4). 統(tǒng)計各模型在測試集上的預(yù)測準確率見表5.
表5 基于隨機森林的模型預(yù)測準確率統(tǒng)計
Tab.5 Statistics of prediction accuracy of random forest-based models
模型編號1234總體RF_10.00%37.70%0.00%97.91%64.26%RF_225.84%40.24%0.00%97.75%68.96%RF_340.05%39.10%15.61%92.74%69.45%RF_446.49%39.54%22.06%93.18%71.39%
由表中信息可知,4種隨機森林模型的總體預(yù)測準確率分別為64.26%(RF_1)、68.96%(RF_2)、69.45%(RF_3)、71.39%(RF_4). 其中,RF_4模型,即由40棵CHAID決策樹組成的隨機森林模型的總體預(yù)測準確率最高,且其在4個子類別的預(yù)測準確率也均高于其他3個隨機森林模型,分別為46.49%、39.54%、22.06%和93.18%. 就總體預(yù)測準確率和子類別準確率而言,RF_4模型預(yù)測效果最好.
從表中分析得知,在決策樹類別相同的前提下,模型的預(yù)測結(jié)果隨著決策樹數(shù)量的增加而提升. 此外,對于本研究所用數(shù)據(jù)集,CART決策樹的預(yù)測效果略遜于CHAID決策樹,即對于本研究所用數(shù)據(jù)集而言,更適合采用CHAID決策樹進行分類預(yù)測.
因此,綜合考慮模型的總體預(yù)測精確度和子類別預(yù)測精確度,在此選擇由40棵CHAID決策樹組成的隨機森林模型作為備選風(fēng)險預(yù)測模型進入下一階段的遴選.
在2.3中,調(diào)節(jié)支持向量機算法所采用的的核函數(shù)類型,構(gòu)造了3個基于支持向量機的預(yù)測模型,分別為使用高斯核函數(shù)的模型(SVM_RBF)、使用多項式核函數(shù)的模型(SVM_Poly)、使用線性核函數(shù)的模型(SVM_LK). 統(tǒng)計各模型在測試集上的預(yù)測準確率見表6.
表6 基于支持向量機的模型預(yù)測準確率統(tǒng)計Tab.6 Statistics of prediction accuracy of SVM-based models
由表中信息可知,3種隨機森林模型的總體預(yù)測準確率分別為95.55%(高斯核)、96.65%(多項式核)和66.82%(線性核). 其中,使用多項式核函數(shù)的支持向量機模型的總體預(yù)測準確率最高,且其在4個子類別的預(yù)測準確率也均高于其他兩個支持向量機模型,分別為93.73%、93.07%、90.21%和99.25%. 就總體預(yù)測準確率和子類別準確率而言,使用多項式核函數(shù)的支持向量機模型的預(yù)測效果最好.
從表中分析得知,在3個支持向量機模型中,使用線性核函數(shù)的模型預(yù)測效果最差,可能是由于使用線性核函數(shù)的支持向量機模型不適合處理屬性均為離散型的數(shù)據(jù)集. 綜合考慮模型的總體預(yù)測準確率和子類別預(yù)測準確率,在此選擇使用多項式核函數(shù)的支持向量機模型作為備選風(fēng)險預(yù)測模型,進入下一階段的遴選.
在前述比較過程中,選取了包含2層隱含層且每層有30個結(jié)點的神經(jīng)網(wǎng)絡(luò)模型、由40棵CHAID決策樹組成的隨機森林模型和基于多項式核函數(shù)的支持向量機模型分別作為神經(jīng)網(wǎng)絡(luò)、隨機森林和支持向量機在本研究所用數(shù)據(jù)集上的非計劃再入院風(fēng)險預(yù)測模型. 下面將進一步比較各模型的綜合性能.
使用查準率P(precision)和查全率R(recall)來綜合評價各模型的預(yù)測精度. 兩指標的計算依賴于混淆矩陣. 混淆矩陣是用來綜合評價分類預(yù)測模型性能的一種輔助矩陣[21],其元素見表7. 表中的PT為被正確分類的樣本數(shù),NF為原本屬于某一類卻被預(yù)測為其他類的樣本數(shù),PF為原本屬于其他類卻被預(yù)測為某一類的樣本數(shù),NT則為原本屬于其他類且被預(yù)測為其他類的樣本數(shù)[21].
表7 分類結(jié)果混淆矩陣Tab.7 Confusion matrix of classification result
P指標和R指標的計算方法為
(11)
(12)
另外,混淆矩陣面向的是二分類問題. 而對于多分類問題,可以將其視為由多個二分類問題組成[21]. 如本章所述的分類問題,可以將其視為由4個二分類問題組成根據(jù)混淆矩陣的定義,統(tǒng)計3個模型預(yù)測結(jié)果的混淆矩陣元素,如表8所示. 根據(jù)表中內(nèi)容,依據(jù)查準率和查全率的計算公式,對3個模型的P指標和R指標進行計算,得到的結(jié)果見表9.
表8 模型預(yù)測結(jié)果混淆矩陣元素Tab.8 Confusion matrix elements of models’ prediction
表9 模型預(yù)測結(jié)果的查全率和查準率Tab.9 Recall and precision of models’ prediction
由于模型的PF和NF值相同,因此模型計算得到的P指標值和R指標值相等. 且由表可知,對于P指標值和R指標值,SVM_poly模型的最高,N_30_30模型的次之,RF_4模型的最低. 對于預(yù)測模型而言,P指標值和R指標值越高,代表其預(yù)測性能越好. 故SVM_poly,即使用多項式核函數(shù)的支持向量機模型,是3個模型中預(yù)測效果相對最好的模型,也是本研究多個預(yù)測模型中,預(yù)測效果最好的模型,因此,選其作為本研究最終的非計劃再入院風(fēng)險預(yù)測模型.
在得到非計劃再入院風(fēng)險預(yù)測模型后,就可以在更大的數(shù)據(jù)集上訓(xùn)練出新的使用多項式核函數(shù)的支持向量機模型. 訓(xùn)練數(shù)據(jù)集越大意味著模型代表性越強,模型預(yù)測結(jié)果的可信度越高. 模型輸入為包含性別、患者年齡、婚姻狀況、卡類型、血型、RH、入院季度、出院季度、入院科室編碼、疾病大類、實際住院天數(shù)、住院時間間隔、醫(yī)療付費方式、住院醫(yī)師數(shù)量、累計住院次數(shù)、住院病案費用等16項屬性的數(shù)據(jù),輸出為預(yù)測風(fēng)險等級. 院方可以根據(jù)預(yù)測的風(fēng)險等級對高風(fēng)險病人進行識別,并對其采取針對性干擾措施,以降低患者非計劃再入院的風(fēng)險.
基于我國某區(qū)域衛(wèi)生信息平臺的醫(yī)療數(shù)據(jù),對非計劃再入院風(fēng)險預(yù)測問題進行深入研究. 針對已有工作中將非計劃再入院風(fēng)險預(yù)測問題作為二分類問題處理的不足,本文提出了多分類預(yù)測的方法,在非計劃再入院的時間和可能性兩個維度上進行預(yù)測. 在研究方法上,選取了神經(jīng)網(wǎng)絡(luò)、隨機森林和支持向量機3種機器學(xué)習(xí)算法,通過修改參數(shù)設(shè)置,構(gòu)建了10種非計劃再入院風(fēng)險預(yù)測模型. 經(jīng)過對預(yù)測結(jié)果的綜合分析,確定了本研究最終采用的風(fēng)險預(yù)測模型——使用多項式核函數(shù)的支持向量機模型. 該模型在測試數(shù)據(jù)集上達到了96.65%的預(yù)測準確率以及相對最高的查全率和查準率. 且該模型具有良好的泛化能力,能夠在相同應(yīng)用場景下的不同數(shù)據(jù)集上訓(xùn)練并進行預(yù)測,其預(yù)測結(jié)果能夠為醫(yī)療機構(gòu)的決策提供有力支持.