史宇偉,潘學(xué)萍
(河海大學(xué) 能源與電氣學(xué)院,江蘇 南京 210098)
風(fēng)電作為當(dāng)前發(fā)展最快的可再生能源發(fā)電形式,得到了世界各國的廣泛重視[1]。隨著風(fēng)電規(guī)模的擴大,當(dāng)風(fēng)電穿透功率超過一定數(shù)值后,風(fēng)電的接入可能影響電能質(zhì)量和電力系統(tǒng)的安全穩(wěn)定運行[2-3]。如何提高風(fēng)電場風(fēng)速或風(fēng)功率的預(yù)測精度是合理利用風(fēng)電資源的關(guān)鍵問題。
短期風(fēng)速預(yù)測的時間分辨率一般為1 h。對風(fēng)速或風(fēng)電功率的準(zhǔn)確預(yù)測,可以減少電力系統(tǒng)運行成本和旋轉(zhuǎn)備用,提高風(fēng)電穿透功率極限,增強風(fēng)電場在電力市場中的競爭能力[4]。然而由于風(fēng)速的隨機性和間歇性,準(zhǔn)確預(yù)測風(fēng)速難度較大,目前風(fēng)電場風(fēng)速預(yù)測誤差一般在 25%~40%[5]。
目前已有的風(fēng)速預(yù)測方法可分為基于物理模型的方法和基于歷史數(shù)據(jù)的預(yù)測方法兩大類。物理模型法采用天氣預(yù)報數(shù)據(jù)進(jìn)行預(yù)測,由于氣象預(yù)報數(shù)據(jù)更新頻率低,適用于中期風(fēng)速預(yù)測?;跉v史數(shù)據(jù)的預(yù)測方法較多,主要有空間相關(guān)法[6]、時間序列法[7]、人工神經(jīng)網(wǎng)絡(luò)法[8]、支持向量機法[9]等。 由于風(fēng)速與氣象因素(如風(fēng)向、氣溫、氣壓等)密切相關(guān),在歷史數(shù)據(jù)的輸入選擇上,越來越多的學(xué)者提出歷史風(fēng)速數(shù)據(jù)和氣象數(shù)據(jù)相結(jié)合的方法,進(jìn)行風(fēng)速或風(fēng)功率預(yù)測[10-11]。如何對多種輸入數(shù)據(jù)進(jìn)行最佳的刪選,對提高預(yù)測精度有重要作用,然而這方面的研究很少。文獻(xiàn)[12-13]在預(yù)測模型的輸入變量選擇中,采用主成分分析(PCA)法對輸入特征變量進(jìn)行提取,減少了輸入變量的個數(shù)。然而主成分分析法是通過數(shù)學(xué)變換方式進(jìn)行特征提取,不能計及原始數(shù)據(jù)的物理特性。因此,本文提出采用混合特征選擇算法,從包含歷史風(fēng)速數(shù)據(jù)和歷史氣象數(shù)據(jù)的輸入向量中選取與預(yù)測風(fēng)速強相關(guān)的變量,生成預(yù)測模型的輸入特征集。該方法能夠剔除與預(yù)測風(fēng)速不相關(guān)變量和冗余變量。
在獲得預(yù)測模型的輸入特征集后,本文進(jìn)一步采用異方差高斯過程(GP)進(jìn)行風(fēng)速預(yù)測。高斯過程具有容易實現(xiàn)、靈活的非參數(shù)推斷及預(yù)測輸出具有概率意義等優(yōu)點。它對處理高維數(shù)、小樣本、非線性等復(fù)雜分類和回歸問題具有很好的適應(yīng)性,且泛化能力強[14-15]。但標(biāo)準(zhǔn)高斯過程假定噪聲為高斯分布,且整個數(shù)據(jù)集中噪聲方差為常值。而實際風(fēng)速具有較強的隨機性及波動性,假設(shè)噪聲方差為常數(shù)常帶來較大的預(yù)測誤差。異方差高斯過程是標(biāo)準(zhǔn)高斯過程的一種擴展[15],它首先運用高斯過程對無噪聲輸出進(jìn)行建模,然后對噪聲再運用高斯過程進(jìn)行建模,該方法能體現(xiàn)出風(fēng)速的隨機性及波動性。
風(fēng)速不僅與歷史風(fēng)速數(shù)據(jù)有關(guān),還與氣象信息密切相關(guān)。本文將歷史風(fēng)速數(shù)據(jù)和歷史氣象數(shù)據(jù)作為預(yù)測模型的原始候選輸入變量集Q,因歷史氣象數(shù)據(jù)收集工作的限制,本文僅考慮風(fēng)向、溫度、氣壓這3類氣象因素。原始候選輸入變量集Q的數(shù)據(jù)結(jié)構(gòu)如下:
其中,S(t-i)、D(t-i)、T(t-i)和 P(t-i)分別為 t-i時刻的風(fēng)速、風(fēng)向、溫度和氣壓;NS、ND、NT和 NP分別為風(fēng)速、風(fēng)向、溫度和氣壓歷史數(shù)據(jù)的個數(shù)。
原始輸入變量集Q中包含歷史風(fēng)速數(shù)據(jù)和歷史氣象數(shù)據(jù),Q維數(shù)較高,含有大量與待預(yù)測風(fēng)速不相關(guān)的變量和冗余變量。這里采用混合特征選擇法選擇與待預(yù)測風(fēng)速的強相關(guān)變量,步驟如下:①運用互信息法從原始輸入特征集Q中選取出候選特征變量集G;②結(jié)合預(yù)測模型,利用改進(jìn)的自適應(yīng)遺傳算法選取出預(yù)測精度高的輸入變量集,作為最終的輸入特征集X。
互信息[16]表示2個變量共同擁有信息的含量,可用來衡量2個變量間相互依賴的程度。給定2個離散量U和V,設(shè)它們的邊緣概率分布分別為p(u)和 p(v),聯(lián)合概率分布為 p(u,v),則互信息 I(U;V)定義為:
互信息也可用信息熵表示:
輸入特征變量的選擇既要考慮與輸出變量的相關(guān)性,還要考慮與已選特征變量之間的冗余性。本文采用文獻(xiàn)[17]中改進(jìn)的基于互信息特征選擇的MMIFS(Modified Mutual Information-based Feature Selection)算法作為評價標(biāo)準(zhǔn),具體如下:
輸入特征粗選的基本步驟如下。
a.初始化:Q為包含所有候選變量的原始輸入特征集,G為空集。
b.計算Q集中每個特征fi與輸出變量y的互信息 I(fi;y)。
c.選擇最大化 I(fi;y)的特征 fi,使得 Q 集中剔除特征fi,G集中增加特征fi。
e.輸出候選輸入特征集G。
根據(jù)上述的互信息法得到候選輸入特征集G后,進(jìn)一步考慮風(fēng)速預(yù)測模型輸入特征變量的不同組合,對一個可能的輸入特征組合采用改進(jìn)自適應(yīng)遺傳算法進(jìn)行優(yōu)劣評價,得到最優(yōu)的輸入特征集X。改進(jìn)自適應(yīng)遺傳算法的優(yōu)劣評價步驟如下。
a.編碼:采用二進(jìn)制編碼,遺傳算法的個體長度為特征向量維度L,即候選特征集G的大小。其中第i位為1表示選擇特征fi,為0表示不選擇特征fi。
b.初始種群:充分利用互信息法中特征選擇的先驗知識,將互信息法中相關(guān)性大的特征初始化遺傳算法中的部分種群。設(shè)種群大小為P,個體長度為L,自定義整數(shù) M 和 N,其中 1≤M≤P,1≤N≤L,具體方法為:取互信息法得到的特征集G中最好的N個特征,即特征集G中前N個特征;初始化種群中M個個體,使得到的最好的N個特征設(shè)置為1,其余特征隨機設(shè)置為0或1;隨機初始化剩余的P-M個個體。
c.適應(yīng)度函數(shù):綜合考慮風(fēng)速預(yù)測精度和輸入特征集的大小,適應(yīng)度函數(shù)如式(7)所示。
其中,error(xi)為用個體xi對應(yīng)的特征子集進(jìn)行風(fēng)速預(yù)測時的預(yù)測誤差,文中采用異方差高斯過程進(jìn)行預(yù)測,預(yù)測誤差采用均方根誤差。
d.遺傳算子。
選擇操作采用輪盤賭的比例選擇法;交叉操作采用單點交叉;變異操作采用基本位變異。交叉概率和變異概率[18]是隨個體適應(yīng)度值的變化而變化,適應(yīng)度值好(即適應(yīng)度函數(shù)較?。┑膫€體受到“保護”,適應(yīng)度值差(即適應(yīng)度函數(shù)較大)的個體遭到“破壞”。交叉概率pc和變異概率pm形式如下:
其中,fmin為最小個體適應(yīng)度;favg為平均個體適應(yīng)度;f′為進(jìn)行交叉的2個個體中較小的適應(yīng)度;f為變異個體的適應(yīng)度。
e.精英保留策略。
為保證每一代優(yōu)良個體不被破壞,采用精英保留策略:如果下一代群體的最佳個體適應(yīng)度小于當(dāng)前群體最佳個體適應(yīng)度,則將當(dāng)前群體最佳個體直接復(fù)制到下一代,替代下一代中適應(yīng)度最差的個體。
f.終止條件。
終止條件為達(dá)到最大迭代次數(shù)或連續(xù)4次最優(yōu)個體保持不變。
通過上述輸入特征集的初選和優(yōu)選,獲得與預(yù)測風(fēng)速強相關(guān)的輸入特征集X,將其作為輸入,進(jìn)一步采用異方差高斯過程回歸模型進(jìn)行風(fēng)速預(yù)測。
將數(shù)據(jù)集 D={(xi,yi)(i=1,2,…,n)}作為訓(xùn)練集,其中,xi為d維輸入向量,yi為輸出值,n為訓(xùn)練樣本數(shù)。
異方差高斯過程設(shè)輸入向量xi和目標(biāo)輸出值yi符合如下形式:
其中,f(xi)為潛在函數(shù),其先驗概率分布 p(f(xi))為高斯分布;噪聲εi為均值為零、方差為的高斯分布,記為與高斯過程模型不同,異方差高斯過程中不為常數(shù),噪聲方差滿足函數(shù)關(guān)系
由高斯過程理論可知,給定n*個測試數(shù)據(jù)集,輸入向量 X*的預(yù)測分布具有如下高斯分布形式:
其中,均值向量m*和協(xié)方差矩陣的形式如下:
其中,K ?Rn×n,Kij=k(xi,xj);K*?Rn*×n,K*ij=k(x*i,xj);K**?Rn*×n*,K**ij=k(x*i,x*j);Ω=diag(r),r=(r(x1),r(x2),…,r(xn))T;Ω*=diag(r*),r*=(r(x*1),r(x*2),…,r(x*n))T。
這里采用ISO型平方指數(shù)協(xié)方差函數(shù),即:
其中,λ為關(guān)聯(lián)性測度超參數(shù),其值越大,表示輸入輸出相關(guān)性越小;為核函數(shù)的信號方差,用來控制局部相關(guān)性的程度。這些參數(shù)稱為模型的超參數(shù),因均為正數(shù),可表示為 θ=(lnσf,lnλ)。
異方差高斯過程由2個同方差的高斯過程組成:第一個高斯過程模型G1對無噪聲目標(biāo)輸出進(jìn)行建模,第二個高斯過程G2對各噪聲的對數(shù)進(jìn)行建模,表示為 z(xi)=lg(r(xi)),該 z 過程模型中采用超參數(shù)為θz的協(xié)方差函數(shù)kz。
異方差高斯過程模型中,噪聲方差為潛在的獨立變量,因此輸入向量X*的預(yù)測分布變?yōu)槿缦滦问剑?/p>
異方差高斯過程模型中,y過程中的超參數(shù)θ和z過程中超參數(shù)θz的選取,對預(yù)測結(jié)果有著重要的影響。
異方差高斯過程的訓(xùn)練步驟如下。
a.數(shù)據(jù)集 D={(xi,yi)(i=1,2,…,n)},運用標(biāo)準(zhǔn)高斯過程G1對其進(jìn)行建模,根據(jù)輸入向量xi預(yù)測輸出值y。
b.根據(jù)模型G1,估計訓(xùn)練數(shù)據(jù)的噪聲水平,即zi=lg{var[yi,G(xi,X,y)]},根據(jù)文獻(xiàn)[15],var[yi,G(xi,X,y)]近似取為:
其中,yij為當(dāng)前高斯過程模型在輸入向量xi的預(yù)測樣本值;s為樣本的大小。從而形成新的數(shù)據(jù)集D′={(xi,zi)(i=1,2,…,n)}。
c.運用標(biāo)準(zhǔn)高斯過程模型G2對數(shù)據(jù)集D′進(jìn)行建模。
d.運用組合的高斯過程模型G3對數(shù)據(jù)集D進(jìn)行建模,其中,用模型G2預(yù)測噪聲水平ri。
e.如果G3不收斂,設(shè)G1與G3相同,重新返回步驟b。
異方差高斯過程模型訓(xùn)練的過程就是,根據(jù)當(dāng)前的噪聲模型和相應(yīng)數(shù)據(jù)得出噪聲水平,然后得出改進(jìn)的數(shù)據(jù)集,進(jìn)而計算模型G3的最大似然參數(shù),重復(fù)該過程,直到模型收斂。
計及氣象數(shù)據(jù)的短期風(fēng)速預(yù)測流程如圖1所示。
圖1 風(fēng)速預(yù)測流程圖Fig.1 Flowchart of wind speed forecasting
風(fēng)速預(yù)測精度用平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)來評估,分別如式(18)和式(19)所示。
其中,yi為實際風(fēng)速值為預(yù)測風(fēng)速值;Nu為預(yù)測值的個數(shù)。
以某風(fēng)電場實測的2012年小時風(fēng)速數(shù)據(jù)和對應(yīng)的實測小時氣象數(shù)據(jù)(風(fēng)向、氣溫、氣壓)為例。
依次選取春季、夏季、秋季和冬季的3月21日、6月21日、10月21日、12月21日作為預(yù)測日,利用各預(yù)測日前20 d數(shù)據(jù)進(jìn)行建模,進(jìn)行提前1 h預(yù)測。以預(yù)測秋季10月21日為例,10月1日到10月20日共20 d的歷史風(fēng)速序列、風(fēng)向序列、溫度序列和氣壓序列分別見圖2—5。
圖2 風(fēng)速序列Fig.2 Wind speed series
圖3 風(fēng)向序列Fig.3 Wind direction series
圖4 溫度序列Fig.4 Temperature series
圖5 氣壓序列Fig.5 Pressure series
取NS=ND=NT=NP=10,得原始候選輸入特征集Q。基于互信息法的輸入特征選擇方法,取β=0.5,g=12,初選得候選輸入向量集 G 為[S(t-1),D(t-2),S(t-2),T(t-1),S(t-4),D(t-1),S(t-3),D(t-6),S(t-5),P(t-2),D(t-4),T(t-9)]。
進(jìn)一步基于改進(jìn)自適應(yīng)遺傳算法進(jìn)行輸入特征優(yōu)選。 這里取 P=20,L=12,M=8,N=6,pc1=0.8,pc2=0.6,pm1=0.1,pm2=0.01。 輸入特征選擇中,把 20 d 的輸入數(shù)據(jù)分為訓(xùn)練集和測試集,隨機選取80%的數(shù)據(jù)作為訓(xùn)練集,剩下的20%數(shù)據(jù)作為測試集,根據(jù)遺傳算法從候選特征集G中選取預(yù)測模型的最優(yōu)輸入特征集 X 為[S(t-1),D(t-2),S(t-2),T(t-1),S(t-4),D(t-1),S(t-3),D(t-6)],即候選輸入特征集G中的前8個。
最后,將所得到的最優(yōu)輸入特征集X作為模型輸入,基于異方差高斯過程進(jìn)行提前1 h風(fēng)速預(yù)測,可得10月21日風(fēng)速值如圖6所示。
圖6 風(fēng)速預(yù)測結(jié)果Fig.6 Results of wind speed forecasting
由圖6可以看出,本文方法預(yù)測值的變化趨勢與真實值基本一致,但對于個別風(fēng)速變化很大的時刻,誤差仍較大。
針對上述算例,本文方法與不計及氣象數(shù)據(jù)時的ARIMA模型、不計及氣象數(shù)據(jù)時的HGP模型、計及氣象數(shù)據(jù)的主成分分析法和HGP模型的預(yù)測誤差見表1。
表1 預(yù)測誤差Table 1 Forecast error
由表1可以看出,基于HGP模型的風(fēng)速預(yù)測精度要高于ARIMA模型;計及氣象數(shù)據(jù)的預(yù)測精度要高于不計及氣象數(shù)據(jù)的預(yù)測精度;本文提出的混合特征選擇HGP模型比主成分分析HGP模型的風(fēng)速預(yù)測精度高。
進(jìn)一步選取春季、夏季、秋季及冬季的3月21日至3月27日、6月21日至6月27日、10月21日至10月27日、12月21日至12月27日的數(shù)據(jù)作為待預(yù)測風(fēng)速,利用各預(yù)測日前20 d數(shù)據(jù)進(jìn)行建模,進(jìn)行提前1 h預(yù)測。圖7所示為10月21日至10月27日的預(yù)測值。
本文方法與不計及氣象數(shù)據(jù)時的ARIMA模型、不計及氣象數(shù)據(jù)時的HGP模型、計及氣象數(shù)據(jù)的主成分分析法和HGP模型的預(yù)測誤差見表2。
圖7 風(fēng)速預(yù)測結(jié)果Fig.7 Results of wind speed forecasting
表2 預(yù)測誤差Table 2 Forecast error
由表2可以看出,在增加了待預(yù)測的風(fēng)速數(shù)據(jù),仍可得出與表1一致的結(jié)論,即:基于HGP模型的風(fēng)速預(yù)測精度要高于ARIMA模型;計及氣象數(shù)據(jù)的預(yù)測精度要高于不計及氣象數(shù)據(jù)的預(yù)測精度;本文提出的混合特征選擇HGP模型比主成分分析HGP模型的風(fēng)速預(yù)測精度高。
夏季的風(fēng)速預(yù)測絕對誤差較大,但相對誤差卻偏小,這是因為夏季的平均風(fēng)速較高;冬季則相反。因此在分析風(fēng)速預(yù)測誤差時,應(yīng)同時計及絕對誤差和相對誤差指標(biāo)。
本文考慮氣象數(shù)據(jù)對風(fēng)速的影響,將歷史風(fēng)速數(shù)據(jù)和氣象數(shù)據(jù)作為原始輸入向量。針對原始輸入的數(shù)據(jù)量較大,增加了預(yù)測時間和預(yù)測的難度,為此本文提出采用混合特征選擇方法,一方面提取與風(fēng)速預(yù)測序列具有強相關(guān)性的特征變量,剔除不相關(guān)變量和冗余變量;另一方面還減少了原始的輸入數(shù)據(jù)。從而通過混合特征選擇方法選取出適合本次風(fēng)速預(yù)測的最佳輸入向量。
文中進(jìn)一步采用異方差高斯過程回歸模型進(jìn)行了短期風(fēng)速預(yù)測。通過不同季節(jié)的單預(yù)測日和多預(yù)測日的預(yù)測結(jié)果表明:計及歷史氣象數(shù)據(jù)的預(yù)測方法比不計及歷史氣象數(shù)據(jù)的預(yù)測方法具有更高的預(yù)測精度;計及氣象數(shù)據(jù)時,采用混合特征選擇的預(yù)處理比主成分分析法具有更高的預(yù)測精度。
由于風(fēng)速的隨機性強,因此風(fēng)速預(yù)測很難精確。本文的貢獻(xiàn)在于:在計及歷史氣象數(shù)據(jù)的預(yù)測時,采用合適的輸入特征選擇有助于提高風(fēng)速的預(yù)測精度。