周 楠,徐瀟源,嚴(yán) 正,陸建宇,李亞平
(1. 電力傳輸與功率變換控制教育部重點(diǎn)實(shí)驗(yàn)室(上海交通大學(xué)),上海市200240;2. 國(guó)家電網(wǎng)公司華東分部,上海市200120;3. 中國(guó)電力科學(xué)研究院有限公司(南京),江蘇省南京市210003)
近年來(lái),以光伏為代表的可再生能源發(fā)電迅速發(fā)展,在有效緩解能源危機(jī)問(wèn)題的同時(shí),其出力的隨機(jī)性和波動(dòng)性也給電網(wǎng)的安全穩(wěn)定運(yùn)行帶來(lái)了挑戰(zhàn)[1]。因此,準(zhǔn)確預(yù)測(cè)光伏發(fā)電功率的變化趨勢(shì)有助于調(diào)度部門及時(shí)調(diào)整調(diào)度計(jì)劃,從而降低光伏并網(wǎng)對(duì)系統(tǒng)的負(fù)面影響。
光伏發(fā)電功率預(yù)測(cè)按照時(shí)間尺度可以分為中長(zhǎng)期預(yù)測(cè)(1 月到1 年)、短期預(yù)測(cè)(4 h 到3 d)和超短期預(yù)測(cè)(數(shù)分鐘到4 h)[2-3],其中超短期預(yù)測(cè)能夠提供光伏出力的實(shí)時(shí)變化信息,是本文的研究對(duì)象。光伏發(fā)電預(yù)測(cè)方法可分為物理方法[4-5]和統(tǒng)計(jì)方法[6-11]。統(tǒng)計(jì)方法基于光伏的歷史數(shù)據(jù)建立出力波動(dòng)特征的數(shù)學(xué)模型,預(yù)測(cè)精度較高且不需要光伏的詳細(xì)物理參數(shù),因而在光伏發(fā)電預(yù)測(cè)中得到了廣泛應(yīng)用。文獻(xiàn)[6-7]以輻照度等氣象數(shù)據(jù)作為輸入變量,分別采用徑向基函數(shù)(radial basis function,RBF)和反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)預(yù)測(cè)光伏發(fā)電功率;文獻(xiàn)[8]采用極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)進(jìn)行光伏發(fā)電預(yù)測(cè),顯著縮短了預(yù)測(cè)模型的訓(xùn)練時(shí)間。相比于傳統(tǒng)的時(shí)間序列模型,上述基于單層前饋神經(jīng)網(wǎng)絡(luò)的方法提升了光伏發(fā)電預(yù)測(cè)精度,但在訓(xùn)練時(shí)存在欠擬合、易陷入局部最優(yōu)等問(wèn)題。
近年來(lái),各類深度學(xué)習(xí)算法被應(yīng)用于光伏發(fā)電功率預(yù)測(cè),以克服單層神經(jīng)網(wǎng)絡(luò)的不足。文獻(xiàn)[9]基于小波變換和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN),提高了光伏發(fā)電功率的預(yù)測(cè)精度;文 獻(xiàn)[10]將CNN、長(zhǎng) 短 期 記 憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)及兩者的混合模型應(yīng)用于光伏出力短期預(yù)測(cè);文獻(xiàn)[11]提出了基于深度信念網(wǎng)絡(luò)(deep belief network,DBN)的光伏出力日前預(yù)測(cè)模型。相比于單層網(wǎng)絡(luò),深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)出更高的預(yù)測(cè)精度,但其復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)也帶來(lái)了訓(xùn)練耗時(shí)、調(diào)參困難等問(wèn)題。對(duì)此,文獻(xiàn)[12-13]提出了寬度學(xué)習(xí)系統(tǒng)(broad learning system,BLS),并有學(xué)者將其應(yīng)用于風(fēng)光容量配置[14]和無(wú)刷發(fā)電機(jī)旋轉(zhuǎn)整流器故障分類[15],在保證計(jì)算效率的同時(shí)取得了精度較高的計(jì)算結(jié)果。但是,目前尚未有文獻(xiàn)涉及BLS 在光伏發(fā)電功率預(yù)測(cè)中的應(yīng)用。
文獻(xiàn)[6-11]主要探討光伏發(fā)電功率的預(yù)測(cè)算法,但在不同天氣類型和出力水平下均采用單一預(yù)測(cè)模型,導(dǎo)致陰雨天氣下的預(yù)測(cè)誤差相對(duì)較大。考慮到光伏發(fā)電與氣象因素密切相關(guān),有文獻(xiàn)首先按天氣類型對(duì)歷史數(shù)據(jù)進(jìn)行分類,然后針對(duì)不同類別分別建立預(yù)測(cè)模型。文獻(xiàn)[16-18]采用自組織映射(self-organizing map,SOM)、K 均值聚類等聚類算法對(duì)天氣類型進(jìn)行劃分,進(jìn)一步采用BPNN 等算法預(yù)測(cè)光伏出力;文獻(xiàn)[19]首先采用Adaboost 改進(jìn)的K 近鄰算法實(shí)現(xiàn)歷史數(shù)據(jù)聚類,然后建立多階加權(quán)馬爾可夫鏈預(yù)測(cè)輻照度和光伏出力。按天氣類型進(jìn)行聚類能有效提升光伏發(fā)電預(yù)測(cè)精度,但是現(xiàn)有方法一般以日為單位進(jìn)行聚類,沒(méi)有考慮小時(shí)乃至分鐘級(jí)別的光伏出力波動(dòng)特征,故對(duì)于光伏發(fā)電功率超短期預(yù)測(cè)的參考價(jià)值有限。
本文提出了一種基于SOM 與BLS 的光伏發(fā)電功率超短期預(yù)測(cè)模型,旨在解決現(xiàn)有研究中光伏數(shù)據(jù)聚類較為粗糙、深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練耗時(shí)的問(wèn)題。首先,以單個(gè)時(shí)刻的數(shù)據(jù)樣本為單位,綜合考慮時(shí)間、歷史出力、氣象條件等因素,采用SOM 實(shí)現(xiàn)光伏數(shù)據(jù)分類;然后,針對(duì)不同類別構(gòu)建基于BLS 的光伏發(fā)電功率超短期多步長(zhǎng)預(yù)測(cè)模型,通過(guò)網(wǎng)絡(luò)寬度上的擴(kuò)展提高網(wǎng)絡(luò)性能,使得預(yù)測(cè)模型同時(shí)具有強(qiáng)擬合能力與高訓(xùn)練效率;最后,采用實(shí)際光伏數(shù)據(jù)進(jìn)行算例分析,驗(yàn)證本文所提方法的有效性。
光伏發(fā)電具有間歇性與隨機(jī)性的特征:一方面,在不同時(shí)刻和天氣類型下,光伏出力曲線具有不同特點(diǎn);另一方面,輻照度等氣象因素的快速變化會(huì)導(dǎo)致光伏出力的瞬時(shí)波動(dòng)。如果僅采用單一預(yù)測(cè)模型,而沒(méi)有考慮不同天氣條件下光伏出力的特性,會(huì)導(dǎo)致陰雨天氣等情況下的預(yù)測(cè)誤差較大。因此,本文在建立光伏發(fā)電功率預(yù)測(cè)模型前,首先采用SOM神經(jīng)網(wǎng)絡(luò)對(duì)光伏數(shù)據(jù)進(jìn)行聚類分析。
SOM 的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如附錄A 圖A1 所示[20]。它由輸入層和輸出層(也稱為競(jìng)爭(zhēng)層)組成,其中輸入層對(duì)應(yīng)一個(gè)N 維的輸入向量,競(jìng)爭(zhēng)層由M=RC 個(gè)神經(jīng)元組成,排列成R 行C 列,構(gòu)成一個(gè)二維平面陣列。競(jìng)爭(zhēng)層的各神經(jīng)元之間相互競(jìng)爭(zhēng)以求被激活,最終在每個(gè)時(shí)刻僅有一個(gè)神經(jīng)元被激活,稱為獲勝神經(jīng)元,該神經(jīng)元就表示了對(duì)輸入向量的分類結(jié)果。
為了更精準(zhǔn)地捕捉光伏發(fā)電功率在超短期時(shí)間尺度內(nèi)的波動(dòng)特性,本文以每個(gè)時(shí)刻為單位生成光伏數(shù)據(jù)樣本,設(shè)時(shí)刻t 對(duì)應(yīng)的樣本為x(t)∈RN,并利用SOM 對(duì)其進(jìn)行聚類分析??紤]實(shí)際應(yīng)用中可獲取的量測(cè)數(shù)據(jù),本文選取的x(t)包括時(shí)刻t 對(duì)應(yīng)的時(shí)間戳、鄰近時(shí)刻的歷史氣象數(shù)據(jù)和歷史出力、未來(lái)輻照度預(yù)測(cè)值等。因此,如果同一天的不同時(shí)刻對(duì)應(yīng)的歷史出力波動(dòng)情況及未來(lái)輻照度變動(dòng)趨勢(shì)差異較大,也會(huì)被SOM 劃分到不同的類別,進(jìn)而采用不同的預(yù)測(cè)模型獲得其未來(lái)出力。
在此背景下,SOM 的具體訓(xùn)練步驟如下。
步驟1:算法初始化。對(duì)競(jìng)爭(zhēng)層每個(gè)神經(jīng)元相關(guān)的權(quán)重向量wi∈RN(i=1,2,…,M)隨機(jī)賦初值,令迭代次數(shù)k=1,并指定最大迭代次數(shù)K。
步驟2:向量歸一化。給出一個(gè)新的輸入樣本x∈RN,并將wi和x 全部進(jìn)行歸一化處理。
步驟3:尋找獲勝神經(jīng)元。將競(jìng)爭(zhēng)層中所有神經(jīng)元的權(quán)重向量與輸入向量進(jìn)行比較,將其中距離最小者判定為獲勝神經(jīng)元,相應(yīng)的權(quán)重向量記作wc。對(duì)于連續(xù)型變量而言,通常采用歐氏距離,即
式中:||·||2為L(zhǎng)2范數(shù)。
步驟4:網(wǎng)絡(luò)權(quán)重調(diào)整。對(duì)于獲勝神經(jīng)元鄰近區(qū)域內(nèi)的神經(jīng)元,按照下式更新權(quán)重,使其向x靠攏:
式 中:x(k)和分 別 為 第k 次 迭 代 時(shí)x 和wi的值;hci(k)為權(quán)函數(shù),與迭代次數(shù)及神經(jīng)元與獲勝神經(jīng)元的距離有關(guān),有
式中:α(k)為學(xué)習(xí)率;σ(k)為神經(jīng)元影響半徑。這2 個(gè)參數(shù)均隨迭代次數(shù)k 的增加而遞減。
步驟5:更新輸入樣本。提供新的輸入樣本x 給SOM 網(wǎng)絡(luò)的輸入層,返回步驟3,直到將所有樣本全部提供給網(wǎng)絡(luò)。
步驟6:判斷算法是否收斂。令k=k+1,返回步驟2,直至相鄰2 次迭代的權(quán)值誤差小于允許值,或者達(dá)到預(yù)先指定的迭代次數(shù)K。
SOM 的競(jìng)爭(zhēng)層神經(jīng)元和鄰域內(nèi)的神經(jīng)元相連,互相激勵(lì)進(jìn)行學(xué)習(xí),故訓(xùn)練后鄰近神經(jīng)元具有相似的權(quán)重。因此,具有相似特征的輸入樣本映射在鄰近 的SOM 輸 出 節(jié) 點(diǎn) 上[21]。在 利 用SOM 對(duì) 光 伏 數(shù)據(jù)進(jìn)行精細(xì)化聚類后,針對(duì)不同的類別形成各自的數(shù)據(jù)集并分別訓(xùn)練預(yù)測(cè)模型,可以更好地?cái)M合不同情況下光伏發(fā)電功率和相關(guān)因素的關(guān)系,以提高預(yù)測(cè)精度。
人工神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性擬合能力,是當(dāng)前光伏發(fā)電功率預(yù)測(cè)研究中最常用的方法之一。但是傳統(tǒng)的單層前饋神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)容易收斂到局部最優(yōu),導(dǎo)致預(yù)測(cè)誤差較大。因此,近年來(lái)各類深度學(xué)習(xí)算法在光伏出力預(yù)測(cè)問(wèn)題中獲得了廣泛應(yīng)用[9-11]。盡管深度網(wǎng)絡(luò)性能強(qiáng)大,但其結(jié)構(gòu)復(fù)雜,具有大量的參數(shù)和超參數(shù),訓(xùn)練過(guò)程極為耗時(shí)。針對(duì)這一問(wèn)題,文獻(xiàn)[12-13]提出了BLS,在保證神經(jīng)網(wǎng)絡(luò)擬合精度的同時(shí),顯著提高了算法的訓(xùn)練速度。
BLS 是基于隨機(jī)向量函數(shù)連接神經(jīng)網(wǎng)絡(luò)(random vector functional-link neural network,RVFLNN)[22]構(gòu)建的。與直接接受輸入數(shù)據(jù)并建立增強(qiáng)節(jié)點(diǎn)的傳統(tǒng)RVFLNN 不同,BLS 首先對(duì)輸入進(jìn)行特征提取以得到一組特征節(jié)點(diǎn)。由于稀疏特征學(xué)習(xí)計(jì)算效率高且能有效地表達(dá)數(shù)據(jù)集的特征[23],故本文采用基于最小絕對(duì)收縮和選擇算子(least absolute shrinkage and selection operator,LASSO)的稀疏學(xué)習(xí)實(shí)現(xiàn)BLS 特征節(jié)點(diǎn)的構(gòu)造。
為了從給定的輸入數(shù)據(jù)中提取稀疏特征,考慮求解式(4)所示的優(yōu)化問(wèn)題:
式中:X 為要進(jìn)行特征提取的輸入數(shù)據(jù);Wf為特征選擇的系數(shù)矩陣;Z 為隨機(jī)生成的特征矩陣。式(4)的第1 項(xiàng)用于求解線性方程XWf=Z 的最小二乘估計(jì);第2 項(xiàng)為L(zhǎng)1范數(shù),用于對(duì)Wf施加稀疏性限制;λ為正則化參數(shù),用于控制2 項(xiàng)之間的相對(duì)大小。該優(yōu)化問(wèn)題即為L(zhǎng)ASSO 回歸,可以采用交替方向乘子 法(alternating direction method of multipliers,ADMM)求解[24]。
通過(guò)引入輔助變量V,式(4)等價(jià)表示為:
該優(yōu)化問(wèn)題的增廣拉格朗日函數(shù)為:
式中:Λ 為該優(yōu)化問(wèn)題的拉格朗日乘子。基于ADMM,可以交替更新Wf,V 和Λ 的值來(lái)求解式(5)。迭代過(guò)程如下:
式中:I 為單位矩陣;S 為軟閾值函數(shù),其表達(dá)式見(jiàn)式(8)。
綜上所述,輸入因素的特征提取只需根據(jù)式(7)進(jìn)行迭代計(jì)算即可。
BLS 的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。由輸入數(shù)據(jù)進(jìn)行特征提取得到的特征映射構(gòu)成了特征節(jié)點(diǎn)(feature node),之后特征節(jié)點(diǎn)通過(guò)非線性變換生成了增強(qiáng)節(jié)點(diǎn)(enhancement node),特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)均與輸出層直接連接。BLS 是全連接神經(jīng)網(wǎng)絡(luò),為了簡(jiǎn)潔表示BLS 結(jié)構(gòu),圖1 省略了每個(gè)神經(jīng)元間的連接。不同于深度學(xué)習(xí)通過(guò)增加神經(jīng)網(wǎng)絡(luò)的層數(shù)來(lái)提高擬合能力,BLS 通過(guò)特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)在寬度上的擴(kuò)展來(lái)增強(qiáng)網(wǎng)絡(luò)性能,這種扁平化的網(wǎng)絡(luò)結(jié)構(gòu)使其保留了RVFLNN 訓(xùn)練快速的特點(diǎn)。
圖1 BLS 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of broad learning system
設(shè)圖1 中的BLS 包括Ng組特征映射(每組包含Nf個(gè)特征節(jié)點(diǎn))和Ne個(gè)增強(qiáng)節(jié)點(diǎn)。輸入矩陣X 由各時(shí)刻光伏發(fā)電功率預(yù)測(cè)所需的輸入因素向量構(gòu)成,設(shè)共有L 個(gè)時(shí)刻(記作t1,t2,…,tL)的樣本數(shù)據(jù),則X=[x(t1),x(t2),…,x(tL)]T。X 首先通過(guò)特征提取得到一系列特征節(jié)點(diǎn),其中第i 組特征映射由下式得到:
式中:與特征節(jié)點(diǎn)相關(guān)的權(quán)重矩陣Wf,i和偏置項(xiàng)βf,i均隨機(jī)生成,各元素的取值范圍為[-1,1];映射函數(shù)φ 由式(7)間接給出。
將這些特征映射的組合記作矩陣F=[F1,F2,…,FNg],這NgNf個(gè)特征節(jié)點(diǎn)根據(jù)式(10)生成BLS 的增強(qiáng)節(jié)點(diǎn):
式中:與增強(qiáng)節(jié)點(diǎn)相關(guān)的權(quán)重矩陣We和偏置項(xiàng)βe也是隨機(jī)生成,各元素的取值范圍為[-1,1];ζ 為激活函數(shù),這里選取雙曲正切函數(shù),其表達(dá)式見(jiàn)式(11)。
綜上所述,BLS 的數(shù)學(xué)模型可表示為:
式中:W 表示從特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)連接到輸出層的權(quán)重;Y 為神經(jīng)網(wǎng)絡(luò)的輸出,在光伏預(yù)測(cè)模型中即為預(yù)測(cè)值。由于超短期預(yù)測(cè)需要對(duì)未來(lái)4 h 內(nèi)的出力進(jìn)行多步長(zhǎng)預(yù)測(cè),因此各時(shí)刻對(duì)應(yīng)的輸出數(shù)據(jù)為一向量,即Y=[y(t1),y(t2),…,y(tL)]T,其中
式中:y(t)為t 時(shí)刻的光伏發(fā)電功率;Nhor為超短期預(yù)測(cè)的步長(zhǎng)數(shù)。為了簡(jiǎn)化表達(dá)式,將BLS 中間層(包括特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn))對(duì)應(yīng)的矩陣記作H=[F,E]。
在訓(xùn)練過(guò)程中,隨機(jī)生成的權(quán)重Wf,i與We、偏置βf,i與βe均不再改變,故只需要求解輸出權(quán)重W即可。因此,BLS 的訓(xùn)練相當(dāng)于求解線性系統(tǒng)Y=HW 的最小二乘解:
式中:H?為矩陣H 的Moore-Penrose 廣義逆矩陣,也稱為偽逆(pseudoinverse)矩陣。
可見(jiàn),BLS 訓(xùn)練不需要基于梯度下降的學(xué)習(xí)算法,并且訓(xùn)練速度較快、不易陷入局部最優(yōu)。對(duì)于光伏發(fā)電功率超短期預(yù)測(cè)而言,數(shù)據(jù)采樣間隔較小,故訓(xùn)練集規(guī)模較大。此外,每個(gè)時(shí)刻對(duì)應(yīng)著多種氣象條件和多點(diǎn)歷史出力等相關(guān)因素,且進(jìn)行多步長(zhǎng)預(yù)測(cè)還需要輸出多個(gè)數(shù)值,因此網(wǎng)絡(luò)輸入層和輸出層的維度都很高。在此背景下,采用單隱藏層結(jié)構(gòu)、在寬度上擴(kuò)展節(jié)點(diǎn)數(shù)目的BLS 作為預(yù)測(cè)工具,能夠較好地?cái)M合歷史數(shù)據(jù)并保證模型計(jì)算效率。
對(duì)于光伏發(fā)電功率超短期預(yù)測(cè),數(shù)據(jù)采樣間隔一般為1 min 或5 min,并預(yù)測(cè)未來(lái)若干小時(shí)的發(fā)電功率,因此需要進(jìn)行多步長(zhǎng)預(yù)測(cè)[25]。本文利用BLS扁平化的結(jié)構(gòu)特點(diǎn),構(gòu)造多輸出的神經(jīng)網(wǎng)絡(luò)。以5 min 間隔為例,預(yù)測(cè)未來(lái)4 h 內(nèi)的光伏發(fā)電功率,因此構(gòu)建輸出層維度為48 的BLS。
在預(yù)測(cè)模型輸入因素的選取上,本文的具體思路如下:文獻(xiàn)[26]提出的Hottel 模型能夠預(yù)測(cè)任意地區(qū)全年的晴天太陽(yáng)輻照度,而非晴天輻照度可由天氣類型系數(shù)計(jì)算得到,預(yù)測(cè)誤差可達(dá)到5% 以內(nèi)[19,27],因此本文將輻照度實(shí)測(cè)值疊加±5%的隨機(jī)誤差,假設(shè)該數(shù)值為輻照度預(yù)測(cè)值并作為模型的輸入因素之一;由于數(shù)值天氣預(yù)報(bào)的時(shí)間間隔較長(zhǎng)且存在一定的滯后,故本文沒(méi)有將天氣預(yù)報(bào)數(shù)據(jù)作為預(yù)測(cè)模型的輸入,僅將相鄰時(shí)刻光伏站點(diǎn)的本地測(cè)量氣象數(shù)據(jù)作為參考。此外,光伏發(fā)電功率超短期預(yù)測(cè)通常采用若干個(gè)鄰近時(shí)刻的歷史出力作為輸入因素[28],這些歷史數(shù)據(jù)和當(dāng)前時(shí)刻出力之間具有較強(qiáng)的相關(guān)性,可以顯著提高預(yù)測(cè)精度。綜上所述,首先,應(yīng)基于氣象數(shù)據(jù)、歷史出力等構(gòu)建特征向量,對(duì)各時(shí)刻進(jìn)行精細(xì)化聚類;然后,將這些因素進(jìn)行組合,作為光伏發(fā)電功率預(yù)測(cè)的輸入因素。
基于上述思路,本文提出基于SOM-BLS 的光伏發(fā)電功率超短期預(yù)測(cè)模型,如圖2 所示。
圖2 基于SOM-BLS 的光伏發(fā)電功率預(yù)測(cè)系統(tǒng)框架Fig.2 System framework of photovoltaic power generation forecasting based on SOM-BLS
設(shè)待預(yù)測(cè)光伏電站所能提供的氣象數(shù)據(jù)包括水平面總輻射強(qiáng)度(global horizontal irradiance,GHI)、水平面散射輻射強(qiáng)度(diffuse horizontal irradiance,DHI)、法向直射輻射強(qiáng)度(direct normal irradiance,DNI)、風(fēng)速、氣溫,且上述氣象數(shù)據(jù)和光伏發(fā)電功率數(shù)據(jù)的采樣間隔均為τ,則光伏發(fā)電功率預(yù)測(cè)的具體流程如下。
1)利用SOM 對(duì)歷史數(shù)據(jù)進(jìn)行聚類分析。對(duì)于每個(gè)時(shí)刻t,將對(duì)應(yīng)的時(shí)間、鄰近Nlag個(gè)時(shí)刻的歷史出力、上一個(gè)時(shí)間點(diǎn)的歷史氣象數(shù)據(jù)(包括輻照度)、未來(lái)Nlead+1 個(gè)時(shí)刻的輻照度預(yù)測(cè)值作為特征向量x(t),即
式 中:nts為 時(shí) 刻t 在 當(dāng) 天 的 時(shí) 間 戳;T 為 氣 溫;v 為 風(fēng)速;IGH,IDH和IDN分別為GHI,DHI 和DNI 的實(shí)測(cè)值;和分 別 為GHI,DHI 和DNI 的 預(yù) 測(cè) 值;Nlag和Nlead采用交叉驗(yàn)證法確定。利用歷史數(shù)據(jù)對(duì)應(yīng)的x(t)對(duì)SOM 進(jìn)行訓(xùn)練,并輸出每個(gè)時(shí)刻所屬的類別。
2)分類訓(xùn)練BLS。將數(shù)據(jù)集按SOM 給出的聚類結(jié)果進(jìn)行劃分,并分別訓(xùn)練BLS,利用網(wǎng)格搜索法確定其參數(shù)Ng,Nf和Ne的最優(yōu)取值。設(shè)訓(xùn)練集中共有L 個(gè)時(shí)刻(記作t1,t2,…,tL)的樣本數(shù)據(jù),則BLS的輸入矩陣為Xtrain=[x(t1),x(t2),…,x(tL)]T,輸出矩陣為Ytrain=[y(t1),y(t2),…,y(tL)]T。將Xtrain代入式(9)與式(10)中,可得到相應(yīng)的中間層矩陣Htrain,之后通過(guò)式(14)即訓(xùn)練得到BLS 輸出權(quán)重W。
3)光伏發(fā)電功率的在線預(yù)測(cè)。對(duì)于要進(jìn)行預(yù)測(cè)的時(shí)間斷面,按照式(15)的格式建立相應(yīng)的特征向量,并輸入SOM 以判斷其類別。之后,將該時(shí)刻的特征向量作為對(duì)應(yīng)類別下BLS 的輸入,得到預(yù)測(cè)結(jié)果。設(shè)測(cè)試集中共有R 個(gè)時(shí)刻(記作tL+1,tL+2,…,tL+R)的樣本數(shù)據(jù),則BLS 的輸入矩陣為Xtest=[x(tL+1),x(tL+2),…,x(tL+R)]T,輸出矩陣為Y?test=[ y?(tL+1),y?(tL+2),…,y?(tL+R)]T,其 中y?(t)為 在t 時(shí)刻對(duì)未來(lái)Nhor個(gè)步長(zhǎng)的發(fā)電功率的預(yù)測(cè)值所構(gòu)成的向量,即
式中:y?(t)為t 時(shí)刻的光伏發(fā)電功率預(yù)測(cè)值。
BLS 的訓(xùn)練流程如圖3 所示,本文采用標(biāo)準(zhǔn)化均方根誤差(normalized root-mean-square error,nRMSE)對(duì)預(yù)測(cè)誤差進(jìn)行評(píng)價(jià)分析,其表達(dá)式為:
式中:Ns為樣本總數(shù);Pcap為光伏發(fā)電系統(tǒng)裝機(jī)容量;yi為實(shí)測(cè)值為預(yù)測(cè)值。為體現(xiàn)預(yù)測(cè)步長(zhǎng)對(duì)預(yù)測(cè)誤差的影響,本文對(duì)不同的預(yù)測(cè)時(shí)間尺度分別計(jì)算nRMSE。
圖3 BLS 訓(xùn)練流程圖Fig.3 Flow chart of training for broad learning system
為了驗(yàn)證本文提出的基于SOM-BLS 的光伏發(fā)電功率超短期預(yù)測(cè)模型的性能,采用美國(guó)俄勒岡州阿 什 蘭(Ashland)[29]和 澳 大 利 亞 艾 利 斯 斯 普 林 斯(Alice Springs)[30]的2 處光伏電站數(shù)據(jù)進(jìn)行算例分析,并將這2 組數(shù)據(jù)集分別簡(jiǎn)稱為算例1 和算例2。2 組算例的光伏信息、數(shù)據(jù)格式與預(yù)測(cè)模型輸入輸出選取如附錄A 表A1 所示,其中輸入因素的輻照度預(yù)測(cè)值點(diǎn)數(shù)與歷史發(fā)電功率點(diǎn)數(shù)均采用5 折交叉驗(yàn)證確定。對(duì)于數(shù)據(jù)集中的異常值和缺失值,利用該采樣點(diǎn)前3 個(gè)時(shí)刻的平均值替代[31]??紤]到光伏出力的間歇性,截取白天時(shí)段后算例1 保留05:20—19:15 的數(shù)據(jù),即每日有168 個(gè)數(shù)據(jù)點(diǎn),時(shí)間戳取值范圍為0~167;算例2 保留07:15—18:25 的數(shù)據(jù),即每日有135 個(gè)數(shù)據(jù)點(diǎn),時(shí)間戳取值范圍為0~134。收集算例1 在2017—2019 年每年6—8 月的氣象數(shù)據(jù)和光伏出力數(shù)據(jù)作為數(shù)據(jù)集,其中2019 年8 月的數(shù)據(jù)作為測(cè)試集(共5 208 個(gè)樣本),其余8 個(gè)月數(shù)據(jù)作為訓(xùn)練集和驗(yàn)證集(共41 160 個(gè)樣本);收集算例2 在2016—2018 年每年6—8 月的氣象數(shù)據(jù)和光伏出力數(shù)據(jù)作為數(shù)據(jù)集,其中2018 年8 月的數(shù)據(jù)作為測(cè)試集(共4 185 個(gè)樣本),其余8 個(gè)月數(shù)據(jù)作為訓(xùn)練集和驗(yàn)證集(共33 075 個(gè)樣本)。進(jìn)行預(yù)測(cè)前,對(duì)預(yù)測(cè)模型輸入因素和輸出變量均進(jìn)行歸一化處理。
本文采用MATLAB R2018a 編程實(shí)現(xiàn)基于SOM-BLS 的光伏發(fā)電功率超短期預(yù)測(cè)模型,計(jì)算環(huán)境為2.21 GHz 主頻英特爾酷睿i7-8750H 處理器、8.00 GB 內(nèi)存的計(jì)算機(jī)。
對(duì)于算例1,根據(jù)式(15)生成特征向量,并將其作為SOM 的輸入,對(duì)數(shù)據(jù)集進(jìn)行聚類分析。經(jīng)過(guò)交叉驗(yàn)證,式中Nlag=18,Nlead=47,即SOM 輸入層節(jié)點(diǎn)個(gè)數(shù)為N=168,即與每個(gè)時(shí)刻相關(guān)聯(lián)的輸入因素(時(shí)間戳、歷史出力、歷史氣象數(shù)據(jù)和輻照度預(yù)測(cè)值)共168 個(gè)。同理可以列出算例2 的特征向量表達(dá)式,相應(yīng)的Nlag=15,Nlead=47,即SOM 輸入層節(jié)點(diǎn)個(gè)數(shù)為N=117。
當(dāng)SOM 競(jìng)爭(zhēng)層節(jié)點(diǎn)個(gè)數(shù)選取為M=4×3 時(shí),可對(duì)數(shù)據(jù)集充分進(jìn)行分類且保證每一類都有足夠樣本。SOM 的聚類結(jié)果可由競(jìng)爭(zhēng)層的拓?fù)浣Y(jié)構(gòu)直接得到,聚類后的樣本分布如附錄B 圖B1 所示。為反映聚類結(jié)果的物理意義,在二維坐標(biāo)系中繪制各時(shí)刻的發(fā)電功率-時(shí)間散點(diǎn)圖,以算例1 在2018 年7 月的數(shù)據(jù)為例,結(jié)果如附錄B 圖B2 所示??梢?jiàn),SOM聚類能夠?qū)r(shí)刻、出力水平相近的樣本劃分在同一類中,進(jìn)而提升BLS 的擬合效果、減小預(yù)測(cè)誤差。
為了定量驗(yàn)證SOM 聚類對(duì)于預(yù)測(cè)精度的影響,將未進(jìn)行聚類的數(shù)據(jù)作為BLS 的輸入,對(duì)未來(lái)4 h 內(nèi)以5 min 為步長(zhǎng)的48 個(gè)時(shí)刻進(jìn)行發(fā)電功率預(yù)測(cè),并與SOM-BLS 預(yù)測(cè)模型進(jìn)行對(duì)比。不論是否進(jìn)行聚類,均采用交叉驗(yàn)證方法確定BLS 的參數(shù)。未聚類時(shí),算例1 中BLS 的最優(yōu)參數(shù)為:Ng=44,Nf=11,Ne=174;算例2 中BLS 的最優(yōu)參數(shù)為:Ng=12,Nf=10,Ne=264。進(jìn)行聚類后,2 組算例各自的12 組BLS 最優(yōu)參數(shù)如附錄A 表A2、表A3 所示。算例1 聚類前后各時(shí)間尺度下的預(yù)測(cè)誤差nRMSE 見(jiàn)表1(預(yù)測(cè)結(jié)果為48 個(gè)點(diǎn),這里只列出了具有代表性的幾個(gè)時(shí)間尺度),算例2 相應(yīng)的實(shí)驗(yàn)結(jié)果如附錄A 表A4 所示。
表1 算例1 聚類前后預(yù)測(cè)誤差nRMSE 比較Table 1 Comparison of nRMSE in case 1 before and after clustering
此外,還可以將預(yù)測(cè)值和實(shí)際值繪制在同一坐標(biāo)圖中,以更直觀地對(duì)比聚類前后的預(yù)測(cè)效果。本文針對(duì)單個(gè)時(shí)間斷面,對(duì)未來(lái)4 h 的出力進(jìn)行多步長(zhǎng)預(yù)測(cè)。以每日的08:00 和12:00 為例,聚類前后的預(yù)測(cè)結(jié)果見(jiàn)附錄B 圖B3 至圖B6。此外,現(xiàn)有文獻(xiàn)在進(jìn)行光伏發(fā)電功率超短期預(yù)測(cè)時(shí),一般以日為單位,對(duì)每個(gè)時(shí)刻進(jìn)行相同時(shí)間尺度的預(yù)測(cè),滾動(dòng)預(yù)測(cè)后得到該日的出力曲線。為方便與現(xiàn)有工作進(jìn)行對(duì)比,聚類后的滾動(dòng)預(yù)測(cè)結(jié)果(選取1 h,2 h,3 h 和4 h這4 種時(shí)間尺度)分別如附錄C 圖C1 至圖C4 所示。從上述實(shí)驗(yàn)結(jié)果可以看出,利用SOM 對(duì)數(shù)據(jù)集進(jìn)行聚類、分類訓(xùn)練模型,可在一定程度上提升各時(shí)間尺度下光伏發(fā)電功率的預(yù)測(cè)精度。
為了驗(yàn)證BLS 在光伏發(fā)電功率超短期預(yù)測(cè)上的優(yōu)越性,選擇BPNN,ELM 和LSTM 神經(jīng)網(wǎng)絡(luò)3 種方法進(jìn)行對(duì)比。各模型均在SOM 聚類的基礎(chǔ)上進(jìn)行預(yù)測(cè),其中BPNN 和ELM 的參數(shù)設(shè)置分別如附錄A 表A5 和表A6 所示。LSTM 的超參數(shù)數(shù)目較多,故對(duì)于不同類別均設(shè)置相同的參數(shù),其中算例1:LSTM 層具有260 個(gè)隱藏節(jié)點(diǎn),全連接層具有160 個(gè)節(jié)點(diǎn);算例2:LSTM 層具有200 個(gè)隱藏節(jié)點(diǎn),全連接層具有135 個(gè)節(jié)點(diǎn)。訓(xùn)練LSTM 時(shí)設(shè)置學(xué)習(xí)率為0.01,批尺寸為20。
上述3 種方法和本文提出的SOM-BLS 模型的預(yù)測(cè)誤差對(duì)比如表2 和表3 所示,訓(xùn)練時(shí)長(zhǎng)(包括SOM 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練耗時(shí))對(duì)比如表4 所示。此外,選 取 算 例1 中8 月2 日 和8 月9 日、算 例2 中8 月7日和8 月30 日繪制預(yù)測(cè)出力曲線,預(yù)測(cè)結(jié)果與實(shí)際值對(duì)比如圖4、圖5 及附錄C 圖C5、圖C6 所示。
表2 算例1 各模型預(yù)測(cè)誤差nRMSE 比較Table 2 Comparison of nRMSE in case 1 among different models
表3 算例2 各模型預(yù)測(cè)誤差nRMSE 比較Table 3 Comparison of nRMSE in case 2 among different models
表4 各模型訓(xùn)練時(shí)間比較Table 4 Comparison of training time among different models
圖4 算例1 各模型預(yù)測(cè)結(jié)果對(duì)比(8 月2 日)Fig.4 Comparison of forecasting results in case 1 among different models on August 2
由表2 與表3 可見(jiàn),在不同時(shí)間尺度下BLS 的預(yù)測(cè)誤差均最小。4 種方法中,BPNN 的誤差最大,且預(yù)測(cè)精度隨步長(zhǎng)的增加顯著降低,說(shuō)明當(dāng)輸入、輸出維度較高時(shí),該神經(jīng)網(wǎng)絡(luò)的擬合性能不足。LSTM 作為深度神經(jīng)網(wǎng)絡(luò),其預(yù)測(cè)誤差較BPNN 顯著改善,但仍存在著步長(zhǎng)較大時(shí)預(yù)測(cè)精度不足的問(wèn)題。ELM 與BLS 的結(jié)構(gòu)類似,故兩者預(yù)測(cè)誤差隨步長(zhǎng)的變化趨勢(shì)相似;BLS 對(duì)輸入數(shù)據(jù)進(jìn)行了特征提取,能夠更準(zhǔn)確地?cái)M合高維變量間的關(guān)系,故其預(yù)測(cè)誤差在各時(shí)間尺度下均小于ELM。
圖5 算例1 各模型預(yù)測(cè)結(jié)果對(duì)比(8 月9 日)Fig.5 Comparison of forecasting results in case 1 among different models on August 9
從圖4、圖5 及附錄C 圖C5、圖C6 可以看出,針對(duì)不同的光伏電站和天氣類型進(jìn)行預(yù)測(cè)時(shí),BLS 的預(yù)測(cè)結(jié)果均能較好地跟蹤未來(lái)4 h 內(nèi)光伏發(fā)電功率的波動(dòng)趨勢(shì)。具體來(lái)說(shuō),4 種對(duì)比方法在預(yù)測(cè)晴天時(shí)誤差較小,但在預(yù)測(cè)12:00—14:00 的出力時(shí),BPNN 和ELM 在 算 例1 上、BPNN 和LSTM 在 算 例2 上的誤差隨著步長(zhǎng)的增加顯著增大;在預(yù)測(cè)陰雨天時(shí),BPNN 的誤差很大,不具有參考價(jià)值,而LSTM 與ELM 雖能在一定程度上跟蹤光伏的出力波動(dòng),但是大部分時(shí)間尺度下的預(yù)測(cè)誤差均大于BLS。
在訓(xùn)練時(shí)長(zhǎng)上,ELM 和BLS 的訓(xùn)練均是基于偽逆運(yùn)算、不需要迭代求解,故計(jì)算效率很高,可以適應(yīng)超短期預(yù)測(cè)在線更新模型參數(shù)的要求。而B(niǎo)PNN 在處理高維度、大規(guī)模的數(shù)據(jù)時(shí)會(huì)面臨“維數(shù)災(zāi)”問(wèn)題[32],導(dǎo)致神經(jīng)網(wǎng)絡(luò)的擬合精度和訓(xùn)練速度顯著下降;而LSTM 作為深度學(xué)習(xí)算法,在訓(xùn)練時(shí)要確定大量的網(wǎng)絡(luò)參數(shù)[33],因此這2 種方法的訓(xùn)練過(guò)程極為耗時(shí),當(dāng)數(shù)據(jù)集更新時(shí)難以及時(shí)對(duì)模型進(jìn)行重新訓(xùn)練。
基于上述討論,本文提出的SOM-BLS 模型在光伏發(fā)電功率超短期預(yù)測(cè)中體現(xiàn)出較高的預(yù)測(cè)精度與計(jì)算效率。
本文提出了一種基于BLS 的光伏發(fā)電功率超短期預(yù)測(cè)模型。首先,基于各時(shí)刻的氣象條件、歷史出力等數(shù)據(jù)構(gòu)成特征向量,采用SOM 神經(jīng)網(wǎng)絡(luò)進(jìn)行聚類分析;然后,按照聚類結(jié)果劃分?jǐn)?shù)據(jù)集并分別訓(xùn)練BLS,對(duì)發(fā)電功率進(jìn)行多步長(zhǎng)預(yù)測(cè);最后,采用光伏電站的實(shí)際運(yùn)行數(shù)據(jù)進(jìn)行測(cè)試,得出以下結(jié)論。
1)基于SOM 神經(jīng)網(wǎng)絡(luò)的精細(xì)化聚類能夠捕捉光伏發(fā)電在不同時(shí)刻的出力水平和波動(dòng)特征,在相同條件下較未進(jìn)行聚類分析的方法能夠有效提升預(yù)測(cè)精度。
2)在進(jìn)行多步長(zhǎng)預(yù)測(cè)時(shí),BLS 具有較高的預(yù)測(cè)精度,能夠在不同時(shí)段和天氣類型下較好地跟蹤光伏發(fā)電功率的變化趨勢(shì)。
3)BLS 具有較高的計(jì)算效率,在超短期預(yù)測(cè)這一應(yīng)用場(chǎng)景下,相比于LSTM 等深度學(xué)習(xí)算法,具有能夠在線更新參數(shù)的優(yōu)勢(shì)。
下一步工作將考慮光伏發(fā)電的時(shí)空相關(guān)性以進(jìn)一步提高預(yù)測(cè)精度,并利用BLS 的結(jié)構(gòu)特點(diǎn)開(kāi)展概率預(yù)測(cè),更準(zhǔn)確地刻畫(huà)光伏發(fā)電的不確定性。
本文得到華東電網(wǎng)科技項(xiàng)目“大電網(wǎng)源網(wǎng)荷儲(chǔ)泛在調(diào)度的市場(chǎng)機(jī)制及商業(yè)模式研究”的資助,特此感謝!
附錄見(jiàn)本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。