彭 飛,張健男,張曉華,王漢軍,吳 奕,陳志奎
(1.國家電網公司 東北分部,遼寧 沈陽 110180;2.中國科學院 沈陽計算技術研究所有限公司,遼寧 沈陽 110180;3.大連理工大學 軟件學院,遼寧 大連 116620)
目前,在光伏發電的預測領域,國內外學者對光伏發電功率的預測做了大量研究,常用且高效的模型主要有以下幾種:
第一種是傳統預測法,比如回歸法[1]、趨勢外推法[2]、基于ARIMA[3-5]的系列方法。傳統預測方法較為簡單,對于變化規律明顯、趨勢變化顯著的氣象數據預測能力較差。
第二種是人工智能算法,人工智能算法主要依托各種神經網絡[6-10]、支持向量機[11]、小波分析算法[12],這類算法突破了傳統預測法的局限性,近年來得到廣泛應用。雖然人工智能算法具有較強的非線性映射能力、處理大量復雜數據的能力以及容錯能力,但由于需要進行逐步分層預訓練,學習時間較長,若參數選擇不當極易陷入局部最優解。
針對上述問題,提出一種基于初始化非負矩陣分解(NMF)的光伏發電預測方法,使用模糊C均值聚類(FCM)[13]的初始化方法,有效解決了NMF算法[14]收斂速度慢和易于陷入局部極小的問題。相比于其他算法,該算法在一定程度上降低了求解難度,提高了求解速度與預測準確率。
模糊C均值聚類算法(FCM)是模糊聚類算法的一種,它具有普通C均值算法的一些特性,不同于普通C均值算法的地方在于其加入了模糊的概念,改進了其性能,通過模糊劃分,用一個隸屬度來表征數據集中每個對象屬于該類的程度,其中隸屬度的取值范圍為0~1。FCM算法改善了普通C均值算法對于數據對象非A即B劃分規則的缺陷,將原來的硬性劃分變成柔性劃分。
FCM算法將數據集X={x1,x2,…,xn}劃分為C個模糊組,矩陣V的元素vi表示聚類中心,矩陣中Q的元素qli表示第l(l=1,2,…,n)項數據屬于第i類的隸屬度,qli(i=1,2,…,c)滿足以下條件:
(1)
?i,l,qli∈[0,1]
(2)
(3)
其中FCM的價值函數為:
(4)
(5)
上述公式中:m∈[1,∞]為加權指數;dli是樣本數據和聚類中心的距離。

由于求解完全非負矩陣分解(X=UP)是一個NP難問題,并且缺少合適的凸表達式,所以近似非負矩陣分解(X≈UP)被人們廣泛使用,因此,許多非負矩陣分解的實現方法是最小化X和UP間的重構誤差,這些方法的主要區別在于重構誤差的衡量標準和優化過程。
為了量化X和UP間的重構誤差,需要先定義一個度量D(X‖UP)。度量D(X‖UP)主要有距離或散度兩種形式,不同的度量也決定了目標函數是一個單獨的損失函數還是需要同時最小化的一組損失函數。該文采用歐幾里得矩陣的平方(SED)來衡量X與UP,對應的目標函數如下:
(6)
式中,‖·‖F表示Frobenuis范數。式(6)中的目標函數J1相對于聯合變量(U,P)是非凸的,但是當固定(U,P)中的一個變量,相對于另一個變量,此時J1是凸的。
根據光伏發電的特點,結合第一節提到的相關理論,給出基于初始化非負矩陣分解的光伏發電預測方法,包括自適應相似日的選取、模型的搭建與預測。
在光伏發電預測的初始化非負矩陣分解的光伏發電預測模型中,相似日的選取是影響預測結果精度的重要影響因素,該文使用自適應的方法對相似日進行篩選,選取流程如圖1所示。

圖1 自適應的方法篩選相似日流程
自適應相似日選取的主要步驟如下:首先根據預測日的天氣屬性(雨、晴),從預測日之前的歷史日篩選出預測日的備選相似日,然后通過特征相似日選擇算法篩選最終相似日,特征相似日選擇算法是將預測日的日特征向量和備選相似日的日特征向量進行相似度度量,經過該方法篩選出的相似日可以有效提高基于初始化非負矩陣分解的光伏發電預測的預測精度。一般關于光伏發電功率的日特征向量包含氣溫、太陽輻射度天氣類型等因素,設定日特征選擇有n個評價因素,則第i日的特征向量表示如下:
xi={xi1,xi2,…,xik,xin}
(7)
為了合理進行相似日的選擇,該文采用歐氏距離法求取第j日與第i日的相似度,如下所示:

(8)
式(9)的Oij為第j日與第i日的相似程度,α的取值為1/max(dij)。
Oij=1-αdij
(9)
使用上述相關方法對樣本數據進行相似日樣本篩選,可以計算出與預測日屬性最為接近的樣本數據,為預測準確性奠定基礎。
將量化后數據作為預測模型的輸入,因此利用上節提到的相似日選擇算法選取的與預測日天氣類型相同、氣象特征相近的訓練樣本對預測模型進行訓練。每個相似日屬性數據包含最高氣溫Temp-h、最低氣溫Temp-l、風力Ave-wind、輻照度Irradiance、光伏實發電量PV-power,預測日中的數據包含已獲得的最低Temp-l、最高氣溫Temp-h、風力Ave-wind和需要預測的光伏發電量PV-power,由于風力Ave-wind、輻照度Irradiance等環境因素是隨時間動態變化的,所以在每一個時刻都構建一個預測日-相似日關系矩陣RN×M,該矩陣的前n-1行代表相似日數據,第n行代表預測日數據,該矩陣的前m-1列代表影響光伏實發電量的屬性因素,第m列代表光伏發電量,由于預測日的光伏實發電量未知,所以將其初始值設置為0。數據模型建立之后,每個時刻的關系矩陣RN×M通過基于初始化非負矩陣分解的光伏發電預測算法得到預測日每個時刻的預測值,如圖2所示。

