孫曉麗,郭 艷,李 寧,宋曉祥
(中國人民解放軍陸軍工程大學 通信工程學院,江蘇 南京 210007)
多元時間序列數(shù)據(jù)在醫(yī)療保健[1]、神經(jīng)科學[2]、語音識別[3]、金融營銷[4-5]、氣象[6-7]、交通工程[8-9]等諸多應用領域都有豐富的應用。然而由于多種原因,如醫(yī)療事故、節(jié)約成本、異?,F(xiàn)象以及設備故障等,這些多變量時間序列不可避免地會存在部分缺失數(shù)據(jù)。缺失數(shù)據(jù)的存在會影響數(shù)據(jù)分析的精度、正確的模型建立,甚至會帶來災難性的后果。因此,如何對缺失數(shù)據(jù)進行準確地填充已經(jīng)成為大數(shù)據(jù)研究領域的一個熱點。
缺失數(shù)據(jù)的填充是數(shù)據(jù)得以進一步開發(fā)利用的關鍵。目前,專家學者在各個領域進行了大量的研究工作,提出了許多有效的缺失數(shù)據(jù)填充算法[10]。處理時間序列數(shù)據(jù)中隨機信息缺失的標準方法有插值法[11-12]和填充法[13-15]。其中,插值法試圖通過利用單個序列中的時間關系來重建缺失數(shù)據(jù)。填充法則試圖通過利用多個數(shù)據(jù)序列來填充缺失數(shù)據(jù)。文獻[16]以靜態(tài)數(shù)據(jù)為研究背景,將模型約束為線性模型來填充缺失數(shù)據(jù)。然而,這種方法不能捕捉非線性和時間序列的特性。除此之外,包括自回歸移動平均模型(Autoregressive Integrated Moving Model,ARIMA)[17]、季節(jié)性差分自回歸滑動平均模型(Seasonal ARIMA,SARIMA)[18]等在內(nèi)的自回歸方法旨在將時間序列中的非平穩(wěn)部分進行剔除,擬合出參數(shù)化的平穩(wěn)模型。基于矩陣分解的方法也經(jīng)常[19]被用來解決缺失數(shù)據(jù)填充問題,但是通常只適用于靜態(tài)數(shù)據(jù),并且需要較強的假設。
遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)具有很好的性能,如強大的預測能力以及捕獲長期時間依賴關系和可變長度觀察的能力。近年來,RNN,如LSTM[20]和門控遞歸單元(Gated Recurrent Unit,GRU)[21],在時間序列或序列數(shù)據(jù)的許多應用中凸顯了至關重要的地位。文獻[22]提出了多向遞歸神經(jīng)網(wǎng)絡(Multi-directional Recurrent Neural Network,M-RNN)的方法,并利用雙向RNN來進行數(shù)據(jù)填充,但是刪除了缺失變量之間的關系,將M-RNN的輸入值作為常數(shù)進行處理,在網(wǎng)絡中得不到充分的更新。文獻[23]將深度神經(jīng)網(wǎng)絡的思想與卡爾曼濾波器相結合,提出了一種非線性狀態(tài)空間模型——深度卡爾曼濾波器。文獻[24]引入隨機遞歸神經(jīng)網(wǎng)絡(Stochastic Recurrent Neural Network,SRNN),將RNN與狀態(tài)空間模型相結合,形成隨機序列神經(jīng)生成模型。
為了更好地解決多元時間序列的缺失數(shù)據(jù)問題,本文提出了一種基于RNN的缺失數(shù)據(jù)填充算法。該算法通過利用RNN自身能夠捕捉長期時間依賴關系以及預測能力的特性,在RNN的基礎上引入了衰減機制,從而使得改進后的模型能夠充分利用觀測數(shù)據(jù)中的隱藏信息來提高數(shù)據(jù)填充的準確率。而后,通過對現(xiàn)有的觀測數(shù)據(jù)進行學習,實現(xiàn)對缺失數(shù)據(jù)的填充,提高了數(shù)據(jù)填充的準確率。本文以上??諝赓|量數(shù)據(jù)集以及AReM數(shù)據(jù)集為實驗數(shù)據(jù),對所提算法進行檢驗。實驗結果表明,與其他算法相比,在缺失率較低的情況下,所提算法的填充誤差更小,填充效果更優(yōu)。
假設一組含有N個變量、時間長度為T的多元時間序列數(shù)據(jù)X表示為:X={x1,x2,…,xT}T∈T×N,對于t∈{1,2,…,T},xt表示為t時刻時所有變量的觀測值,即N,那么則表示為t時刻第n個變量的觀測值。設st為時間戳,即t時刻觀測到數(shù)據(jù)的時間。
對于多元缺失數(shù)據(jù),給定每個時刻每個變量的觀測值一個缺失向量m∈{0,1},并且有:
(1)
(2)
對缺失時間序列數(shù)據(jù)進行以上處理,可以在原數(shù)據(jù)集的基礎上得到{X,M,Δ},其中:
長短時記憶(Long-Shokl-Term Memory,LSTM)網(wǎng)絡[20]是RNN的一種,能夠解決一般RNN存在的長期依賴問題,并且可以解決長序列訓練過程中出現(xiàn)的梯度爆炸和梯度消失的問題,因而LSTM適用于處理、預測時間序列中時間間隔較長的問題。LSTM的結構如圖1所示。
圖1 LSTM結構圖
一個經(jīng)典的LSTM網(wǎng)絡由單元或者記憶塊組成,并且LSTM單元一般會有兩個輸出:單元狀態(tài)C和隱藏狀態(tài)h,將其傳遞到下一個LSTM單元,因此LSTM有三個輸入:t-1時刻的單元狀態(tài)Ct-1、隱藏狀態(tài)ht-1以及t時刻的輸入xt,有兩個輸出:t時刻的單元狀態(tài)Ct、隱藏狀態(tài)ht。記憶塊通過三種門控制記憶隱藏狀態(tài)和前面時刻發(fā)生的時間,三種門分別為:遺忘門、輸入門和輸出門。
LSTM的計算更新過程可以表示為:
it=σ(Wxixt+Whiht-1+bi)
(3)
ft=σ(Wxfxt+Whfht-1+bf)
(4)
(5)
(6)
ot=σ(Wxoxt+Whoht-1+bo)
(7)
ht=ot⊙tanh(Ct)
(8)
若此時的LSTM單元為網(wǎng)絡中的最后一個單元,那么,網(wǎng)絡最終的輸出為:
y=softmax(W⊙ht+b)
(9)
其中,softmax為激活函數(shù),W為權重矩陣,b為偏置矩陣。
結合時間序列中缺失數(shù)據(jù)的填充過程進行分析,會注意到,以往的RNN算法中,若缺失數(shù)據(jù)的丟失時間間隔過長,那么就導致缺失數(shù)據(jù)對當前時刻的輸出影響隨著時間間隔的增加而有所減弱。因此,本文在RNN的基礎上引入了衰減機制,來捕獲輸入變量、隱藏變量與相應缺失數(shù)據(jù)時間間隔的關系,并且衰減系數(shù)γ的值因變量而異。改進后的RNN結構如圖2所示,將其稱之為γ-LSTM。
圖2 γ-LSTM結構圖
由圖2可以看出,γ-LSTM在LSTM的基礎上,使用時間衰減系數(shù)γt對LSTM單元的輸入進行修正,并使用缺失向量mt對網(wǎng)絡的中間結果進行一定的修正,使其更加充分地捕獲數(shù)據(jù)間的相關關系,定義γt為:
γt=exp{-max (0,Wγδt+bγ)}
(10)
(11)
(12)
γ-LSTM對于輸入的xt做了相應的處理,以其是否為缺失數(shù)據(jù)進行數(shù)值的確定,且有:
(13)
(14)
(15)
此時γ-LSTM的計算過程表示為:
(16)
(17)
(18)
(19)
(20)
ht=ot⊙tanh(Ct)
(21)
由圖1的結構圖可以看出,t時刻LSTM門的輸入包含兩部分:網(wǎng)絡輸入與t-1時刻網(wǎng)絡的輸出,若在t時刻時輸出門關閉(值接近0),那么t時刻網(wǎng)絡的輸出將為0,t+1時刻LSTM網(wǎng)絡的門將僅與網(wǎng)絡的輸入有關系,因此會導致歷史信息的缺失,從而影響最終的結果。因此,文獻[26]提出了一種LSTM的變體“貓眼”LSTM (Peephole LSTM,PLSTM),其在LSTM的基礎上增加了“貓眼”連接(圖3中的虛線部分),允許門查看細胞狀態(tài)。PLSTM模型的計算過程如下:
圖3 PLSTM結構圖
(22)
(23)
(24)
(25)
(26)
ht=ot⊙tanh (Ct)
(27)
LSTM中,單元狀態(tài)C用于存儲信息,有效地保持信息在多個時間步長中的清晰度;隱藏狀態(tài)h用于上層輸出,并且捕獲單元狀態(tài)中與當前時刻輸出密切相關的部分。而PLSTM通過“貓眼”連接,即便是在信息匱乏的情況下,也可以生成精確的時間間隔事件。
為了更全面地解決缺失數(shù)據(jù)填充問題,考慮數(shù)據(jù)缺失時間間隔對當前時刻產(chǎn)生數(shù)據(jù)的影響,在PLSTM的基礎上,同樣引入衰減機制。引入衰減機制的PLSTM被稱為γ-PLSTM,模型的結構如圖4所示。
圖4 γ-PLSTM結構圖
對單元狀態(tài)C以及隱藏狀態(tài)h增加衰減處理,同樣地,衰減系數(shù)γt定義如公式(10),得到衰減處理后的結果見公式(11)、(12)。
對網(wǎng)絡輸入x作相同的處理,見公式(13),此時模型的更新計算過程為:
(28)
(29)
(30)
(31)
(32)
ht=ot⊙tanh (Ct)
(33)
在缺失數(shù)據(jù)填充的模型中,在每個時間步長內(nèi)都使用γ-PLSTM,并在其最后一個單元的輸出后增加一個softmax層和dropout層,最終輸出填充的缺失值。
全國空氣質量數(shù)據(jù)集來源于全國城市空氣質量實時發(fā)布平臺,記錄了全國190個站點自2014年5月13日至2019年8月17日每天每個小時PM2.5、PM10、SO2、NO2、O3、CO含量以及分別對應的24小時均值與AQI實時值。從中選取上海三個月的空氣質量數(shù)據(jù)作為仿真數(shù)據(jù)集進行實驗。
AReM數(shù)據(jù)集來源于UCI數(shù)據(jù)庫,該數(shù)據(jù)集數(shù)據(jù)是由無線傳感器記錄而來,實驗者執(zhí)行特定動作時被其身上所佩戴的傳感器所記錄,有6個屬性,大約5萬條數(shù)據(jù)記錄,并且數(shù)據(jù)的分布具有一定的規(guī)律。從中選取1 000條記錄作為仿真數(shù)據(jù)進行實驗。
為了更好地評價缺失值的填充效果,使用均方誤差(Mean-Squared Error,MSE)、平均相對誤差(Mean Relative Error,MRE)、均方根誤差(Root Mean Squared Error,RMSE)來計算輸出的缺失填充值與原數(shù)據(jù)之間的誤差,定義如下:
(34)
(35)
(36)
本文選取上??諝赓|量數(shù)據(jù)以及AReM數(shù)據(jù)集作為實驗數(shù)據(jù),用以驗證所提方法的有效性。實驗中,首先對數(shù)據(jù)進行歸一化處理,然后按照缺失率為10%、20%、30%、40%、50%從完整數(shù)據(jù)集中任意刪除對應數(shù)量的數(shù)據(jù)。為了方便對數(shù)據(jù)進行處理,針對不同的變量,都隨機刪除相同數(shù)量的數(shù)據(jù),每個變量的缺失率都與整個數(shù)據(jù)集的缺失率相同。
歸一化過程表示為:
(37)
針對LSTM、γ-LSTM、PLSTM、γ-PLSTM模型,使用不同缺失率的上??諝赓|量數(shù)據(jù)、AReM數(shù)據(jù)進行檢驗,得到數(shù)據(jù)填充的效果如表1~表4所示。
表1 空氣質量數(shù)據(jù)集下四種算法的MSE(%)比較
表2 空氣質量數(shù)據(jù)集下四種算法的MRE比較
表3 AReM數(shù)據(jù)集下四種算法的MSE(%)比較
表4 AReM數(shù)據(jù)集下四種算法的MRE比較
由表1~表4可以看出,四種算法都可以實現(xiàn)對缺失數(shù)據(jù)的填充,隨著缺失率的升高,填充數(shù)據(jù)的MSE、MRE誤差都隨之增大,偶爾出現(xiàn)波動,但并不影響大體規(guī)律。四種算法中,γ-PLSTM的填充效果較為顯著,填充數(shù)據(jù)的MSE、MRE誤差較其他三種?。辉谌笔瘦^低時,PLSTM的填充效果優(yōu)于γ-LSTM,但隨著缺失率的升高,γ-LSTM的效果則有明顯改善且效果要優(yōu)于PLSTM,也證明了衰減機制的作用;PLSTM、γ-PLSTM的效果分別比LSTM、γ-LSTM的效果好,很好地說明了在學習的過程中,對單元狀態(tài)進行監(jiān)控,能夠更多更好地獲得歷史信息,從而更好地實現(xiàn)對缺失數(shù)據(jù)的填充。
對所提算法與現(xiàn)有算法(稀疏貝葉斯學習(Sparse Bayesian Learning,SBL)、RNN)進行對比實驗,實驗結果如圖5、圖6所示。
圖5 空氣質量數(shù)據(jù)下不同算法填充效果比較
圖6 AReM數(shù)據(jù)下不同算法填充效果比較
通過圖5、圖6可以看出,四種算法都可以實現(xiàn)缺失數(shù)據(jù)的填充,但是填充的效果不盡相同。由實驗結果可以看出,相對于其他三種算法而言,SBL算法適合處理精度要求不嚴格的缺失數(shù)據(jù),RNN算法的填充效果相較于SBL而言更優(yōu),而本文所提的γ-LSTM和γ-PLSTM算法則較RNN而言填充效果更好。不難看出,伴隨著缺失率的升高,四種算法的填充誤差有所增加,且SBL的誤差最大,γ-PLSTM的填充誤差最??;整體而言,γ-LSTM的填充效果要優(yōu)于RNN。
總體而言,通過SBL、RNN、γ-LSTM、γ-PLSTM四種算法的比較,可以清晰地發(fā)現(xiàn)所提兩種算法γ-LSTM、γ-PLSTM在缺失數(shù)據(jù)填充中的優(yōu)越性;通過LSTM、PLSTM與本文所提兩種算法的比較,體現(xiàn)出增加衰減機制的作用以及在缺失率相對較高情況下“貓眼”連接與衰減機制共同作用的有效性。
本文提出了一種基于LSTM的缺失數(shù)據(jù)填充算法來解決多變量時間序列的缺失數(shù)據(jù)填充問題。在LSTM的基礎上引入了衰減機制,通過學習時間間隔與網(wǎng)絡變量的關系,獲取更多隱藏的歷史信息,從而更好地完成缺失數(shù)據(jù)的填充;并對兩種不同的傳統(tǒng)LSTM進行改進,從而得到了兩種不同的算法γ-LSTM和γ-PLSTM,通過實驗比較,γ-PLSTM的性能要優(yōu)于γ-LSTM,說明在缺失數(shù)據(jù)填充過程中,有“貓眼”連接的能夠查看細胞狀態(tài)的算法能夠獲得更多的隱藏信息,從而缺失數(shù)據(jù)的填充效果更為優(yōu)異。