周 茜,向 維
(北京信息科技大學(xué) 自動(dòng)化學(xué)院,北京 100192)
多變量時(shí)間序列包含多個(gè)數(shù)據(jù)流,這些數(shù)據(jù)流反映了復(fù)雜系統(tǒng)的多種特征參數(shù)隨時(shí)間的變化[1]。每一個(gè)特征除了有其自身時(shí)間趨勢(shì)之外,不同的特征之間還相互關(guān)聯(lián)[2]。多變量時(shí)間序列數(shù)據(jù)主要作為歷史演變信息來(lái)預(yù)測(cè)復(fù)雜系統(tǒng)的未來(lái)狀態(tài),從而幫助人類做出明智的決策。然而,在實(shí)際情況中,由于通信錯(cuò)誤、傳感器故障等原因,多變量時(shí)間序列數(shù)據(jù)中通常存在缺失數(shù)據(jù)[3]。缺失值的存在會(huì)減少關(guān)于復(fù)雜系統(tǒng)的未來(lái)狀態(tài)的重要信息,從而增加了預(yù)測(cè)任務(wù)的難度[4]。因此,開(kāi)發(fā)有效的多變量時(shí)間序列插補(bǔ)方法是一個(gè)重要的研究課題。
缺失數(shù)據(jù)的插補(bǔ)方法始于統(tǒng)計(jì)概率分析,通過(guò)分析時(shí)間序列的概率分布來(lái)獲取缺失值的相關(guān)信息,從而修復(fù)缺失值。例如Qu等[5]利用概率主成分分析(probabilistic principal component analysis,PPCA)方法來(lái)預(yù)測(cè)交通流中丟失的數(shù)據(jù)。但是,PPCA對(duì)時(shí)空相關(guān)性的提取并不完全適用,導(dǎo)致插補(bǔ)性能降低。Fekade等[6]提出了一種概率矩陣分解(probabilistic matrix factorization,PMF)方法,通過(guò)使用相關(guān)傳感器的數(shù)據(jù)來(lái)填充不完整的數(shù)據(jù)。PMF利用了在同一時(shí)間點(diǎn)從不同傳感器收集的測(cè)量值之間的相關(guān)性,但是忽略了時(shí)間相關(guān)性。門控遞歸單元(gated recurrent unit,GRU)和長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)等循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)具有出色的長(zhǎng)期時(shí)間依賴性模擬能力,因此被廣泛應(yīng)用于時(shí)間序列插補(bǔ)中。Zhang等[7]提出了一種基于LSTM的序列到序列插補(bǔ)模型(sequence-to-sequence imputation model,SSIM),用于修復(fù)無(wú)線傳感器網(wǎng)絡(luò)中的連續(xù)缺失值。但是,SSIM假設(shè)輸入的多變量時(shí)間序列中的所有數(shù)據(jù)流都具有相同的丟失率[8],且需要完整的數(shù)據(jù)集進(jìn)行模型訓(xùn)練。
大多數(shù)現(xiàn)有的時(shí)間序列插補(bǔ)方法都假設(shè)信號(hào)是以固定的時(shí)間間隔采集的,然而,許多真實(shí)的時(shí)間序列信號(hào)是不規(guī)則采樣的[9]。例如,在醫(yī)療保健系統(tǒng)中,患者的信息是在患者來(lái)訪時(shí)獲取的,而不是每次就診都進(jìn)行檢測(cè)。與定期收集的多變量時(shí)間序列數(shù)據(jù)的插補(bǔ)相比,由于缺失數(shù)據(jù)的模式復(fù)雜,在不規(guī)則采樣時(shí)間序列中修復(fù)缺失值更具挑戰(zhàn)性。Yoon等[10]提出了一種具有插值塊和插補(bǔ)塊的多方向遞歸神經(jīng)網(wǎng)絡(luò)(multi-directional recurrent neural network,M-RNN)用于處理醫(yī)學(xué)應(yīng)用中不規(guī)則采樣的多變量時(shí)間序列中的缺失數(shù)據(jù)。但是,M-RNN是基于順序存儲(chǔ)的,因此當(dāng)存在缺失值時(shí),無(wú)法有效地訓(xùn)練[11]。另外,如何恰當(dāng)?shù)乜紤]時(shí)間相關(guān)性和變量相關(guān)性對(duì)插補(bǔ)準(zhǔn)確度至關(guān)重要。
本文提出了一種新的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),稱為連續(xù)初始化序列到序列模型(successively initialized sequence-to-sequence model,SISSM),其由編碼器和解碼器網(wǎng)絡(luò)組成。編碼器是一個(gè)前向循環(huán)神經(jīng)網(wǎng)絡(luò)層,主要負(fù)責(zé)提取歷史信息。解碼器是一個(gè)雙向遞歸結(jié)構(gòu),其后向循環(huán)神經(jīng)網(wǎng)絡(luò)層使用編碼器的輸出作為初始狀態(tài),而后向?qū)拥淖詈笠粋€(gè)狀態(tài)用以初始化前向?qū)拥碾[藏狀態(tài)。因此,在解碼器中,后向?qū)邮褂脷v史信息插補(bǔ)最后一個(gè)時(shí)間步的缺失值,而前向?qū)踊谖磥?lái)信息計(jì)算第一個(gè)時(shí)間步的估計(jì)值。這種隱藏狀態(tài)初始化方法能夠減少誤差沿著生成序列的累積,以提高估計(jì)缺失數(shù)據(jù)的精度。在編碼器中,提出了一個(gè)交叉回歸方法,利用時(shí)間域和傳感器域的相關(guān)性來(lái)學(xué)習(xí)多變量時(shí)間序列缺失值的可訓(xùn)練替換值。該編碼器使用具有交叉回歸的GRU(GRU with cross-regression,GRU-CR)作為其遞歸分量來(lái)學(xué)習(xí)歷史信息。解碼器的遞歸分量由一個(gè)插補(bǔ)塊(imputation block,IB)和一個(gè)GRU組合而成,簡(jiǎn)稱為IB-GRU。由于隱藏狀態(tài)只包含過(guò)去或?qū)?lái)的信息,IB的引入可通過(guò)結(jié)合當(dāng)前時(shí)間步長(zhǎng)變量間的相關(guān)性和時(shí)間依賴性來(lái)計(jì)算缺失值估計(jì)。IB-GRU使得該網(wǎng)絡(luò)能夠識(shí)別多變量時(shí)間序列的復(fù)雜模式,從而提高缺失值估計(jì)的準(zhǔn)確度。
在模型的訓(xùn)練階段,當(dāng)輸入變量的值存在時(shí),SISSM通過(guò)逼近輸入變量的值來(lái)學(xué)習(xí)一個(gè)復(fù)雜的擬合函數(shù),而當(dāng)輸入變量缺失時(shí)對(duì)其進(jìn)行插補(bǔ)。因此,SISSM可以使用不完整的時(shí)間序列數(shù)據(jù)集進(jìn)行訓(xùn)練。此外,SISSM能夠修復(fù)不規(guī)則采樣的多變量時(shí)間序列中的隨機(jī)和連續(xù)缺失數(shù)據(jù)。為了驗(yàn)證SISSM的優(yōu)越性,將在兩組臨床數(shù)據(jù)集上與4個(gè)最先進(jìn)的插補(bǔ)模型的插補(bǔ)結(jié)果進(jìn)行比較。
定義X=[x1,x2,…,xT]∈RN×T為一個(gè)長(zhǎng)度為T具有N個(gè)變量的多變量時(shí)間序列,其中xt=[x(1,t),x(2,t),…,x(N,t)]T表示所有N個(gè)傳感器的第t個(gè)觀測(cè)值。定義s=[s1,s2,…,sT]為時(shí)間戳向量,其中st∈R表示獲得第t個(gè)觀測(cè)值的實(shí)際時(shí)間。定義一個(gè)指示矩陣為M,其每個(gè)元素m(i,t)由X中的相應(yīng)元素是否存在來(lái)決定。如果x(1,t)存在,m(i,t)為1,否則為0。由于傳感器數(shù)據(jù)并非總是以相同的時(shí)間間隔收集且一些觀測(cè)值可能會(huì)從連續(xù)的時(shí)間段中丟失,因此定義Δ∈RN×T為自上次觀測(cè)到值的時(shí)刻至當(dāng)前時(shí)刻所經(jīng)過(guò)的時(shí)間。當(dāng)t=1時(shí),Δ的元素δ(i,t)=0;當(dāng)t>1時(shí),δ(i,t)=st-st-1+(1-m(i,t-1))δ(i,t-1)。
圖1 連續(xù)初始化序列到序列模型(SISSM)結(jié)構(gòu)
1.2.1 門控遞歸單元
由于RNN能夠自然地處理可變長(zhǎng)度序列,且其在所有時(shí)間步長(zhǎng)上共享參數(shù),這大大減少了需要學(xué)習(xí)的參數(shù)個(gè)數(shù)。在RNN的變體中,使用了門控遞歸單元(GRU)。GRU的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其具有復(fù)位門rt和更新門zt,用以在時(shí)間步t處控制隱藏狀態(tài)ht,更新公式如下:
圖2 CRU網(wǎng)絡(luò)結(jié)構(gòu)
rt=σ(Wrxt+Urht-1+br)
(1)
zt=σ(Wzxt+Uzht-1+bz)
(2)
(3)
(4)
式中:矩陣Wz、Wr、W、Uz、Ur、U和向量bz、br、b為模型訓(xùn)練參數(shù);σ為Sigmoid激活函數(shù);⊙表示逐元素相乘。
1.2.2 GRU-CR編碼器
(5)
式中:φ為激活函數(shù);U、V和B為可優(yōu)化的模型參數(shù)。在時(shí)間序列數(shù)據(jù)中,附近觀測(cè)到的測(cè)量值對(duì)缺失值的依賴性將隨著時(shí)間的推移逐漸消失。因此,為每個(gè)變量引入了狀態(tài)衰減率,用ηt∈RN表示。ηt的值取決于自上一次觀測(cè)到數(shù)據(jù)的時(shí)刻至當(dāng)前時(shí)刻t所經(jīng)過(guò)的時(shí)間δt。時(shí)間越長(zhǎng),衰減率越小。根據(jù)牛頓冷卻定律[12],本文使用負(fù)指數(shù)率隨δt增加單調(diào)減小ηt,即
ηt=e-(Wηδt+bη)
(6)
式中Wη和bη為通過(guò)訓(xùn)練獲得的模型參數(shù)。狀態(tài)衰減率ηt用于在計(jì)算新?tīng)顟B(tài)ct之前衰減前一個(gè)隱藏狀態(tài)ct-1,即
(7)
(8)
(9)
1.2.3 雙向IB-GRU解碼器
在解碼器網(wǎng)絡(luò)中,每個(gè)時(shí)間步t的輸出為該時(shí)間步的測(cè)量值估計(jì)值。由于RNN在序列的不同時(shí)間步長(zhǎng)之間共享參數(shù),因此可能無(wú)法捕獲不規(guī)則的丟失模式。另外,估算值僅與時(shí)間相關(guān),而與其他傳感器的當(dāng)前觀測(cè)值無(wú)關(guān)。為了解決這些問(wèn)題,本文通過(guò)在傳統(tǒng)的GRU中引入插補(bǔ)塊以改進(jìn)GRU的基本結(jié)構(gòu),稱之為IB-GRU網(wǎng)絡(luò),其結(jié)構(gòu)如圖3所示。
圖3 IB-GRU網(wǎng)絡(luò)結(jié)構(gòu)
ξ(at)=xt⊙mt+at⊙(1-mt)
(10)
式中at為估計(jì)值。在IB中,前一個(gè)隱藏狀態(tài)ht-1首先被衰減,然后使用全連接神經(jīng)網(wǎng)絡(luò)基于時(shí)間信息計(jì)算輸出估計(jì)值z(mì)t,即
(11)
(12)
式中Wh和bh為可訓(xùn)練的模型參數(shù)。為了增強(qiáng)多重相關(guān)性模擬能力,首先用zt中的相應(yīng)值更新xt中的缺失值。然后,加入一個(gè)全連接神經(jīng)網(wǎng)絡(luò),基于當(dāng)前時(shí)間下的變量之間的相關(guān)性計(jì)算輸出估計(jì)值ot,即
ot=φ(Woξ(zt)+bo)
(13)
式中Wo和bo為可學(xué)習(xí)的模型參數(shù)。Wo的對(duì)角線元素設(shè)為零,因此ξ(zt)中的第i個(gè)變量不用于估計(jì)o(i,t)。
λt=σ(Wλδt+Uλmt+bλ)
(14)
(15)
(16)
PhysioNet數(shù)據(jù)集[13]是PhysioNet Challenge 2012的公開(kāi)臨床數(shù)據(jù)集,包含了在重癥監(jiān)護(hù)室中的12 000份患者記錄。在這個(gè)數(shù)據(jù)集中,每個(gè)病人的記錄包含42個(gè)變量,包括血壓、心率和體溫等。從這42個(gè)變量中,提取了35個(gè)變量,這些變量是在病人進(jìn)入重癥監(jiān)護(hù)室后48 h內(nèi)不定期取樣的。對(duì)于數(shù)據(jù)預(yù)處理,本文將每個(gè)變量的數(shù)值標(biāo)準(zhǔn)化,使其均值為0和方差為1以進(jìn)行穩(wěn)定訓(xùn)練[14]。
MIMIC-III數(shù)據(jù)集[15]的所有臨床護(hù)理數(shù)據(jù)來(lái)自大約60 000名患者的住院記錄,這些記錄是從2001年到2012年在貝斯以色列女執(zhí)事醫(yī)療中心的重癥監(jiān)護(hù)室收集的。在整個(gè)MIMIC-III數(shù)據(jù)集中,只保留了15歲以上、單次入院時(shí)間超過(guò)48 h但少于30 d的患者,刪除了沒(méi)有圖表事件數(shù)據(jù)和48 h內(nèi)少于50次測(cè)量的臨床記錄。因此,經(jīng)過(guò)數(shù)據(jù)預(yù)處理后,數(shù)據(jù)集包含了21 250名有足夠觀察值的患者的記錄,每個(gè)樣本包含96個(gè)不同的生理變量。
本文采用兩個(gè)指標(biāo)評(píng)估每個(gè)模型的數(shù)據(jù)插補(bǔ)性能,即均方根誤差(root mean square error,RMSE)和平均絕對(duì)誤差(mean absolute error,MAE)。兩者都常在統(tǒng)計(jì)模型評(píng)估中用作預(yù)測(cè)值和觀測(cè)點(diǎn)坐標(biāo)之間距離偏差的有效度量。由于RMSE是基于誤差平方和的計(jì)算,因此會(huì)放大較大的誤差且對(duì)異常值非常敏感[16]。MAE是誤差的真實(shí)值,與RMSE相比,異常值對(duì)MAE的影響較小。
為了驗(yàn)證SISSM網(wǎng)絡(luò)的優(yōu)越性及有效性,本文將提出的模型與其他文獻(xiàn)中的4種方法進(jìn)行了比較,即SSIM[7]、M-RNN[10]、GRU-D[17]和LIME-LSTM[18]。M-RNN基于多方向遞歸神經(jīng)網(wǎng)絡(luò)估計(jì)臨床時(shí)間序列的丟失數(shù)據(jù),其包含了一個(gè)雙向RNN結(jié)構(gòu)。SSIM是一種基于序列到序列模型的數(shù)據(jù)插補(bǔ)方法,用于在無(wú)線傳感器網(wǎng)絡(luò)中修復(fù)丟失的數(shù)據(jù)。GRU-D是一種基于GRU的深度學(xué)習(xí)模型,其利用多變量時(shí)間序列插補(bǔ)和分類中的時(shí)間衰減效應(yīng)學(xué)習(xí)衰減因子,將最近的觀測(cè)值與每個(gè)變量的經(jīng)驗(yàn)平均值相結(jié)合來(lái)替換缺失值。LIME-LSTM是線性記憶向量遞歸神經(jīng)網(wǎng)絡(luò)(linear memory vector recurrent neural network,LIME-RNN),該網(wǎng)絡(luò)引入了一個(gè)殘差和向量作為所有先前隱藏狀態(tài)的加權(quán)和,以增強(qiáng)模型的時(shí)間模擬能力。
本文選擇了兩個(gè)具有較高丟失率的臨床數(shù)據(jù)集用以驗(yàn)證所提出模型的插補(bǔ)性能。首先任意刪除10%已有的測(cè)量值作為評(píng)估的插補(bǔ)標(biāo)簽值,然后使用這兩個(gè)數(shù)據(jù)集對(duì)訓(xùn)練好的SISSM及4個(gè)對(duì)比模型進(jìn)行測(cè)試。為了評(píng)估模型性能的穩(wěn)定性,每個(gè)模型的仿真實(shí)驗(yàn)以不同的隨機(jī)初始權(quán)重進(jìn)行10次。在兩個(gè)數(shù)據(jù)集上10次實(shí)驗(yàn)的插補(bǔ)誤差的最小值、最大值、均值和方差如表1、2所示。
表1 PhysioNet數(shù)據(jù)集下5種算法的插補(bǔ)誤差比較
表2 MIMIC-III數(shù)據(jù)集下5種算法的插補(bǔ)誤差比較
由表1、2可知,5種算法都可以插補(bǔ)多變量時(shí)間序列的缺失值,但插補(bǔ)的效果不盡相同,其中SISSM獲得了最低的插補(bǔ)誤差即最好的插補(bǔ)準(zhǔn)確度。SISSM的模型穩(wěn)定性并不好,其10次實(shí)驗(yàn)的MAE和RMSE的方差僅小于SSIM的插補(bǔ)誤差的方差。之所以本文所提出模型的插補(bǔ)性能最優(yōu),是因?yàn)樵诰幋a器中引入了交叉回歸器,從而加強(qiáng)了模型對(duì)時(shí)間依賴性和變量相關(guān)性的模擬能力,在解碼器中采用了雙向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以利用過(guò)去和將來(lái)的數(shù)據(jù)點(diǎn)來(lái)重建丟失的數(shù)據(jù)點(diǎn),另外SISSM還考慮了誤差累積以及訓(xùn)練過(guò)程中采樣間隔的不規(guī)則性對(duì)缺失值的影響。以上做法增加了模型插補(bǔ)準(zhǔn)確度,但同時(shí)也增加了模型復(fù)雜度,需要大量樣本訓(xùn)練獲得模型參數(shù),這也將影響模型的穩(wěn)定性。雖然SSIM和M-RNN也采用了雙向循環(huán)網(wǎng)絡(luò)結(jié)構(gòu),但是它們的插補(bǔ)誤差較大且模型穩(wěn)定性欠佳。SSIM被用于修復(fù)含有連續(xù)缺失值的水質(zhì)數(shù)據(jù),并假設(shè)所有的時(shí)間序列含有一樣的丟失率,這使得SSIM很難適用于其他領(lǐng)域的數(shù)據(jù)集,尤其是像PhysioNet和MIMIC-III這種采樣時(shí)間間隔不規(guī)則的數(shù)據(jù)集。M-RNN是用以解決不規(guī)則的臨床醫(yī)療數(shù)據(jù)的數(shù)據(jù)丟失問(wèn)題,考慮了雙向插補(bǔ)和變量相關(guān)性,因此可以較好地修復(fù)本文采用數(shù)據(jù)集的丟失值。對(duì)于其他兩個(gè)單層的前向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)LIME-LSTM和GRU-D,LIME-LSTM的模型穩(wěn)定性最優(yōu)但插補(bǔ)誤差比SISSM和M-RNN都高,GRU-D插補(bǔ)結(jié)果最差。GRU-D采用隱式估算缺失值的方法(即僅專注于優(yōu)化預(yù)測(cè)誤差),不能準(zhǔn)確地修復(fù)缺失值。LIME-LSTM忽略了變量相關(guān)性,因此其插補(bǔ)過(guò)程并沒(méi)有充分利用時(shí)間和變量維度間的關(guān)系,對(duì)插補(bǔ)準(zhǔn)確度產(chǎn)生了負(fù)面影響。
為了評(píng)估數(shù)據(jù)缺失率對(duì)模型插補(bǔ)準(zhǔn)確度的影響,隨機(jī)剔除了10%、15%、20%、25%、30%、35%、40%、45%和50%的已有數(shù)據(jù),然后在不同缺失率的測(cè)試集上驗(yàn)證模型性能。每個(gè)模型的仿真實(shí)驗(yàn)以不同的隨機(jī)初始權(quán)重進(jìn)行10次,最終以10次實(shí)驗(yàn)結(jié)果的均值作曲線圖。圖4和圖5分別呈現(xiàn)了在PhysioNet數(shù)據(jù)集和MIMIC-III數(shù)據(jù)集下5種算法的MAE隨丟失率增加的變化以及SISSM相對(duì)于其他模型所獲得的增益變化。
圖4 在PhysioNet數(shù)據(jù)集下5種算法的MAE隨缺失率增加的變化以及SISSM相對(duì)于其他模型所獲得的增益變化
圖5 在MIMIC-Ⅲ數(shù)據(jù)集下5種算法的MAE隨缺失率增加的變化以及SISSM相對(duì)于其他模型所獲得的增益變化
從圖4和圖5可以看出,隨著缺失率的升高,5種算法插補(bǔ)數(shù)據(jù)的MAE都隨之增大,SISSM在不同的缺失率下插補(bǔ)效果較為顯著,插補(bǔ)的MAE比其他4種小。在缺失率較低時(shí)LIME-LSTM的插補(bǔ)效果優(yōu)于SSIM,但隨著缺失率的升高SSIM的效果則有明顯改善,且在MIMIC-III數(shù)據(jù)集上效果要優(yōu)于LIME-LSTM。SISSM和M-RNN的插補(bǔ)效果分別比GRU和LIME-LSTM的效果好,很好地說(shuō)明了在學(xué)習(xí)的過(guò)程中雙向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能夠更多地捕捉時(shí)間依賴性,從而更好地實(shí)現(xiàn)時(shí)間序列的缺失值插補(bǔ)。另外,SISSM在4個(gè)對(duì)比模型上所獲得的增益隨著缺失率的增加而減小。由此可見(jiàn),所提出模型應(yīng)對(duì)較高缺失率時(shí),插補(bǔ)效率有所降低,但其插補(bǔ)誤差仍然比其他4種算法小很多。綜上所述,SISSM網(wǎng)絡(luò)相對(duì)于其他插補(bǔ)模型能更準(zhǔn)確地估計(jì)多變量時(shí)間序列的丟失值,且即使在丟失數(shù)據(jù)率很高的情況下也能提供較好的插補(bǔ)性能。
由于不可避免的通信故障或傳感器故障,多變量時(shí)間序列通常包含缺失值。本文提出了一種基于序列到序列模型的多變量時(shí)間序列插補(bǔ)方法SISSM,它由GRU-CR編碼器和雙向IB-GRU解碼器組成。在SISSM模型中,提出了一種狀態(tài)初始化方法,該方法有助于減少誤差累積并提高插補(bǔ)精度。設(shè)計(jì)了交叉回歸器用來(lái)獲得原始多變量時(shí)間序列中的缺失值的可訓(xùn)練替換值,以便編碼器能夠從不完整的多變量時(shí)間序列數(shù)據(jù)中學(xué)習(xí)歷史信息代表性。在GRU中引入了一個(gè)插補(bǔ)塊,以根據(jù)不同時(shí)間段的值之間的相關(guān)性和相同時(shí)間點(diǎn)處的變量相關(guān)性計(jì)算得出缺失值的估計(jì)值。為了驗(yàn)證SISSM的插補(bǔ)效果,采用了兩個(gè)真實(shí)的多變量時(shí)間序列數(shù)據(jù)集對(duì)其進(jìn)行了仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與其他的算法相比,本文所提出的模型具有更好的插補(bǔ)結(jié)果,并且在較大的丟失率范圍內(nèi)插補(bǔ)準(zhǔn)確度依然是最高的。