孫思宇,張標標,吳俊宏,馬仕強,任 佳
1(浙江理工大學 機械與自動控制學院,杭州 310018)
2(浙江遠圖互聯科技股份有限公司,杭州 310012)
隨著當前居民醫療需求的迅速增長[1],智慧醫療成為大勢所趨.如何通過信息化手段提高醫療管理效率、提升醫療服務質量和安全,已成為醫療領域最關注的焦點.流水量是衡量一家醫院經營、管理水平的重要指標之一,準確高效的預測流水數據的長期變化能夠為醫院的資源分配、工作調度等提供依據,提高醫院資源利用率.流水量是一種典型的時間序列數據,可以應用時間序列預測方法進行研究.
時間序列預測方法按照不同研究階段可以歸納為3 類:傳統時序預測方法、基于淺層機器學習的時序預測方法和基于深度學習的時序預測方法.
傳統時序預測方法的典型代表為自回歸(Auto-Regressive,AR)模型、滑動平均(Moving Average,MA)模型、自回歸-滑動平均(AutoRegressive Moving Average,ARMA)模型[2].AR 模型用時間序列中的過去值的線性組合加誤差項來表示當前值,MA 模型用隨機噪聲的線性組合加誤差項來表示當前值,ARMA模型是AR 模型和MA 模型的結合.這3 種模型都以時間序列平穩為前提,當時間序列不平穩時,需引入差分方法[3]使序列變為平穩序列,即自回歸-差分-滑動平均模型[2].
傳統時序預測方法受限于固定的模型框架,且幾乎所有模型都是線性的.但現實中時序數據常常表現為非線性特性,線性模型無法很好的擬合非線性數據的變化趨勢,使得傳統時序預測方法對此類數據的預測效果有限.隨著機器學習算法的發展,越來越多的機器學習算法被應用于時序預測中,如支持向量機、貝葉斯算法、各種淺層神經網絡等,機器學習算法能夠較好的處理非線性問題.文獻[4]使用神經網絡提取特征,然后使用支持向量機來預測匯率變化,同時對不同的支持向量機的核函數進行了比較.文獻[5]使用貝葉斯算法來推斷金融時間序列數據的波動性從而實現時序預測.文獻[6]提出了一種基于人工神經網絡的模型用于海洋濤動指數和海面溫度的預測.
基于機器學習的時序預測方法在處理具有高維數的大數據的能力有限,并且無法實現復雜的功能[7].隨著深度學習的興起,越來越多的深度學習網絡被應用到時序預測中.多層感知器(Multi-Layer Perceptron,MLP)是最早開發的人工神經網絡之一,與淺層網絡的區別在于可以包含更多的層,主要由3 層組成:輸入層、隱藏層和輸出層.每個隱藏層具有非線性的激活函數.為更好的對序列數據進行處理,20世紀80年代提出了循環神經網絡(Recurrent Neural Network,RNN),RNN 具有記憶性,對序列的非線性特征進行學習時具有一定的優勢,RNN 與普通神經網絡的區別在于神經元的輸出取決于當前的輸入和先前的輸入數據.為了解決RNN 只能學到短期依賴關系,無法學習長時間跨度的非線性關系的問題,1997年,Hochreiter和Schmidhuber 提出了長短期記憶網絡(Long Short-Term Memory,LSTM)[8].由于其采用3 個門控控制輸入、記憶和輸出狀態的選擇,因此LSTM 可以有效的處理和預測長時間依賴的時間序列.2006年,Hinton等[9]提出了深度置信網絡(Deep Belief Network,DBN),DBN 通過堆疊受限玻爾茲曼機組成,通過預訓練結合反向傳播更新網絡參數,具有更高的精度,能夠有效運用于多維非線性序列的擬合.2018年,Bai 等[10]提出了時間卷積網絡(Temporal Convolutional Network,TCN),TCN 使用因果卷積提取時序特征,使用擴張卷積增大感受野,使用殘差卷積加快反饋與收斂.與傳統RNN 相比,TCN在參數量上大幅減少,在結構上更加簡潔明了.文獻[11]使用循環神經網絡來對空氣污染進行預測.文獻[12]提出了一種多層網格搜索的LSTM 預測模型.文獻[13]采用基于DBN的模型結構來對交通流進行預測.文獻[14]通過使用TCN網絡結構提取數據的時間特征用于交通預測,取得了較好的應用效果.
現有的醫院流水預測方法大多使用ARIMA 模型或簡單人工神經網絡模型,這些模型只能簡單地把握數據的淺層特征,對于復雜結構的流水數據,無法挖掘數據的前后大跨度信息,對數據特征的把握不夠全面,導致模型預測的準確率和效率不佳.基于以上分析,為進一步提高醫院流水預測模型的準確率和效率問題,針對流水數據具有長、短期特征、非線性和非平穩性的特點,本文提出了一種基于時域卷積、殘差結構和注意力機制的時序預測模型(A-TCNN).本文主要的創新點如下:(1)引入時域卷積提取時間關聯特征,殘差結構加快網絡收斂以及緩解網絡深度增加帶來的梯度消失問題,通過使用不同的殘差時域卷積模塊分別提取時間序列的長、短期特征;(2)引入注意力機制加強模型中對輸出影響較重的參數的權重;(3)所提算法在實際醫院流水數據集進行測試驗證,與常規網絡對比,比較多種多步預測策略,證明了本文所提模型的有效性.
卷積神經網絡是LeCun 等[15]在1998年提出的一種神經網絡模型,它利用卷積層處理多維圖像輸入,是一種應用于計算機視覺領域的模型.
卷積層(圖1)是卷積神經網絡模型的基礎,通過將輸入圖像與卷積核進行卷積運算來提取輸入圖像的局部特征,通過卷積的權重共享來降低參數的數量.

