白雪飛
(國能黃驊港務有限責任公司,河北 滄州 061100)
隨著“屋頂光伏”工程的開展,大量光伏接入配電網[1]。由于光伏電源受環境因素影響較大,光伏出力具有一定的隨機性和波動性,這將對配電網的可靠性、穩定性以及配電網電能質量造成不利影響[2]。因此,建立準確的光伏出力時序模型對于光伏系統規劃和運行具有重要意義[3]。
常用的光伏出力預測方法主要有支持向量機[4]、人工神經網絡[5]、時間序列法[6]以及組合方法[7]等算法,文獻[8]選取與預測日最接近的一組歷史數據作為樣本值,基于改進的灰色BP 神經網絡對光伏出力進行預測。文獻[9]基于貝葉斯概率原理對DFM模型進行修正,同時利用PSO優化算法建立了光伏出力組合預測模型。上述預測方法往往依賴大量歷史數據來確保精度,由于分布式光伏電源具有投資小、分散廣、監管力度不足等特點,光伏出力歷史數據獲取存在一定困難。馬爾科夫鏈常用于預測具有隨機波動性的問題,其在降水量預測、風力發電以及電力負荷預測等方面均取得顯著效果。文獻[10]理論推導證明了光伏出力符合馬爾科夫鏈,并基于馬爾科夫鏈建立了光伏出力時間序列預測模型,但原始馬爾科夫鏈模型無法反映實際季節、天氣變化等因素對光伏出力的影響。文獻[11]通過對原始馬爾科夫鏈進行數據片段細化分類進一步提高了預測模型精度。考慮天氣特性、日特性以及季節特性。文獻[12]基于馬爾可夫蒙特卡洛模擬和譜聚類組合算法建立了光伏出力聚類與模擬模型。文獻[13]提出采用加權的馬爾科夫鏈修正殘差SVM 預測模型,進一步驗證了馬爾科夫鏈模型在光伏出力預測方面的優勢。
考慮原始馬爾科夫鏈模型無法描述云層隨機波動對光伏出力的影響,本文結合序貫蒙特卡洛模擬提出了改進馬爾科夫鏈的光伏出力預測方法。
馬爾科夫鏈是指具有無后效性的一系列離散狀態序列,即下一時刻狀態只與當前狀態有關,而與之前的歷史狀態無關。不同狀態之間相互轉移的概率組成的矩陣稱為狀態轉移矩陣P,如式(1)所示,其元素Pij表示由狀態i轉移到狀態j的概率。

已知馬爾科夫鏈模型的系統狀態轉移矩陣為P,當前t時刻系統狀態概率分布為St={Pt0,Pt1,…Ptn} ,則依據式(2)可計算得到下一時刻i系統狀態概率分布Si,由式(3)求得i時刻系統應處狀態Si。

狀態轉移矩陣是馬爾科夫鏈模型的重要組成部分,在建立狀態轉移矩陣時須要對系統狀態進行劃分。光伏出力受輻照度直接影響,而太陽輻照強度受云層狀態影響,一般認為輻照度服從Beta概率分布,但實際上如果9:00時有云層遮擋太陽光線,顯然在9:01 時刻云層不可能發生明顯移動。因此Beta分布函數不具備時序性,無法表征云層隨時間變化對光伏出力的影響。
為研究云層狀態變化過程,本文引入云層覆蓋水平CCL(cloud cover level)指標對云層狀態進行劃分,如式(4)所示:

式中:CCL(t)為t時刻云層覆蓋水平;I(t)為t時刻太陽輻照度;IB(t)為t時刻太陽輻照度基準值,以當天t時刻無云層遮擋時理想太陽輻照度作為基準值,該基準值在一天中隨時間變化,最大值為1000 W/m2。
表1 給出了云層狀態分類標準,表中依據CCL值將云層狀態劃分為4 類,其中CCL 值越大表示云層越多。

表1 云層狀態分類
原始馬爾科夫鏈中狀態轉移矩陣P固定不變,在處理時序性問題時具有一定局限性。本文基于CCL指標對云層狀態進行劃分,利用統計學方法以15 min 為時間間隔統計計算各個時刻云層狀態轉移矩陣P,矩陣P中轉移概率Pij由式(5)計算得到:

式中:qij(t)為t時刻云層狀態由i狀態轉移到j狀態的次數,為t時刻云層狀態發生變化的總次數。
光伏出力受云層覆蓋水平影響具有一定隨機性,通過建立云層狀態轉移過程可以模擬實際云層隨時間變化情況。每個云層狀態對應一個Beta分布,采用極大似然估計法可計算得到相應Beta 分布參數,一旦確定當前時刻云層狀態,即可從其對應的Beta分布參數中抽樣得到輻照度水平,進而求得光伏出力。
序貫蒙特卡洛能夠靈活模擬系統中各元件所處不同狀態下的持續時間,不同于蒙特卡洛模擬,序貫蒙特卡洛在模擬過程中抽樣樣本數為狀態持續時間段數,故系統中各狀態持續時間抽樣方法是序貫蒙特卡洛模擬的關鍵。
狀態持續時間抽樣在序貫蒙特卡洛模擬中廣泛應用,該方法的基本原理是采用概率抽樣的方法得到系統中各狀態持續時間。一般認為系統中各狀態持續時間服從指數分布,式(6)為狀態持續時間抽樣值。

