基于SARIMA-LSTM的门诊量预测研究
基于SARIMA-LSTM的門診量預測研究
盧鵬飛1,?須成杰2,?張敬誼1,?韓侶3,?李靜1
1?萬達信息股份有限公司,上海 201112
2?復旦大學附屬婦產科醫院,上海 200090
3?長春理工大學,吉林 長春 130022
摘要:為了實現更加穩健和精準的門診量預測,構建了一種基于SARIMA-LSTM的門診量預測模型。該方法首先使用SARIMA模型對門診量進行單指標建模,提取門診量指標蘊含的周期、趨勢等信息,然后構建了以節日天數、法定上班天數、平均最高氣溫等多個相關指標為輸入的多對一LSTM模型,對SARIMA模型殘差進行進一步學習,實現殘差與多個變量間的非線性關系抽取。實證結果表明,構建SARIMA-LSTM混合模型相較5種主流預測方法具有更高的一步預測精度,具有較好的實際應用價值。
關鍵詞:季節性差分自回歸滑動平均模型?;?長短期記憶網絡?;?門診預測?;?殘差
論文引用格式:
盧鵬飛,?須成杰,?張敬誼,?韓侶,?李靜.?基于SARIMA-LSTM的門診量預測研究. ?大數據[J], 2019, 5(6):101-110
LU P F, XU C J, ZHANG J Y, HAN L, LI J.Research on the prediction of outpatient volume based on SARIMA-LSTM.?Big Data Research[J], 2019, 5(6):101-110
1 引言
門診量是醫療機構服務能力的體現,能夠直接反映醫療機構當前的運行狀況,并為醫院經營和資源分配提供重要參考。精準的門診量預測能夠幫助醫院管理者對醫療資源進行合理部署和分配,從而保障醫院的運營效率。門診量的波動受多種因素影響,但是門診時間序列通常存在一定的趨勢性和周期性,這為門診量預測提供了基礎。
當前,一些研究者對門診量預測方法進行了較為深入的研究,傳統的時間序列模型包括GM(1,1)、Holt-Winters、自回歸滑動平均(auto-regressive moving average,ARMA)模型、季節性差分自回歸滑動平均(seasonal auto-regressive integrated moving average,SARIMA)模型等。盡管利用ARMA等傳統時間序列模型進行門診量預測是較適宜的方法,但是仍存在一定的限制。導致門診量波動的影響因素較多,僅依賴門診量序列本身進行建模無法刻畫和解釋某些時間段的變化規律。隨著人工智能技術的不斷發展,研究人員逐漸將機器學習中的監督回歸方法應用于門診量時間序列的預測。例如,李琳等對新疆地區慢性阻塞性肺病的月門診量構建了LSTM模型并進行1步和12步預測;黃代政等應用三層反向傳播神經網絡對醫院門診量的多個分量進行了實例驗證;桑發文等應用相似日和極限學習機的方法對醫院門診量進行了短期預測探究;張云麗等構造了一種基于灰色預測和RBF神經網絡相結合的方法,對門診量進行建模和預測。相較于傳統時間序列模型,上述模型能夠對多個輸入變量進行特征自動學習,從而獲取更多的可用信息。但是,考慮到醫療時間序列指標樣本量通常很小,單純使用機器學習模型對門診量進行預測的思路也存在一些弊端,如容易過擬合、模型魯棒性較差等。
為了彌補傳統時間序列模型對門診信息提取不充分的缺陷,本文結合機器學習模型的建模優勢,將節日天數、法定上班天數、平均最高氣溫、平均溫差、降雨天數以及掛號人數等相關因素作為模型輸入,構建具有時間序列記憶性的長短期記憶網絡,對SARIMA模型的殘差進行學習,形成SARIMA-LSTM混合模型,更加充分地提取殘差信息,從而大幅提升預測精度。
2 理論基礎和方法
2.1 SARIMA模型
ARMA模型對平穩序列數據具有良好的建模效果,對于非平穩時間序列,則需要進行d階差分,形成ARIMA(p,d,q)模型。該模型也稱為差分自回歸滑動平均模型,其中d為差分項,p、q為延遲參數。然而,對于一些既有季節效應又有長期趨勢的時間序列,簡單的自回歸差分滑動平均(auto-regressive integrated moving average,ARIMA)模型不足以提取其中的季節信息,這時通常需要采用SARIMA模型。綜合d階差分和以s為步長的季節差分運算,SARIMA乘積模型完整結構如下:
其中:
該乘積模型簡記為SARIMA(p1,d1,q1)×(p2,d2,q2,s)。
2.2 LSTM模型
長短時記憶(long short term memory,LSTM)網絡是一種結合梯度學習算法的網絡,是對循環神經網絡(recurrent neural network,RNN)的改進。LSTM通過其獨特的記憶模式和遺忘模式使網絡可以充分挖掘數據的時間序列特征,學習信號中的時間依賴關系,緩解了傳統RNN在訓練過程中容易出現的梯度消失、爆炸現象,在眾多領域取得了巨大的成功。LSTM與傳統RNN的不同點在于LSTM神經元多了3種“門”和1個記憶單元,LSTM結構如圖1所示。LSTM神經元通過“門”結構有選擇性地傳遞信息,從而達到控制信息的目的。與RNN相同, LSTM神經網絡使用反向傳播算法進行模型訓練。在反向傳播進行參數更新時, LSTM誤差項的反向傳播包括兩個方向:一個是沿著時間的方向反向傳播,即從當前時刻開始,計算每個時刻的誤差項;另一個是將誤差項向上一層傳播,根據相應的誤差項,計算每個權重的梯度。
圖1???LSTM結構示意
2.3 基于SARIMA-LSTM的門診量預測模型
在實際應用中,使用SARIMA模型進行單指標建模能夠較好地捕獲門診量的歷史變化規律,但是仍存在較大的局限性,SARIMA模型無法解釋門診波動的內因,當波動規律較為復雜時,SARIMA模型無法對其進行刻畫,因此會有較大的預測偏差。例如,門診量的變化在某些月份受節假日影響較大,而某些重大節假日(如春節)的時間在月份上不固定,模型利用歷史數據抓取的規律在預測某些特殊月份時存在偏差。此外,天氣信息(如氣溫、晝夜溫差、降雨時間等)在一定程度上也會影響醫院就診的患者數量,特殊天氣造成的門診量波動效應也無法通過簡單的SARIMA模型進行有效解釋。在SARIMA模型中,模型無法解釋的信息會被歸為殘差項,為了更加精準地抽取門診量波動信息,本文構建了LSTM模型,對SARIMA模型的殘差指標進行建模,形成SARIMA-LSTM混合模型。在SARIMA-LSTM模型中,LSTM神經網絡的輸入層不僅包含SARIMA模型的殘差指標,還需納入對門診量波動有重要影響的協變量,如節假日信息、天氣信息以及其他醫院綜合指標信息。
使用SARIMA-LSTM模型進行門診量預測的主要步驟如下。
(1)對門診量數據進行SARIMA建模,使用歷史數據進行模型參數優化、擬合和檢驗,根據所得模型計算歷史數據估計值、歷史數據殘差、模型一步預測值。
(2)將SARIMA建模殘差ei及多個協變量的一階滯后項作為模型的自變量,SARIMA建模殘差ei作為模型的因變量,將其變換為LSTM神經網絡的輸入值,并進行歸一化處理,設定時間窗口nw,構建多對一的LSTM神經網絡一步預測模型,通過模型訓練,計算模型一步預測值。
(3)計算SARIMI-LSTM模型的一步預測值。
2.4 模型評估方法
選用均方根誤差(root mean squared error,RMSE)和平均絕對百分比誤差(mean absolute percentage error, MAPE)這兩個指標來評價算法的時間序列預測性能,均方根誤差和平均絕對百分比誤差的計算方法分別為:
其中,yt為實際觀測值,為預測值,M表示測試樣本個數。
3 實例驗證與分析
3.1 數據來源及預處理
醫療指標數據來源于上海某三甲醫院,時間范圍為2011年1月1日至2018年12月31日,包括門診量、掛號量2個指標,數據質量良好,無缺失值。節日信息采集于萬年日歷網站的公開歷史信息,包括上班信息和節假日信息。天氣信息采集于中國天氣網的公開歷史信息,包括每一天的最高氣溫、最低氣溫和降雨情況。針對門診量和掛號量,使用累加的方式將其轉換為月度數據,即門診量月度指標和掛號量月度指標;針對上班信息,統計每月法定上班天數,得到上班天數月度指標;針對節假日信息,僅考慮春節、勞動節和國慶節信息,統計春節7天假、勞動節3天假、國慶節7天假在每個月出現的天數,得到節日天數月度指標;針對天氣信息,計算每月的平均最高氣溫月度指標、平均溫差月度指標以及降雨天數月度指標。其中,上班天數月度指標和節日天數月度指標信息可預知,因此整體向前移動一個月,例如,時間索引2017年3月對應的上班天數是2017年4月的值,依此類推。通過該方式,LSTM網絡在訓練過程中能夠捕獲到所需預測月份的上班和節日信息對該月預測指標的影響,即額外地獲取預測當月的上班和節日的信息,從而提升預測精度。
3.2 SARIMA模型構建
3.2.1 門診量季節性分析
STL(seasonal and trend decomposition using loess)是一種用于分解時間序列的通用且穩健的方法,其中Loess是一種估算非線性關系的方法。針對門診序列數據,采用STL方法對其進行分解,得到季節效應、趨勢效應和剩余波動效應的分解值,即xt?=St+Tt+It,結果如圖2所示。從圖2(a)中可見,門診量存在較為明顯的趨勢性,在2013年之后呈現上升的態勢,因此可能為非平穩序列,需要進行差分運算;從圖2(b)中可見,門診量存在穩定的周期性,周期為12個月,根據周期波動規律發現,一個周期內12月醫院門診就診量最大,2月門診就診量最小,12月至3月期間門診量波動最大。
圖2???門診量加法模型分解示意
3.2.2 模型參數搜索
門診量數據既有季節性成分又有非季節性成分,因此用混合效應的乘積模型SARIMA(p1,d1,q1)×(p2,d2,q2,s)進行建模,從圖2(b)中可知季節性參數s為12,參數p,d,q采用網格搜索法并結合赤池信息量準則(akaike information criterion, AIC)進行確定。網格搜索中參數的搜索范圍分別設定為p1∈[0,4],d1∈[0,1], q1∈[0,5],p2∈[0,2],d2∈[0,1],q2∈[0,2]。由于參數較多,在參數搜索過程中分兩階段進行搜索,即先構建ARIMA(p1,d1,q1)獲得最小AIC值對應的參數?,然后利用最優ARIMA模型參數構建模型,搜索得到最優的參數值。在搜索過程中,設定模型必須滿足平穩條件和可逆條件,確保模型為平穩可逆模型,若不滿足任一條件則自動跳過該參數組合。同時,為了進行下一步模型驗證,將2011年1月至2017年12月的月度數據作為模型輸入,采用最大似然估計進行模型擬合。兩階段搜索得到的最優參數組合見表1,可見最優的參數和分別為(3,1,2)以及(1,1,1),因此得到的最優模型參數組合為SASRARIMIMAA(3,1,2)×(1,1,1,12)。同時,參數搜索結果表明,在ARIMA模型加入季節參數之后,模型得到明顯優化,AIC值大幅減小。
3.2.3 模型檢驗
在得到最優的參數組合之后,需要進行模型顯著性檢驗和參數顯著性檢驗。模型的顯著性檢驗主要是檢驗模型的殘差項是否為白噪聲序列。SASARRI IMMA(3,1,2)×(1,1,1,12)模型的殘差信息如圖3所示,結合圖3(b)和圖3(c),可判斷殘差接近標準正態分布;圖3(d)表明殘差序列存在較低的自相關,即不存在明顯的季節性。此外,使用LBQ(Ljung-Box Q)檢驗統計量對殘差進行白噪聲檢驗,顯示1-24階延遲下的LB統計量的P值均顯著大于0.05,因此可以認為該擬合模型的殘差序列屬于白噪聲序列,即該擬合模型顯著有效。參數的顯著性檢驗是指檢驗每一個模型參數是否顯著非零,可起到模型精簡的作用。模型的參數及其顯著性檢驗信息見表2,其中,檢驗方法為z檢驗,z為檢驗值。結果表明除了AR一階系數不顯著非零外,其他系數均通過檢驗,因此從模型中刪除AR一階滯后自變量,得到最精簡擬合模型。
圖3???模型殘差信息
3.3 SARIMA-LSTM模型門診量預測
3.3.1 建模流程與模型結構
在SARIMA-LSTM模型中,首先使用門診量進行SARIMA建模,流程與上文一致。然后,將SARIMA模型的殘差指標、門診量、掛號量、上班天數、節日天數、平均最高氣溫、平均溫差以及降雨天數共計8個指標作為LSTM模型的自變量,預測下一個月的SARIMA模型殘差指標。最后,將SARIMA模型的一步預測值與預測殘差值相加得到下一個月的門診量預測值,具體如圖4所示。在進行LSTM建模步驟中,需要對輸入變量進行歸一化,針對預測值進行反歸一化得到門診量真實值。在LSTM模型中,包含一個輸入層、一個LSTM層和一個輸出層。經過多次交叉驗證實驗,當設定LSTM層單元個數為26,時間窗口寬度為7時,模型泛化能力較強。在模型訓練過程中,采用一步滑動預測的方式進行數據轉換,得到輸入數據維度為77×7×8,輸出數據維度為77×1;在模型測試過程中,輸入數據維度為1×7×8。由于時間窗口寬度為7,即模型以8個指標的前7個月的真實數據作為自變量,預測第8個月的SARIMA模型殘差指標,因此模型在預測過程中能夠抓取近7個月的多指標時間序列信息,從而對下一個月進行預測。
圖4???SARIMA-LSTM模型整體建模流程
3.3.2 SARIMA-LSTM模型訓練與預測
在確定LSTM模型結構和數據集之后,設定損失函數為均方誤差函數,訓練方法為Adam優化算法,進行模型訓練。其中,批尺寸設定為77,模型迭代次數為1 000,參數初始化方法為Xaiver方法。然后,訓練模型對2018年的12個測試樣本進行預測,得到SARIMA模型的12個殘差預測值。最后,與SARIMA模型的12個一步預測值累加,得到SARIMALSTM模型預測值,如圖5所示。由圖5可知,和SARIMA模型預測值相比,該模型的預測值更加準確,尤其在SARIMA模型預測最不準確的2月份,預測值得到大幅調整,與真實值更加接近。同時,調整后的置信區間覆蓋了所有月份的真實值,整體變化趨勢與真實值波動規律更相符。
圖5???模型預測結果對比
3.3.3 模型評估和對比
為了對本文提出的方法進行評估,實驗選取幾種主流文獻中的方法進行對比分析,對比方法包括Holt-Winters、ARIMA、SARIMA、樣條回歸和LSTM。Holt-Winters方法為3次加法模型,并通過粒子群算法以誤差平方和為目標函數,優化了模型初始參數;ARIMA和SARIMA方法與上文建模步驟一致;樣條回歸模型經過多次逐步回歸實驗,確定輸入變量包括節日天數、法定上班天數、截距項、第19個月節點、第22個月節點、第34個月節點、第37個月節點、第52個月節點且最優的多項式次數為1,并構建回歸預測模型;LSTM方法的輸入變量包括本文的7個指標,即門診量、掛號量、上班天數、節日天數、平均最高氣溫、平均溫差以及降雨天數,多次實驗得到最優的網絡結構的LSTM層單元個數為60,時間窗寬為7。同樣地,分別構建模型,對2018年門診量進行一步預測,計算得到均方根誤差和平均絕對百分比誤差,多模型預測結果對比見表3,6種方法預測結果對比如圖6所示。
圖6???6種方法預測結果對比
由對比結果可知,ARIMA模型預測精度最差,該模型未考慮季節因素,因此在幾乎所有月份均都有較大的偏差;SARIMA模型加入了季節效應,整體預測精度有所提升,但是對某些月份的預測偏差仍然很大;通過納入有效的輸入變量,樣條回歸模型在一些特殊月份具有較高的預測精度,但是在二、三季度預測結果較差,難以準確抓取波動規律,在5月、6月、9月預測偏差較大;通過參數優化的方法,HoltWinters模型能夠更好地抓取季節波動信息,由于該方法參數很少且進行了優化,因此在小樣本時間序列上能夠較好地避免過擬合現象,預測精度較高;LSTM模型納入了更多輸入變量,預測精度也較高,在傳統時間序列模型預測結果較差的1月和2月,具有更優的表現,但是由于樣本的個數少于模型參數,該模型容易過擬合,模型預測不穩定。盡管SARIMA-LSTM模型中的LSTM模型也容易過擬合,但是其預測值對模型整體預測結果影響較小,僅僅是對SARIMA模型殘差的修正,故模型更加穩健。相較于其他幾種主流方法, SARIMA-LSTM模型的預測精度大幅提升,RMSE和MAPE分別為4 402.69和3.51%,具有更好的時間序列預測性能。
此外,在構建LSTM模型進行殘差預測過程中也存在一些需注意的問題:第一,在進行多指標建模時,訓練樣本較少且LSTM的參數較多,容易出現過擬合現象,需要通過早停法、dropout等技巧調整模型的迭代次數;第二,SARIMA殘差在早期存在異常值,LSTM訓練受異常樣本影響較大,主要表現為損失函數曲線在迭代過程中有較大的震蕩現象,因此在模型訓練之前需對異常值進行剔除;第三,當批尺寸較小時,模型訓練不穩定,因此可使用所有樣本計算一次梯度,同時適當減小LSTM層的單元個數,能夠使損失函數曲線更加光滑,易于收斂。
4 結束語
針對醫院門診量時間序列數據,本文設計了一種基于SARIMA-LSTM的預測模型,該模型的主要思想為利用SARIMA模型對門診量進行預測,之后構建LSTM模型,預測SARIMA模型的殘差。與傳統的將單一門診量指標作為輸入數據不同,本文的模型輸入中還添加了節假日信息、天氣信息以及其他醫院綜合指標信息,從而更加有效地刻畫了門診時間序列變化的內因。通過與Holt-Winters 、ARIMA、SARIMA、樣條回歸以及LSTM這5種主流醫療指標預測方法進行實例驗證對比,發現SARIMA-LSTM模型具有更好的門診量時間序列預測性能,因此該方法對醫院運營管理輔助決策具有一定的參考和應用價值。
作者簡介
盧鵬飛(1991-),男,萬達信息股份有限公司大數據產品部數據挖掘工程師,主要研究方向為醫療數據挖掘、機器學習、光譜分析 。
須成杰(1983-),男,復旦大學附屬婦產科醫院信息科工程師,主要研究方向為大數據及人工智能、互聯網醫療+物聯網、醫院信息無紙化管理、醫療可信云計算等 。
張敬誼(1974-),女,博士,萬達信息股份有限公司大數據產品部總經理、教授級高級工程師,主要研究方向為并行計算、智能分析、城市信息化等 。
韓侶(1992-),男,長春理工大學碩士生,主要研究方向為統計機器學習、數據挖掘 。
李靜(1973-),女,萬達信息股份有限公司大數據產品部資深產品經理、高級工程師,主要研究方向為醫療衛生大數據、健康醫療大數據+人工智能 。
《大數據》期刊
《大數據(Big Data Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的中文科技核心期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
往期文章回顧
數據管護技術及應用
基于數據空間的電子病歷數據融合與應用平臺
基于APMSSGA-LSTM的容器云資源預測
Hadoop下水環境模擬集群運算模式
WEB:一種基于網絡嵌入的互聯網借貸欺詐預測方法
總結
以上是生活随笔為你收集整理的基于SARIMA-LSTM的门诊量预测研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bash-shell高级编程--求最大公
- 下一篇: 大数据时代网络安全必读