圖1 卷積層操作過程
時域卷積是一維卷積的一種應用,將輸入按照時間進行卷積,即在t時刻的輸出數據不會依賴t+1以及未來的時刻,時域卷積結構如圖2所示.同時可以通過膨脹卷積的方式擴大時域卷積的感受野,時域膨脹卷積的結構如圖3所示.

圖2 時域卷積

圖3 時域膨脹卷積
時域卷積的計算公式如式(1)所示.

其中,yt為t(1 ≤t≤n) 時刻的輸出值,xt-p*(k-1)為t-p*(k-1)時 刻的輸入值,ωt-p*(k-1),k為神經元的權重,p為膨脹系數,m為卷積核個數.
注意力機制(Attention Mechanism,AM)[16]通過構建一個注意力矩陣,使神經網絡在訓練過程中關注重點特征,從而降低其他低影響特征的權重.其計算公式如式(2)所示.

其中,Q(Query),K(Key),V(Value)為對輸入進行線性變換得到的3 個矩陣,dk是Q和K的一個維度,用于防止Q和K的內積過大.
時序預測可描述為:給定時序數據 [y1,y2,···,yN],預測其之后H個值[yN+1,yN+2,···,yN+H].
常見的時序預測方法是單步預測(single),即用長度d的序列映射其之后的一個值,但是單步預測方法只能預測未來一個時刻的值,這時候需要通過多步預測方法來達到長期預測的效果.目前常用的用于多步預測的策略有5 種[17]:遞歸(recursive) 策略[18,19]、直接(direct)策略[18,19]、直接-遞歸(DirRec)策略[20]、多輸入多輸出(MIMO)策略[21]和直接-多輸出(DIRMO)策略[22].遞歸策略選擇將前一次預測的值當做輸入值來預測下一個值;直接策略對每一步的預測建立一個模型;直接-遞歸策略將直接策略與遞歸策略相結合,通過將上一步預測得到的值加入到下一步預測的輸入集中擴大輸入,即隨著訓練模型的增加,輸入數據的長度也將增加;多輸入多輸出策略直接使用多目標輸出多步的值;直接-多輸出策略結合直接策略和多輸入多輸出策略的特點,將需要預測的H步數據長度分成s段,因此需要訓練p=H/s個模型.各種策略的計算過程如表1所示.

表1 多種預測策略的數學表達
針對現有時序預測模型對非線性、非平穩性的數據預測效果不佳,為進一步提高預測模型的準確率和效率問題,考慮時域卷積對于提取時間關聯特征的有效性和參數的輕量化,殘差結構能夠加快網絡收斂以及緩解網絡深度增加帶來的梯度消失問題,以及注意力機制能夠加強模型中對輸出影響較重的參數的權重,本文提出了一種基于時域卷積、殘差結構和注意力機制的時序預測模型(A-TCNN).模型(如圖4所示)包含殘差時域卷積層、注意力層、融合層和全連接層.

圖4 A-TCNN 模型結構
第1 層為輸入層,輸入向量為給定長度的時間序列數據:

其中,d為時間步長.
第2、3 層為殘差時域卷積層,共4 個殘差卷積模塊,每個殘差卷積模塊包含一個普通卷積Conv和一個時域卷積Temporal Conv,時域卷積采用不同的膨脹系數p分別用于提取長、短期的時序特征:


其中,ωc1,ωc2,ωc3,ωc4為卷積權重,ωt1,ωt2,ωt3,ωt4為時域卷積權重,bc1,bc2,bc3,bc4,bt1,bt2,bt3,bt4為偏置,ReLU為激活函數.
第4 層為注意力層:


其中,ωq1,ωk1,ωv1,ωq2,ωk2,ωv2為注意力權重,dk1,dk2為Q或K的一個維度.
第5 層為拼接層,將前一層得到的兩個輸出對時間維度進行拼接:

第6 層為全連接層,得到輸出值:

