趙萬(wàn)祥,張遠(yuǎn)進(jìn),李曉榮
(1.武漢理工大學(xué) 中國(guó)應(yīng)急管理研究中心,湖北 武漢 430070;2.武漢理工大學(xué) 安全科學(xué)與應(yīng)急管理學(xué)院,湖北 武漢 430070;3.斯旺西大學(xué) 工程學(xué)院,威爾士 斯旺西 SA28PP)
長(zhǎng)期以來(lái),重建丟失數(shù)據(jù)的離散時(shí)間信號(hào)或空間信號(hào)一直是各個(gè)領(lǐng)域感興趣的話題。缺失數(shù)據(jù)通常指某個(gè)信號(hào)中的部分時(shí)間點(diǎn)缺失數(shù)據(jù)。在長(zhǎng)期監(jiān)測(cè)過(guò)程中,傳感器故障不可避免,導(dǎo)致故障節(jié)點(diǎn)的監(jiān)測(cè)數(shù)據(jù)不準(zhǔn)確甚至缺失[1-2]。由于傳感器損壞、外部環(huán)境變化或人為因素等影響,經(jīng)常會(huì)發(fā)生數(shù)據(jù)丟失現(xiàn)象。監(jiān)測(cè)數(shù)據(jù)的質(zhì)量是進(jìn)行功率譜估計(jì)的基礎(chǔ),丟失數(shù)據(jù)的重建是一項(xiàng)重要的研究課題[3-4]。在許多情況下重新采樣缺失數(shù)據(jù)可能很困難。
為解決部分?jǐn)?shù)據(jù)缺失的問(wèn)題,一些方法被提出來(lái),這些方法多數(shù)是通過(guò)基于已知數(shù)據(jù)預(yù)測(cè)缺失數(shù)據(jù),包括缺失數(shù)據(jù)的零值填充法[5]、最小二乘譜分析法[6]、迭代譜去噪法[7]、插值法以及自回歸法[8]等。分布回歸是恢復(fù)缺失數(shù)據(jù)分布信息的一類常用方法。CHEN等[9-10]采用傳統(tǒng)的分布到分布方法用于恢復(fù)缺失數(shù)據(jù)的概率分布,隨后又提出分布到翹曲函數(shù)的回歸方法用來(lái)改善傳統(tǒng)分布回歸方法的外推性能,并提出基于對(duì)數(shù)分位數(shù)密度轉(zhuǎn)換的分布到分布回歸方法?;趬嚎s傳感的方法用于無(wú)線傳感網(wǎng)絡(luò)的損失數(shù)據(jù)恢復(fù),適用于具有稀疏性的信號(hào)[11],數(shù)據(jù)恢復(fù)誤差與信號(hào)的稀疏性密切相關(guān),若信號(hào)的稀疏性較差,則損失數(shù)據(jù)的恢復(fù)誤差較大。該方法通常很耗時(shí),涉及高昂的計(jì)算成本,因此用于處理大量數(shù)據(jù)可行性不強(qiáng)。
顯然,在大多數(shù)情況下,方法的選擇通常取決于已知數(shù)據(jù)信息,如缺失數(shù)據(jù)占總數(shù)據(jù)的比例。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)研究方向。深度學(xué)習(xí)模型學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,在學(xué)習(xí)過(guò)程中獲得的信息對(duì)諸如文字、圖像和聲音等數(shù)據(jù)的解釋有很大幫助。深度學(xué)習(xí)模型的最終目標(biāo)是使機(jī)器能夠像人一樣具有分析學(xué)習(xí)能力,可以識(shí)別文字、圖像和聲音等數(shù)據(jù)。筆者研究了一種基于神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)缺失數(shù)據(jù)的方法。首先,對(duì)數(shù)據(jù)集進(jìn)行處理得到其特征矩陣,并對(duì)特征矩陣中的缺失值進(jìn)行填充;其次,搭建一個(gè)合適的神經(jīng)網(wǎng)絡(luò)用來(lái)學(xué)習(xí)信號(hào)數(shù)據(jù)的變化趨勢(shì);最后,通過(guò)訓(xùn)練完畢的神經(jīng)網(wǎng)絡(luò)模型和已知數(shù)據(jù)完成對(duì)缺失數(shù)據(jù)的預(yù)測(cè),依據(jù)重構(gòu)的數(shù)據(jù)記錄進(jìn)行功率譜估計(jì)。模擬實(shí)驗(yàn)結(jié)果顯示,在數(shù)據(jù)缺失30%、50%數(shù)據(jù)情況下,運(yùn)用K近鄰回歸和LSTM神經(jīng)網(wǎng)絡(luò)能較好地還原功率譜。
隨機(jī)過(guò)程是一簇時(shí)間函數(shù)。在每一個(gè)確定的時(shí)刻,是一系列的隨機(jī)變量組合。而在每一個(gè)確定的隨機(jī)變量組合下,又是確定的樣本時(shí)間函數(shù)。目前能夠掌握和應(yīng)用的主要是平穩(wěn)隨機(jī)過(guò)程。平穩(wěn)隨機(jī)過(guò)程在自然界中廣泛存在,其性質(zhì)特殊,利用其統(tǒng)計(jì)特性與其參數(shù)平移沒(méi)有顯著影響的關(guān)系,便于使用數(shù)學(xué)工具進(jìn)行分析從而對(duì)工程應(yīng)用進(jìn)行指導(dǎo),因此應(yīng)用廣泛。嚴(yán)格平穩(wěn)隨機(jī)過(guò)程定義過(guò)于嚴(yán)格且一般較難實(shí)現(xiàn),因此實(shí)際應(yīng)用中更加關(guān)注在二階矩范圍內(nèi)保持平穩(wěn)性的一般過(guò)程。也就是說(shuō),若一個(gè)隨機(jī)過(guò)程的均值和方差是常數(shù),自相關(guān)函數(shù)僅與時(shí)間間隔有關(guān),那么這樣的隨機(jī)過(guò)程就是廣義平穩(wěn)隨機(jī)過(guò)程,也被稱為弱平穩(wěn)隨機(jī)過(guò)程。因?yàn)槎x的寬泛和使用的簡(jiǎn)便,一般提到的平穩(wěn)隨機(jī)過(guò)程都是指廣義平穩(wěn)隨機(jī)過(guò)程[12]。模擬實(shí)驗(yàn)中平穩(wěn)隨機(jī)過(guò)程記錄通過(guò)式(1)生成樣本記錄。
cos(ωnt+Φn)
(1)
(2)
式中:Φn為在區(qū)間[0,2π]均勻分布的獨(dú)立隨機(jī)相位角;σ的取值為1;b的取值為1;ωu為截止頻率,取值為2π;Δω為截止頻率ωu的N等分。
為了對(duì)過(guò)程記錄訓(xùn)練并預(yù)測(cè)缺失值,采用的方法為L(zhǎng)STM神經(jīng)網(wǎng)絡(luò),LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。LSTM神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的改進(jìn),將LSTM模塊嵌入循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏神經(jīng)元中,是為了解決在反向傳播過(guò)程中梯度消失和爆炸的問(wèn)題。LSTM模塊能解決該問(wèn)題是因?yàn)槠渚哂醒h(huán)連接的存儲(chǔ)單元,并運(yùn)用記憶門(mén)i、遺忘門(mén)f和輸出門(mén)o來(lái)控制信息的傳遞。c為細(xì)胞狀態(tài)或稱為記憶單元,控制信息的傳遞。xt為當(dāng)前時(shí)刻輸入,而ht-1為前一時(shí)刻隱藏狀態(tài)。這些門(mén)的存在使得LSTM模塊可以存儲(chǔ)或更新關(guān)鍵信息,能夠在較長(zhǎng)的信息傳遞過(guò)程中保持信息不至于梯度消失。LSTM模塊核心為細(xì)胞狀態(tài),其作用類似于傳送帶,能夠?qū)⑿畔⒈3植蛔兊臓顟B(tài)在神經(jīng)網(wǎng)絡(luò)層中傳遞[13]。
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
對(duì)樣本記錄進(jìn)行數(shù)據(jù)處理,單個(gè)訓(xùn)練樣本為在均勻時(shí)間間隔分布上一定長(zhǎng)度的數(shù)據(jù),最后一個(gè)數(shù)據(jù)為這個(gè)訓(xùn)練樣本的標(biāo)簽,其余數(shù)據(jù)為其特征值,如圖2所示。輸入數(shù)據(jù)長(zhǎng)度的選擇導(dǎo)致在可用唯一訓(xùn)練序列的大小和數(shù)量之間進(jìn)行權(quán)衡。與短時(shí)間間隔相比,大時(shí)間間隔將包含更多關(guān)于過(guò)程的信息,但是若使用大時(shí)間間隔,考慮到訓(xùn)練數(shù)據(jù)有限,將只有少數(shù)唯一的訓(xùn)練樣本。神經(jīng)網(wǎng)絡(luò)不太可能在訓(xùn)練樣本很少的情況下了解數(shù)據(jù)變化趨勢(shì),并且在新數(shù)據(jù)上測(cè)試時(shí)表現(xiàn)不佳。相反,如果間隔太小,神經(jīng)網(wǎng)絡(luò)將沒(méi)有足夠的信息來(lái)學(xué)習(xí)特征數(shù)據(jù)之間的相關(guān)性。
圖2 樣本數(shù)據(jù)處理
輸入的數(shù)據(jù)序列始終以相同的順序顯示。因此,訓(xùn)練樣本的數(shù)量等于樣本點(diǎn)的總數(shù)減去輸入的數(shù)量加上1。每個(gè)訓(xùn)練樣本都包含一個(gè)小的整體數(shù)據(jù)片段,其中包含指定數(shù)量的輸入加上一個(gè)該數(shù)據(jù)片段的標(biāo)簽。最后將訓(xùn)練樣本的順序隨機(jī)化,再輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。對(duì)于不同的平穩(wěn)隨機(jī)過(guò)程模擬每次會(huì)訓(xùn)練新的神經(jīng)網(wǎng)絡(luò)模型,以學(xué)習(xí)當(dāng)前過(guò)程的數(shù)據(jù)變化趨勢(shì),更好地填充當(dāng)次模擬中存在的缺失值。對(duì)于每個(gè)缺失值的預(yù)測(cè)過(guò)程中,預(yù)測(cè)的數(shù)值會(huì)不斷更新到當(dāng)前模擬的平穩(wěn)隨機(jī)過(guò)程,以對(duì)數(shù)據(jù)缺失位置比較靠后的數(shù)據(jù)進(jìn)行更好的預(yù)測(cè)。
在存在缺失數(shù)據(jù)的情況下不能簡(jiǎn)單地去除訓(xùn)練樣本中的間隙并縮短樣本,因?yàn)橐屔窠?jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程,輸入的樣本數(shù)據(jù)必須時(shí)間間隔均勻。缺失的數(shù)據(jù)通過(guò)K近鄰回歸進(jìn)行填充,并用0值填充與累計(jì)分布函數(shù)的方法進(jìn)行對(duì)比。具體過(guò)程如圖3所示。
圖3 樣本記錄缺失數(shù)據(jù)填充
K近鄰回歸算法是通過(guò)找出一個(gè)樣本的K個(gè)最近的點(diǎn),將這些鄰居的某個(gè)或某些屬性的平均值賦給該樣本,就可以得到該樣本對(duì)應(yīng)屬性的值。K個(gè)最近的點(diǎn)主要通過(guò)距離進(jìn)行度量,常見(jiàn)的3種距離度量方式分別為歐幾里得距離、曼哈頓距離和余弦距離。筆者采用的度量方式為歐幾里得距離。
首先對(duì)模擬的平穩(wěn)隨機(jī)過(guò)程進(jìn)行數(shù)據(jù)處理,得到特征矩陣及其對(duì)應(yīng)的標(biāo)簽。特征矩陣通過(guò)K近鄰算法進(jìn)行模型訓(xùn)練,然后利用該模型進(jìn)行缺失值填充。這種方法的弊端是對(duì)于數(shù)據(jù)集進(jìn)行劃分后,沒(méi)有標(biāo)簽的數(shù)據(jù)無(wú)法進(jìn)行缺失值填充。這會(huì)導(dǎo)致數(shù)據(jù)集進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)可用數(shù)據(jù)數(shù)量變少,但運(yùn)用該方法填充的缺失值較靠近真實(shí)值[14]。當(dāng)經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)訓(xùn)練后,便可利用網(wǎng)絡(luò)對(duì)未填充的數(shù)據(jù)進(jìn)行填充,并對(duì)利用K近鄰方法填充的缺失值重新進(jìn)行賦值。
累積分布函數(shù)方法是在已知數(shù)據(jù)的分布上用隨機(jī)值填充缺失數(shù)據(jù)點(diǎn),如圖4所示。已知數(shù)據(jù)的累積分布函數(shù)(cumulative distribution function,CDF),按照大小順序?qū)?shù)據(jù)進(jìn)行排序,再利用多項(xiàng)式樣條插值連接[15]。隨機(jī)值ai可以通過(guò)式(3)得到。
圖4 累積分布函數(shù)填充缺失值
ai=F-1(X)U(0,1)
(3)
式中:F-1為基于已知數(shù)據(jù)的逆累積函數(shù);U(0,1)為從0到1之間的均勻分布中抽取的隨機(jī)值。
通過(guò)具體的數(shù)值模擬估計(jì)缺失數(shù)據(jù)的平穩(wěn)隨機(jī)過(guò)程的功率譜。經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)還原后的功率譜,不僅可用于生成蒙特卡羅分析的新過(guò)程,還可用于對(duì)其他工程應(yīng)用進(jìn)行頻譜分析,如損傷檢測(cè)[16]。由于通常很難獲得具有單一時(shí)間歷程的過(guò)程的功率譜的平滑近似值,以下示例將假設(shè)有多個(gè)記錄可用。此外,對(duì)于預(yù)期不包含高頻功率的長(zhǎng)時(shí)間歷史數(shù)據(jù),可以分割數(shù)據(jù)以產(chǎn)生相同過(guò)程的多個(gè)記錄。因此,在輸入與已知數(shù)據(jù)的統(tǒng)計(jì)數(shù)據(jù)擬合的初始隨機(jī)輸入集之后,神經(jīng)網(wǎng)絡(luò)直接生成隨機(jī)過(guò)程記錄,可以為蒙特卡羅分析提供更可靠的模擬集。
為了進(jìn)一步說(shuō)明LSTM神經(jīng)網(wǎng)絡(luò)的合理性,選擇另一種全連接神經(jīng)網(wǎng)絡(luò)(fully connected neural network,F(xiàn)NN)與之進(jìn)行對(duì)比。長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)為5層結(jié)構(gòu),輸入層為L(zhǎng)STM層,具有15個(gè)神經(jīng)元,中間三層隱藏層為L(zhǎng)STM層,具有32個(gè)神經(jīng)元,輸出層為全連接層,具有1個(gè)神經(jīng)元。全連接神經(jīng)網(wǎng)絡(luò)為3層結(jié)構(gòu),15個(gè)神經(jīng)元為輸入層,13個(gè)神經(jīng)元位于第一隱藏層,7個(gè)神經(jīng)元位于第二隱藏層,1個(gè)輸出層。兩種神經(jīng)網(wǎng)絡(luò)框架的建立目的是在盡量短的訓(xùn)練時(shí)間下,找到能夠?qū)W習(xí)平穩(wěn)過(guò)程數(shù)據(jù)記錄的最小數(shù)量的神經(jīng)元。
通過(guò)式(1)生成25條樣本路徑,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,該樣本路徑的功率譜路徑與式(4)相兼容。
(4)
式中:σ的取值為1;b的取值為1。
根據(jù)產(chǎn)生的樣本記錄利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),完成對(duì)缺失數(shù)據(jù)的預(yù)測(cè)。經(jīng)過(guò)訓(xùn)練后的網(wǎng)絡(luò)可以填補(bǔ)原始訓(xùn)練樣本中的空白,以提供完整、均勻間隔的時(shí)間歷程,在此基礎(chǔ)上可以執(zhí)行基于FFT的功率譜估計(jì)。然后對(duì)這些單獨(dú)的采樣路徑譜進(jìn)行平均,得到估計(jì)的功率譜。圖5和圖6顯示了25個(gè)樣本記錄下在30%缺失數(shù)據(jù)的情況下進(jìn)行的功率譜估計(jì),可以發(fā)現(xiàn)在兩種神經(jīng)網(wǎng)絡(luò)下都是利用K近鄰回歸填充缺失值進(jìn)行功率譜估計(jì)的效果較好。圖7顯示了兩種神經(jīng)網(wǎng)絡(luò)選擇K近鄰進(jìn)行缺失值填充的功率譜估計(jì),經(jīng)過(guò)對(duì)比可以發(fā)現(xiàn)尤其是與LSTM結(jié)合后的功率譜估計(jì)在30%數(shù)據(jù)的缺失情況下,十分靠近真實(shí)功率譜,觀察頻率變化可以發(fā)現(xiàn),完整數(shù)據(jù)與缺失數(shù)據(jù)幾乎是在同一頻率下達(dá)到功率譜密度最大值處。
圖5 30%缺失數(shù)據(jù)FNN還原功率譜
圖6 30%缺失數(shù)據(jù)LSTM還原功譜
圖7 30%缺失數(shù)據(jù)FNN與LSTM還原功率譜
增大數(shù)據(jù)缺失比例,分析該方法在多大的缺失比例下仍能夠較好地進(jìn)行功率譜估計(jì)。經(jīng)實(shí)驗(yàn)表明在50%缺失數(shù)據(jù)的情況下,K近鄰回歸與LSTM相結(jié)合的方法仍具有良好的表現(xiàn)。圖8和圖9顯示了25個(gè)樣本記錄下在50%缺失數(shù)據(jù)的情況下進(jìn)行的功率譜估計(jì),可以發(fā)現(xiàn)在FNN訓(xùn)練下,已經(jīng)不能夠很好地進(jìn)行功率譜估計(jì),與完整數(shù)據(jù)的功率譜差距過(guò)大。LSTM進(jìn)行缺失數(shù)據(jù)的功率譜估計(jì)效果要優(yōu)于FNN,尤其是與K近鄰回歸結(jié)合后,雖然不能十分貼近完整數(shù)據(jù)的功率譜,但從總體效果來(lái)看,已經(jīng)較好地還原了缺失50%數(shù)據(jù)下的功率譜。圖10顯示了兩種神經(jīng)網(wǎng)絡(luò)選擇K近鄰進(jìn)行缺失值填充的功率譜估計(jì),經(jīng)過(guò)對(duì)比可以發(fā)現(xiàn)與LSTM結(jié)合后的功率譜估計(jì)在50%數(shù)據(jù)的缺失情況下,仍然能夠較好地還原功率譜。與其他方法相比,K近鄰回歸與LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合的方法確實(shí)了解平穩(wěn)過(guò)程的潛在光譜特性,即使在50%數(shù)據(jù)缺失的情況下都得到了較好的譜估計(jì)。
圖8 50%缺失數(shù)據(jù)FNN還原功率譜
圖9 50%缺失數(shù)據(jù)LSTM還原功率譜
圖10 50%缺失數(shù)據(jù)FNN與LSTM還原功率譜
(1)利用K近鄰回歸和LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合的方法來(lái)解決平穩(wěn)隨機(jī)過(guò)程中的數(shù)據(jù)丟失的功率譜估計(jì)問(wèn)題。在平穩(wěn)隨機(jī)過(guò)程的模擬測(cè)試中,該方法能夠?qū)W習(xí)平穩(wěn)隨機(jī)過(guò)程并填補(bǔ)缺失數(shù)據(jù),數(shù)據(jù)點(diǎn)的丟失無(wú)論如何分布都是可行的。
(2)LSTM能夠適應(yīng)應(yīng)用類型,而無(wú)需定義嚴(yán)格的模型參數(shù),如預(yù)期的光譜峰值數(shù)或總光譜功率。LSTM神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)過(guò)程記錄,而且與經(jīng)過(guò)功率譜分析與零值填充、累積分布函數(shù)值填充再與FNN神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法的比較表明,LSTM神經(jīng)網(wǎng)絡(luò)都是優(yōu)越的。
(3)當(dāng)應(yīng)用于數(shù)據(jù)比例缺失過(guò)大時(shí),網(wǎng)絡(luò)需要大量的培訓(xùn),以防止輸出模型欠擬合,這可能需要大量計(jì)算時(shí)間。實(shí)驗(yàn)表明,即使數(shù)據(jù)集中存在50%缺失數(shù)據(jù),也能較好地還原目標(biāo)功率譜。
(4)LSTM神經(jīng)網(wǎng)絡(luò)方法依賴于空間相關(guān)性,需要已知相鄰觀測(cè)點(diǎn)完整數(shù)據(jù)。因此所提出的算法不適用大量的連續(xù)相鄰觀測(cè)點(diǎn)同時(shí)發(fā)生數(shù)據(jù)損失的情況。若相鄰觀測(cè)點(diǎn)的已知信息足夠,則該方法對(duì)于多觀測(cè)點(diǎn)同時(shí)發(fā)生數(shù)據(jù)損失的情況可以適用。因此,接下來(lái)考慮采用其他深度學(xué)習(xí)模型估計(jì)多觀測(cè)點(diǎn)數(shù)據(jù)連續(xù)丟失的情況。