汪春華,馮焱俠
(1.西安航空學院電子工程學院,陜西西安 710077;2.西安理工大學自動化與信息工程學院,陜西西安 710048)
時間序列分析方法在金融、工業(yè)領域的數據分析中具有重要的應用價值。該方法根據系統(tǒng)有限長度的觀察數據,建立可反映序列中隱含的動態(tài)依存關系的數學模型[1-2]。然而常見的時間序列具有一定的隨機和波動性。隨機性一般可看作是噪聲干擾項,通常認為是傳感器產生的隨機噪聲。為了提高時間序列處理和分析的準確性,需要對噪聲進行去除。
時間序列中的去噪方法包括傳統(tǒng)的中值濾波、均值濾波以及維納濾波、卡爾曼濾波等。其中維納濾波和卡爾曼濾波基于時間序列的自相關性,具有較好的去噪效果,但僅適用于平穩(wěn)時間序列。小波變換也可用于噪聲的去除,通過對序列進行時間尺度的分解,尋找不同時間尺度下的特性,具有較高的準確性,其缺點是需要設定基函數[3]。
近年來,時間序列分解技術得到了廣泛關注。這里,經驗模態(tài)分解(EMD)將具有不同時間尺度的信號逐級分解,不需要復雜的遞推迭代和矩陣運算,其缺點是易產生虛假分量和模態(tài)混疊等[4]。集合經驗模態(tài)分解(EEMD)在采樣頻率較高時去噪性能優(yōu)于EMD,缺點是存在端點效應等問題[5]。變分模態(tài)分解(VMD)采用非遞歸的形式,假設每個模態(tài)具有各自中心頻率,尋找可再現輸入信號所有模式的集合[6]。VMD分解的缺點是無法確定分解的模態(tài),影響了時間序列分解的可靠性。
本文結合改進VMD 方法和維納濾波實現時間序列隨機噪聲的去除。首先,提出基于余量序列和其它固有模態(tài)分量之間的互相關性,建立VMD 模態(tài)個數估計模型;其次,采用VMD方法對序列分解,實現平穩(wěn)化并去除高頻噪聲;然后采用維納濾波對各模態(tài)序列消噪;最后就仿真和實測數據對提出的去噪模型進行驗證。
VMD 將原始時間序列數據分解為若干個固定模態(tài)分量(IMF),每個IMF 都為調頻調幅子序列,將各個IMF解調到各自的基頻帶寬上以實現各個模態(tài)帶寬之和最小,且滿足模態(tài)重構組合之后近似等于原始信號[6]。VMD求解包括變分構造和變分求解.
a)變分構造
假設通過分解得到K個模態(tài)分量uk(t),k=1,2,…,K,以各個模態(tài)所占帶寬之和最小為目標,尋找最優(yōu)IMF分量。
1)對模態(tài)分量uk(t)進行Hilbert變換,得到各個IMF的解析信號和對應的單邊譜:
其中,δ(t)表示單位沖擊信號。
2)假設每個模態(tài)的中心頻率為ωk,對其乘指數項使其頻譜調制到各自的基頻:
3)計算K個模態(tài)信號帶寬,通過求解上述調制后信號梯度的2范數得到變分約束問題:
其中,ωk和uk(t)分別表示模態(tài)中心頻率和模態(tài)分量IMF,f(t)表示原始信號。
b)變分求解
結合拉格朗日乘子法以及二次乘法算子交替算法,將變分約束問題變換成非約束問題,首先,對約束問題引入拉格朗日乘法算子θ(t)和懲罰因子C,則非約束問題如下:
式中,懲罰因子可使信號重構時有較高精度,拉格朗日乘法算子使得約束條件更加嚴格。
對式(4)采用乘法算子交替算法進行求解,然后利用2范數下Parseval/Plancherel 傅里葉等距法變換到頻域,最終可得到其二次問題的解為:
VMD中所求的各個模態(tài)和中心頻率在頻域內迭代,最終通過傅里葉逆變換從頻域得到時域解;各個模態(tài)的中心頻率作為其功率譜的中心,不斷循環(huán)迭代[7-10]。這里,拉格朗日乘法算子的更新公式如下所示:
這里,當學習因子τ為非零值時,可保證得到的各個模態(tài)具有較高的重構精度。
作為一種非遞歸分解方式,VMD的分解模態(tài)個數需要人為設定,這種分解個數非自適應問題是VMD的一個缺陷。當設定的模態(tài)個數過小時,出現欠分解,信號中的多個時間尺度的分量可能出現在同一個模態(tài)中;反之當模態(tài)個數過大時,某個模態(tài)分量可能存在于多個模態(tài)分量中,出現頻譜斷裂現象。目前對于模態(tài)個數估計尚缺乏通用且準確的方法[11-12]。
互相關系數可以表示兩個時間序列的相關程度。當兩個時間序列相似度越高,含有的頻率成分越接近,互相關系數越接近于1[13-18]。當分解模態(tài)個數最優(yōu)時,使用VMD 對序列進行分解之后,得到的余量可視為噪聲,除去余量的其它模態(tài)序列不具有高頻噪聲分量,且余量與其它IMF 之間不相關[19]?;诖?,本文采用互相關系數來確定模態(tài)個數K。假設經VMD 分解得到的余量序列為c(n),其它模態(tài)分量重構的序列為f(n),則二者的互相關函數為:
其中,N為序列模態(tài)個數,m為時間間隔。對Rcf(m)進行標準化得到標準互相關函數:
其中,Rcc(0)和Rff(0)分別為兩個模態(tài)序列的自相關函數。由于時間間隔m為1時,序列之間的相關性最大,故本文取時間間隔m為1時互相關函數的值作為互相關系數,以此確定最優(yōu)模態(tài)分解個數,即:
維納濾波是基于最小均方誤差基礎上,基于時間序列相關性以及噪聲與信號之間的非相關性設計濾波器。維納濾波適用于加性噪聲的去除,通過設計濾波器的傳遞函數使得輸出盡可能接近原信號。維納濾波器一般采用變換域求解方法,在最小均方誤差基礎上,求解傳遞函數。理論上,任何信號都可認為是白噪聲產生的,如圖1所示。假設白噪聲的自相關序列為:
圖1 信號的白噪聲產生模型
則信號s(n)自相關序列的z變換為:
圖2是維納濾波的Z域求解框圖。很顯然,其濾波函數可寫為:
圖2 維納濾波的Z域求解
對于實際的因果信號,其最優(yōu)濾波函數可寫為:
維納濾波的優(yōu)點是最小均方誤差意義下的最優(yōu)濾波器。其缺點是要求時間序列為平穩(wěn)序列,對于非平穩(wěn)信號的濾波效果較差。本文建立VMD-維納濾波的去噪模型,首先采用VMD分解原信號,消除非平穩(wěn)性,然后采用維納濾波去噪。
本文結合改進VMD 和維納濾波實現時間序列去噪的流程如下:
1)采用互相關系數的計算公式(9),確定VMD 分解的最優(yōu)模態(tài)個數。
2)采用VMD 對時間序列進行分解,實現平穩(wěn)化并消除高頻的余量序列。
3)采用維納濾波的公式(13)對各模態(tài)序列分別進行濾波。
4)對濾波后的模態(tài)序列進行重構,即為去噪后信號。
選取平均絕對誤差(MAE)作為評價濾波性能指標,如下所示:
式中,yi與分別表示原始信號和濾波后信號,N表示總的樣本數。
通過仿真信號來驗證本文提出方法的有效性。原信號包含四個不同頻率的正弦信號,并添加一個均值為0方差為0.8 的高斯白噪聲。然后,對該仿真信號進行VMD分解,當分解個數K依次為2,3,4,5,6,7,8時,不同K下余量與模態(tài)重構信號的互相關系數如圖3所示。從圖中可看到當K=7時,互相關系數均為最小值,因此最優(yōu)的模態(tài)個數設為7。
圖3 不同K對應的互相關系數
接下來,分析模態(tài)個數K對VMD 濾波結果的影響。采用上述仿真信號,分別添加方差為0.8的均勻分布噪聲和高斯白噪聲。表1和表2分別給出了均勻分布白噪聲和高斯白噪聲時,不同模態(tài)個數K下單純采用VMD方法的濾波結果的誤差比較。從表1可以看出,對于包含了四個頻率的時間序列,VMD中的互相關系數取最小值時的最優(yōu)模態(tài)個數為K=7,此時濾波誤差MAE 也取最小值。表2高斯白噪聲的濾波結果與此類似。表1和表2的結果驗證了基于互相關系數的模態(tài)個數估計模型的正確性。
表1 模態(tài)個數對濾波結果的影響(均勻分布噪聲)
表2 模態(tài)個數對濾波結果的影響(高斯白噪聲)
分別選取中值濾波、均值濾波、維納濾波、EMD-維納濾波與本文VMD-維納濾波方法作比較。表3和表4分別給出了添加了均勻分布噪聲和高斯白噪聲后這幾種方法的濾波結果,可看出,本文提出VMD-維納濾波模型的去噪效果最佳,優(yōu)于傳統(tǒng)的維納濾波以及EMD-維納濾波方法,表明本文提出方法的性能。這是因為,基于互相關系數可以準確得到模態(tài)個數,改進VMD模型既消除了模態(tài)間的混疊并去除了原時間序列的高頻噪聲,同時實現了模態(tài)序列的平穩(wěn)化;在此基礎上采用維納濾波,保證了濾波的效果。
表3 不同方法濾波性能比較(均勻分布噪聲)
表4 不同方法濾波性能比較(高斯白噪聲)
接下來以實測數據對去噪模型進行驗證。實測數據為陜西省某區(qū)域區(qū)的電力負荷數據。首先采用VMD 方法進行分解,確定模態(tài)集合中的余量,然后計算不同模態(tài)個數K下的除余量后各分量負荷序列的互相關系數。圖4為K取不同值時,余量序列與各模態(tài)分量之間的互相關系數,從中可以看出,不同K下得到的互相關系數均小于0.3,而當K取4時,余量和負荷模態(tài)重構后的互相關系數最小。因此,最優(yōu)模態(tài)個數為4。
圖4 不同K的模態(tài)分量的互相關系數
最后,將余量去除后的負荷序列進行重構,然后采用維納濾波進行濾波得到濾波序列,經過VMD-維納濾波后的負荷曲線較平滑,去除了原始實測序列中由于傳感器附加的隨機噪聲干擾,有利于序列的后續(xù)建模分析。
提出了一種基于改進VMD 和維納濾波的時間序列去噪方法,得到如下結論:
1)針對傳統(tǒng)VMD模型存在的模態(tài)個數難以確定問題,基于余量序列與模態(tài)之間的互相關性確定最優(yōu)模態(tài)個數,提升了時間序列模態(tài)分解的可靠性。
2)針對維納濾波僅適合平穩(wěn)信號的特點,首先采用VMD 分解,一方面消除了原始序列的非平穩(wěn)性,同時降低了模態(tài)之間的頻率混疊,并消除了原序列中的高頻噪聲;然后采用維納濾波對各模態(tài)進行濾波,有效提升了去噪的性能。
最后需要指出的是,本文建立的去噪模型針對的是具有一定隨機分布的白噪聲。而實際中的時間序列可能還包括一些異常點(野值點),這些野值點也極大地影響序列分析的可靠性,下一步將改進方法以提高模型的適用性。