陳渝 任正軍
摘 要:隨著現(xiàn)代醫(yī)院信息化發(fā)展,門診量預測顯得更加重要,門診預測不僅是對醫(yī)院堆積數(shù)據(jù)潛在信息的深入挖掘,而且可為醫(yī)院管理者的醫(yī)療資源配置提供建議。針對波動和噪音較大的門診量時間序列預測問題,使用經(jīng)驗模態(tài)分解(EMD)對原始數(shù)據(jù)進行平穩(wěn)處理,在此基礎(chǔ)上建立長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)模型,并選取單一的LSTM神經(jīng)網(wǎng)絡(luò)以及支持向量回歸模型進行比較驗證。實驗結(jié)果表明,該組合模型有較好的預測精度,能為醫(yī)院管理者提供決策支持。
關(guān)鍵詞:門診量預測;EMD;LSTM;時間序列;神經(jīng)網(wǎng)絡(luò)模型
DOI:10. 11907/rjdk. 182026
中圖分類號:TP319文獻標識碼:A文章編號:1672-7800(2019)003-0133-06
0 引言
門診工作是醫(yī)院的重要工作之一,門診統(tǒng)計量反映了醫(yī)院運行狀況,是醫(yī)院經(jīng)營情況的重要指標,也為醫(yī)院管理者進行精確管理提供了重要參考。因而,對門診統(tǒng)計量進行準確、科學預測,可以提高醫(yī)院管理工作的預見性和主動性,使醫(yī)院管理者能夠合理配置醫(yī)療資源,對提高醫(yī)院的經(jīng)濟效益和診療能力有重大意義,還可在制定健康保險計劃和建立醫(yī)療報銷制度中發(fā)揮重要作用。同時,有效的門診量預測方法能夠準確地處理門診數(shù)據(jù),因此有必要建立科學的門診量預測模型,充分利用好門診數(shù)據(jù)。
醫(yī)院門診量預測分析一定程度上等同于一個時間序列分析問題。時間序列模型已經(jīng)在經(jīng)濟學、商學、工程學、自然科學以及社會科學等領(lǐng)域應用較多,并取得了豐碩成果[1]。目前,國內(nèi)外研究者運用多種方法進行時間序列問題的分析與預測,如ARIMA預測模型[2]、GM(1,1)預測模型[3]、回歸預測模型[4]、最小二乘支持向量機(LSSVM)預測模型[5]等。門診量影響因素眾多,其中包括就近就診、醫(yī)療質(zhì)量、??浦?、服務質(zhì)量、門診環(huán)境等因素[6],但這些因素都難以量化,因而過往研究者對門診量的預測研究只能考慮一種或幾種因素,沒有對門診量時間序列數(shù)據(jù)進行深度挖掘,也與深度挖掘技術(shù)在醫(yī)院研究方面應用較少有關(guān)。
近幾年大數(shù)據(jù)發(fā)展以及計算機硬件升級使得計算機的計算能力大幅提高,機器學習特別是深度學習技術(shù)得到很大發(fā)展,也推動了時間序列領(lǐng)域研究發(fā)展。如楊旭華等[7]將深度信念網(wǎng)絡(luò)用于門診量時間序列預測并取得了不錯效果。陳卓等[8]使用長短期記憶神經(jīng)網(wǎng)絡(luò)進行電力負荷預測,發(fā)現(xiàn)其比傳統(tǒng)的ARIMA模型預測更為精確。雖然深度神經(jīng)網(wǎng)絡(luò)在時間序列預測中表現(xiàn)出較高精確度和較強泛化能力,但是在高頻時間序列預測中仍然有提高的空間,比如噪聲較多的股市時間序列[9]。原因可能是采樣的時間序列數(shù)據(jù)通常包含很多噪聲并且具有高維度,深度神經(jīng)網(wǎng)絡(luò)只能挖掘不同時段相同維度上的時間序列數(shù)據(jù)信息,為了解決該問題,可以應用信號處理技術(shù)消除一些噪聲并降低維度[10]。因而本文采用經(jīng)驗模態(tài)分解法(EMD),先將時間序列數(shù)據(jù)分解成數(shù)個不同維度,再用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行深度分析并預測,同時采用單一的LSTM神經(jīng)網(wǎng)絡(luò)和支持向量回歸模型進行對比預測。實驗結(jié)果表明,基于EMD分解和LSTM神經(jīng)網(wǎng)絡(luò)的組合預測模型能提高預測精度。
1 相關(guān)技術(shù)
1.1 經(jīng)驗模態(tài)分解
經(jīng)驗模態(tài)分解(EMD)是美國華裔科學家黃鍔博士在1998年提出的一種基于瞬時頻率的信號處理方法。EMD 方法打破了傳統(tǒng)數(shù)據(jù)方法需要預先設(shè)定基函數(shù)的局限,在處理非平穩(wěn)及非線性數(shù)據(jù)上,比傳統(tǒng)平穩(wěn)化方法具有更明顯優(yōu)勢[11]。基于該優(yōu)勢,EMD方法一經(jīng)提出就在不同領(lǐng)域得到了迅速有效應用,如地球物理學[12]、生物醫(yī)學[13]、結(jié)構(gòu)分析[14]以及非平穩(wěn)時間序列分析[15]分析等。
EMD分解方法基于以下假設(shè)條件:①數(shù)據(jù)至少有兩個極值,一個最大值和一個最小值;②數(shù)據(jù)局部時域特性由極值點間的時間尺度唯一確定;③如果數(shù)據(jù)沒有極值點但有拐點,則可通過對數(shù)據(jù)微分一次或多次求得極值,然后再通過積分獲得分解結(jié)果[16]。
該方法的關(guān)鍵是,它能將非線性、非平穩(wěn)的數(shù)據(jù)序列[S(t)]分解為多個平穩(wěn)單一的序列,即本征模函數(shù)[imf(t)]和一個殘差序列[bias],所分解出來的各[imf]分量包含了原始數(shù)據(jù)不同時間尺度的局部特征。用公式表示為:
其中,每個[imf]分量必須滿足兩個條件:①在整個范圍內(nèi),函數(shù)的局部極值點和零點數(shù)目相等或者最多相差1;②任意時刻點上,局部最大值和局部最小值的包絡(luò)線均值必須為0。
經(jīng)驗模式分解過程可以形象地看作一個篩選過程。其分解過程如下:
1.2 LSTM神經(jīng)網(wǎng)絡(luò)
LSTM神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在隱藏層加入長短期記憶單元后形成的一種新的神經(jīng)網(wǎng)絡(luò)模型,它包含一組名為[Cell]的單元和門單元,該單元可以通過恒定誤差傳送帶([CEC])實現(xiàn)恒定的誤差流,從而解決梯度消失問題[17]。LSTM記憶單元結(jié)構(gòu)如圖1[18]。
LSTM神經(jīng)網(wǎng)絡(luò)比RNN具有更好的記憶能力,其門激活函數(shù)一般為[sigmoid]函數(shù),該函數(shù)值域為[(0,1)],輸入門、輸出門以及遺忘門都將與一個狀態(tài)值相乘。由于門激活函數(shù)值域在0~1之間,當門輸出為0時,其與任何狀態(tài)值相乘將得到0值,相當于舍棄掉不需要的信息;當門輸出為1時,其與任何狀態(tài)值相乘將不會有任何改變,相當于使神經(jīng)元保留全部信息。如此,LSTM根據(jù)訓練出的狀態(tài)值有選擇性地保留有用信息,從而能更準確地進行預測。
1.2.1 LSTM前向傳播算法
1.2.2 LSTM反向傳播算法
在反向傳播階段,LSTM神經(jīng)網(wǎng)絡(luò)采用的是隨時間梯度下降算法(BPTT)。訓練樣本輸入后,經(jīng)正向傳播過程在[T]時刻得到神經(jīng)網(wǎng)絡(luò)的輸出。根據(jù)輸出誤差,從[t=T]開始,逐層計算梯度。歸納起來,LSTM神經(jīng)網(wǎng)絡(luò)的BPTT算法步驟如下:
(1)前向計算每個神經(jīng)元的輸出值,以及記憶模塊中輸入門、輸出門、遺忘門和Cell的輸出值。
(2)反向計算每個神經(jīng)元的誤差項值,即從當前[t]時刻開始,計算每個時刻的誤差項,同時將誤差項向上一層傳播。誤差項[δ]值是誤差函數(shù)對神經(jīng)元[j]加權(quán)輸入的偏導數(shù)。
(3)根據(jù)相應誤差計算每個權(quán)重的梯度。
(4)用隨機梯度下降算法更新權(quán)重。
而在梯度計算部分,LSTM算法核心是計算Cell部分的梯度,它包含輸入門、輸出門和遺忘門的偏導數(shù)計算,遞推計算公式為:
1.3 支持向量回歸
支持向量機采用結(jié)構(gòu)風險最小化準則,綜合考慮樣本誤差和模型復雜度,在時間序列預測中,支持向量與反映趨勢變化的點緊密相關(guān),因而能更好地跟蹤時間序列的發(fā)展趨勢。
2 預測模型
2.1 模型原理
時間序列問題的分析與預測,基本思想都是收集歷史時序數(shù)據(jù)進行統(tǒng)計分析,通過組建模型將數(shù)據(jù)之間的規(guī)律泛化到將來的時間段內(nèi)。該預測的一個前提假設(shè)是數(shù)據(jù)平穩(wěn)性,意味著數(shù)據(jù)特征(如均值、方差和頻率)不隨時間而變化,因而可以對未來情況進行預測,但對于某些時間序列數(shù)據(jù),頻率變化與任務相關(guān),因此在頻域工作比在時域工作更有利[21]?;诖耍疚膶㈤T診量預測分成兩個部分:首先將原始序列進行EMD分解,得到包含各個時間尺度特征的基本模式分量imf,其都有很明顯的自身特征,便于進一步分析;然后用LSTM神經(jīng)網(wǎng)絡(luò)對各分量進行預測分析,各分量預測結(jié)果加總就得到最終預測結(jié)果。模型組合如圖2所示。
2.2 建模過程
在進行時間序列預測之前需要劃分數(shù)據(jù),即將原始序列[X]轉(zhuǎn)化為一系列輸入數(shù)據(jù)和輸出數(shù)據(jù)。若原始時間序列長度為N,而輸入層個數(shù)為n,那么會產(chǎn)生N-n個訓練模式。輸入數(shù)據(jù)和輸出數(shù)據(jù)如表1所示。
接下來需要將分好的輸入數(shù)據(jù)與輸出數(shù)據(jù)進一步劃分成訓練集、測試集和驗證集,訓練集和測試集用來訓練LSTM預測模型,驗證集則用來驗證模型的預測能力。一般訓練集、測試集和驗證集的劃分比例為70%、15%、15%。每月門診量數(shù)據(jù)數(shù)值較大,神經(jīng)網(wǎng)絡(luò)激活函數(shù)值域在0~1之間,因而需要先將數(shù)據(jù)進行歸一化,以提高模型收斂速度和預測準確度。
最后要確定LSTM神經(jīng)網(wǎng)絡(luò)的訓練參數(shù)。本文需要預測未來12個月的門診量數(shù)據(jù),因而輸出節(jié)點數(shù)目設(shè)置為12。此外還需定義輸入層、隱層神經(jīng)元數(shù)目,以及神經(jīng)網(wǎng)絡(luò)訓練學習率,初始化輸入門、輸出門、遺忘門的權(quán)重和偏置。
3 實驗及結(jié)果分析
3.1 數(shù)據(jù)來源及處理
實驗數(shù)據(jù)來源于某三甲醫(yī)院的門診掛號系統(tǒng),數(shù)據(jù)包含該院2000年1月到2016年12月各月門診量數(shù)據(jù),原始數(shù)據(jù)可以組成一個長度為204個月的連續(xù)時間序列,通過Matlab工具繪圖功能得出該醫(yī)院204個月門診量折線圖,如圖3所示。
從圖3中可以看出,該醫(yī)院門診量變化波動較大,序列平穩(wěn)性較差。其中,門診量最大為209 730人次,最小為38 225人次,波動非常大。在各個時間段都有多個不同波峰和波谷,且在序列中間還有一次斷崖式變化,因此該數(shù)據(jù)適合使用本文模型進行預測分析。
首先對數(shù)據(jù)進行歸一化處理,稱規(guī)格化處理,以利于神經(jīng)網(wǎng)絡(luò)對樣本的統(tǒng)一分析,獲得更高的網(wǎng)絡(luò)性能。本文采用常用的線性函數(shù)歸一化方法,歸一化公式為:
3.2 基于EMD與LSTM神經(jīng)網(wǎng)絡(luò)的門診量預測
將歸一化后的數(shù)據(jù)進行EMD分解,產(chǎn)生6個基本模式分量(見圖4)。圖4中,signal為原始時間序列,[imf1]到[imf5]為EMD分解出的固有模態(tài)函數(shù),可以看出,其波動性逐漸減弱,平穩(wěn)性逐漸增強,res為趨勢線。
將這些分量劃分數(shù)據(jù),預留最后12個數(shù)據(jù)與預測結(jié)果進行對比。然后將訓練集和測試集加入到LSTM神經(jīng)網(wǎng)絡(luò)訓練中。為了準確預測未來12個月的序列情況,各分量在訓練時會采用不同輸入節(jié)點數(shù)目和隱層節(jié)點數(shù)目。人工神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元數(shù)的確定方法有經(jīng)驗公式法、反復試驗法、增長法、刪減法和遺傳算法。本文將經(jīng)驗公式法與反復試驗法結(jié)合,使用經(jīng)驗公式法確定隱層神經(jīng)元數(shù)目范圍,再通過反復試驗比較結(jié)果的準確性,將準確性最高的節(jié)點數(shù)目作為隱層節(jié)點數(shù)目。本文采用的經(jīng)驗公式為:
模型初始權(quán)重和偏置使用[-1,1]之間的隨機數(shù),迭代次數(shù)設(shè)置為500,每次迭代調(diào)整比例設(shè)置為0.01,模型使用均方誤差(RMSE)作為損失函數(shù),當損失函數(shù)的值小于0.25時停止迭代。
為檢驗各分量以及最終預測結(jié)果,本文引入均方根誤差(RMSE)對預測效果進行評價。它是預測值和真實值偏差的平方與預測檢驗個數(shù)[n]比值的平方根,對一組測量中的特大或特小誤差反應非常敏感,所以,均方根誤差能夠很好地反映出預測精確度。其計算公式如下:
模型使用Matlab進行編程訓練,訓練完成后將驗證數(shù)據(jù)作為模型輸入,得到各分量的預測結(jié)果,最終篩選出[RMSE]最小的各分量預測結(jié)果,如表2所示。
表2中各分量的橫向加總即為最終預測結(jié)果,為了驗證模型預測的準確性,本文將原始數(shù)據(jù)直接作為輸入,分別使用LSTM神經(jīng)網(wǎng)絡(luò)和支持向量機回歸進行預測對比,其中LSTM神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點數(shù)目為36,隱層節(jié)點數(shù)目為13,輸出節(jié)點數(shù)目為12,初始權(quán)重和偏置為[-1,1]之間的隨機數(shù),迭代次數(shù)為500。支持向量回歸預測模型采用高斯函數(shù)作為核函數(shù),懲罰參數(shù)c設(shè)置為0.1,核函數(shù)參數(shù)g范圍為[-0.1,0.1]。最終預測結(jié)果如表3所示。
上述實驗表明,LSTM神經(jīng)網(wǎng)絡(luò)在不平穩(wěn)性時間序列數(shù)據(jù)預測中表現(xiàn)出很強的擬合能力和泛化能力,但依然存在提高空間,原始數(shù)據(jù)經(jīng)EMD分解后降低了波動性造成的影響,大大提高了預測精確度。相比而言,支持向量回歸預測模型受數(shù)據(jù)波動性影響較大,在預測時會產(chǎn)生較大誤差,基于EMD和LSTM神經(jīng)網(wǎng)絡(luò)的模型在預測中準確度比支持向量回歸預測模型提高了58%,比單一LSTM神經(jīng)網(wǎng)絡(luò)預測模型提高了41%。
4 結(jié)語
針對不平穩(wěn)性較強的門診量時間序列數(shù)據(jù)預測問題,本文提出一種基于經(jīng)驗模態(tài)分解(EMD)和長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)的組合預測模型。經(jīng)過EMD分解處理降低數(shù)據(jù)的不平穩(wěn)性,再通過LSTM神經(jīng)網(wǎng)絡(luò)進行訓練,組合模型表現(xiàn)出良好的預測能力。仿真實驗結(jié)果表明,該方法具有較高準確度,能夠比較準確地預測出門診量變化趨勢,但在預測數(shù)值的精確度上仍有提升空間,且與單一LSTM神經(jīng)網(wǎng)絡(luò)和支持向量回歸預測模型相比,組合模型不論在預測數(shù)據(jù)還是預測趨勢上都更為準確。從該預測可以看出,基于EMD分解和LSTM神經(jīng)網(wǎng)絡(luò)的組合預測模型對波動性較大的數(shù)據(jù)處理具有很大優(yōu)勢,因而可以拓展到其它序列數(shù)據(jù)變化較大領(lǐng)域的時間序列預測研究中。此外,門診量影響因素很多,例如天氣、醫(yī)院規(guī)模大小、醫(yī)院地理位置等,而研究僅考慮時間因素,因而在某些因素影響過大時會使預測結(jié)果產(chǎn)生較大誤差。同時,在模型構(gòu)建過程中的一些問題也可能使預測結(jié)果產(chǎn)生誤差,如模型初始權(quán)重和偏置的設(shè)置較隨機等,這些問題都是繼續(xù)深入研究的切入點。
參考文獻:
[1] 喬治·E·P·博克斯,格威利姆·M·詹金斯,格雷戈里·C·萊因澤爾. 時間序列分析:預測與控制[M]. 王成璋,尤梅芳,郝楊,譯. 北京:機械工業(yè)出版社,2011.
[2] 向前,陳平雁. 預測醫(yī)院門診量的ARIMA模型構(gòu)建及應用[J]. 南方醫(yī)科大學學報,2009,29(5):1076-1078.
[3] 王琦,鄭靜,吳清香,等. 灰色GM(1,1)預測模型在門診量預測中的應用[J]. 中國醫(yī)院管理, 2007,27(2):26-27.
[4] 丁磊,程紅,牛珉,等. 醫(yī)院精細化管理:門診量預測模型的建立[J]. 中國衛(wèi)生統(tǒng)計,2017(6):959-960.
[5] MELLIT A,PAVAN A M,BENGHANEM M. Least squares support vector machine for short-term prediction of meteorological time series[J]. Theoretical and Applied Climatology,2013,111(1):297-307.
[6] 李林,張明,黃倩,等. 門診量影響因素探討[J]. 中國醫(yī)院管理, 2001,21(10):30-31.
[7] 楊旭華,鐘楠祎. 基于深度信念網(wǎng)絡(luò)的醫(yī)院門診量預測[J]. 計算機科學,2016, 43(s2): 26-30.
[8] 陳卓,孫龍祥. 基于深度學習LSTM網(wǎng)絡(luò)的短期電力負荷預測方法[J]. 電子技術(shù),2018(1):11-13.
[9] 毛景慧. 基于LSTM深度神經(jīng)網(wǎng)絡(luò)的股市時間序列預測精度的影響因素研究[D]. 廣州:暨南大學,2017.
[10] 史美景,曹星婉. 基于EMD的時間序列不同頻率波動及趨勢研究[J]. 統(tǒng)計與決策,2012(16):27-30.
[11] 毛玉龍,范虹. 經(jīng)驗模式分解回顧與展望[J]. 計算機工程與科學,2014(1):155-162.
[12] 賀祥,林振山. 日食、太陽黑子與地球自轉(zhuǎn)對Ei Nino(La Nina)影響與預測[J]. 地球物理學進展,2016,31(1): 44-53.
[13] 余明,陳鋒,張廣,等. 基于經(jīng)驗模態(tài)分解與獨立成分分析的心肺復蘇偽跡自適應濾除算法[J]. 生物醫(yī)學工程學雜志, 2016 (5): 834-841.
[14] 張俊紅,王健,畢鳳榮, 等. 基于EMD和時頻分析的低振動機體結(jié)構(gòu)優(yōu)化研究[J]. 振動與沖擊, 2014 (3):117-121.
[15] HUANG N E,WU M L,QU W,et al. Applications of Hilbert & Huang transform to non-stationary financial time series analysis[J]. Applied Stochastic Models in Business & Industry, 2010, 19(3): 245-268.
[16] HUANG N E, SHEN Z, LONG S R, et al. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis[J]. Proceedings Mathematical Physical & Engineering Sciences, 1998, 454(1971): 903-995.
[17] LIPTON Z C, BERKOWITZ J, ELKAN C. A critical review of recurrent neural networks for sequence learning[J]. Computer Science, 2015:1-35.
[18] GRAVES A. Supervised sequence labelling with recurrent neural networks[M]. Toronto:Springer Berlin Heidelberg, 2012.
[19] 劉運榮. 基于支持向量機的時間序列預測研究[D]. 哈爾濱:哈爾濱工程大學,2008.
[20] ZHENG X L,ZHAO L D. Time series prediction based on LS-SVM within the Bayesian framework[J]. Systems Engineering-Theory & Practice, 2007, 27(5): 142-146.
[21] L?NGKVIST M,KARLSSON L,LOUTFI A. A review of unsupervised feature learning and deep learning for time-series modeling[J]. Pattern Recognition Letters, 2014, 42: 11-24.
(責任編輯:何 麗)