孫睿男+王飛
摘要:短期的風(fēng)速和風(fēng)功率預(yù)測對風(fēng)場的運行及并網(wǎng)發(fā)電是非常重要的。采用時間序列方法,通過Matlab 編程,建立了ARIMA和SARIMA預(yù)測模型對24小時后的平均風(fēng)速和風(fēng)功率進(jìn)行預(yù)測。最后,對兩個預(yù)測模型的結(jié)果作了對比分析。結(jié)果表明SARIMA模型的預(yù)測結(jié)果是好于ARIMA模型。
關(guān)鍵詞:時間序列;風(fēng)速;風(fēng)功率;預(yù)測;ARIMA模型; SARIMA模型
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)32-0230-04
Forecast of Wind Speed and Wing Power Based on Time Series
SUN Rui-nan, WANG Fei
(Jiangsu Normal University, Xuzhou 221116, China)
Abstract: Short-term forecasting of wind speed and wind power is great importance to wind farm operation and grid-generation. Based on the time series method and MATLAB software, in this article we have used the ARIMA (Autoregressive Integrated Moving Average) and SARIMA (Seasonal Autoregressive Integrated Moving Average) models to forecast the hourly average wind speed and wind power up to 24h in advance. Finally, a pair of comparison analysis Based on ARIMA and SARIMA model is run with average relative error. Results indicate that the SARIMA models significantly better in forecast than the ARIMA model.
Key words: time series; wind speed; wind power; forecast; ARIMA model; SARIMA model
1 概述
近些年來,風(fēng)力發(fā)電一直都是世界上發(fā)展最快的新能源之一。隨著風(fēng)力發(fā)電的大力發(fā)展,風(fēng)能的隨機性、季節(jié)性、波動性以及不確定性使得當(dāng)風(fēng)力發(fā)電大規(guī)模的并入電網(wǎng)時,對于電力系統(tǒng)的穩(wěn)定性波動影響較大,給電網(wǎng)的調(diào)度以及規(guī)劃帶來了困難[1],為了減少風(fēng)電的功率儲備,方便電力調(diào)度,降低成本提高電網(wǎng)的風(fēng)能質(zhì)量,便于風(fēng)電場安排發(fā)電機組的檢修、保養(yǎng),便要求對風(fēng)速及發(fā)電功率有比較準(zhǔn)確的預(yù)測研究。
目前文獻(xiàn)中,相關(guān)的研究者使用不同的技術(shù)方法對風(fēng)速和風(fēng)功率預(yù)測。通常這些技術(shù)能被分成以下四種:數(shù)值天氣預(yù)報,統(tǒng)計方法,人工智能和機器學(xué)習(xí)方法,時空模型。這些預(yù)測法方法各有特點和適用的場合,數(shù)值天氣預(yù)報方法對于短期的風(fēng)速和風(fēng)功率預(yù)測不能得到一個可靠的結(jié)果,但是它在長期預(yù)測上有著很好地預(yù)測結(jié)果。統(tǒng)計方法,其中最著名的就是自回歸滑動平均(ARMA)模型,這種方法能有效地考慮時間序列的有效性及隨機波動的干擾性,從而能準(zhǔn)確地預(yù)測事件的短期變化趨勢。人工智能和機器學(xué)習(xí)方法預(yù)測效果很好,但是不容易確定網(wǎng)絡(luò)結(jié)構(gòu),學(xué)習(xí)速度慢。時空模型要求原始數(shù)據(jù)量大,計算不便。時間序列模型最為簡單, 也是花費最小的預(yù)測模型[2-5]。考慮到風(fēng)速和風(fēng)功率的時間序列通常具有趨勢性、季節(jié)性以及非平穩(wěn)性,本文采用差分自回歸滑動平均模型(ARIMA)和帶有季節(jié)因子的差分自回歸滑動平均模型(SARIMA)對風(fēng)電場的風(fēng)速和風(fēng)功率進(jìn)行短期預(yù)測。
2 時間序列模型概述
時間序列是指按照時間順序來排列的、隨時間而變化并且相互關(guān)聯(lián)的數(shù)據(jù)序列。分析時間序列的方法即時間序列分析,時間序列分析最早是起源于1927年,數(shù)學(xué)家耶爾(Yule)為了研究預(yù)測市場變化規(guī)律而建立的自回歸(AR)模型,之后在1931年,瓦爾格(Walker)在AR模型啟發(fā)下又建立了滑動平均(MA)模型以及自回歸滑動平均(ARMA)模型 [6],從而奠定了時間序列分析的基礎(chǔ)。按照時間序列統(tǒng)計的特性來分類,可以分為平穩(wěn)時間序列和非平穩(wěn)時間序列。
2.1 平穩(wěn)時間序列模型
最常見的平穩(wěn)時間序列模型是自回歸移動平均模型(ARMA), 設(shè)[Xt, t=0,±1,±2,…]是零均值平穩(wěn)序列,滿足下列模型:
[Xt-φ1Xt-1-…-φpXt-p=εt-θ1εt-1-…-θqεt-q] (1)
其中[εt]是零均值、方差是[σ2ε]的平穩(wěn)白噪聲。則稱[Xt]是階數(shù)為p , q的自回歸滑動平均序列,簡記為ARMA(p,q)序列,當(dāng)q=0時,它是自回歸模型AR(p)序列;當(dāng)p=0時,它變成滑動平均模型MA(q)序列。
[φ=φ1,φ2,…,φpT]稱為自回歸參數(shù)向量,其分量[φj, j=1,2,…,p]稱為自回歸系數(shù),它決定前一時刻時間序列的值多大程度上影響當(dāng)前時刻的值。[θ=θ1,θ2,…,θQT]稱為滑動平均參數(shù)向量,其分量[θj, j=1,2,…,q]稱為滑動平均系數(shù),它決定前一時刻高斯隨機變量的值影響現(xiàn)在值的程度,這些參數(shù)都需要識別。整理的ARMA模型的一般形式如下:
[Yt=j=1p?jYt-j+εt-j=1qθjεt-j] (2)
2.2 非平穩(wěn)時間序列模型endprint
ARMA是對平穩(wěn)時間序列分析的方法,但在現(xiàn)實生活中的時間序列很多都是非平穩(wěn)的序列,它們往往帶有趨勢性、季節(jié)性以及非平穩(wěn)性,在研究這類時間序列時要先通過差分變換將其轉(zhuǎn)化為平穩(wěn)時間序列。
2.2.1 自回歸差分移動平均(ARIMA)模型
引入差分算子[?=1-B],對原有非平穩(wěn)時間序列{Xt}進(jìn)行一階差分變換得到
[?yt=1-Byt=yt-yt-1] (3)
原時間序列進(jìn)行d階差分后得到:
[?dyt=1-Bdyt] (4)
原時間序列用ARMA模型來描述可表示為:
[φBWt=θBεt] (5)
由上式可以看出,[Wt][Wt]是一個平穩(wěn)的ARMA序列,且它是非平穩(wěn)序列[Xt][Xt]的d階差分。由此,一個非平穩(wěn)時間序列就轉(zhuǎn)換成了一個平穩(wěn)的時間序列了,并且把這個[Xt]序列稱為ARIMA(p,d,q)序列。
2.2.2 季節(jié)性自回歸差分移動平均(SARIMA)模型
如果遇到的非平穩(wěn)時間序列有很明顯的季節(jié)性或由季節(jié)性因素引起的周期性的變化,我們分析此類模型時可采用季節(jié)性自回歸差分移動平均(SARIMA)模型。一個時間序列[Xt,t=0,±1,±2,…],s為一個正整數(shù),滿足下列模型:
[ΦBs?DSXt=ΘBsEt] (6)
其中[?S]為季節(jié)差分算子,它定義為[?s=1-Bs],[?DS]表示間隔為S步的D階差分。
[Et]一般不必是白噪聲,而可設(shè)它是另一個ARIMA(p,d,q)序列
[φB?dEt=θBεt] (7)
綜合式(6)和(7)可以得到季節(jié)性自回歸差分移動平均(SARIMA)模型表達(dá)形式:
[φBΦBS?d?DSXt=θBΦBSεt] (8)
3 基于時序分析的風(fēng)速和風(fēng)功率預(yù)測模型的建立
3.1 AMIMA模型的建立
ARIMA的建模過程通常分為四步:時間序列的平穩(wěn)性檢驗及平穩(wěn)化、模型識別、參數(shù)估計以及建立預(yù)測模型。 本文使用我國某風(fēng)電場的一組實測風(fēng)速和風(fēng)功率數(shù)據(jù)進(jìn)行分析,時間序列為間隔一小時,取此序列前260點數(shù)據(jù)為原始數(shù)據(jù)建立預(yù)測模型,并且用所建立的模型預(yù)測后24個小時的數(shù)據(jù)。
3.1.1 原始時間序列的平穩(wěn)性及平穩(wěn)化
判斷原風(fēng)速和風(fēng)功率序列是否為平穩(wěn)的序列時,可以通過觀察它的自相關(guān)函數(shù)(AC)是否呈指數(shù)迅速衰減到零,如果是則是平穩(wěn)的序列,否則是非平穩(wěn)。圖1為前260個樣本值及其前20個自相關(guān)函數(shù)以及偏相關(guān)函數(shù)(PAC)值。
(a)和風(fēng)功率序列
(b)前20個自相關(guān)函數(shù)值及偏相關(guān)函數(shù)值
從圖1可以直觀地看出自相關(guān)函數(shù)不能夠迅速的衰減至零,原始風(fēng)速和風(fēng)功率序列是非平穩(wěn)的,需要進(jìn)行平穩(wěn)化處理。對于非平穩(wěn)的時間序列,本文進(jìn)行差分運算以消除它的趨勢性,進(jìn)行一階差分運算之后,得到兩個新的差分序列如圖2,計算這兩個一階差分序列的自相關(guān)函數(shù)值和偏相關(guān)函數(shù)值。
(a)和風(fēng)功率序列
(b)前20個自相關(guān)函數(shù)值及偏相關(guān)函數(shù)值
從圖可以看出原始的風(fēng)速和風(fēng)功率序列經(jīng)一階差分后序列變得基本平穩(wěn),可以確定相應(yīng)的模型和階數(shù)。
3.1.2 確定ARIMA模型及階數(shù)
本文利用最小信息準(zhǔn)則(AIC)準(zhǔn)則[7]來進(jìn)行參數(shù)擬合,選擇最適合的階數(shù),由于運算較大,文中采用Matlab進(jìn)行編程做參數(shù)擬合。
[ACI=2Ln+2p+q+1n] (9)
式中,L為對數(shù)似然值;n為觀測值的數(shù)目。ARIMA模型定階的過程就是選擇適合的p、q使得AIC的值最小,這樣模型就越接近實際模型,誤差越小。根據(jù)AIC準(zhǔn)則,從程序的運行結(jié)果來看,當(dāng)R=1,M=3時,AIC取得最小值,最符合實際模型。所以選用ARIMA(1,1,3)模型,進(jìn)行風(fēng)速預(yù)測。選擇R=1,M=0時,AIC的值最小,則建立ARIMA(1,1,0)的預(yù)測模型對風(fēng)電功率進(jìn)行預(yù)測。
3.2 SARIMA模型的建立
在ARIMA建模的數(shù)據(jù)分析中已經(jīng)知道,原始風(fēng)速和風(fēng)功率時間序列是一個非平穩(wěn)的時間序列,那么首先要進(jìn)行平穩(wěn)化的處理,由于采樣點是時間間隔為一小時,所以選取周期為一天24個小時,即S=24。首先對原風(fēng)速序列進(jìn)行季節(jié)差分處理,然后進(jìn)行取消趨勢性的一階差分運算。
3.2.1 原始時間序列的預(yù)處理
在確定了序列的周期S后,先對風(fēng)速和風(fēng)功率時間序列進(jìn)行趨勢差分和季節(jié)性差分 ,圖3得到一個平穩(wěn)的新的時間序列。
(a)和原始風(fēng)功率序列
(b)經(jīng)季節(jié)差分后序列及一階差分后序列的數(shù)據(jù)趨勢
風(fēng)速和風(fēng)功率經(jīng)過季節(jié)性差分和趨勢性差分的計算后得到的新序列的自相關(guān)函數(shù)以及偏相關(guān)函數(shù)值如圖4所示。
從圖形4中可以看出,經(jīng)過季節(jié)差分和趨勢性差分后,風(fēng)速和風(fēng)功率得到的新序列已經(jīng)基本平穩(wěn)了。
3.2.2 確定SARIMA模型及階數(shù)
依舊根據(jù)AIC準(zhǔn)則并采用Matlab進(jìn)行編程對模型進(jìn)行定階運算。從程序的運行結(jié)果可以看出,選擇R=3,M=25時,AIC的值最小,所以風(fēng)速序列選取SARIMA預(yù)測模型階數(shù)為R=3,M=25。從Matlab的運行結(jié)果可以看出取R=1,M=12時,AIC的取值最小,建立的風(fēng)功率模型能夠最接近實際模型。
3.3 結(jié)果對比分析
3.3.1 風(fēng)速預(yù)測結(jié)果分析
使用前文確定的模型進(jìn)行風(fēng)速和風(fēng)功率預(yù)測,將ARIMA模型的風(fēng)速預(yù)測結(jié)果以及SARIMA模型的風(fēng)速預(yù)測結(jié)果進(jìn)行對比分析,圖5為實際風(fēng)速以及ARIMA預(yù)測風(fēng)速和SARIMA預(yù)測風(fēng)速的趨勢對比圖。endprint
由圖5的預(yù)測結(jié)果對比可以看出,ARIMA模型的預(yù)測結(jié)果符合實際序列的走勢,但轉(zhuǎn)折沒有,所以預(yù)測效果不太好,而SARIMA模型的預(yù)測結(jié)果存在轉(zhuǎn)折性,但和實際轉(zhuǎn)折點有誤差,但總體來說預(yù)測效果較好。從24個預(yù)測值誤差分析可以看出,SARIMA模型的預(yù)測值的平均相對誤差為8.55%,而 ARIMA模型的預(yù)測值平均誤差為9.94%,所以SARIMA模型預(yù)測的精確度更高,更加符合實際的模型,這和圖5直觀的預(yù)測結(jié)果對比圖分析出的結(jié)果是一致的。
3.3.2 風(fēng)功率預(yù)測結(jié)果分析
分析比較ARIMA模型和SARIMA模型的預(yù)測結(jié)果,連續(xù) 24 小時的實際風(fēng)電功率數(shù)據(jù)和ARIMA模型風(fēng)電功率預(yù)測數(shù)據(jù)及SARIMA模型風(fēng)電功率預(yù)測數(shù)據(jù)的趨勢對比如圖6所示。
從圖6已經(jīng)可以直觀地看出SARIMA模型的預(yù)測效果要比ARIMA模型的預(yù)測效果好,從24個預(yù)測值的對比SARIMA模型的預(yù)測值的平均相對誤差為17.3%,而 ARIMA模型的預(yù)測值平均誤差為74.8%,結(jié)果可以很明顯看出SARIMA模型的預(yù)測結(jié)果精度要大大超過ARIMA模型的預(yù)測結(jié)果。
4 結(jié)束語
1) 通過對實際風(fēng)電場數(shù)據(jù)序列的分析,風(fēng)速和風(fēng)功率序列具有時序性,自相關(guān)性及非平穩(wěn)性,適合建立相應(yīng)的時間序列模型。
2) 本文采用差分的方法,根據(jù)風(fēng)電場實際數(shù)據(jù)建立ARIMA和SARIMA模型,并對兩個模型的預(yù)測結(jié)果進(jìn)行對比分析,SARIMA模型比ARIMA模型預(yù)測的結(jié)果好,更能反映序列的變化,具有一定的指導(dǎo)意義。
3) 為了更好地預(yù)測風(fēng)速和風(fēng)功率這種非平穩(wěn)的時間序列,可以從數(shù)據(jù)的預(yù)處理方法和根據(jù)模型的優(yōu)缺點改進(jìn)現(xiàn)有模型兩個方面研究。
參考文獻(xiàn):
[1] 薛禹勝,郁琛,趙俊華.關(guān)于短期及超短期風(fēng)電功率預(yù)測的評述[J]. 電力系統(tǒng)自動化, 2015, 39( 6):141-150.
[2] 潘迪夫,劉輝,李燕飛.基于時間序列分析和卡爾曼濾波算法的風(fēng)電場風(fēng)速預(yù)測優(yōu)化模型[J].電網(wǎng)技術(shù),2008,32(7):82-86.
[3] 高山,梁偉平.基于時間序列的風(fēng)電場短期風(fēng)速預(yù)測[J],電氣時代,2014(11):76-78.
[4] 楊秀媛,肖 洋,陳樹勇.風(fēng)電場風(fēng)速和發(fā)電功率預(yù)測研究[J],中國電機工程學(xué)報,2005,25(11):1-5.
[5] 白春艷,王飛.基于三段式變步長電導(dǎo)增量法MPPT技術(shù)研究[J]. 電腦知識與技術(shù),2013,13,3155-3158.
[6] (英)恩德斯等著, 杜江,謝志超譯.時間序列分析[M].北京: 高等教育出版社,2006.6
[7] 常太華,王璐,馬巍.基于AR、ARIMA模型的風(fēng)速預(yù)測[J].華東電力,2010,38(1):59-62.endprint