彭俊 張肖建 徐超 謝勇 項薇,2 何達(dá)
隨著我國經(jīng)濟(jì)水平的快速增長、人口的增加、健康服務(wù)質(zhì)量標(biāo)準(zhǔn)的提高,人民對醫(yī)療環(huán)境、醫(yī)療服務(wù)、醫(yī)療質(zhì)量的期望值越來越高,從而為醫(yī)院的運(yùn)作帶來越來越大的壓力[1],并促使管理者更加注重醫(yī)院的運(yùn)作管理,優(yōu)化醫(yī)院的運(yùn)作流程和資源配置,而門診需求預(yù)測是優(yōu)化醫(yī)院運(yùn)作管理和資源配置的前提。
門診是醫(yī)院機(jī)構(gòu)優(yōu)化管理的一個重要部門,預(yù)測日門診量可以為門診管理決策提供前提條件,做好門診資源的統(tǒng)籌和安排,從而提高醫(yī)療機(jī)構(gòu)管理水平。醫(yī)療機(jī)構(gòu)日門診量的預(yù)測屬于中短期預(yù)測,現(xiàn)有研究根據(jù)模型和方法可分為兩類:基于時間序列的傳統(tǒng)預(yù)測模型[2-5]和基于機(jī)器學(xué)習(xí)算法的預(yù)測模型[6-8]。前者通常只考慮自身歷史時間序列數(shù)據(jù)對未來值的影響,如經(jīng)典自回歸移動平均模型(autoregressive integrated moving average model, ARIMA),具有短期預(yù)測精度較高、中長期預(yù)測效果較差的特點(diǎn),并且該模型只考慮數(shù)據(jù)本身對未來的影響,并沒有考慮數(shù)據(jù)外的影響因素?;跈C(jī)器學(xué)習(xí)算法除了考慮到自身歷史數(shù)據(jù)的影響,還考慮了與問題相關(guān)聯(lián)的天氣、空氣指數(shù)等其他外部數(shù)據(jù)。典型的機(jī)器學(xué)習(xí)方法有人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)、支持向量機(jī)(support vector machine,SVM)、邏輯回歸、決策樹、鄰近算法(k-nearestneighbor,KNN)和集成學(xué)習(xí),其中ANN在醫(yī)療領(lǐng)域的預(yù)測中應(yīng)用較多,該算法在包含非線性成分的復(fù)雜數(shù)據(jù)上具有更強(qiáng)的表達(dá)能力。
上述研究大多是基于時間序列數(shù)據(jù)進(jìn)行建模,在機(jī)器學(xué)習(xí)算法中還有一類典型的分類算法為決策樹算法,具有防止過擬合、泛化能力較強(qiáng)等優(yōu)點(diǎn),已被廣泛用于預(yù)測問題中。為了提高決策樹預(yù)測的穩(wěn)定性,進(jìn)一步引入了集成學(xué)習(xí)思想,目前比較流行的集成決策樹算法有梯度提升決策樹(gradient boosting decision tree, GBDT)和隨機(jī)森林(random forest, RF)等。2018年Qiao等[9]將集成決策樹模型應(yīng)用于急診室就診情況(是否就診)的預(yù)測,結(jié)果表明該方法取得較好的預(yù)測效果,但此研究僅對就診情況進(jìn)行分類預(yù)測,并沒有進(jìn)行就診人數(shù)的預(yù)測。集成決策樹算法在其他預(yù)測領(lǐng)域進(jìn)行回歸預(yù)測的應(yīng)用較多,比如電力負(fù)荷預(yù)測[10]、交通流的預(yù)測[11-13],這類研究都取得較好的預(yù)測效果。
為了提高醫(yī)院日門診人數(shù)預(yù)測精度,本文擬引入機(jī)器學(xué)習(xí)算法GBDT和RF,同時引入外部環(huán)境數(shù)據(jù),并且挖掘出時間、天氣、假期等新的特征,將其應(yīng)用到寧波市某婦幼保健院日門診量的預(yù)測中,建立多特征集成決策樹的預(yù)測模型,為醫(yī)療需求預(yù)測提供新的建模思路。
RF[12]是利用Bagging集成學(xué)習(xí)方法的典型算法,是用Bagging的思想建立一個決策樹森林。將每一棵決策樹得到的預(yù)測值進(jìn)行算術(shù)平均作為最終預(yù)測結(jié)果,以提高預(yù)測結(jié)果的準(zhǔn)確性和穩(wěn)定性。具體算法流程如下。
假設(shè)輸入樣本集D={(x1,y1),(x2,y2),…,(xm,ym)},其中xi表示特征,yi表示標(biāo)簽值。
決策樹迭代次數(shù)為T,輸出為最終隨機(jī)森林模型f(x)。
(1)對于t=1,2,…,T,訓(xùn)練集進(jìn)行t次隨機(jī)采樣,共采集m次,得到包含m個樣本的采樣集Dt。
用采樣集Dt訓(xùn)練第t個決策樹Gt(x),在訓(xùn)練決策樹模型的節(jié)點(diǎn)時,在節(jié)點(diǎn)上所有特征選擇nsub個特征,在這些隨機(jī)選擇的部分特征中選擇一個最優(yōu)特征來分割決策樹。這樣一共得到T棵決策樹。
(2)對于回歸算法,將T棵決策樹得到的回歸結(jié)果進(jìn)行算術(shù)平均,所得到的結(jié)果為最終模型輸出:
(1)
GBDT是在2001年由Friedman等[14]提出的一種基于Boosting方法的集成決策樹算法,該算法的基本思路是根據(jù)損失函數(shù)的負(fù)梯度在當(dāng)前模型下的值作為下一次訓(xùn)練的目標(biāo),從而模型的輸出結(jié)果將沿著損失函數(shù)減小的方向移動,這樣通過迭代不斷提高預(yù)測準(zhǔn)確性。算法中的損失函數(shù)有很多選擇,常見的有平方損失函數(shù)、指數(shù)損失函數(shù)等。具體的算法流程[15]如下。
(1)假設(shè)輸入的訓(xùn)練樣本集T={(x1,y1),(x2,y2),…,(xN,yN)},損失函數(shù)為L[y,f(x)],輸出回歸樹為F(x)。
(3)對于m=1,2,…,M(M為迭代次數(shù),即決策樹的棵樹)按以下3步循環(huán)。
① 對于i=1,2,…,N,計算rmi,即:
(2)
式中:rmi是損失函數(shù)的負(fù)梯度在當(dāng)前模型的值將它作為殘差估計;N為樣本數(shù)。
② 對于{(x1,rm1),…,(xN,rmN)}擬合一顆決策回歸樹,得到Tm(x)。
③ 更新fm(x)=fm-1(x)+Tm(x)。
得到最終回歸樹為:
(3)
其中,損失函數(shù)采用的是平方損失函數(shù),當(dāng)L[y,f(x)]=[y-f(x)]2時,r=y-fm-1(x)。此時,損失函數(shù)負(fù)梯度方向的值是當(dāng)前模型的殘差,之后的每一棵樹只需要擬合當(dāng)前模型的殘差即可。
選擇寧波某婦幼保健院日產(chǎn)前檢查訪問量數(shù)據(jù)進(jìn)行應(yīng)用。數(shù)據(jù)選取2016年1月4日至2018年3月30日產(chǎn)前檢查科每日就診人數(shù),該數(shù)據(jù)來源于寧波市某婦幼保健的信息系統(tǒng)。訓(xùn)練數(shù)據(jù)為2016年1月4日至2018年2月28日共537條數(shù)據(jù),預(yù)測數(shù)據(jù)為2018年3月1至2018年3月30日共22條數(shù)據(jù),并用訓(xùn)練數(shù)據(jù)分別擬合ARIMA(1,0,1)模型、RF模型以及GBDT模型。
由于在集成決策樹預(yù)測模型中不同的特征對預(yù)測結(jié)果產(chǎn)生的影響不同,為了提高模型的預(yù)測精度同時降低模型的計算復(fù)雜性,需要選擇與目標(biāo)變量最為相關(guān)的特征。根據(jù)婦幼保健院門診數(shù)據(jù)的特征和每日就診人數(shù)的歷史數(shù)據(jù),通過分析選取以下屬性作為模型的特征。
2.2.1 前n天的門診人數(shù)
日產(chǎn)前檢查人數(shù)是一個時間序列模式,且具有自相關(guān)性,所以下一天的就診人數(shù)必然會與當(dāng)天或者前n天的就診人數(shù)有關(guān)。根據(jù)上文擬合的ARIMA模型可知,取n=1,即前一天產(chǎn)前檢查人數(shù)作為一個特征。
2.2.2 時間特征
由于該問題是一個時間序列回歸,必然與時間相關(guān),需要在時間上做一些特征,參考文獻(xiàn)中所提到的方式,構(gòu)造時間特征“day”“year”“month”。這些特征都可以通過Python中的時間函數(shù)將每天的時間特征分離出來。時間特征描述見表1。
表1 時間特征描述
2.2.3 節(jié)假日特征
由于該婦幼保健院屬于事業(yè)單位,根據(jù)國家規(guī)定節(jié)假日放假,節(jié)假日醫(yī)院不接診。根據(jù)搜集的數(shù)據(jù)特點(diǎn)來看,周末的就診人數(shù)都為0,并且每次婦幼保健院放假后門診訪問人數(shù)根據(jù)假后天數(shù)的增加而增加,直到下一次節(jié)假日后呈現(xiàn)同樣的規(guī)律。根據(jù)這個規(guī)律構(gòu)造一條節(jié)假日特征“holiday”,該特征表示當(dāng)天為放假后的第幾天。
2.2.4 天氣特征
經(jīng)過對數(shù)據(jù)分析研究發(fā)現(xiàn),由于研究對象是婦幼保健院門診人數(shù)而不是急診,服務(wù)的對象大多數(shù)是孕婦,所以天氣也是一個重要的影響因素,它會影響到她們是否去醫(yī)院檢查。根據(jù)中國氣象網(wǎng)。統(tǒng)計2016年1月至2018年2月醫(yī)院接診日里,有278 d晴天,217 d小雨,33 d中雨,9 d大雨。此外,考慮到當(dāng)天的空氣質(zhì)量對人們出行的影響,將PM2.5值也作為一個特征,根據(jù)PM2.5值,將空氣質(zhì)量劃分為“優(yōu)”“良”“輕度污染”“中度污染”。同時將每天的平均氣溫、平均風(fēng)速也作為天氣特征放入其中。
選取門診數(shù)據(jù)的前一天的訪問量“前一天人數(shù)”,構(gòu)造的時間特征“星期幾”“年份”“月份”,假期特征“假后第幾天”,天氣特征“天氣”“平均溫度”“平均風(fēng)速”“PM2.5”等一共9個因素作為特征,其中“前一天人數(shù)”“平均溫度”“平均風(fēng)速”“PM2.5”以“數(shù)值”屬性輸入,“星期幾”“年份”“月份”“假后第幾天”“天氣”以“類別”屬性輸入。將“產(chǎn)前檢查人數(shù)”作為目標(biāo)變量。經(jīng)過預(yù)處理后的樣本數(shù)據(jù)如表2所示。
表2 多特征產(chǎn)前檢查樣本數(shù)據(jù)
2.4.1 RF模型特征重要性評估
在建立RF模型的同時,還可以根據(jù)袋外數(shù)據(jù)(out of bag,OOB)即自助法抽樣時未被抽取的樣本,N次自助抽樣會產(chǎn)生N個OOB數(shù)據(jù)集)誤差估計來評價模型特征的重要度。RF模型中各個特征的重要性如圖1所示。從圖中可以看出“t-1”“meantempi”“holidays”“PM2.5”4個特征得分較高。
圖1 RF模型特征重要性得分
2.4.2 GBDT模型特征重要性評估
GBDT模型中通過迭代生成多棵決策樹,特征j在模型中的全局重要性是通過它在所有決策樹的平方誤差減少量的平均值來衡量。圖2表示各個特征的重要性得分。從圖2可以看出“t-1”“meantempi”“holidays”“PM2.5”這4個特征最為重要。
圖2 GBDT模型特征重要性得分
以下指標(biāo)作為模型預(yù)測效果的評價標(biāo)準(zhǔn)。
(1)均方根誤差(root mean square error, RMSE):RMSE是通過若干個預(yù)測值對預(yù)測效果進(jìn)行綜合評價,其計算公式為:
(4)
RMSE越小,模型的預(yù)測精度越高。
(2)百分比誤差(percentage error, PE):PE是對單個預(yù)測值進(jìn)行預(yù)測精度的評價,其計算公式為:
(5)
(3)平均絕對百分比誤差(mean absolute percentage error, MAPE):MAPE是通過若干個預(yù)測值對預(yù)測的PE進(jìn)行綜合評價,其計算公式為:
(6)
目前基于時間序列數(shù)據(jù)的ARIMA預(yù)測模型已經(jīng)成功應(yīng)用于醫(yī)療機(jī)構(gòu)門診人數(shù)的預(yù)測中。為了分析本文模型的預(yù)測效果,將本文的多特征集成決策樹RF模型、GBDT模型以及ARIMA模型的預(yù)測結(jié)果進(jìn)行比較。其中ARIMA模型采用MATLAB2014b實(shí)現(xiàn),基于多特征集成決策樹的預(yù)測模型采用Python3.5和sklearn模塊實(shí)現(xiàn),模型中主要涉及的幾個重要參數(shù)取值見表3。
表3 各參數(shù)的GBDT和RF
通過參數(shù)的確定,保證GBDT模型預(yù)測精度盡可能達(dá)到最大化,將其應(yīng)用到寧波婦幼保健院未來一個月每日產(chǎn)前檢查人數(shù)和就診人數(shù)。將訓(xùn)練集數(shù)據(jù)用10折交叉驗(yàn)證法[16]進(jìn)行訓(xùn)練,訓(xùn)練后的擬合效果用RMSE評價,訓(xùn)練集和測試集RMSE值如表4所示。從表4中可以看出,兩個模型測試集和訓(xùn)練集的MSE值相近,并且測試集的RMSE值大于訓(xùn)練集,說明模型沒有過擬合,模型可靠。3種模型的預(yù)測結(jié)果如圖3所示。由圖3可以看出,GBDT和RF模型的預(yù)測趨勢比ARIMA模型更加接近實(shí)際值的趨勢。同時,本文計算3種模型預(yù)測結(jié)果的MAPE、PEmax、PEmin、PEσ,并且進(jìn)行比較以評價3種模型的預(yù)測效果,結(jié)果如表5所示。結(jié)合表5和圖3可得到如下結(jié)果。
表4 GBDT與RF模型訓(xùn)練集與測試集RMSE比較
表5 模型預(yù)測效果比較
(1)對于兩種集成決策樹算法的應(yīng)用層面,GBDT算法和RF算法的平均百分比誤差分別為14.95%和17.16%,預(yù)測誤差均在87%左右,均滿足該婦幼保健院的日產(chǎn)前檢查人數(shù)預(yù)測的應(yīng)用需求。
(2)從預(yù)測值的相對誤差和模型擬合的MSE值來看,GBDT模型的預(yù)測效果均優(yōu)于RF模型。針對預(yù)測值相對誤差的標(biāo)準(zhǔn)差來看,預(yù)測誤差的離散程度GBDT模型要小于RF模型。根據(jù)圖3可知,GBDT預(yù)測值的趨勢跟實(shí)際趨勢一致,而RF模型的實(shí)際波動情況差異較大。
圖3 2018年3月日產(chǎn)前檢查人數(shù)預(yù)測結(jié)果
(3)與單數(shù)據(jù)時間序列模型ARIMA模型相比,針對該婦保院日門診預(yù)測問題,兩種多特征集成決策樹模型的各項評價指標(biāo)均優(yōu)于傳統(tǒng)的ARIMA模型。
本文主要為解決醫(yī)療需求預(yù)測問題提供建模思路。首先分析與目標(biāo)變量相關(guān)的外部因子,然后分析其相關(guān)性,形成多渠道數(shù)據(jù)集,建立多渠道數(shù)據(jù)預(yù)測模型。并將兩種典型的集成決策樹算法GBDT和RF模型,應(yīng)用到寧波某婦幼保健院日產(chǎn)前檢查人數(shù)的預(yù)測中,根據(jù)樣本數(shù)據(jù)特征以及相關(guān)因素選擇出歷史數(shù)據(jù)、時間、節(jié)假日、天氣四個方面的特征擬合模型,用以預(yù)測未來一個月每日檢查人數(shù)。最后比較兩種多特征集成決策樹模型的預(yù)測結(jié)果,其預(yù)測結(jié)果具有實(shí)際參考意義。同時本文使用不同的指標(biāo)將多特征模型與傳統(tǒng)的時間序列ARIMA模型進(jìn)行對比,結(jié)果顯示,兩種多特征集成決策樹模型的預(yù)測效果均高于傳統(tǒng)的ARIMA模型。本研究對優(yōu)化醫(yī)療資源配置和管理決策具有積極的意義。