崔 響,房俊龍,曲 樂(lè)
(1.東北農(nóng)業(yè)大學(xué) 電氣與信息學(xué)院,哈爾濱 150031;2.國(guó)網(wǎng)黑龍江省電力有限公司哈爾濱供電公司,哈爾濱,150090)
在目前現(xiàn)代化生產(chǎn)中,人類(lèi)所利用的主要能源是煤、石油、天然氣等不可再生能源。但長(zhǎng)期使用這些能源不僅會(huì)造成能源枯竭,同時(shí),這些能源在燃燒時(shí)釋放的氣體,也是全球環(huán)境變暖、溫室效應(yīng)加重的主要誘因[1]。近年來(lái),人們逐漸認(rèn)識(shí)到,解決能源問(wèn)題的最終方案是采用可再生能源取代傳統(tǒng)不可再生能源[2]。而光伏發(fā)電以其具有無(wú)污染,安全可靠等優(yōu)點(diǎn)成為世界各國(guó)關(guān)注的目標(biāo)。并且光伏發(fā)電具有極低的碳排放量,尤其是在低碳經(jīng)濟(jì)發(fā)展的當(dāng)下,光伏發(fā)電成為最具有潛力的電力能源之一[3-4]。
目前對(duì)光伏發(fā)電的預(yù)測(cè)有兩種分類(lèi):一是建立太陽(yáng)輻照-光伏出力的物理模型,借此對(duì)光伏發(fā)電出力進(jìn)行預(yù)測(cè)[5-8],這種方法可以在沒(méi)有任何歷史數(shù)據(jù)的情況下直接對(duì)光伏發(fā)電功率進(jìn)行預(yù)測(cè),但需要大量的光伏電站信息,以及諸多光電轉(zhuǎn)換參數(shù)來(lái)建立更加精確的物理模型,最后結(jié)合光電轉(zhuǎn)換效率等信息得到預(yù)測(cè)值;二是基于大數(shù)據(jù)應(yīng)用智能算法進(jìn)行預(yù)測(cè)[9-12],這種方法無(wú)需光伏電站以及光電轉(zhuǎn)化的信息,只需要對(duì)歷史的輸出功率、天氣、輻照等數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和整理,使用這些數(shù)據(jù)對(duì)算法模型進(jìn)行訓(xùn)練來(lái)建立輸入-輸出的非線性關(guān)系,對(duì)待測(cè)日的功率進(jìn)行擬合,最終得到所需的輸出功率。
目前,通過(guò)大數(shù)據(jù)應(yīng)用智能算法進(jìn)行預(yù)測(cè)的研究越來(lái)越多,該文所討論的是采用粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法(下稱PSO-BP算法)對(duì)光伏出力的預(yù)測(cè)。
光伏發(fā)電是指利用半導(dǎo)體界面的光生伏特效應(yīng)將光能轉(zhuǎn)化為電能的一種技術(shù)。當(dāng)光子照射到金屬上時(shí),它的能量可以被金屬中某個(gè)電子全部吸收。如果電子因此獲得的能量足夠大就能從金屬表面逸散出來(lái),成為光電子。硅原子中有4個(gè)外層電子,如果在其中摻入了具有5個(gè)外層電子的原子(如磷原子),就成為N型半導(dǎo)體;若摻入了具有3個(gè)外層電子的原子(如硼原子),則形成P型半導(dǎo)體。P型與N型結(jié)合在一起時(shí),表面會(huì)形成電勢(shì)差,成為光伏電池。當(dāng)太陽(yáng)光照射到P-N結(jié)之后,電子由N極區(qū)向P極區(qū)移動(dòng),形成了電流。
光伏發(fā)電的影響因素有很多,文獻(xiàn)[13]給出了單位面積光伏陣列的輸出功率表達(dá)式:
Ps=ηSI[100.005(t0+25)]
式中:η為光電轉(zhuǎn)化效率;S為光伏陣列面積;I為輻射強(qiáng)度;t0為大氣溫度。
對(duì)于同一光伏電站,光電轉(zhuǎn)化效率和光伏陣列面積是固定不變的,所以輻射強(qiáng)度與大氣溫度是實(shí)際影響光伏發(fā)電輸出功率的主要因素。太陽(yáng)輻射強(qiáng)度就是指太陽(yáng)在垂直照射的情況下在單位時(shí)間內(nèi),1 cm2的面積上所得到的輻射能量。在光電轉(zhuǎn)化效率一定的情況下,與光伏發(fā)電輸出功率呈正相關(guān)。在大氣溫度單獨(dú)作用下,與光伏發(fā)電輸出功率呈負(fù)相關(guān)關(guān)系。大量實(shí)驗(yàn)統(tǒng)計(jì)表明,溫度上升1 ℃,晶體硅太陽(yáng)電池的最大輸出功率下降0.04%,開(kāi)路電壓下降0.04%,短路電流上升0.04%。
在實(shí)際的光伏發(fā)電系統(tǒng)中,光伏發(fā)電的輸出功率是輻射強(qiáng)度與大氣溫度共同作用的結(jié)果。這兩個(gè)因素可作為判斷相似日的主要參數(shù)。同時(shí),還有其他的一些因素也會(huì)影響光伏發(fā)電的功率,如風(fēng)力、光伏陣列的安裝角度等。
如引言所述,隨著對(duì)光伏發(fā)電功率預(yù)測(cè)的研究,越來(lái)越多的學(xué)者開(kāi)始或已經(jīng)使用人工智能算法對(duì)光伏發(fā)電功率進(jìn)行預(yù)測(cè)。常見(jiàn)的算法,諸如BP神經(jīng)網(wǎng)絡(luò)、粒子群算法、灰度算法、支持向量機(jī)等都已有人將其應(yīng)用于該領(lǐng)域并取得了較為出色的成果[14]。
粒子群算法(PSO算法)本身就是一種收斂速度快、全局搜索能力強(qiáng)、魯棒性強(qiáng)的算法。使用PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化可以有效解決BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn),改進(jìn)算法精度以及收斂時(shí)間。PSO算法目前已經(jīng)廣泛應(yīng)用于包括風(fēng)電在內(nèi)的諸多領(lǐng)域之中,但在光伏發(fā)電功率的預(yù)測(cè)方面卻鮮有研究。
在PSO-BP算法中,依舊采用BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),即輸入層-隱含層-輸出層的結(jié)構(gòu)方式,但不使用梯度下降的方式進(jìn)行訓(xùn)練,而是將隱含層中各個(gè)權(quán)值/閾值作為PSO算法的粒子,神經(jīng)元個(gè)數(shù)作為PSO算法的種群數(shù)。在算法進(jìn)行訓(xùn)練學(xué)習(xí)時(shí),首先將隨機(jī)生成的粒子初始值賦予BP網(wǎng)絡(luò)中對(duì)應(yīng)神經(jīng)元的閾值與權(quán)值并得到訓(xùn)練結(jié)果,計(jì)算與期望值之間的誤差E。自然,由于粒子初始值為隨機(jī)值,會(huì)產(chǎn)生極大誤差。隨后將該組權(quán)值/閾值作為粒子,使用PSO算法對(duì)粒子的位置和速度進(jìn)行迭代,表達(dá)式如下:
V1=W·V0+c1·rand·(pBest-X0)+
c2·rand·(gBest-X0)
X1=X0+V1
式中:V1是待更新的速度;V0是當(dāng)前速度;W是慣性權(quán)重;c1、c2是學(xué)習(xí)因數(shù);pBest與gBest分別為個(gè)體最優(yōu)與群體最優(yōu)值;X1為待更新位置;X0為當(dāng)前位置;rand為隨機(jī)數(shù),區(qū)間為(-1,1)。
BSO-BP算法流程框圖如圖1所示。

