孫曉麗,郭艷,李寧,宋曉祥
(中國(guó)人民解放軍陸軍工程大學(xué), 南京 210007)
近年來(lái),數(shù)據(jù)采集和存儲(chǔ)技術(shù)飛速發(fā)展,為數(shù)據(jù)分析提供了極大便利,但數(shù)據(jù)缺失的現(xiàn)象依舊頻繁發(fā)生,嚴(yán)重影響數(shù)據(jù)分析的精度。特別是在小數(shù)據(jù)集背景下,缺失數(shù)據(jù)的存在將給數(shù)據(jù)分析工作帶來(lái)災(zāi)難性的影響。因此,如何有效地對(duì)缺失數(shù)據(jù)進(jìn)行填充成為亟待解決的關(guān)鍵問(wèn)題。
目前,專家學(xué)者們?cè)诟鱾€(gè)領(lǐng)域進(jìn)行了大量的研究工作,提出了許多有效的缺失數(shù)據(jù)填充方法。插值方法[1-3]將已觀測(cè)到的值擬合成平滑曲線,而后通過(guò)局部插值填充缺失值。該方法會(huì)隨著時(shí)間的推移丟棄變量之間的關(guān)系,導(dǎo)致數(shù)據(jù)填充效果并不理想。另一類則是包括ARIMA(autoregressive integrated moving model)、SARIMA(seasonal ARIMA)[4-5]等在內(nèi)的自回歸方法,此類方法消除了時(shí)間序列數(shù)據(jù)中的非平穩(wěn)部分,擬合出參數(shù)化的平穩(wěn)模型來(lái)填充缺失數(shù)據(jù)。除此之外,文獻(xiàn)[6]采用協(xié)同過(guò)濾的方法對(duì)推薦系統(tǒng)中的缺失值進(jìn)行估計(jì),文獻(xiàn)[7]利用基于正則化的矩陣因子分解方法對(duì)定時(shí)采樣的時(shí)間序列數(shù)據(jù)進(jìn)行缺失值擬合,文獻(xiàn)[8]結(jié)合迭代模型插值技術(shù)提出基于Aitchison距離的k近鄰網(wǎng)絡(luò),文獻(xiàn)[9]提出一種基于隨機(jī)森林算法的迭代插值方法,文獻(xiàn)[10]提出一種基于傅里葉變換和KNN(K-nearest neighbor)算法的時(shí)間序列缺失數(shù)據(jù)補(bǔ)全方法。然而,上述方法只能處理特定的缺失類型和應(yīng)對(duì)較低缺失率的情況。
近年來(lái),基于生成模型的方法在解決缺失數(shù)據(jù)填充問(wèn)題上展現(xiàn)了優(yōu)越的性能。文獻(xiàn)[11]提出一種基于卷積自動(dòng)編碼器(convolutional autoencoder,CAE)的生理波數(shù)據(jù)缺失填充算法。該算法能在大量相鄰的生理波數(shù)據(jù)段缺失的情況下進(jìn)行填充,針對(duì)生理波形而言,該模型結(jié)構(gòu)具有較強(qiáng)的一般性與擴(kuò)展性;文獻(xiàn)[12]提出一種去噪自編碼器(denoising autoencoder,DAE)與生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)相結(jié)合的模型,能夠處理含噪聲的高缺失率工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)。但是,該模型無(wú)法對(duì)高精度的數(shù)據(jù)進(jìn)行填充;文獻(xiàn)[13]提出DAE與堆疊自編碼器(stacked autoencoder,SAE)結(jié)合的模型——堆疊去噪自編碼器(denoising stacked autoencoder, DSAE),通過(guò)將缺失數(shù)據(jù)和觀測(cè)數(shù)據(jù)看作一個(gè)整體恢復(fù)完整數(shù)據(jù),可在不同缺失率情況下保持穩(wěn)定的誤差。但上述方法大都應(yīng)用于大型數(shù)據(jù)集,應(yīng)用到小數(shù)據(jù)集的效果不理想。
基于以上分析,本文提出一種基于改進(jìn)神經(jīng)過(guò)程(modified neural process,MNP)模型的缺失數(shù)據(jù)填充算法。該算法利用改進(jìn)神經(jīng)過(guò)程獲得數(shù)據(jù)的分布函數(shù)模型,并通過(guò)訓(xùn)練來(lái)捕獲對(duì)未觀測(cè)點(diǎn)的不確定性,進(jìn)而對(duì)數(shù)據(jù)缺失值進(jìn)行估計(jì)。在訓(xùn)練階段,根據(jù)缺失率引入采樣率的修正系數(shù),以提高高缺失率情況下的填充效果。仿真結(jié)果表明,缺失數(shù)據(jù)的填充值與真實(shí)值之間具有較低的平均相對(duì)誤差;與其他算法相比,所提算法在高缺失率情況下的填充性能更優(yōu)。
神經(jīng)過(guò)程[14](neural process,NP)是一種結(jié)合了神經(jīng)網(wǎng)絡(luò)(neural network,NN)與高斯過(guò)程(Gaussian process,GP)兩者優(yōu)點(diǎn)的模型?;谏疃壬窠?jīng)網(wǎng)絡(luò)強(qiáng)大的非線性擬合能力以及學(xué)習(xí)高斯過(guò)程的逼近方法,即學(xué)習(xí)在函數(shù)之上建模分布,能夠根據(jù)上下文的觀測(cè)估計(jì)其預(yù)測(cè)的不確定性。因此,NP又被稱為是高斯過(guò)程的深度學(xué)習(xí)版本。
1)將上下文數(shù)據(jù)(xc,yc)通過(guò)神經(jīng)網(wǎng)絡(luò)映射,獲得其表征向量;
2)將獲得的表征向量進(jìn)行聚合,得到單個(gè)表征值r;
3)通過(guò)聚合后的表征值r對(duì)隱向量z進(jìn)行參數(shù)化,使得隱向量z滿足
(1)
圖1 NP模型結(jié)構(gòu)圖Fig.1 NP model structure diagram
NP近似了兩個(gè)分布,隱變量z的變分后驗(yàn)分布q(z|x1:n,y1:n)和其條件先驗(yàn)分布p(z|x1:n,y1:n)[14],以KL散度推導(dǎo)出模型的訓(xùn)練損失函數(shù),并稱之為證據(jù)下界(ELBO),表示為
(2)
設(shè)上下文集表示為(x1:m,y1:m),目標(biāo)集表示為(xm+1:n,ym+1:n),又因?yàn)闂l件先驗(yàn)p(z|x1:m,y1:m)在實(shí)驗(yàn)中難以求得,因此可用變分后驗(yàn)q(z|x1:m,y1:m)近似代替,則有
(3)
GP是處理非平穩(wěn)時(shí)間序列的常用方法,而NP是由GP和NN結(jié)合而成的,是GP的深度學(xué)習(xí)版本。NP通過(guò)NN確定核函數(shù),具有很強(qiáng)的自適應(yīng)性,可以很好地滿足非平穩(wěn)時(shí)間序列對(duì)核函數(shù)的要求。數(shù)據(jù)填充過(guò)程和時(shí)間序列的預(yù)測(cè)過(guò)程具有很高的相似度,可以先應(yīng)用NP在已觀測(cè)數(shù)據(jù)的基礎(chǔ)上對(duì)整體數(shù)據(jù)的分布函數(shù)進(jìn)行擬合,再利用獲得的分布函數(shù)對(duì)缺失數(shù)據(jù)進(jìn)行填充。但為使得在現(xiàn)有數(shù)據(jù)的基礎(chǔ)上更好地反映完整數(shù)據(jù)的分布,需要對(duì)現(xiàn)有的NP進(jìn)行修正。
本文采用基于改進(jìn)神經(jīng)過(guò)程模型——MNP對(duì)缺失數(shù)據(jù)進(jìn)行填充。模型結(jié)構(gòu)圖如圖2所示。其中,實(shí)線部分為訓(xùn)練過(guò)程,虛線部分為填充過(guò)程,填充過(guò)程中的Encoder_r、Encoder是經(jīng)過(guò)訓(xùn)練過(guò)程學(xué)習(xí)得到的,與訓(xùn)練過(guò)程中的結(jié)構(gòu)完全相同。圖2中變量含義如表1所示。
圖2 MNP結(jié)構(gòu)框圖Fig.2 MNP model structure diagram
MNP算法在NP的基礎(chǔ)上增加填充階段,引入修正系數(shù),使其在高缺失率的情況下能高效地對(duì)缺失數(shù)據(jù)進(jìn)行填充。訓(xùn)練過(guò)程中,以k為采樣比對(duì)觀測(cè)數(shù)據(jù)進(jìn)行隨機(jī)采樣,將其分為上下文集和目標(biāo)集兩部分。在計(jì)算模型的概率損失函數(shù)時(shí),目標(biāo)集也參與其中,這使得損失函數(shù)有意義,也有助于防止模型過(guò)擬合。并且在訓(xùn)練的過(guò)程中,反復(fù)以k為采樣比對(duì)觀測(cè)數(shù)據(jù)進(jìn)行隨機(jī)采樣,使得上下文集對(duì)觀測(cè)數(shù)據(jù)集有更為全面的概括,從而能更好地實(shí)現(xiàn)對(duì)觀測(cè)數(shù)據(jù)集分布的描述;對(duì)上下文集進(jìn)行學(xué)習(xí),提取數(shù)據(jù)的特征,使得上下文集數(shù)據(jù)的分布近似觀測(cè)數(shù)據(jù)的分布。填充階段,將缺失數(shù)據(jù)近似作目標(biāo)集,觀測(cè)數(shù)據(jù)近似作上下文集。利用訓(xùn)練好的網(wǎng)絡(luò)對(duì)觀測(cè)數(shù)據(jù)進(jìn)行特征提取,并根據(jù)提取的特征對(duì)缺失數(shù)據(jù)進(jìn)行填充。具體算法過(guò)程如表2所示。
表1 變量說(shuō)明Table 1 Variable declaration
表2 MNP算法過(guò)程Table 2 MNP algorithm process
MNP模型繼續(xù)沿用NP訓(xùn)練損失函數(shù),在此處表示為
(4)
海洋表面溫度(sea surface temperature,SST)是海洋的重要物理參數(shù),在大氣與海洋間的能量交換過(guò)程中扮演著重要的角色,是決定海氣相互作用及氣候變化的主要因素[15]。SST數(shù)據(jù)集[16]是由熱帶大氣海洋項(xiàng)目的實(shí)測(cè)數(shù)據(jù)組成的,采樣頻率為1 h。從中選取1 000個(gè)連續(xù)采樣的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)。SST數(shù)據(jù)現(xiàn)已廣泛應(yīng)用于多個(gè)領(lǐng)域,如赤潮研究、氣候變化研究、海洋表面特征的解釋以及各種勘察結(jié)果的解釋。因此,監(jiān)測(cè)海洋表面溫度的變化,提供完整準(zhǔn)確的海洋表面溫度,對(duì)了解地區(qū)氣候變化以及各種其他的海洋工作有重要意義。
北京PM2.5含量數(shù)據(jù)集是經(jīng)由北京大學(xué)統(tǒng)計(jì)科學(xué)中心上傳至UCI[17]數(shù)據(jù)庫(kù)中,記錄從2010年1月1日至2014年12月31日以1 h為采樣頻率記錄的實(shí)時(shí)北京PM2.5含量值。
本文選擇使用SST、北京PM2.5含量數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),以小數(shù)據(jù)集為背景,選取其中一個(gè)變量屬性,分別從完整數(shù)據(jù)集中選取1 000個(gè)連續(xù)采樣的數(shù)據(jù)作為時(shí)間序列,以此作為實(shí)驗(yàn)數(shù)據(jù)進(jìn)行缺失數(shù)據(jù)填充的實(shí)驗(yàn)。
為了更好地反映缺失數(shù)據(jù)填充的效果,采用3種不同的方法對(duì)結(jié)果進(jìn)行評(píng)價(jià):均方誤差(MSE)、平均相對(duì)誤差(MRE)以及平均絕對(duì)誤差(MAE),分別定義為:
(5)
(6)
(7)
其中:N表示缺失值的數(shù)量,y為真實(shí)值,y*為模型估計(jì)的填充值。
本文選取SST數(shù)據(jù)和北京PM2.5含量數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),并對(duì)其進(jìn)行預(yù)處理,然后對(duì)數(shù)據(jù)進(jìn)行歸一化,并將其按照缺失率為10%、20%、30%、40%、50%、60%、70%、80%、90%進(jìn)行處理。
歸一化過(guò)程具體表示為
(8)
本文實(shí)驗(yàn)分為3組,第1組實(shí)驗(yàn)為確定修正系數(shù)α的大小,進(jìn)而確定修正后采樣比k值的大小,即確定訓(xùn)練過(guò)程中所用數(shù)據(jù)集的大小;第2組為在確定修正后采樣比k的情況下,各缺失率條件下的數(shù)據(jù)填充效果;第3組實(shí)驗(yàn)為本文模型與現(xiàn)有缺失數(shù)據(jù)填充模型的對(duì)比實(shí)驗(yàn)。
定義k為
k=α×λ,
(9)
且k滿足
(10)
其中,λ為采樣率,α為修正系數(shù),且α滿足α=f(δ),δ為缺失率。將訓(xùn)練集按照一定的采樣率采樣得到目標(biāo)集(target),剩余數(shù)據(jù)作為上下文集(context)。
對(duì)α進(jìn)行兩種情況下的分析:
1)針對(duì)不同的缺失率,k是固定不變的,即α=1;
2)k隨缺失率的變化而變化,即α是δ的分段函數(shù)。
在訓(xùn)練過(guò)程中,通過(guò)NP模型對(duì)context集進(jìn)行學(xué)習(xí),利用target集的回歸誤差更新模型參數(shù),進(jìn)而獲得整個(gè)訓(xùn)練集的數(shù)據(jù)分布函數(shù)。而填充階段則根據(jù)訓(xùn)練階段所學(xué)習(xí)的模型參數(shù),估計(jì)需要的缺失值。在這兩個(gè)過(guò)程中,存在兩個(gè)比例:
一方面,要求估計(jì)的缺失值與真實(shí)值之間的MRE最小,誤差越小說(shuō)明填充效果越好;另一方面,從模型本身出發(fā),通過(guò)學(xué)習(xí)觀測(cè)值的分布對(duì)缺失數(shù)據(jù)進(jìn)行填充,要求訓(xùn)練過(guò)程中target數(shù)據(jù)的估計(jì)值誤差與填充過(guò)程中缺失數(shù)據(jù)的估計(jì)值誤差差值盡可能小,差值越小說(shuō)明填充效果越好。
MSE與MAE描述的是估計(jì)值與真實(shí)值之間的絕對(duì)誤差,而MRE描述兩者之間的相對(duì)誤差,不受數(shù)據(jù)歸一化的影響。因此,為了更好地體現(xiàn)出所提算法的有效性,實(shí)驗(yàn)以MRE為主要評(píng)價(jià)標(biāo)準(zhǔn)對(duì)算法的填充效果進(jìn)行評(píng)價(jià)。以SST數(shù)據(jù)和北京PM2.5含量數(shù)據(jù)為實(shí)驗(yàn)數(shù)據(jù),對(duì)模型的性能進(jìn)行檢驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 不同k不同缺失率情況下,訓(xùn)練與填充階段估計(jì)數(shù)據(jù)的MRE誤差情況Fig.3 MRE errors of data estimated during training and imputing under different k and missing rates
由實(shí)驗(yàn)結(jié)果可以看出,SST數(shù)據(jù)集與北京PM2.5含量數(shù)據(jù)集在不同缺失率情況下的實(shí)驗(yàn)效果較為一致,填充效果均隨k值的變化而改變。隨著缺失率的升高,整體的MRE呈現(xiàn)上升趨勢(shì),在個(gè)別k值處出現(xiàn)效果不好的點(diǎn)。
在圖3(a)、3(b)中,當(dāng)k=0.1,在缺失率為20%、90%時(shí)訓(xùn)練階段與填充階段估計(jì)數(shù)據(jù)的誤差過(guò)大;k=0.3,缺失率為30%、70%、90%時(shí)的差值同樣過(guò)大,且在30%、90%時(shí)缺失數(shù)據(jù)的估計(jì)值MRE誤差過(guò)大;k=0.9在缺失率為60%時(shí)缺失數(shù)據(jù)估計(jì)值的MRE過(guò)大。圖3(c)、3(d)中,當(dāng)k=0.1時(shí),算法在缺失率為50%處的填充誤差較大,且在50%、80%、90%處的訓(xùn)練階段與填充階段估計(jì)數(shù)據(jù)的誤差過(guò)大;當(dāng)k=0.3時(shí),算法在缺失率為60%、80%處的填充誤差較大,且在80%處的差值同樣存在較大的情況;當(dāng)k=0.5時(shí),在缺失率為30%、90%處的填充誤差較大,且在30%處的訓(xùn)練階段與填充階段估計(jì)數(shù)據(jù)的誤差過(guò)大。由此可以看出,在固定k不變時(shí),算法不能保證多個(gè)缺失率情況下缺失數(shù)據(jù)的填充效果。當(dāng)k隨缺失率變化,即α是δ的分段函數(shù)時(shí),算法的適應(yīng)性更強(qiáng)。結(jié)合實(shí)驗(yàn)結(jié)果,可在每個(gè)缺失率處找到一個(gè)合適的k值。結(jié)果如表3所示,選定k值后結(jié)果如圖4所示。
表3 不同缺失率情況下k的取值情況Table 3 k values at different miss rates
圖4 不同缺失率情況下,固定k值與特定k值,訓(xùn)練與填充階段估計(jì)數(shù)據(jù)的MRE誤差情況Fig.4 MRE error of data estimated during training and imputing phase in the case of fixed k value and specific k value at different missing rates
通過(guò)實(shí)驗(yàn)1可確定在不同缺失率的情況下k的取值。由圖4可以看出,在兩種不同數(shù)據(jù)集上得到的實(shí)驗(yàn)數(shù)據(jù)是一致的,因此在本實(shí)驗(yàn)中,僅在SST數(shù)據(jù)的基礎(chǔ)上針對(duì)不同缺失率對(duì)缺失數(shù)據(jù)進(jìn)行填充,實(shí)驗(yàn)效果如表4所示。
由實(shí)驗(yàn)結(jié)果可以看出,所提算法能夠在不同缺失率情況下實(shí)現(xiàn)缺失數(shù)據(jù)的填充。伴隨著缺失率的升高,MAE與MSE的變化相對(duì)較為穩(wěn)定,MRE隨著缺失率的升高有所增大,但漲幅并不大,在可接受范圍內(nèi)。因此,該實(shí)驗(yàn)證明所提算法在不同缺失率情況下均能取得很好的效果。
為驗(yàn)證所用模型的有效性,在兩種不同的數(shù)據(jù)集上做了以下對(duì)比試驗(yàn)。所對(duì)比的方法有:1)稀疏貝葉斯算法[18](sparse bayesian learning,SBL);2)遞歸神經(jīng)網(wǎng)絡(luò)[19](recurrent neural network, RNN);3)神經(jīng)過(guò)程(NP)。4種算法在不同缺失率情況下的RMSE對(duì)比如表5所示,高缺失率情況下的RMES比較如圖5所示。
表4 不同缺失率情況下缺失值填充誤差Table 4 Imputing error of missing value with different missing rates
由實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),在兩種不同的小數(shù)據(jù)集上,4種算法均可實(shí)現(xiàn)缺失數(shù)據(jù)的填充,但是填充效果存在較大的差異。SBL算法可以處理缺失率較低的數(shù)據(jù)集,且精度要求不能過(guò)高;RNN算法在不同缺失率下的填充效果相較于SBL而言更優(yōu);基于NP模型的填充算法,其效果時(shí)而介于兩者之間,時(shí)而優(yōu)于RNN。不難發(fā)現(xiàn),雖然SBL、RNN、NP 3種算法填充的缺失數(shù)據(jù)誤差都隨著缺失率的升高而增加,但MNP算法的填充誤差能在不同缺失率的情況下保持相對(duì)穩(wěn)定,且在每個(gè)缺失率下的誤差均為最??;特別是在高缺失率的情況下,MNP的優(yōu)勢(shì)更加顯著。同時(shí),可以看出MNP的性能較NP算法有所提升,提高了填充精度,體現(xiàn)了修正系數(shù)的作用。并且,將4種算法應(yīng)用于不同的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),由圖5可以看出,所提算法在高缺失率情況下,填充效果最優(yōu),NP與RNN效果相近,而SBL在高缺失率情況下的填充效果不佳;并且在高缺失率情況下,MNP在不同的實(shí)驗(yàn)數(shù)據(jù)集上具有相同的優(yōu)異效果。
表5 不同缺失率下4種填充算法的RMSE對(duì)比Table 5 RMSE comparison of four imputing algorithms under different missing rates
圖5 高缺失率條件下4種算法的RMSE比較Fig.5 RMSE comparison of four algorithms with high missing rates
總體而言,基于MNP的填充算法能夠在不同缺失率情況下有相對(duì)穩(wěn)定的誤差,且在高缺失率的情況下,MNP的性能優(yōu)勢(shì)更加顯著。
本文提出一種基于改進(jìn)神經(jīng)過(guò)程的缺失數(shù)據(jù)填充算法,該算法將神經(jīng)網(wǎng)絡(luò)和高斯過(guò)程推理結(jié)合起來(lái),彌補(bǔ)了兩者的缺點(diǎn),使其在小數(shù)據(jù)集背景下能夠逼近多種不同的隨機(jī)分布;該算法在NP的基礎(chǔ)上增加填充過(guò)程,通過(guò)對(duì)觀測(cè)數(shù)據(jù)的學(xué)習(xí)得到合適的分布,以此分布對(duì)缺失數(shù)據(jù)進(jìn)行填充;算法通過(guò)引入修正系數(shù)α,提高了高缺失率情況下缺失數(shù)據(jù)的填充精度。該算法能在不同缺失率情況下有相對(duì)穩(wěn)定的誤差,且在高缺失率的情況下,MNP的性能優(yōu)勢(shì)更加顯著。
由于修正系數(shù)為MNP模型的超參數(shù),無(wú)法在訓(xùn)練階段靈活地修改,使其缺少自適應(yīng)性。并且,算法的應(yīng)用背景是在單變量時(shí)間序列,缺乏多變量間的信息互反饋能力。因此,下一步的研究方向?yàn)槭剐拚禂?shù)更具有自適應(yīng)能力,增加模型的信息互反饋過(guò)程,從而解決多變量時(shí)間序列的缺失數(shù)據(jù)填充問(wèn)題。
中國(guó)科學(xué)院大學(xué)學(xué)報(bào)2021年2期