圖2 FCM_NMF的光伏預測模型
結合FCM和NMF算法,從數據選擇的角度提高預測的準確度。首先,考慮天氣因素,將預測日分為不同的天氣類型;其次,FCM對晴天或者雨天的數據進行聚類分析。最后,結合NMF算法對光伏發電進行精確預測。
圖3是光伏發電功率預測框圖。

圖3 光伏發電功率預測框圖
首先將每個時刻tn的關系矩陣R進行FCM聚類,通過式(10)、式(11)分別得到每個時刻關系矩陣R的最優隸屬度矩陣Q和聚類中心V;
(10)
(11)
將上述FCM得到的隸屬度矩陣Q和類中心V作為NMF分解的初值,然后采用交替式方法進行迭代求解。為了有效地求解NMF的目標函數,采用Lee等[15]提出的著名的乘子更新法,采用簡單的乘式迭代方法即可進行求解。對于式(6),其對應的更新規則為:
(12)
(13)
式中,t表示當前迭代次數。根據上述更新規則,在滿足一定次數迭代后算法收斂。
該文提出的初始化非負矩陣分解的光伏發電預測模型具體步驟如下:
輸入:根據預測日篩選出相似日每個時刻(t1,t2,…,tn)對應的Temp-h、Temp-l、Ave-wind、Irradiance、PV-power,預測日對應的每個時刻的Temp-h、Temp-l、Ave-wind、Irradiance,并將預測日發電量初始值設置為0。
輸出:預測日每個時刻(t1,t2,…,tn)對應的光伏發電量。
Step1:根據預測日構建預測日-相似日矩陣R;
Step2:將每個時刻tn的關系矩陣R進行FCM聚類,得到每個時刻的最優V、Q;
Step3:將每個時刻tn對應的預測日-相似日關系矩陣R進行NMF,并將上步得到的最優V,Q分別對應為關系矩陣NMF參數的初始化的初值,得到每一個時刻NMF的分解結果U,P;
Step4:得到每個時刻tn的NMF分解結果后,對原始模型進行重構,獲得每個時刻預測日的光伏發電預測值Predictive value;
Step5:end
本節使用某省份光伏發電的歷史數據作為實驗數據集,應用第一節的相關理論和第二節的模型構建方法展開實驗驗證,主要包括數據準備、實驗結果、對比實驗分析三部分。
實驗數據選取某省份的光伏發電歷史數據。數據包含輻照度、風速、實發電量等實時采集的數據。采樣時間范圍為2019年1月1日~11月3日。此外,由于光伏發電情況受溫度等環境因素影響,在實驗中從網絡上獲取了上述地區在該段時間的歷史天氣情況,將每天的天氣情況也作為實驗數據。按照天氣類型,分別對晴天和雨天進行預測,選取該省份2019年8月29日(雨天)和9月12日(晴天)作為預測日,根據預測日的天氣類型在8,9月份中使用自適應相似日的選取方法,選取了最相近的七個相似日(具體見表1),并選取該省份溫度、風速、輻照度以及光伏發電功率的現場實時測量數據,采樣周期為15 min,選取的預測時間段為早上7點到晚上6點15分,即每天46個采樣點。

表1 相似日以及預測日
在模型預測效果度量中,采用檢驗模型較普遍的兩個評價指標:均方根誤差(RMSE)和絕對誤差(MAE),具體表達式如下:
(14)
(15)

為評價文中算法的有效性,實驗所使用的計算機配置如下:2.6 GHz CPU,16 GB內存,在pycharm 2019.3.1環境上實現。
3.4.1 不同天氣類型預測結果
將基于初始化非負矩陣分解的光伏發電預測算法應用到雨天(8月29日)和晴天(9月12日)的光伏發電預測中,對兩組實驗的仿真結果進行了匯總,并對每組46個采樣點的仿真結果做了對比顯示,如圖4和圖5所示。

圖4 雨天功率預測結果 圖5 晴天功率預測結果
3.4.2 結果對比
將初始化非負矩陣分解的光伏發電預測模型(FCM-NMF)與Elman神經網絡預測模型[16]、BPNN預測模型[8]、LSTM預測模型[9]進行準確率測評,模型運行結果如圖6和圖7所示。

圖6 雨天準確率預測結果對比 圖7 晴天準確率預測結果對比
為了驗證基于初始化非負矩陣分解的光伏發電預測模型在不同天氣類型中的預測優勢,將該文提出的算法與基本的非負矩陣分解算法(NMF)進行了預測效果度量比較,結果如表2和表3所示。

表2 雨天2種預測模型的預測誤差統計

表3 晴天2種預測模型的預測誤差統計
可見,無論是RMSE還是MAE,由表2與表3對比數據可看出,FCM_NMF的預測精度高于NMF的預測模型。
將初始化非負矩陣分解的方法應用到光伏發電預測中,實現了對預測日某個時刻的發電預測??紤]到天氣屬性和歷史發電對預測日發電的影響,對預測日篩選出的相似日進一步做了劃分,最后采用基于初始化非負矩陣分解的光伏發電預測模型進行了預測模型的預測。實驗結果表明,最終的預測效果較BPNN等模型有所提高。
總的來說,驗證了初始化非負矩陣分解模型在光伏發電預測領域的適用性,擴展了該方向的應用范疇?;诋斍暗墓ぷ鳎罄m將從以下方面繼續研究:在篩選相似日的時候,將季節因素的影響考慮在內;尋找有效的方法優化初始化的非負矩陣分解模型,提高預測精度。