圖1 PSO-BP流程框圖
PSO算法進(jìn)行迭代尋優(yōu)之后,將迭代所得到的粒子值再次賦予BP網(wǎng)絡(luò)中對(duì)應(yīng)神經(jīng)元的閾值與權(quán)值并進(jìn)行訓(xùn)練得到訓(xùn)練一次之后的結(jié)果,再次計(jì)算誤差E。如此反復(fù)直至誤差E縮小到設(shè)定誤差為止。
應(yīng)用PSO-BP算法對(duì)光伏發(fā)電功率進(jìn)行預(yù)測(cè),需要有歷史數(shù)據(jù)作為支持來(lái)挑選相似日作為基準(zhǔn)。選擇單日最高溫度、單日最低溫度、單日太陽(yáng)輻射強(qiáng)度,作為挑選相似日的參考量。通過(guò)計(jì)算歷史數(shù)據(jù)與待測(cè)日的歐氏距離來(lái)確定相似日,歐式距離為
式中:tmax、tmin是歷史數(shù)據(jù)中各單日最高、最低溫度;t0max、t0min是待測(cè)日的最高、最低溫度;Q是歷史數(shù)據(jù)中各單日輻射強(qiáng)度;Q0是待測(cè)日輻射強(qiáng)度。
基于上述方式,可以挑選出與待測(cè)日的天氣環(huán)境相似的數(shù)個(gè)單日,作為相似日,并獲得該日8-17時(shí)每小時(shí)節(jié)點(diǎn)的對(duì)應(yīng)輸出功率。將這10個(gè)功率與當(dāng)天的最高、最低溫度、輻射強(qiáng)度作為一組數(shù)據(jù),反復(fù)此過(guò)程,即可獲得數(shù)組數(shù)據(jù)。對(duì)數(shù)據(jù)進(jìn)行隨機(jī)分組并代入算法中進(jìn)行訓(xùn)練,即可得出最終用于預(yù)測(cè)的模型。
由于輸入數(shù)據(jù)的量級(jí)以及單位各有不同,直接將原始數(shù)據(jù)輸入網(wǎng)絡(luò)會(huì)使得微小的數(shù)據(jù)變動(dòng)引起較大的結(jié)果變化,對(duì)結(jié)果有較大的影響。為了避免這類(lèi)誤差的產(chǎn)生,應(yīng)對(duì)所有數(shù)據(jù)進(jìn)行歸一化處理。歸一化后所有數(shù)據(jù)會(huì)被歸為[-1,1]區(qū)間,表達(dá)式如下:
式中:y為歸一化的結(jié)果;x為原始數(shù)據(jù);xmax和xmin分別為該組數(shù)據(jù)中的最大值與最小值;ymax和ymin分別為歸一化的上下限。
選用待測(cè)日的輻射強(qiáng)度、最高溫度、最低溫度,以及基準(zhǔn)日8-17時(shí)的光伏發(fā)電功率數(shù)據(jù),共13個(gè)數(shù)據(jù)作為輸入,即輸入節(jié)點(diǎn)為13個(gè)。輸出節(jié)點(diǎn)數(shù)為待測(cè)日8-17時(shí)的光伏發(fā)電功率,即10個(gè)。
神經(jīng)元個(gè)數(shù)確定方式目前尚無(wú)統(tǒng)一定論。較為主流的觀點(diǎn)是使用Kolmogorov定理大致確定神經(jīng)元個(gè)數(shù),之后通過(guò)try-error-try,即反復(fù)嘗試的方法確定最優(yōu)神經(jīng)元個(gè)數(shù)。
Kolmogorov定理公式如下:
或
n1=log2(n2)
式中:n2為理想中的神經(jīng)元個(gè)數(shù);n1為輸入層節(jié)點(diǎn)個(gè)數(shù);m為輸出層節(jié)點(diǎn)個(gè)數(shù);a為[1,10]區(qū)間內(nèi)的任意數(shù)。
通過(guò)上述方式,確定神經(jīng)元個(gè)數(shù)為15個(gè)。
如2.2節(jié)所述方法,在該季度的歷史數(shù)據(jù)庫(kù)中挑選與待測(cè)日歐氏距離最小的10個(gè)值所對(duì)應(yīng)的日期作為相似日。在兩兩隨機(jī)分組后,使用Matlab工具箱的指令,建立5組13-15-10的BP神經(jīng)網(wǎng)絡(luò)并應(yīng)用2.1節(jié)中的PSO算法進(jìn)行迭代尋優(yōu),將最終群體最優(yōu)值回代入網(wǎng)絡(luò),以此實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)權(quán)值/閾值的訓(xùn)練。分別得到5組網(wǎng)絡(luò)預(yù)測(cè)結(jié)果之后,計(jì)算每組的相對(duì)誤差,取誤差最小的模型作為最終算法模型。
采用美國(guó)俄勒岡大學(xué)光伏站的公開(kāi)數(shù)據(jù)[15],根據(jù)第3節(jié)的內(nèi)容建立預(yù)測(cè)模型,采用ASHLAND 2016年4月光伏數(shù)據(jù)作為數(shù)據(jù)樣本,使用Matlab進(jìn)行仿真。在進(jìn)行誤差對(duì)比之后選擇第二組神經(jīng)網(wǎng)絡(luò)作為最終預(yù)測(cè)模型,并應(yīng)用該模型對(duì)4月16日的光伏發(fā)電功率進(jìn)行預(yù)測(cè),其預(yù)測(cè)的結(jié)果如圖2所示。

