于 洋,伊 躍,虞 闖,宋建輝
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110159 )
隨著社會的發(fā)展,煤炭、石油等地下資源正面臨著枯竭的危險。而風(fēng)能由于其儲量巨大、清潔無污染和可再生的特點,具有廣闊的發(fā)展前景。由于風(fēng)能具有很強(qiáng)的隨機(jī)性,當(dāng)風(fēng)電穿透功率超過一定值以后會嚴(yán)重影響電能質(zhì)量和電力系統(tǒng)的安全性[1]。因此風(fēng)速值的準(zhǔn)確預(yù)測不但可以保證風(fēng)能的利用率,而且還可以決定風(fēng)力發(fā)電機(jī)的不同運(yùn)行狀態(tài),確保風(fēng)力發(fā)電機(jī)的并網(wǎng)操作和風(fēng)電機(jī)組控制。
目前常用的短期風(fēng)速預(yù)測方法有持續(xù)法預(yù)測、灰色系統(tǒng)理論、時間序列法、卡爾曼濾波法、小波分析及支持向量機(jī)算法等等[2]。以上方法有各自的優(yōu)勢,但又存在一定的局限性。如灰色系統(tǒng)理論對非平穩(wěn)風(fēng)速數(shù)據(jù)的預(yù)測不適用,神經(jīng)網(wǎng)絡(luò)需要大量的樣本數(shù)據(jù)進(jìn)行訓(xùn)練以及選取相近局域點困難等。眾多算法之中,時間序列模型只需有限的樣本序列即可建立精確的預(yù)測模型,因此該模型得到了廣泛的應(yīng)用。針對時間序列算法本身的適應(yīng)性和預(yù)測精度等問題,不同學(xué)者提出了一系列的由多種預(yù)測算法組合建模算法。如文獻(xiàn)[3]提出了利用小波分析法和滾動式時間序列法混合建模的短期預(yù)測優(yōu)化算法,該算法實現(xiàn)了高精度的多步超前風(fēng)速預(yù)測,但在多個風(fēng)速預(yù)測點上面仍有較大的誤差。文獻(xiàn)[4]同樣使用小波函數(shù)對非平穩(wěn)風(fēng)速信號進(jìn)行多尺度分析與重構(gòu),利用重構(gòu)后的低頻平緩信號進(jìn)行ARMA模型驗證,該預(yù)測模型取得了一定的成功。但由于其只關(guān)注了低頻平緩信號的主導(dǎo)作用,忽略了高頻信號能量,因此模型的精確度不是很高。針對以上兩種算法,本文提出利用馬爾科夫理論修正的短期風(fēng)速預(yù)測法。該方法利用小波分解與重構(gòu)方法獲取多層平穩(wěn)風(fēng)速信號,分層構(gòu)建短期風(fēng)速預(yù)測模型,以轉(zhuǎn)移概率為標(biāo)準(zhǔn)選取合理的風(fēng)速值,替換風(fēng)速劇烈變化時的預(yù)測失真數(shù)據(jù),并最終得到風(fēng)速預(yù)測值。
基于馬爾科夫理論的改進(jìn)風(fēng)速預(yù)測算法流程如圖1所示。
圖1 優(yōu)化算法建模流程圖
算法的實現(xiàn)主要包括以下4個計算過程:
首先,選擇某小波基對擬預(yù)測風(fēng)速序列進(jìn)行n層分解與重構(gòu),以保證風(fēng)速信號轉(zhuǎn)變?yōu)槎鄬拥钠椒€(wěn)風(fēng)速序列。對分解后所得到的n層高頻vi(t)(i=1,2,…,n)和1層低頻風(fēng)速序列ω(t)進(jìn)行小波重構(gòu),獲取相同尺度的分層風(fēng)速信號。
其次,對n層高頻和1層低頻信號分別進(jìn)行時間序列建模預(yù)測,計算得到各分解層的預(yù)測值。
再次,對各個分解層的預(yù)測值進(jìn)行加權(quán)疊加,得到初步風(fēng)速預(yù)測值。
最后,針對風(fēng)速的強(qiáng)隨機(jī)性,本文提出針對初步預(yù)測值利用馬爾科夫轉(zhuǎn)移矩陣進(jìn)行修正,根據(jù)其狀態(tài)空間的合理性進(jìn)行風(fēng)速數(shù)據(jù)的取舍以避免風(fēng)速劇烈變化時的預(yù)測失真。
對于可在小波函數(shù)分辨率空間v(j)表示的某信號x(t),其可以利用分辨率空間v(j+1)和ω(j+1)空間中的基函數(shù)進(jìn)行表示。即
(1)
式中:Al(k)反映了信號的低通成分,為信號的離散近似;Dl(k)為信號的高頻成分,為信號的離散細(xì)節(jié)。小波重構(gòu)為小波分解的逆向推導(dǎo),將分解后得到的n+1組信號分別單獨(dú)使用Mallat算法重構(gòu)到原尺度,即可得到重構(gòu)后的時間序列。
小波分解和重構(gòu),其信號的采樣時間間隔越短,其分解程度越高,分辨率越好。但過高的分解尺度往往會造成過度分解[5]。綜合多次試驗數(shù)據(jù),本文選擇對風(fēng)速數(shù)據(jù)進(jìn)行層分解。
本算法采用ARMA模型進(jìn)行風(fēng)速預(yù)測,其模型為
(2)
式中:φj、θj分別為待定的參數(shù);x(t)表示為風(fēng)速序列;ε(t)為正太高斯白噪聲序列;p、q為模型的自回歸階數(shù)和移動平均階數(shù)。
算法同時使用AIC準(zhǔn)則函數(shù)來確定模型的階數(shù),AIC準(zhǔn)則函數(shù)的定義為
(3)
當(dāng)AIC(p,q)到達(dá)最小的時候,此時的p、q為最佳的模型階數(shù)。
國內(nèi)外針對利用馬爾科夫理論進(jìn)行風(fēng)速建模的應(yīng)用已經(jīng)進(jìn)行了很多的研究,例如Sahin等[6]利用一階馬爾科夫模型進(jìn)行土耳其的逐時風(fēng)速序列建模,其最終證明90%預(yù)測結(jié)果符合客觀風(fēng)速的有效性。Kantz等[7]以風(fēng)速為研究對象,將風(fēng)看做是隨機(jī)變量的時間序列,對風(fēng)速建模并取得了較好的效果。以上研究表明馬爾科夫鏈具有追蹤變量隨機(jī)波動的能力,同時馬氏鏈具有無后效性。因此,利用馬爾科夫模型與上述兩種模型進(jìn)行有機(jī)結(jié)合,可以有效提高模型的預(yù)報精度,避免風(fēng)速信號隨機(jī)波動較強(qiáng)時預(yù)測模型所產(chǎn)生的誤差。
馬爾科夫鏈的基本特征為:隨機(jī)實驗,每一實驗只有有窮個或可列的無窮多個基本事件E(i)(i=1,2,…,N)可能發(fā)生,對于任意時刻,如果狀態(tài)E(i+k)對于過去狀態(tài)的條件概率分布僅僅是狀態(tài)E(i)的一個函數(shù),即
P(X(i+k)=E(i+k)|X(1)=E(1),X(2)=E(2),…,X(i)=E(i))=P(X(i+k)=E(i+k)|X(i)=E(i))
(4)
式中X(i+k)=E(i+k)表示i+k時刻過程處于E(i+k)狀態(tài)。滿足以上恒等式的過程可以看做馬爾科夫過程。令k=1,即可構(gòu)建狀態(tài)空間的一階馬爾科夫鏈。本算法根據(jù)風(fēng)速數(shù)據(jù)的一階馬爾科夫鏈進(jìn)行風(fēng)速下一步狀態(tài)判斷與修正,以削減風(fēng)速信號的強(qiáng)隨機(jī)性。
傳統(tǒng)的馬爾科夫預(yù)測模型采取一階馬爾科夫鏈時其數(shù)據(jù)來源固定不變,由馬爾科夫性質(zhì)可知新時刻狀態(tài)與很久前的數(shù)據(jù)關(guān)聯(lián)不大。因此本算法采用滑動的一階馬爾科夫鏈,即當(dāng)新數(shù)據(jù)到達(dá)后,替換掉部分歷史狀態(tài)值以得到新的一階馬爾科夫鏈[8]。
仿真的硬件壞境為:CPU:intel Pentium dual、內(nèi)存1G、硬盤250G。仿真的軟件環(huán)境為Windows XP操作系統(tǒng),仿真軟件為Matlab R2010B。
仿真條件:選取某風(fēng)場的近一個月數(shù)據(jù)(共161條數(shù)據(jù))作為歷史數(shù)據(jù),假定該數(shù)據(jù)能真實反映該地區(qū)真實風(fēng)速,該地區(qū)的風(fēng)速隨機(jī)性與時間特性。橫坐標(biāo)為風(fēng)速數(shù)據(jù)對應(yīng)的時間點,縱坐標(biāo)代表風(fēng)速值。選取前130點作為訓(xùn)練,預(yù)測隨后的15點數(shù)據(jù)。
仿真系統(tǒng)采用多個小波基進(jìn)行風(fēng)速信號的分解重構(gòu)與預(yù)測,在實例分析中以選取DB4小波基的分解重構(gòu)信號進(jìn)行分析。在ARMA建模分析中以第3層低頻分量a3(t)序列說明本文的ARMA算法步驟,其余各層序列的ARMA模型建立類似進(jìn)行。
(1)選取DB4小波對原始風(fēng)速序列進(jìn)行分解,選取分解層數(shù)為3,利算Mallat算法對分解后的各層序列進(jìn)行重構(gòu)。其分解后的信號圖與重構(gòu)后的信號圖分別如圖2和圖3所示。
圖2 風(fēng)速信號分解后的多層分量圖
圖3 多層信號重構(gòu)后的分量圖
(2)以a3(t)為例,建立ARMA模型,利用AIC準(zhǔn)則進(jìn)行定階,選擇最小二乘估計法估計參數(shù)。計算可得到合適模型:
x(t)-0.8933x(t-1)-0.7185x(t-2)+0.6128x(t-3)=ε(t)+0.792ε(t-1)-0.2571ε(t-2)-0.02404ε(t-3)-0.04197ε(t-4)-0.04547ε(t-5)+0.1076ε(t-6)+0.06922ε(t-7)-0.9112ε(t-8)-0.6932ε(t-9)+0.2015ε(t-10)
計量器具是用來評定機(jī)械產(chǎn)品是否合格的標(biāo)準(zhǔn)計量器具,判定產(chǎn)品是否合格,首先應(yīng)保證計量器具的測量準(zhǔn)確性,學(xué)生在測量過程中必須有維護(hù)、保養(yǎng)計量器具的態(tài)度,教師在講解演示測量時,著重強(qiáng)調(diào)操作計量器具的注意事項,這是學(xué)生能否用好儀器的關(guān)鍵,要求每組有對應(yīng)固定的測量器具,不能相互調(diào)換。責(zé)任到人,按規(guī)程操作,提高學(xué)生的責(zé)任意識,使儀器在使用中處于受控狀態(tài)。實驗結(jié)束后,要求學(xué)生把實驗臺收拾整齊,測量用具歸回初始位置,擺放整齊被測件及儀器,教師檢查合格后方可離開。
(5)
(3)利用上述步驟進(jìn)行數(shù)據(jù)預(yù)測,得到包含低頻信號特征的預(yù)測值x1(t)。預(yù)測結(jié)果和實際結(jié)果對比如圖4所示,可以觀測到利用一層平緩信號進(jìn)行預(yù)測所得預(yù)測值與真實值有較大差距。
圖4 低頻信號預(yù)測圖
(4)各層數(shù)據(jù)分別建立ARMA模型并進(jìn)行數(shù)據(jù)預(yù)測,各層預(yù)測值進(jìn)行加權(quán)疊加。本文選取加權(quán)系數(shù)為1。即
…
(6)
…
(5)利用小波函數(shù)與時間模型可有效預(yù)測風(fēng)速,但針對風(fēng)速強(qiáng)隨機(jī)性存在一定的預(yù)測誤差。因此本文采用馬爾科夫算法進(jìn)行算法修正。選取該風(fēng)電場同季節(jié)的風(fēng)速數(shù)據(jù)建立馬爾科夫轉(zhuǎn)移概率矩陣。歷史樣本數(shù)據(jù)容量為1540條,以0.3m/s風(fēng)速作為狀態(tài)空間的劃分界限,構(gòu)建風(fēng)電場該季節(jié)的風(fēng)速轉(zhuǎn)移概率矩陣P。
(7)
式中轉(zhuǎn)移概率pij定義為由狀態(tài)空間E(i)經(jīng)一步轉(zhuǎn)移至狀態(tài)空間E(j)的概率,計算公式為
(8)
算法以最近時間點的風(fēng)速v(i)所處在的狀態(tài)空間E(i)作為初始狀態(tài),利用矩陣P判斷其下個時間點的風(fēng)速值v(i+1)所處的狀態(tài)空間E(j)是否合理。若pij存在一定的合理性,則說明當(dāng)前狀態(tài)有效并保留當(dāng)前數(shù)據(jù)。若該概率小于0.05,則尋求距離E(j)最近的可能狀態(tài)空間進(jìn)行替換修正。
以本文算法為示例,在135點處,風(fēng)速出現(xiàn)劇烈變化,由上一時刻的3.2m/s變化成為15.25m/s,利用小波函數(shù)與時間模型預(yù)測值為16.67m/s,與真實值具有較大差距。本算法將首先利用小波函數(shù)與時間模型預(yù)測獲取初步預(yù)測值,馬爾科夫修正過程中算法將首先尋找風(fēng)速3.2m/s所處的狀態(tài)空間E(10)經(jīng)過一步轉(zhuǎn)移后可達(dá)到的狀態(tài)空間。E(10)經(jīng)過一步轉(zhuǎn)移后到達(dá)16.67m/s所在狀態(tài)空間E(55)的概率為0,此時算法將進(jìn)行馬爾科夫修正,遍歷尋找距離E(55)最近且轉(zhuǎn)移概率大于0.05的狀態(tài)空間,利用該狀態(tài)空間的風(fēng)速值進(jìn)行修正。本例中,算法可尋找到狀態(tài)空間E(52),即風(fēng)速范圍15.6~15.9m/s。更新預(yù)測值為15.75m/s。小波函數(shù)與時間模型預(yù)測方法和本文提出的馬爾科夫修正算法預(yù)測結(jié)果如圖5所示。
圖5 兩種方法風(fēng)速預(yù)測值與真實值曲線圖
利用圖5對比可以很清晰的得到,風(fēng)速預(yù)測值經(jīng)馬爾科夫修正后進(jìn)一步提高了模型的精度,有效地減小了風(fēng)速劇烈變化處的誤差。
為驗證本文模型的預(yù)測精度,采用平均誤差、平方絕對誤差、均方根誤差、預(yù)測精度作為評價標(biāo)準(zhǔn),其定義分別如下公式所示。
絕對誤差定義為
(9)
平均誤差定義為
(10)
平方絕對誤差定義為
(11)
均方根誤差定義為
(12)
精度定義為
(13)
多種算法預(yù)測結(jié)果的誤差以及精度分析如表1所示,其中算法一表示使用低頻平緩信號的預(yù)測算法;算法二表示使用多層信號疊加的預(yù)測算法;算法三為基于馬爾科夫理論的改進(jìn)風(fēng)速預(yù)測算法。
表1 多種預(yù)測算法預(yù)測結(jié)果對比
通過分析表1可知:基于馬爾科夫理論的改進(jìn)風(fēng)速預(yù)測算法所建模型的各項預(yù)測評價指標(biāo)值均優(yōu)于傳統(tǒng)的預(yù)測算法所對應(yīng)的指標(biāo)值。
本文采用多個小波基進(jìn)行信號處理,不同的小波基其預(yù)測效果不盡相同,對此本文列舉如表2所示的小波基預(yù)測誤差。
表2 多個小波基分解重構(gòu)后的誤差值
從表1、表2可以看出,不同小波基的選擇有著不同的預(yù)測結(jié)果,考慮到風(fēng)速的高度隨機(jī)性,風(fēng)速信號小波分解后的各層分量應(yīng)同時具有隨機(jī)性信息,表現(xiàn)為類似脈沖信號的特性,因此選擇DB4小波具有更好的預(yù)測精度。同時風(fēng)速信號的準(zhǔn)確預(yù)測應(yīng)考慮多個學(xué)科領(lǐng)域,其歷史數(shù)據(jù)的選取不應(yīng)只是近一段時間的數(shù)據(jù),而是應(yīng)該選取一些與預(yù)測時間相關(guān)性較強(qiáng)的數(shù)據(jù),如與當(dāng)天的氣候條件相似的歷史數(shù)據(jù),其預(yù)測精度將進(jìn)一步提高。
風(fēng)速的準(zhǔn)確預(yù)測對風(fēng)電事業(yè)的發(fā)展具有重要的意義。利用小波分解重構(gòu)算法和ARMA模型在短期風(fēng)速預(yù)測中已有良好的預(yù)測精度,但仍存在一定的預(yù)測誤差。本文提出的馬爾科夫修正風(fēng)速預(yù)測算法,很好地解決了風(fēng)速預(yù)測時風(fēng)速劇烈變化的失真問題。同時在沒有增加數(shù)據(jù)處理工作量的基礎(chǔ)上基本實現(xiàn)了風(fēng)速準(zhǔn)確快速預(yù)測。本文測試了多個小波基對風(fēng)速預(yù)測的準(zhǔn)確性,結(jié)果表明采用DB4小波基對風(fēng)速信號進(jìn)行分解與重構(gòu)能夠最準(zhǔn)確地表發(fā)風(fēng)速信號的變化特征。與多種傳統(tǒng)預(yù)測方法相比較,本算法提高了風(fēng)電場短期風(fēng)速預(yù)測精度。
[1] 時慶華,高山.基于ARMA和卡爾曼濾波的風(fēng)電場風(fēng)電功率預(yù)測研究[C].長沙:中國高等學(xué)校電力系統(tǒng)及其自動化專業(yè)第二十五屆學(xué)術(shù)年會,2009:72-76.
[2] 張華,曾杰.基于支持向量機(jī)的風(fēng)速預(yù)測模型研究[J].太陽能學(xué)報,2010,31(7):928-932.
[3] Li Hui,Tian Hong-qi,Li Yan-fei.Short forecasting otimization algorithm for wind speed of windfarms based on wavelet analysis method and rolling time series method[J].Journal of central south university(science and technology),2010,41(1):370-374.
[4] 李玲玲,李俊豪,王大為,等.基于小波分析和時間序列的風(fēng)速預(yù)測[J].陜西電力,2011,39(12):36-39.
[5] DU Wei-liao,ZHU Ru-mi,LI Yan-ming.Adaptive selection of optimal decomposition level in filtering algorithm based on wavelet transform[J].Journal of optoelectronics laser,2010,21(9):1408-1411.
[6] Sahin A D,Sen Z.First-order Markov chain approach to wind speed modeling[J].Journal of Wind Engineering and Industrial Aerodynamics,2001,89(3/4):263-269.
[7] Kantz H,Holstein D,Rgwitz M,et al.Markov chain model for turbulent wind speed data[J].Physica A:Statistical Mechanics and its Applications,2004,342(1/2):315-321.
[8] 趙琳琳,夏樂天.灰色馬爾科夫鏈模型的改進(jìn)及其應(yīng)用[J].河海大學(xué)學(xué)報(自然科學(xué)版),2007,35(4):487-490.