彭 飛,張健男,張曉華,王漢軍,吳 奕,陳志奎
(1.國家電網(wǎng)公司 東北分部,遼寧 沈陽 110180;2.中國科學(xué)院 沈陽計算技術(shù)研究所有限公司,遼寧 沈陽 110180;3.大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116620)
目前,在光伏發(fā)電的預(yù)測領(lǐng)域,國內(nèi)外學(xué)者對光伏發(fā)電功率的預(yù)測做了大量研究,常用且高效的模型主要有以下幾種:
第一種是傳統(tǒng)預(yù)測法,比如回歸法[1]、趨勢外推法[2]、基于ARIMA[3-5]的系列方法。傳統(tǒng)預(yù)測方法較為簡單,對于變化規(guī)律明顯、趨勢變化顯著的氣象數(shù)據(jù)預(yù)測能力較差。
第二種是人工智能算法,人工智能算法主要依托各種神經(jīng)網(wǎng)絡(luò)[6-10]、支持向量機[11]、小波分析算法[12],這類算法突破了傳統(tǒng)預(yù)測法的局限性,近年來得到廣泛應(yīng)用。雖然人工智能算法具有較強的非線性映射能力、處理大量復(fù)雜數(shù)據(jù)的能力以及容錯能力,但由于需要進行逐步分層預(yù)訓(xùn)練,學(xué)習(xí)時間較長,若參數(shù)選擇不當(dāng)極易陷入局部最優(yōu)解。
針對上述問題,提出一種基于初始化非負(fù)矩陣分解(NMF)的光伏發(fā)電預(yù)測方法,使用模糊C均值聚類(FCM)[13]的初始化方法,有效解決了NMF算法[14]收斂速度慢和易于陷入局部極小的問題。相比于其他算法,該算法在一定程度上降低了求解難度,提高了求解速度與預(yù)測準(zhǔn)確率。
模糊C均值聚類算法(FCM)是模糊聚類算法的一種,它具有普通C均值算法的一些特性,不同于普通C均值算法的地方在于其加入了模糊的概念,改進了其性能,通過模糊劃分,用一個隸屬度來表征數(shù)據(jù)集中每個對象屬于該類的程度,其中隸屬度的取值范圍為0~1。FCM算法改善了普通C均值算法對于數(shù)據(jù)對象非A即B劃分規(guī)則的缺陷,將原來的硬性劃分變成柔性劃分。
FCM算法將數(shù)據(jù)集X={x1,x2,…,xn}劃分為C個模糊組,矩陣V的元素vi表示聚類中心,矩陣中Q的元素qli表示第l(l=1,2,…,n)項數(shù)據(jù)屬于第i類的隸屬度,qli(i=1,2,…,c)滿足以下條件:
(1)
?i,l,qli∈[0,1]
(2)
(3)
其中FCM的價值函數(shù)為:
(4)
(5)
上述公式中:m∈[1,∞]為加權(quán)指數(shù);dli是樣本數(shù)據(jù)和聚類中心的距離。
由于求解完全非負(fù)矩陣分解(X=UP)是一個NP難問題,并且缺少合適的凸表達(dá)式,所以近似非負(fù)矩陣分解(X≈UP)被人們廣泛使用,因此,許多非負(fù)矩陣分解的實現(xiàn)方法是最小化X和UP間的重構(gòu)誤差,這些方法的主要區(qū)別在于重構(gòu)誤差的衡量標(biāo)準(zhǔn)和優(yōu)化過程。
為了量化X和UP間的重構(gòu)誤差,需要先定義一個度量D(X‖UP)。度量D(X‖UP)主要有距離或散度兩種形式,不同的度量也決定了目標(biāo)函數(shù)是一個單獨的損失函數(shù)還是需要同時最小化的一組損失函數(shù)。該文采用歐幾里得矩陣的平方(SED)來衡量X與UP,對應(yīng)的目標(biāo)函數(shù)如下:
(6)
式中,‖·‖F(xiàn)表示Frobenuis范數(shù)。式(6)中的目標(biāo)函數(shù)J1相對于聯(lián)合變量(U,P)是非凸的,但是當(dāng)固定(U,P)中的一個變量,相對于另一個變量,此時J1是凸的。
根據(jù)光伏發(fā)電的特點,結(jié)合第一節(jié)提到的相關(guān)理論,給出基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測方法,包括自適應(yīng)相似日的選取、模型的搭建與預(yù)測。
在光伏發(fā)電預(yù)測的初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測模型中,相似日的選取是影響預(yù)測結(jié)果精度的重要影響因素,該文使用自適應(yīng)的方法對相似日進行篩選,選取流程如圖1所示。
圖1 自適應(yīng)的方法篩選相似日流程
自適應(yīng)相似日選取的主要步驟如下:首先根據(jù)預(yù)測日的天氣屬性(雨、晴),從預(yù)測日之前的歷史日篩選出預(yù)測日的備選相似日,然后通過特征相似日選擇算法篩選最終相似日,特征相似日選擇算法是將預(yù)測日的日特征向量和備選相似日的日特征向量進行相似度度量,經(jīng)過該方法篩選出的相似日可以有效提高基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測的預(yù)測精度。一般關(guān)于光伏發(fā)電功率的日特征向量包含氣溫、太陽輻射度天氣類型等因素,設(shè)定日特征選擇有n個評價因素,則第i日的特征向量表示如下:
xi={xi1,xi2,…,xik,xin}
(7)
為了合理進行相似日的選擇,該文采用歐氏距離法求取第j日與第i日的相似度,如下所示:
(8)
式(9)的Oij為第j日與第i日的相似程度,α的取值為1/max(dij)。
Oij=1-αdij
(9)
使用上述相關(guān)方法對樣本數(shù)據(jù)進行相似日樣本篩選,可以計算出與預(yù)測日屬性最為接近的樣本數(shù)據(jù),為預(yù)測準(zhǔn)確性奠定基礎(chǔ)。
將量化后數(shù)據(jù)作為預(yù)測模型的輸入,因此利用上節(jié)提到的相似日選擇算法選取的與預(yù)測日天氣類型相同、氣象特征相近的訓(xùn)練樣本對預(yù)測模型進行訓(xùn)練。每個相似日屬性數(shù)據(jù)包含最高氣溫Temp-h、最低氣溫Temp-l、風(fēng)力Ave-wind、輻照度Irradiance、光伏實發(fā)電量PV-power,預(yù)測日中的數(shù)據(jù)包含已獲得的最低Temp-l、最高氣溫Temp-h、風(fēng)力Ave-wind和需要預(yù)測的光伏發(fā)電量PV-power,由于風(fēng)力Ave-wind、輻照度Irradiance等環(huán)境因素是隨時間動態(tài)變化的,所以在每一個時刻都構(gòu)建一個預(yù)測日-相似日關(guān)系矩陣RN×M,該矩陣的前n-1行代表相似日數(shù)據(jù),第n行代表預(yù)測日數(shù)據(jù),該矩陣的前m-1列代表影響光伏實發(fā)電量的屬性因素,第m列代表光伏發(fā)電量,由于預(yù)測日的光伏實發(fā)電量未知,所以將其初始值設(shè)置為0。數(shù)據(jù)模型建立之后,每個時刻的關(guān)系矩陣RN×M通過基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測算法得到預(yù)測日每個時刻的預(yù)測值,如圖2所示。
圖2 FCM_NMF的光伏預(yù)測模型
結(jié)合FCM和NMF算法,從數(shù)據(jù)選擇的角度提高預(yù)測的準(zhǔn)確度。首先,考慮天氣因素,將預(yù)測日分為不同的天氣類型;其次,F(xiàn)CM對晴天或者雨天的數(shù)據(jù)進行聚類分析。最后,結(jié)合NMF算法對光伏發(fā)電進行精確預(yù)測。
圖3是光伏發(fā)電功率預(yù)測框圖。
圖3 光伏發(fā)電功率預(yù)測框圖
首先將每個時刻tn的關(guān)系矩陣R進行FCM聚類,通過式(10)、式(11)分別得到每個時刻關(guān)系矩陣R的最優(yōu)隸屬度矩陣Q和聚類中心V;
(10)
(11)
將上述FCM得到的隸屬度矩陣Q和類中心V作為NMF分解的初值,然后采用交替式方法進行迭代求解。為了有效地求解NMF的目標(biāo)函數(shù),采用Lee等[15]提出的著名的乘子更新法,采用簡單的乘式迭代方法即可進行求解。對于式(6),其對應(yīng)的更新規(guī)則為:
(12)
(13)
式中,t表示當(dāng)前迭代次數(shù)。根據(jù)上述更新規(guī)則,在滿足一定次數(shù)迭代后算法收斂。
該文提出的初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測模型具體步驟如下:
輸入:根據(jù)預(yù)測日篩選出相似日每個時刻(t1,t2,…,tn)對應(yīng)的Temp-h、Temp-l、Ave-wind、Irradiance、PV-power,預(yù)測日對應(yīng)的每個時刻的Temp-h、Temp-l、Ave-wind、Irradiance,并將預(yù)測日發(fā)電量初始值設(shè)置為0。
輸出:預(yù)測日每個時刻(t1,t2,…,tn)對應(yīng)的光伏發(fā)電量。
Step1:根據(jù)預(yù)測日構(gòu)建預(yù)測日-相似日矩陣R;
Step2:將每個時刻tn的關(guān)系矩陣R進行FCM聚類,得到每個時刻的最優(yōu)V、Q;
Step3:將每個時刻tn對應(yīng)的預(yù)測日-相似日關(guān)系矩陣R進行NMF,并將上步得到的最優(yōu)V,Q分別對應(yīng)為關(guān)系矩陣NMF參數(shù)的初始化的初值,得到每一個時刻NMF的分解結(jié)果U,P;
Step4:得到每個時刻tn的NMF分解結(jié)果后,對原始模型進行重構(gòu),獲得每個時刻預(yù)測日的光伏發(fā)電預(yù)測值Predictive value;
Step5:end
本節(jié)使用某省份光伏發(fā)電的歷史數(shù)據(jù)作為實驗數(shù)據(jù)集,應(yīng)用第一節(jié)的相關(guān)理論和第二節(jié)的模型構(gòu)建方法展開實驗驗證,主要包括數(shù)據(jù)準(zhǔn)備、實驗結(jié)果、對比實驗分析三部分。
實驗數(shù)據(jù)選取某省份的光伏發(fā)電歷史數(shù)據(jù)。數(shù)據(jù)包含輻照度、風(fēng)速、實發(fā)電量等實時采集的數(shù)據(jù)。采樣時間范圍為2019年1月1日~11月3日。此外,由于光伏發(fā)電情況受溫度等環(huán)境因素影響,在實驗中從網(wǎng)絡(luò)上獲取了上述地區(qū)在該段時間的歷史天氣情況,將每天的天氣情況也作為實驗數(shù)據(jù)。按照天氣類型,分別對晴天和雨天進行預(yù)測,選取該省份2019年8月29日(雨天)和9月12日(晴天)作為預(yù)測日,根據(jù)預(yù)測日的天氣類型在8,9月份中使用自適應(yīng)相似日的選取方法,選取了最相近的七個相似日(具體見表1),并選取該省份溫度、風(fēng)速、輻照度以及光伏發(fā)電功率的現(xiàn)場實時測量數(shù)據(jù),采樣周期為15 min,選取的預(yù)測時間段為早上7點到晚上6點15分,即每天46個采樣點。
表1 相似日以及預(yù)測日
在模型預(yù)測效果度量中,采用檢驗?zāi)P洼^普遍的兩個評價指標(biāo):均方根誤差(RMSE)和絕對誤差(MAE),具體表達(dá)式如下:
(14)
(15)
為評價文中算法的有效性,實驗所使用的計算機配置如下:2.6 GHz CPU,16 GB內(nèi)存,在pycharm 2019.3.1環(huán)境上實現(xiàn)。
3.4.1 不同天氣類型預(yù)測結(jié)果
將基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測算法應(yīng)用到雨天(8月29日)和晴天(9月12日)的光伏發(fā)電預(yù)測中,對兩組實驗的仿真結(jié)果進行了匯總,并對每組46個采樣點的仿真結(jié)果做了對比顯示,如圖4和圖5所示。
圖4 雨天功率預(yù)測結(jié)果 圖5 晴天功率預(yù)測結(jié)果
3.4.2 結(jié)果對比
將初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測模型(FCM-NMF)與Elman神經(jīng)網(wǎng)絡(luò)預(yù)測模型[16]、BPNN預(yù)測模型[8]、LSTM預(yù)測模型[9]進行準(zhǔn)確率測評,模型運行結(jié)果如圖6和圖7所示。
圖6 雨天準(zhǔn)確率預(yù)測結(jié)果對比 圖7 晴天準(zhǔn)確率預(yù)測結(jié)果對比
為了驗證基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測模型在不同天氣類型中的預(yù)測優(yōu)勢,將該文提出的算法與基本的非負(fù)矩陣分解算法(NMF)進行了預(yù)測效果度量比較,結(jié)果如表2和表3所示。
表2 雨天2種預(yù)測模型的預(yù)測誤差統(tǒng)計
表3 晴天2種預(yù)測模型的預(yù)測誤差統(tǒng)計
可見,無論是RMSE還是MAE,由表2與表3對比數(shù)據(jù)可看出,F(xiàn)CM_NMF的預(yù)測精度高于NMF的預(yù)測模型。
將初始化非負(fù)矩陣分解的方法應(yīng)用到光伏發(fā)電預(yù)測中,實現(xiàn)了對預(yù)測日某個時刻的發(fā)電預(yù)測??紤]到天氣屬性和歷史發(fā)電對預(yù)測日發(fā)電的影響,對預(yù)測日篩選出的相似日進一步做了劃分,最后采用基于初始化非負(fù)矩陣分解的光伏發(fā)電預(yù)測模型進行了預(yù)測模型的預(yù)測。實驗結(jié)果表明,最終的預(yù)測效果較BPNN等模型有所提高。
總的來說,驗證了初始化非負(fù)矩陣分解模型在光伏發(fā)電預(yù)測領(lǐng)域的適用性,擴展了該方向的應(yīng)用范疇?;诋?dāng)前的工作,后續(xù)將從以下方面繼續(xù)研究:在篩選相似日的時候,將季節(jié)因素的影響考慮在內(nèi);尋找有效的方法優(yōu)化初始化的非負(fù)矩陣分解模型,提高預(yù)測精度。