其中,ωy為全連接層權重,by為偏置.
模型采用多層殘差結構的時域卷積,能夠有效的對數據的長期和短期關系特征進行提取;通過注意力機制加強參數的權重,得到輸入數據的特征向量表示;經過全連接層得到精度較高的輸出結果.
模型選擇以均方根誤差作為目標函數,用Adam優化算法對模型參數進行更新.
為驗證算法效果和魯棒性,使用杭州市某醫院2019年全年的實際流水數據進行測試.原始數據為百萬數量級的每人次消費金額,現從門診消費金額和全部消費金額兩個角度對數據進行整合,得到門診流水和全部流水兩個數據集,兩個數據集均表現為非線性、非平穩性,分別對每個數據集按天進行聚合,同時對數據進行窗口滑動濾波處理消除隨機噪聲干擾,選擇前11 個月的數據為訓練集,后1 個月的數據為測試集.選擇時間步長d為14,即用14 天的時間進行預測,單輸出時預測1 天的值(H=1),多輸出時預測30 天的值(H=30),分段輸出時每段預測6 天的值(H=6).門診流水數據集和全部流水數據集各得到285 組結構為14×1的訓練集和30 組結構為1 4×1的測試集.
本文采用ARIMA 模型、MLP 網絡、LSTM 網絡、TCNN 網絡和A-TCNN 網絡對上述數據進行預測,分別對5 種模型的單步預測和5 種多步預測策略的結果進行對比.其中,MLP 網絡的結構及參數如圖5所示;LSTM 網絡的結構及參數如圖6所示;TCNN 網絡的結構如圖7所示,該網絡為不添加注意力層的ATCNN 網絡,其余參數與圖4算法相同.采用均方根誤差(RMSE)和R2分數(R-squared score)進行評價,R2分數越接近1 表示擬合程度越好,兩種評價標準的公式如式(18),式(19)所示.在兩個數據集上的實驗結果如表2所示.


圖5 MLP 網絡結構

圖6 LSTM 網絡結構

圖7 TCNN 網絡結構
從表2倒數第2 行兩個數據集單步預測策略的平均指標來看,與MLP 網絡相比,TCNN 網絡和ATCNN 網絡的平均均方根誤差降低和平均R2分數提升效果不明顯;與LSTM 網絡相比,TCNN 網絡的平均均方根誤差降低了25.9%,平均R2分數提升了6.6%;A-TCNN 網絡的平均均方根誤差降低了32.3%,平均R2分數提升了8.2%.

表2 5 種網絡多種預測策略在醫院流水兩個數據集的測試結果對比
從最后一行兩個數據集多步預測策略的平均指標來看,與ARIMA 模型相比,TCNN 網絡的平均均方根誤差降低了20.8%,平均R2分數提升了10.8%,A-TCNN網絡的平均均方根誤差降低了30.0%,平均R2分數提升了15.0%;與MLP 網絡相比,TCNN 網絡的平均均方根誤差降低了18.2%,平均R2分數提升了9.6%,ATCNN 網絡的平均均方根誤差降低了27.7%,平均R2分數提升了13.8%;與LSTM 網絡相比,TCNN 網絡的平均均方根誤差降低了23.7%,平均R2分數提升了14.9%,A-TCNN 網絡的平均均方根誤差降低了32.6%,平均R2分數提升了19.2%.
對比分析5 種網絡的不同預測策略:由于Recursive 策略和DirRec 策略將模型預測得到的值應用于下一步的預測,使得每次預測的誤差會累積,因此,隨著預測次數的增加,誤差會越來越大,所以這兩種策略的效果比Single 策略和Direct 策略差.同時,Direct 策略和DirRec 策略需要建立多個模型,因此當預測步長較長時所花費的時間也成倍增加.MIMO 策略由于使用較小的輸入步長預測較大的輸出步長,使得輸入含有的信息量不足,導致預測效果較差.DIRMO 策略是一種較為折中的策略,無需訓練大量模型的同時,也能保證準確率.縱觀全部結果可知:在多步預測的策略上,基于DIRMO 策略的A-TCNN 網絡取得最佳預測性能,在門診流水數據集上的均方根誤差為0.190,R2分數為0.903;在全部流水數據集上的均方根誤差為0.162,R2分數為0.940.
以上結果表明,A-TCNN 網絡使用時域卷積來對醫院流水數據進行處理,能夠有效的提取時間關聯特征,加強模型對非線性、非平穩數據的信息挖掘能力,減少參數的數量級,以及使用殘差結構能夠加快網絡的收斂速度.與傳統ARIMA 模型、MLP 網絡和LSTM網絡相比,預測能力和效果得到了明顯的提升;同時進一步引入注意力機制來加強影響參數的權重,優化模型參數,再次增強模型的預測能力.
針對現有模型對時序預測的準確性和效率問題,本文提出了一種融合時域卷積、殘差結構和注意力機制的預測模型,通過殘差時域卷積層來對時間序列數據的長、短期特征進行提取,同時引入注意力機制強化模型參數,進一步提升模型的預測能力.在實際醫院流水數據集上,與傳統ARIMA 模型、MLP 網絡和LSTM網絡相比,在參數量上能夠大幅減少,同時能夠減少模型的訓練時間以及硬件資源的消耗;在預測效果上,對于多種多步預測策略都有不同程度的提升,驗證了該模型的有效性.該模型能夠有效的對醫院流水數據進行長期預測,有較好的實際應用效果,能夠為醫院的決策提供較好的參考.在未來研究中,考慮將其他特征(例如天氣、節假日等)引入輸入中,并優化模型結構,進一步提升模型的預測能力和準確性.