圖2 PSO-BP算法的預(yù)測(cè)曲線
由圖2可以得出,該算法整體擬合程度較好。在上午和下午的3個(gè)時(shí)點(diǎn)的擬合精度較高,而在中午和日落前擬合精度略差。
誤差修正曲線如圖3所示。可以看出,在100次之前誤差下降率非常高,說(shuō)明該算法可以迅速獲得擬合區(qū)間;在300次迭代之后,誤差已經(jīng)趨于穩(wěn)定。

圖3 誤差修正曲線
誤差分析圖如圖4所示。可以得出,總體相對(duì)誤差約為4.4%。而B(niǎo)P神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度在8%~10%之間。由此可見(jiàn),使用PSO-BP算法進(jìn)行預(yù)測(cè)可以大幅提高整體預(yù)測(cè)精度。分析后發(fā)現(xiàn),誤差較大的主要時(shí)間為日落時(shí),分析認(rèn)為在日落時(shí)存在太陽(yáng)斜射電池板、云層遮擋、大氣折射等因素導(dǎo)致整體出力波動(dòng)較大。并且,在原始數(shù)據(jù)中17時(shí)的功率波動(dòng)最大可達(dá)100%,這也是導(dǎo)致最終預(yù)測(cè)結(jié)果差距較大的主要原因。

圖4 各時(shí)段相對(duì)誤差曲線
PSO-BP算法在光伏發(fā)電的預(yù)測(cè)領(lǐng)域應(yīng)用較少,針對(duì)該算法在光伏發(fā)電的功率預(yù)測(cè)中的關(guān)鍵問(wèn)題進(jìn)行了一些研究,并進(jìn)行了仿真分析與驗(yàn)證。但由于研究條件等的限制,尚有需進(jìn)一步完善的地方:
1)采用了美國(guó)俄勒岡大學(xué)光伏電站的公開(kāi)數(shù)據(jù),但中國(guó)幅員遼闊,不同的地區(qū)條件各不相同,之后研究方向轉(zhuǎn)向?qū)?guó)內(nèi)光伏電站研究。
2)應(yīng)用PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,確實(shí)增加了整體預(yù)測(cè)精度,但對(duì)日落時(shí)的預(yù)測(cè)波動(dòng)仍較大。今后研究應(yīng)著重于提高對(duì)日落前功率預(yù)測(cè)的精度,以期進(jìn)一步提高整體精度以及穩(wěn)定性。