王維志,陳海毅
(柳州市供電局,廣西 柳州 545000)
基于Mallat變換的時間序列模型在短期風速預測中的應用
王維志,陳海毅
(柳州市供電局,廣西 柳州 545000)
短期風速預測對風電并網發(fā)電系統(tǒng)的運行具有重要的意義。為了提高風電場短期風速預測的精度,提出了基于Mallat變換的時間序列模型應用于風電場的短期風速預測。首先利用二進正交Mallat算法將隨機非平穩(wěn)原始風速序列進行多層分解和單層重構,分離出高頻信息和低頻信息;然后對分離出來的信息進行回歸分析,分別建立ARMA-ARIMA模型進行預測;最后將預測結果進行疊加,得到原始序列的預測值。通過實例數(shù)據(jù)驗證分析,結果表明該模型可以有效提高預測的精度,有一定的實用價值。
短期風速預測;Mallat變換;分解;重構;時間序列
近年來,風力發(fā)電技術發(fā)展迅速,風能作為一種清潔可再生能源,已引起世界各國的廣泛關注和深入研究。風力發(fā)電具有很強的隨機性,風速預測是風電場規(guī)劃設計的一項重要工作[1]。隨著風能的加速發(fā)展,越來越多的大型風電場并網,風電在電網中的比重逐步增大,風電的隨機波動性將增大調度的難度,風速的準確預測可以減少電力系統(tǒng)運行成本和旋轉備用,提高風電穿透功率極限,有利于調度部門及時調整發(fā)電計劃,從而減輕對電網的影響[2]。對風電場風速進行較為準確的預測,可以降低電網所需的儲備電能,增加電網的可靠性[3]。目前,風速預測的方法有:神經網絡法(ANN)[4]、支持向量機法[5]、模糊層次分析法[6]、時間序列法[7]以及各種方法組合的預測模型[8-9]等。由原始風速時間序列可以建立各種預測模型進行風速預測,這些模型的預測精度存在不同程度的差異。
風速具有很強的隨機性和波動性,可以看作多個不同頻率分量的疊加。對風速序列進行頻域分解的基礎上,根據(jù)頻域分量的特點分別建模是提高預測精度的有效途徑[9]。由于二進正交小波Mallat的時頻窗口具有可調性,當尺度較大時,時頻窗口的時域部分較寬、分析頻率低;當尺寸較小時,窗口時頻部分較窄而分析頻率高,適合作細節(jié)觀察。本文利用Mallat算法將原始風速時間序列進行多層分解和單層重構,然后對重構后的各層分量進行回歸分析,分別建立ARMA-ARIMA模型進行預測,最后將預測結果疊加。算例采用某風電場的原始風速數(shù)據(jù),利用MATLAB7.0和Eviews軟件綜合編程,實驗結果表明,基于該方法的風速預測模型具有較高的預測精度,具有一定的實用價值。
Mallat從空間概念方面形象地說明了多分辨分析特性,并結合了信號分解不同頻率通道的算法和重構算法[10]。
(1) 分解算法
將待分解的離散信號設為co,根據(jù)分解算法有:
cj+1=Lcj,dj+1=Hdj,(j=0,1,…,J)
(1)
其中L和H分別為低通濾波器和高通濾波器;cj+1和dj+1分別為原始信號在分辨率2-(j+1)下的低頻信號和高頻信號,是原始信號在相鄰不同頻域段上的成分;J表示最大的分解層數(shù),最終信號co分解為d1,d2,…,dJ和cJ。該分解算法利用二抽取,使每層分解比分解前的信號數(shù)據(jù)長度減半,而總輸出數(shù)據(jù)長度與輸入數(shù)據(jù)co長度保持一致,信號個數(shù)的減少對預測是不利的,但經過Mallat算法分解后的信號可以進行二插值重構。
(2) 重構算法
Mallat重構表達式為:
Cj=L*Cj+1+H*Dj+1,(j=J-1,J-2,…,0)
(2)
式中,L*和H*分別為L和H的對偶算子,用(2)式對分解后的信號進行重構可以增加信號的個數(shù),對d1,d2,…,dJ和cJ分別進行重構,得到D1,D2,…,DJ和CJ,則有
X=D1+D2+…+DJ+CJ
(3)
其中,D1:{d11,d12,…},…,DJ:{dJ1,dJ2,…}為第1層至第J層的高頻重構信號;CJ:{cJ1,cJ2,…}為第J層低頻信號。在Mallat算法中利用二插值,即在輸入數(shù)據(jù)序列每相鄰數(shù)據(jù)之間補一個零,以使數(shù)據(jù)長度增加一倍,從而恢復到抽取前的數(shù)據(jù)長度。
風速是一種隨機變量,Box Jenkins 方法是隨機時間序列分析的主要方法之一,已被用于風速預測。它利用歷史數(shù)據(jù)來建模,經過模型識別、參數(shù)估計、模型檢驗來確定一個能夠描述所研究時間序列的數(shù)學模型,再由該模型推導出預測模型。
3.1 預測模型
(1)ARMA(Auto Regressive Moving Average)模型是一類常用的隨機時間序列模型,序列的當前值是現(xiàn)在和過去的誤差以及先前的序列值的線性組合。ARMA(p,q)用數(shù)學模型描述為:
(4)
(2) ARIMA(Auto Regressive Integrated Moving Average)模型是指將非平穩(wěn)時間序列轉化為平穩(wěn)時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現(xiàn)值和滯后值進行回歸所建立的模型。一個實際的時間序列通常是含有多種成分的非平穩(wěn)序列,經過d階差分后,{▽dyt}是一個平穩(wěn)的ARMA序列,則
φp(B)▽dyt=θq(B)αt
(5)
為(p,d,q)階累計式自回歸滑動平均模型,即為ARIMA(p,d,q),其中yt為原始序列,B為后移算子。
3.2 平穩(wěn)性檢驗
時間序列的平穩(wěn)性是建立ARMA模型的前提,平穩(wěn)性檢驗最常用的單根檢驗方法有:DF檢驗、ADF檢驗、PP檢驗、DF-GLS檢驗等。本文采用ADF檢驗法,檢驗方程如下:(6)
▽yt=γyt-1+ξ1▽yt-1+…+ξp-1▽yt-p+1+εt
(6)
式中p值視具體情況而定,一般選擇保證εt是白噪聲的最小p值,實際操作常借用赤池信息準則(AIC)進行判斷。
3.3 模型識別和模型定階
在ARMA模型的識別過程中,利用表1的性質,然后再根據(jù)自相關函數(shù)(簡稱ACF)、偏自相關函數(shù)(簡稱PACF)以及它們各自的相關圖(即ACF、PACF相對于滯后長度描圖)確定時間序列所采用的模型以及初步粗略確定ARMA(p,q)模型中的p和q的階數(shù)。
3.4 參數(shù)估計
時間序列參數(shù)估計主要方法有:最大似然估計法、最小二乘估計法、偏最小二乘估計法等,本文采用最小二乘估計法進行參數(shù)φi(i=1,2,…,p),θj(j=1,2,…,q)估計,使殘差的平方和達到最小。
表1 時間序列模型識別準則
3.5 模型檢驗
(7)
(2)采用AIC準則函數(shù)定階,使準則函數(shù)達到極小是最佳模型。AIC函數(shù)定義為:
(8)
式中:L是對數(shù)似然數(shù);n為觀測數(shù)目;p和q是模型階數(shù)。p和q的值由小到大逐步測試驗證,當AIC最小時,綜合考慮其他檢驗值,確定最終模型的階數(shù)。
(3)平穩(wěn)可逆性檢驗:當φ(B)=0以及θ(B)=0方程的根都在單位圓內時,滿足穩(wěn)定性和可逆性。
圖1 預測模型的步驟
(9)
4.1 基于Mallat變換的時間序列預測步驟
4.2 誤差評價指標
誤差評價指標可以直接反映預測值與實際值的差異程度,同時反映各種模型的好壞。本文分別采用平均絕對誤差(MAE)、均方根誤差(RMSE)、平均百分比誤差(MAPE)來評價和比較各個模型的預測值與實際值的差異程度。
(10)
(11)
(12)
本文以某風電場每小時測量一次的風速序列為算例,取2010年4月1日1:00:00時刻到4月11日10:00:00時刻250個風速數(shù)據(jù),前200個風速數(shù)據(jù)作為訓練樣本,記為序列{yt},后50個數(shù)據(jù)用作測試樣本。原始風速序列如圖2所示。
圖2 原始風速數(shù)據(jù)
首先利用db3小波對訓練樣本序列{yt}進行3層分解,然后對分解后得到的低頻信號c3和高頻信號d1,d2,d3分別進行Mallat單層重構,得到C3和D1,D2,D3。原始風速訓練樣本經過Mallat分解和重構后的結果如圖3所示。
由Mallat多層分解和重構的結果進行回歸分析,分別建立ARMA/ARIMA模型進行估計預測。以分解重構后得到的低頻信號C3為例,進行回歸分析建模。由時間序列建模預測的步驟,先對C3進行ADF平穩(wěn)性檢驗,利用Eviews軟件測試,結果如表2所示。
表2 ADF檢驗結果
由表2可知,C3序列ADF檢驗統(tǒng)計量比10%的顯著水平的臨界值還大,所以在95%置信水平下有理由接受原假設,即C3序列是非平穩(wěn)的,不滿足ARMA建模的前提。對非平穩(wěn)序列C3進行一階差分再進行ADF檢驗,由檢驗結果可知,差分后的序列變得平穩(wěn)。
圖3 原始風速分解重構結果
對差分處理得到的平穩(wěn)序列進行模型識別和定階。求出平穩(wěn)序列的自相關函數(shù)以及偏相關函數(shù)如圖4、圖5所示,可知ACF和PACF都是拖尾的,利用模型識別準則進行判斷,該平穩(wěn)序列選用ARMA模型;同時由下圖的滯后階數(shù),初步判斷模型為ARMA(2,4)。
圖4 自相關函數(shù)
圖5 偏相關函數(shù)
利用最小二乘估計法對模型ARMA的參數(shù)進行估計,并結合考慮模型檢驗中的各項指標參數(shù),進行比較驗證,最后確定模型的為ARMA(2,6)。模型檢驗結果:檢驗殘差序列的自相關函數(shù)與零無顯著差異;AIC準則函數(shù)值為1.566971;方程φ(β)=0的根分別為:0.53-0.1i,0.53+0.1i以及方程θ(B)=0的根分別為0.65-0.38i,0.65+0.38i,0.75i,-0.75i,0.65-0.38i,0.65+0.38i都在單位圓內。殘差序列的平方和最小為0.2735。由以上結果分析可得,原始非平穩(wěn)序列C3的回歸預測模型為ARIMA(2,1,6)。
重構后得到的高頻分量D1,D2,D3的回歸預測模型的建立與上述步驟相同,詳細過程不再重述;一層高頻信號D1的回歸預測模型為ARMA(5,1);二層高頻信號D2的回歸預測模型為ARMA(4,3);三層高頻信號D3的模型為ARIMA(1,1,3)。將上述得到的回歸模型分別進行滾動預測,預測將來50小時內每小時的風速,最后將預測結果進行疊加。同時,對原始風速序列{yt}不經Mallat分解直接進行時間序列回歸建模,最終模型為ARIMA(2,1,1),利用該模型進行預測,預測結果與經過Mallat變化的預測結果進行比較,如表3所示。
表3 預測結果比較
由表3的預測結果與誤差分析可知,利用二進正交Mallat算法對原始風速時間序列進行變換再分別建立預測模型,預測結果的MAE為0.4713m/s,RMSE為0.5815m/s,MAPE為10.7447%比直接用時間序列模型對原始風速序列進行預測的預測精度提高一倍左右,預測效果較好,具有實際可行性。從圖6也可以看出,Mallat小波變換預測模型的擬合效果要優(yōu)于直接用時間序列建立的模型。
圖6 兩種方法預測結果曲線
本文將二進正交Mallat算法與時間序列預測方法相結合,先利用Mallat算法將原始風速序列多層分解和單層重構,再將分離出來的低頻信號和高頻信號分別進行回歸分析,建立ARMA/ARIMA模型進行估計預測。文中詳細闡述了Mallat分解與重構算法以及利用時間序列建立模型的步驟,最后通過實例分析,實驗結果表明,本文提出的基于Mallat變換的時間序列模型應用于短期風速預測比直接對原始風速數(shù)據(jù)建立的時間序列模型有更好的預測效果,預測精度有很大的提高,具有一定的實際可行性。
[1] 常太華,王璐,馬巍.基于AR、ARIMA模型的風速預測[J].華東電力,2010,38(1):59-62.
[2] 蔣金良,林廣明.基于ARIMA模型的自動站風速預測[J].控制理論與應用,2008.25(2):374-376.
[3] 郭鵬.雙自回歸滑動平均模型風速預測研究[J].現(xiàn)代電力,2009,26(6):66-69.
[4] 梁嵐珍,邵璠.時序神經網絡算法的短期風速預測研究[J].控制工程,2011,18(1):43-50.
[5] 彭懷午,楊曉峰,劉方銳.基于SVM方法的風電場短期風速預測[J].電網與清潔能源.2009,25(7):48-52.
[6] 黃文杰,傅礫,肖盛.采用改進模糊層次分析法的風速預測模型[J].電網技術,2010,34(7):164:168.
[7] 邵璠,孫育河,梁嵐珍.基于時間序列法的風電場風速預測研究[J].華東電力,2008,36(7):26-29
[8] 蔡凱,譚倫農,李春林,等.時間序列與神經網絡法相結合的短期風速預測[J].電網技術,2008,32(8):82-90.
[9] 王曉蘭,王明偉.基于小波分解和最小二乘支持向量機的短期風速預測[J].電網技術,2010,34(1):179-184.
[10] Stephane G M.A theory for multiresolution signal decomposition;The wavelet representation[J].IEEE Tran on Pattern Analysis and Machine Intelligence,1989,11(7):674-693.
Application for Short-term Wind Speed Forecast Based on Time Series Model of Mallat Transformation
WANGWei-zhi,CHENHai-yi
(Liuzhou Power Supply Bureau,Liuzhou 545000,Guangxi Zhuang Autonomous Region,China)
Short-term wind speed forecast has important meaning for the operation of the power system with wind power connected to it.In order to improve the precision of short-term wind speed forecast,the time series model for short-term wind speed forecast based on Mallat transformation is proposed.Multilayer decomposition and single layer reconfiguration have been applied in dealing with random non-stationary original wind series by using Mallat algorithm,separate high and low frequency information out;then do regression analysis for those information,ARMA-ARIMA model is created for forecasting;accumulate the forecasted results to get the predictive value of original series.Verified by living examples,the method of this paper can improve the forecast precision and have certain practical value.
short-term wind speed forecast;Mallat transformation;decomposition;reconfiguration;time series
1004-289X(2015)03-0094-05
TM76
B
2015-05-12
王維志(1986-),男,柳州供電局。