鄧子畏,唐朝暉,朱紅求,趙于前,2
(1.中南大學自動化學院,湖南長沙,410083;2.湖南省高強度緊固件智能制造工程技術(shù)研究中心,湖南常德,415701)
近年來,隨著物聯(lián)網(wǎng)等信息技術(shù)的發(fā)展,在工業(yè)過程中積累了大量的數(shù)據(jù),充分利用這些工業(yè)大數(shù)據(jù)對推動生產(chǎn)過程智能化具有重要意義[1?6]。然而,由于實際應用中采集的大數(shù)據(jù)中不可避免地存在缺失值,嚴重影響了大數(shù)據(jù)分析、建模效果,因此,對缺失數(shù)據(jù)進行治理對于準確地建立數(shù)據(jù)模型尤為必要。以混凝土泵車為例,其運行過程中采集的數(shù)據(jù)由于受數(shù)據(jù)采集過程中傳感器異常以及數(shù)據(jù)傳輸過程中數(shù)據(jù)丟失等影響,造成數(shù)據(jù)不完備問題,影響了遠程監(jiān)控、生產(chǎn)管理分析以及基于數(shù)據(jù)的故障診斷等應用效果,并且混凝土泵車的數(shù)據(jù)通常缺失比例偏大,進一步給大數(shù)據(jù)的應用帶來了極大困難,因此,研究缺失數(shù)據(jù)的填充方法尤為必要[7]。缺失數(shù)據(jù)恢復是數(shù)據(jù)分析研究的一個熱點問題,也是基于數(shù)據(jù)的分析處理方法的基礎。目前,人們對有關缺失值處理方法進行了大量研究,針對不同的應用場景,提出了一系列解決方法[8?9],如位數(shù)/眾數(shù)/均值插補法、基于分層模型的缺失數(shù)據(jù)插補方法[10]、貝葉斯網(wǎng)絡和時間序列法等[11]。楊巧巧等[12]將SNM 算法用于相似重復記錄數(shù)據(jù)的清洗。蔣輝等[11]在基于樸素貝葉斯方法訓練初始數(shù)據(jù)集的基礎上,對每個可能缺失的變量構(gòu)建相應的單變量預測估計模型來填充缺失值。BATISTA 等[13]將KNN 方法運用于丟失數(shù)據(jù)的填充。李正欣等[14]利用最小二乘支持向量機分別進行多變量填補和單變量填補,并根據(jù)填補結(jié)果的差異度,提出一種組合閾值填補方法。呂政等[15]針對鋼鐵企業(yè)副產(chǎn)煤氣的發(fā)生、消耗流量數(shù)據(jù)出現(xiàn)的缺失情況,通過分析相似工況下能源流量數(shù)據(jù)的相關特性,提出一種基于最大方差權(quán)信息系數(shù)的冶金企業(yè)副產(chǎn)煤氣系統(tǒng)流量數(shù)據(jù)填補方法。鄒薇等[16]利用樸素貝葉斯模型改進了EM缺失數(shù)據(jù)填充算法。本文作者針對混凝土泵車的數(shù)據(jù)特點,在分析EM算法的基礎上研究缺失數(shù)據(jù)的填充算法,提出一種基于隨機過程改進的EM缺失數(shù)據(jù)填充算法,使其更有效地填充修復缺失數(shù)據(jù)。最后,將所提出算法應用于混凝土泵車實際運行數(shù)據(jù)填充,并與均值填充法和基于原始EM算法的缺失數(shù)據(jù)填充進行比較,驗證本文所提算法的有效性。
EM算法是一種應用較廣泛的缺失數(shù)據(jù)填充算法,通過迭代尋找數(shù)據(jù)分布參數(shù)θ和缺失值z的可能最大似然性。但當缺失的信息量很大或完全數(shù)據(jù)對數(shù)似然的估計本身比較復雜時,EM算法的收斂速度會很慢。同時,EM算法十分依賴于待估參數(shù)給定的初始值,若初始值設定不好,可能導致算法不收斂,因此,在數(shù)據(jù)相互依賴度較強、不完整度較高、初始值設定不準等情況下,該方法效率會大大降低。為了解決上述算法收斂及準確性的問題,本文引入隨機過程近似的辦法來改進EM算法,以提高數(shù)據(jù)填補的準確性。
在數(shù)理統(tǒng)計中,最大似然估計(the maximum likelihood estimation,MLE)具有合理性與易操作性等特點,常被用于根據(jù)樣本數(shù)據(jù)估計總體分布的某個或某幾個關鍵參數(shù),從而達到通過樣本來分析總體數(shù)據(jù)的目的[17]。MLE 是一種非常有效的參數(shù)估計方法,但當數(shù)據(jù)中有缺失值時,求取MLE十分困難。EM 算法可以將估計過程分為2 步:第一步求期望,以便將多余的部分去除;第二步求似然函數(shù)的極大值。
假設觀察到的有缺失值的泵車數(shù)據(jù)x服從某種概率分布,z表示缺失數(shù)據(jù),因此,在EM算法中,(x,z)被認為是完全數(shù)據(jù)。函數(shù)f(x;z;θ)表示取決于參數(shù)θ的完整數(shù)據(jù)的聯(lián)合分布。構(gòu)造新的密度函數(shù),就可以定義新的似然函數(shù):
式(1)是不完整數(shù)據(jù)的似然函數(shù),目標是找到合適的使得邊際似然函數(shù)L(θ)取到最大值。EM算法分2步即E步和M步,具體步驟如下。
1)期望步(E 步)。在已有數(shù)據(jù)x和第i-1 步即當前估計值θ=θ(i)的條件下,求基于完全數(shù)據(jù)的對數(shù)似然函數(shù)L(x;z;θ)期望(對與z有關的部分積分):2)最大化步(M步)。求Q(θ,θ(i))關于θ的最大值θ(i+1),即找θ(i+1)使得
這樣就完成了1 次由θ(i)到θ(i+1)的迭代。再返回E 步,直到滿足停止條件為止。在一定條件下,給定初始值θ(0),EM 算法將產(chǎn)生一系列最終收斂于的估計值序列{θ(0),θ(1),θ(2),…}。
EM 算法的核心就是利用缺失值(引入的潛變量z來最大化隨機效應函數(shù)Q(θ,θ(i)),避開了棘手的最大化似然函數(shù)L(θ;x)的問題。
引入隨機過程的原理來改進EM算法。首先模擬生成一系列樣本即缺失值。模擬生成數(shù)據(jù)有很多種方法,但為了更好地從數(shù)據(jù)分布中生成樣本,選用馬爾科夫鏈蒙特卡絡方法(即MCMC 算法,Markov Chain Monte Carlo)。其基本思想是:構(gòu)造一條Markov 鏈,使其平穩(wěn)分布為待估參數(shù)的后驗分布,通過這條馬爾科夫鏈產(chǎn)生后驗分布的樣本,并對基于馬爾科夫鏈達到平穩(wěn)分布時的樣本(有效樣本)進行蒙特卡洛積分。
MCMC 算法的步驟為:首先構(gòu)造1 條Markov鏈并且其收斂到平穩(wěn)分布π(x)。從樣本空間中的某一點θ(0)出發(fā),用上述Markov 鏈進行抽樣模擬產(chǎn)生點序列,也就是{θ(0),θ(1),θ(2),…}。最后,進行蒙特卡洛積分。任意函數(shù)f(x)的期望估計為
其中:t為迭代次數(shù)。
MCMC 主要包括Metropolis-Hastings 算法[18]和Gibbs[19]采樣2 種方法,它們是作為一種從高維復雜概率分布中近似采樣的方法,常用于求解數(shù)學和物理問題的數(shù)值解,如概率統(tǒng)計上的期望、微分方程的解等。本文采用Metropolis-Hastings 算法進行求解。
EM算法在運用于實際情況時,所得結(jié)果容易受初始值設定的影響。為了避免這一問題,將隨機過程引入EM算法,提出改進的EM算法,使用MCMC 代替地估計缺失值。利用該方法的優(yōu)勢提高缺失值估計精度。
所提算法仍可分為期望(E)步和最大化(M)步。而本算法的期望步可以進一步細分為模擬步與隨機近似步2步。
1)期望步(E步)分為模擬步和隨機近似步。
模擬步:從 MCMC 算法轉(zhuǎn)移矩陣Πx,θ(i-1)(z(x,i,k-1),?)中抽樣到模擬數(shù)據(jù)。
隨機近似步:
2)最大化步(M步):
一階導與二階偏導數(shù)可由完整數(shù)據(jù)的似然函數(shù)lc(θ;x;z)得出。對L(θ;x)取對數(shù)并對θ求一階偏導數(shù)即得分方程:
其中:Sθ(θ;x)=?θlc(θ;x,z);E[?|x,θ]表示缺失數(shù)據(jù)條件分布f(z|X=x,θ)的期望。求導記為
則方程的二階偏導為
其中:a?2=aaT;Iθθ(θ,z)=-?2θlc(θ;x,z),表示完整數(shù)據(jù)的信息矩陣。在第i次迭代時,θ(i)表示當前對θ的估計;h(i)表示當前sθ(;x);Γ(i)(t)表示當前對的估計。假設Πx,θ(?,?)是給定x和θ情況下生成的z轉(zhuǎn)移概率矩陣,具體求解步驟如下。
1)在第i次迭代時,設z(i,0)=z(i-1,Ni-1)。轉(zhuǎn)移概率矩陣Πx,θ(i-1)(z(x,i,k-1),?)中生成z(i)=(z(i,1),…,z(i,Ni))。
2)更新估計值如下:t∈[0,1];
其中:
式(10)和(11)中,常數(shù)序列{γi}滿足:對所有γi有且馬爾科夫改進EM 算法的一個特點就是其應用了常數(shù)序列{γi}來模擬步驟2中可能存在的噪聲??梢姡瑓?shù)的更新求解方式得到改進。傳統(tǒng)EM算法主要是使用似然函數(shù)完成期望最大化迭代更新,而所提方法主要借助MCMC利用求導和轉(zhuǎn)移概率矩陣進行估計。本文提出的改進算法流程如下。
輸入:MCMC轉(zhuǎn)移矩陣;缺失數(shù)據(jù)集x輸出:EM填充的完整數(shù)據(jù)集(x,z)1:初始估計:θ= θ(0)2:重復3:E步:4:{模擬步:從MCMC矩陣中采樣z的初始估計}5:{近似步:通過式(5)將其與隨機變量合并}6:M步:7:通過式(10)最大化估計8:直到收斂9:返回最佳參數(shù)向量(x,z)
這里使用的實驗數(shù)據(jù)均來自于實際生產(chǎn)場景中混凝土泵車傳回來的數(shù)據(jù)。每個信號量文件內(nèi)都包含各自特定屬性以及3個基本屬性即發(fā)送時間戳、設備編號和項目編號。具體信號的屬性示例數(shù)據(jù)如表1所示。
為了驗證所提方法的有效性,將數(shù)據(jù)分為訓練集、測試集和驗證集,通過循環(huán)迭代優(yōu)化模型[20]。實時采集泵車運行數(shù)據(jù),人為地按一定比例隨機模擬數(shù)據(jù)異常或數(shù)據(jù)丟失,訓練集、測試集和驗證集比例分別為10%,15%和20%。然后,將模型填補的重構(gòu)缺失值與原始數(shù)據(jù)進行比較,進而對算法的填充效果進行評價。
表1 不同信號量文件字段及示例數(shù)據(jù)Table 1 Different semaphore file fields and sample data
液壓油溫和發(fā)動機轉(zhuǎn)速分別如圖1和圖2所示。
圖1 設備液壓油溫變化曲線Fig.1 Temperature change curve of equipment hydraulic oil
圖2 發(fā)動機轉(zhuǎn)速變化曲線Fig.2 Engine rotating speed change curve
其次,分別對3臺設備的液壓油溫和發(fā)動機轉(zhuǎn)速進行描述統(tǒng)計分析。本文選用平均絕對離差Mad、標準平均離差平方Rmse和標準方差Sd這3個統(tǒng)計量作為評價標準。具體定義如下。
1)平均絕對離差Mad:
其中:為第i個缺失值的估計值;yi為其對應的真值;n0為缺失值總數(shù)。
2)標準平均離差平方和Rmse:
3)標準差Sd:
其中:為樣本yi的平均值。
采用均值填充算法、EM填充算法和本文提出的算法對液壓油溫和發(fā)動機轉(zhuǎn)速的缺失數(shù)據(jù)進行填充補全后,得到的結(jié)果如表2所示。從表2可以看出:在不同缺失率下,本文提出的改進EM算法填充的標準偏差最接近完整數(shù)據(jù)集的標準偏差,EM算法的標準偏差次之,均值填充算法的標準偏差最大。因此,本文提出的算法具有較高的準確度和穩(wěn)定性。
表2 3種填充方法的比較結(jié)果(標準差)Table 2 Comparison results of three filling methods(Sd)
此外,還計算出不同填充方法的Mad與Rmse并進行對比,如表3所示。從表3可以看出:本文提出的改進EM算法的Mad與Rmse在3種數(shù)據(jù)缺失率下均比均值填充和EM 算法的低,但隨著缺失率增大,填充準確率略有減小。為了更加直觀地比較3種方法在不同缺失率下的效果,圖3和圖4所示分別為液壓油溫填補結(jié)果Mad和Rmse的對比。顯然,本文所提方法的Mad和Rmse均為最小,證明了本文所提方法的有效性。
表3 液壓油溫填補結(jié)果比較Table 3 Comparison results of hydraulic oil temperature filling
圖3 液壓油溫填補Mad比較Fig.3 Comparison results of Mad of hydraulic oil temperature filling
圖4 液壓油溫填補Rmse比較Fig.4 Comparison results of Rmse of hydraulic oil temperature filling
1)在混凝土泵車遠程監(jiān)控數(shù)據(jù)在數(shù)據(jù)采集以及傳輸過程中,會不可避免地存在數(shù)據(jù)異常和數(shù)據(jù)丟失現(xiàn)象。針對該問題,將MCMC 方法和EM算法結(jié)合,提出一種基于隨機過程的EM缺失數(shù)據(jù)填充算法,通過引入隨機過程近似的辦法來改進EM算法的填充效果。首先,在期望步中,MCMC矩陣中采樣生成缺失值。然后,將該值代入進行隨機近似模擬以更新估計值,并在最大化步中通過反復迭代得到最大化估計值作為重構(gòu)值來填充缺失數(shù)據(jù)。最后,采用實際的遠程監(jiān)控數(shù)據(jù)對所提方法進行驗證分析,并與均值填充方法和EM填充方法進行比較。
2)改進的EM算法的Mad與Rmse在3種數(shù)據(jù)缺失率下均比均值填充和EM算法的低,但是隨著缺失率增大,填充準確率略下降,表明該改進填充方法可以較好地提高EM 算法的性能,有效解決了EM算法依賴初始值設定的問題,提高了填充數(shù)據(jù)的準確率。