江漢大學人工智能學院 陳 巖 周 晨 侯 群
風電功率的預測對風力發(fā)電系統(tǒng)具有重要意義,然而,風力發(fā)電的輸出功率具有較大的波動性和間歇性,這對制定發(fā)電計劃、調(diào)度運行帶來了巨大的挑戰(zhàn)。本文介紹了一種基于SVM算法對風電功率進行預測的方法,將風電功率的歷史數(shù)據(jù)作為因變量,將其對應的影響風電功率的主要因素數(shù)據(jù)作為自變量,使用SVM回歸方法建立預測模型,找出最佳的模型參數(shù),將需要預測的數(shù)據(jù)自變量輸入到模型中,有效并準確地預測出風電功率數(shù)據(jù),預測準確度可達到94%以上。
隨著地球環(huán)境的污染和不可再生資源的過度消耗,人們把更多的目光投在了可再生資源身上。風資源作為一種清潔能源,取之不盡,用之不竭,和目前常見的火力發(fā)電相比,沒有污染排放,也沒有煤炭資源消耗。中國作為風資源儲量巨大的國家,裝機量逐年提高,從保護環(huán)境和節(jié)約資源的角度來看,風力發(fā)電具有良好的未來發(fā)展前景。
風電功率是風力發(fā)電系統(tǒng)中最為重要的指標之一,然而,風電功率會受到風速、風向角等因素的影響,因此對風電功率預測的準確性成為了關(guān)鍵。
國外風電功率預測研究工作起步較早,比較有代表性的方法主要有:丹麥的Riso國家實驗室的Prediktor預測系統(tǒng)、西班牙的LocalPred預測系統(tǒng)和德國AWPT預測系統(tǒng)等。其主要思想均是利用數(shù)值天氣預測提供風機輪轂高度的風速、風向等預測信息,然后利用風電功率預測模塊提供風電功率。
我國風力發(fā)電起步雖然較晚,但是在數(shù)十年來的發(fā)展趨勢不容忽視,過快的發(fā)展速度導致了風電行業(yè)質(zhì)量跟不上速度的結(jié)果。在近些年,我國的風力發(fā)電領(lǐng)域開始由快速導向型發(fā)展轉(zhuǎn)向質(zhì)量導向型發(fā)展。正是因為這種原因,我國風電功率預測在二十一世紀才開始受到行業(yè)重視,目前仍處于起步階段。
我國目前正在開展基于人工神經(jīng)網(wǎng)絡、支持向量機等方法的風電功率預測模型研究,以及基于線性化和計算流體力學的物理模型方法,同時正在進行多種統(tǒng)計方法聯(lián)合應用研究及統(tǒng)計方法與物理方法混合預測模型的研究。
本文采用機器學習中的支持向量機(SVM)算法,探討其在風力發(fā)電機功率預測中的應用研究,將有功功率的歷史數(shù)據(jù)及其對應的變量數(shù)據(jù)進行訓練建模,并使用測試數(shù)據(jù)集對預測模型進行檢驗。
支持向量機(Support Vector Machine,SVM)是一種按監(jiān)督學習(supervised learning)方式對數(shù)據(jù)進行二元分類的廣義線性分類器(generalized linear classifier),其決策邊界是對學習樣本求解的最大邊距超平面(maximum-margin hyperplane)。
SVM使用鉸鏈損失函數(shù)(hinge loss)計算經(jīng)驗風險(empirical risk)并在求解系統(tǒng)中加入了正則化項以優(yōu)化結(jié)構(gòu)風險(structural risk),是一個具有稀疏性和穩(wěn)健性的分類器,SVM可以通過核方法進行非線性分類,是常見的核學習方法之一。
SVM在1964年被提出,在二十世紀90年代后得到快速發(fā)展并衍生出一系列改進和擴展算法,在人像識別、文本分類等模式識別問題中得到應用。
影響風力發(fā)電機功率的變量有很多,如風速,空氣密度,發(fā)電機扇葉半徑,風向角等等,如果將這些因素都考慮進去來預測風電功率則需要大量數(shù)據(jù),所以僅選取影響較大的幾個變量對風電功率進行預測。
根據(jù)風電功率計算公式:
其中,p為風電功率,A為掃風面積,V為風速,Cp為風能轉(zhuǎn)化率值,D為空氣密度,φ為功率因子。
在風電功率計算公式中,掃風面積與風機葉片半徑和風向角有關(guān),風能轉(zhuǎn)化率值與風機生產(chǎn)廠家技術(shù)的不同而有所高低,所以在單臺風機的風速預測中,最直接的影響因素為風速、風向角和功率因子。
本文選取風力發(fā)電機連續(xù)12h的有功功率數(shù)據(jù),采樣間隔為30s,共計1440條數(shù)據(jù),其中前1080條設(shè)置為訓練集,后360條設(shè)置為測試集。
訓練集和測試集數(shù)據(jù)均分為自變量和因變量兩部分,因變量為發(fā)電機有功功率,自變量為功率因子、瞬時風速、30s平均風速、10min平均風速、風向角和60s平均風向角六個變量,首先對歷史數(shù)據(jù)進行標準化處理。
在建模訓練的過程中,不同的評價指標往往具有不同的量綱和量綱單位,這樣的情況會對數(shù)據(jù)分析的結(jié)果造成影響,為了消除這種影響,需要進行數(shù)據(jù)標準化處理,以解決數(shù)據(jù)指標之間的可比性問題。原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標準化處理后,各指標處于同一數(shù)量級,適合進行綜合對比評價。在這里,本文選用數(shù)據(jù)歸一化來對數(shù)據(jù)進行處理。利用公式:
其中,y為歸一化后的目標值,x為原始數(shù)據(jù),xmax為原始數(shù)據(jù)最大值,xmin為原始數(shù)據(jù)最小值。
支持向量回歸(Support Vector Regression)是支持向量機的重要分支,目的是找到一個平面,使一個集合的所有數(shù)據(jù)到該平面的距離最近,以達到預測的目的。
式中,ε為常數(shù),C為懲罰因子,ζi和為松弛因子。
對上述公式引入拉格朗日乘子ai和,轉(zhuǎn)化為對偶問題,則優(yōu)化函數(shù)為:
構(gòu)造支持向量回歸模型需要借助算法計算對偶參數(shù),本文選取徑向基核函數(shù)(RBF),這里需要確定SVM算法的懲罰因子C和RBF核函數(shù)參數(shù)γ。
懲罰因子C代表模型重視離群點的程度,C越大表示越不能容忍出現(xiàn)誤差,容易出現(xiàn)過擬合的情況,而C越小則容易出現(xiàn)欠擬合的情況。C值的過大或過小都表示其泛化能力變差。
伽馬值γ是選擇RBF函數(shù)作為核函數(shù)后,自帶的一個參數(shù),隱含地決定了數(shù)據(jù)映射到新的特征空間后的分布,伽馬值越大,支持向量越少,伽馬值越小,支持向量越多,其影響著訓練與預測的速度。
在訓練樣本數(shù)據(jù)的過程中,時常會遇到數(shù)據(jù)缺失的情況,也就是缺失了特征數(shù)據(jù),導致向量數(shù)據(jù)不完整。SVM算法沒有處理缺失值的策略,并且希望樣本在特征空間中線性可分,所以特征空間的好壞會對SVM的性能有較大影響,會直接導致訓練結(jié)果乃至預測精度。針對這種情況,有兩種解決方法,一是選取正常工況下連續(xù)的、質(zhì)量較高的數(shù)據(jù),二是對不完整的數(shù)據(jù)集進行數(shù)據(jù)預處理,通過數(shù)據(jù)清理來填寫缺失值、識別并刪除離群點的方式使數(shù)據(jù)集達到較高的質(zhì)量。結(jié)合實際情況,本文選擇第一種方法選取了正常工況下的連續(xù)風電數(shù)據(jù)。
通過對樣本數(shù)據(jù)的訓練,調(diào)整最適合模型的C值和伽馬值,即可得到風電功率預測模型。在這里使用一款SVM模式識別與回歸的工具包LIBSVM,使用回歸模型函數(shù)svmtrain,函數(shù)參數(shù)為訓練集數(shù)據(jù),得到最優(yōu)的懲罰因子C為4,伽馬值γ為0.3536。整個預測模型的流程圖如圖1所示。
圖1 預測模型流程圖
圖2 訓練集數(shù)據(jù)及其預測值曲線
圖3 測試集數(shù)據(jù)及其預測曲線
圖4 BP神經(jīng)網(wǎng)絡預測曲線
原始數(shù)據(jù)為國內(nèi)某風力發(fā)電機2018年7月14日21:00——2018年7月15日9:00的30s采樣間隔數(shù)據(jù),在對預測結(jié)果進行評價時,使用RBF核函數(shù)自帶的svmpredict方法,加入誤差參數(shù)。如圖2所示,在訓練結(jié)束后得到訓練集預測的擬合程度為0.94861,其中,參數(shù)C為4,γ為0.3536。
將測試集數(shù)據(jù)輸入到已經(jīng)確定參數(shù)的模型中去,從圖3所示可以看出,采用SVM算法對連續(xù)時間的風電功率進行預測,其預測曲線與實際的曲線基本一致,擬合程度達到0.94725,擬合程度較高,證明使用SVM在風電功率預測場景中的可行性。
使用BP神經(jīng)網(wǎng)絡的方法對訓練集數(shù)據(jù)進行訓練,得到該數(shù)據(jù)集的BP神經(jīng)網(wǎng)絡,并使用該神經(jīng)網(wǎng)絡對測試集數(shù)據(jù)進行預測,可以得到如圖4所示的預測曲線,擬合程度為0.94506,略低于基于SVM訓練的預測模型。
結(jié)論:風電功率預測是風力發(fā)電系統(tǒng)中重要的一環(huán),受外界因素影響,風電功率具有不穩(wěn)定性,需要將主要因素考慮進來并對結(jié)果進行預測。本文首先對樣本數(shù)據(jù)進行數(shù)據(jù)預處理,將歸一化后的數(shù)據(jù)分為訓練集和測試集,選取RBF核函數(shù)對訓練集進行訓練,得到模型參數(shù),再將測試集數(shù)據(jù)輸入到預測模型中,得到最終預測結(jié)果。該模型的預測結(jié)果與實際數(shù)據(jù)相比,擬合度可以達到94.7%。同時,使用BP神經(jīng)網(wǎng)絡的方法對風電功率進行預測,可以得到略低于SVM方法的擬合精度,再次印證了SVM算法在風電功率預測領(lǐng)域的可行性。此外,對于SVM的一些其他改進算法對風電功率預測精度的效果,可以期待后續(xù)的探討。