式中:T為當前狀態持續時間抽樣值;λ為狀態轉移概率;R為[0,1]區間內的隨機數。
云層狀態在一天內具有時序性,即不同時刻云層狀態轉移概率具有差異性,為此本文對公式(6)中的參數值l進行改進,基于各時刻云層狀態轉移矩陣調整狀態持續時間,如式(7)所示。

式中:Ti為改進后云層處于狀態i持續時間抽樣值;Pij為當前時刻云層狀態由狀態i轉移到狀態j的概率。
前面幾節基于馬爾科夫過程建立了云層狀態轉移矩陣,以底層建模方式模擬云層隨機行為。本文考慮序貫蒙特卡洛模擬處理時序問題的優勢,采用改進狀態持續時間抽樣法將馬爾科夫過程與序貫蒙特卡洛模擬結合起來,建立了具有時序性的云層狀態轉移過程,具體步驟:
輸入歷史輻照度數據;
基于云層覆蓋水平CCL建立云層狀態轉移矩陣;
確定系統狀態初始值,并依據式(7)確定當前初始狀態持續時間;
依據式(2)和式(3)確定下一狀態;
依據式(7)確定下一狀態持續時間;
判斷前后兩狀態是否一致。若一致,則與當前狀態合并,并修改當前狀態持續時間,反之得到新的狀態及狀態持續時間;
判斷模擬時間是否超過24 h,若超過則得到一天24 h 內云層狀態變化序列,反之重復步驟4 到步驟6直至達到24 h結束。
以某一地區太陽輻照度歷史數據作為樣本數據,基于云層狀態轉移矩陣并結合狀態持續時間抽樣模擬得到一天24 h內云層狀態轉移情況,如圖1所示,考慮到夜晚時刻輻照度始終為零,故設定初始狀態為L4。由圖可以看出,此次模擬得到的云層狀態具有一定的波動性,且每個狀態持續的時間呈現出較為明顯的隨機性,符合一天內云層實際隨機變化情況。

圖1 云層狀態轉移曲線
利用極大似然估計法計算得到不同云層覆蓋等級對應的Beta 分布參數值,如表2 所示。依據模擬得到的各時刻云層狀態,采用隨機抽樣的方法從對應的Beta 分布函數中抽取輻照度樣本值。如圖2 所示為一天內太陽輻照度模擬曲線,由圖可以看出,由于云層狀態集中處于L2 和L3 狀態,云層遮擋導致太陽輻照度水平整體較低,同時隨時間具有波動性。

表2 不同云層覆蓋等級Beta分布參數值

圖2 輻照度模擬曲線
已有研究表明,光伏出力與太陽輻照度呈線性關系,此外光伏制造業相關數據表明,當太陽輻照度為1000 W/m2時光伏出力達到峰值。本文依據Beta分布得到的太陽輻照度抽樣值可能大于1000 W/m2,因此光伏出力可由下式確定。

式中:P為模擬達到的光伏出力值;Irr為太陽輻照度抽樣值;Pmax為光伏功率峰值。
以容量為8 kW光伏電源為例,基于太陽輻照度模擬曲線依據式(8)計算光伏出力,得到光伏出力時序曲線,如圖3所示。由圖可以看出,在12:00-14:00期間,模擬得到的太陽輻照度超過1000 W/m2,此時光伏出力處于峰值狀態,同時,與原始馬爾科夫鏈的預測方法相比,本文所提預測方法更加接近光伏出力實際值。

圖3 光伏輸出功率曲線
為評估所提預測方法的有效性,本文采用平均絕對百分誤差(MAPE)和均方根誤差(RMSE)兩個指標作為評估依據。

式中:Pi為光伏出力實際值;為光伏出力預測值;n為預測樣本值總數。

表3 光伏出力預測方法誤差指標
本文引入狀態持續時間抽樣法,考慮了云層狀態隨機不確定性對光伏出力的影響,使得預測模型的MAPE 和RMSE 指標均有所降低,與原始馬爾科夫鏈的光伏出力預測方法相比,本文所提方法提高了預測精度。
本文基于狀態持續時間抽樣對馬爾科夫鏈進行改進,建立了具有時序性的光伏出力預測模型。
受地理因素限制,不同地區太陽輻照度水平具有較大差異,與借助光伏電源歷史數據生成當前所需光伏電源出力曲線的直接方法不同,本文利用間接方法彌補了部分地區因缺乏光伏出力歷史數據而無法預測當地光伏出力的不足。
利用平均絕對百分誤差(MAPE)和均方根誤差(RMSE)作為評價指標對預測模型進行評估,通過與原始馬爾科夫鏈模型進行比較表明本文所提方法具有較高的預測精度,具備一定的可行性和實用性。