王晨陽 段倩倩 周凱 姚靜 蘇敏 傅意超紀俊羊 洪鑫 劉雪芹? 汪志勇
1) (重慶理工大學理學院, 綠色能源材料技術與系統(tǒng)重慶市重點實驗室, 重慶 400054)2) (西南大學物理科學與技術學院, 重慶 400715)(2019年12月20日收到; 2020年2月6日收到修改稿)
光伏發(fā)電受天氣與地理環(huán)境影響, 呈現(xiàn)出波動性和隨機多干擾性, 其輸出功率容易隨著外界因素變化而變化, 因此預測發(fā)電輸出功率對于優(yōu)化光伏發(fā)電并網(wǎng)運行和減少不確定性的影響至關重要. 本文提出一種基于遺傳算法(GA)優(yōu)化的卷積長短記憶神經(jīng)網(wǎng)絡混合模型(GA-CNN-LSTM), 首先利用CNN 模塊對數(shù)據(jù)的空間特征提取, 再經(jīng)過LSTM 模塊提取時間特征和附近隱藏狀態(tài)向量, 同時通過GA 優(yōu)化LSTM 訓練網(wǎng)絡的超參數(shù)權重與偏置值. 在初期對歷史數(shù)據(jù)進行歸一化處理, 以及對所有特征作灰色關聯(lián)度分析, 提取重要特征降低數(shù)據(jù)計算復雜度, 然后對本文提出來的經(jīng)GA 優(yōu)化后的CNN-LSTM 混合神經(jīng)網(wǎng)絡(GA-CNN-LSTM)算法模型進行光伏功率預測實驗. 同時與CNN, LSTM 兩個單一神經(jīng)網(wǎng)絡模型以及未經(jīng)GA 優(yōu)化的CNNLSTM 混合神經(jīng)網(wǎng)絡模型的預測性能進行比較. 結(jié)果顯示在平均絕對誤差率(MAPE)指標下, 本文提出的GA-CNN-LSTM 算法模型比單一神經(jīng)網(wǎng)絡模型最好的結(jié)果減少了1.537%的誤差, 同時比未經(jīng)優(yōu)化的CNNLSTM 混合神經(jīng)網(wǎng)絡算法模型減少了0.873%的誤差. 本文的算法模型對光伏發(fā)電功率具有更好的預測性能.
隨著全球傳統(tǒng)化石能源日益枯竭, 并且污染嚴重, 能源危機與環(huán)境問題漸顯突出. 當前光伏新能源具有清潔、可持續(xù)性等特點, 越來越受到人們的重視. 但是近些年我國新能源遭遇嚴重的棄光問題. 光伏發(fā)電受天氣等多種因素影響呈現(xiàn)出波動不穩(wěn)定[1], 所以在其并網(wǎng)輸出電力使用時, 提前預測發(fā)電輸出功率變得尤其重要.
目前在光伏發(fā)電功率預測領域研究熱點是基于人工智能的方法, 主要包括機器學習, 以及深度學習[2]神經(jīng)網(wǎng)絡等技術. 2012年, Shi 等[3]建立基于支持向量機(SVM)的預測模型, 從預測效果來看機器學習模型明顯好于傳統(tǒng)數(shù)學統(tǒng)計模型.2016年, Liu 等[4]采用最大期望(EM)算法將天氣進行聚類, 通過聚類結(jié)果, 選出反應預測日天氣特點的樣本作為輸入, 利用小波SVM 回歸模型進行輸出預測, 分類后的機器學習模型表現(xiàn)出更好的預測效果. 2018年, Liu 等[5]提出反向傳播(BP)神經(jīng)網(wǎng)絡模型, 利用15 kW 并網(wǎng)光伏系統(tǒng)的四種光伏輸出和氣象數(shù)據(jù)對該方法進行了測試, 在置信度分別為95%, 90%, 85%和80%的置信水平下計算預測區(qū)間覆蓋率(PICPs), 它們所提出的模型在短期光伏功率輸出和相關不確定性的預測方面優(yōu)于傳統(tǒng)的預測方法. 2019年, Gao 等[6]提出利用長短記憶神經(jīng)網(wǎng)絡(LSTM)對光伏系統(tǒng)的輸出功率進行預測, 該方法使用一年內(nèi)不同地點的每小時數(shù)據(jù)集進行評估, LSTM 進一步減少了預測誤差, 體現(xiàn)出更優(yōu)的預測效果[7]. 雖然上述的研究取得了不錯的結(jié)果, 但是他們所采用的模型, 特別是人工神經(jīng)網(wǎng)絡模型, 過多的輸入數(shù)據(jù)、隱含層數(shù)和隱含層節(jié)點很可能導致網(wǎng)絡訓練的過擬合、梯度消失和爆炸等問題, 并且單一神經(jīng)網(wǎng)絡模型普遍表現(xiàn)出預測精度不夠高等缺點.
針對以上問題與缺點, 本文提出了一種基于遺傳算法(GA)優(yōu)化的卷積長短記憶神經(jīng)網(wǎng)絡混合模型(GA-CNN-LSTM). 首先對數(shù)據(jù)進行歸一化處理去除量綱, 統(tǒng)一數(shù)據(jù)范圍, 然后對歷史數(shù)據(jù)特征進行灰色關聯(lián)度分析[8], 選取最重要幾個特征變量, 達到了降低計算復雜度和提高預測精度的目的. 該模型利用GA 算法解決了訓練容易陷入局部最小值、收斂速度慢等問題, 同時使用輟學機制[9](Dropout)避免了模型易出現(xiàn)過擬合等缺點, 以及CNN 和LSTM 相結(jié)合的混合神經(jīng)網(wǎng)絡模型明顯提高了預測精度, 并且在運行時間上表現(xiàn)出良好的性能.
本研究采用DC 競賽光伏發(fā)電輸出功率預測數(shù)據(jù)[10], 截取其中66860 組單年份數(shù)據(jù)作分析, 其中有風速、風向、溫度、壓強、濕度和實發(fā)輻照度為輸入變量特征, 輸出為實際發(fā)電功率. 我們首先對數(shù)據(jù)進行預處理, 將所有輸入數(shù)據(jù)特征進行數(shù)據(jù)標準化, 去除量綱, 便于一致性分析, 然后采取灰色關聯(lián)度分析篩選其中與輸出實際發(fā)電功率相關程度更高的變量特征, 降低整體計算的復雜度, 同時能提高模型的精度.
數(shù)據(jù)歸一化主要目的是將多種變量的數(shù)據(jù)統(tǒng)一縮放到一個范圍[11], 這樣的范圍通常是(–1, 1)的一個數(shù)值區(qū)間, 轉(zhuǎn)換函數(shù)為
其中max 為樣本數(shù)據(jù)的最大值, min 為樣本數(shù)據(jù)的最小值.x為當前樣本點的值,x'為歸一化轉(zhuǎn)換計算所得的數(shù)值. 通過統(tǒng)一的歸一化處理有利于加快模型的收斂速度, 同時能提升其計算結(jié)果的精度.
通過分析兩個變化量之間的關系, 來衡量兩個量之間的關聯(lián)程度, 以表達一個量對另外一個量的影響程度, 計算其灰色關聯(lián)度的值通常有以下五個步驟[12]:
步驟1對所有數(shù)據(jù)進行歸一化處理;
步驟2計算每個樣本點的差值絕對值X;
步驟3找出樣本點的最大值和最小值MAX,MIN;
步驟4計算每個對應的關聯(lián)系數(shù)Y, 公式如(2)式所示:
步驟5對每列的所有關聯(lián)系數(shù)Y做平均計算, 得出結(jié)果. 結(jié)果越接近于1, 相關聯(lián)程度越高.
通過歸一化和灰色關聯(lián)度分析后得出結(jié)果如表1 所列, 其中實發(fā)輻照度的關聯(lián)度值最高, 壓強的關聯(lián)度值最小. 在風況數(shù)據(jù)特征中, 雖然風速和風向與功率相關程度相近, 但是風速對光伏板的影響更為直接, 一方面, 風速越大光伏板的表面積塵越少, 進而使得光伏板實際接收到的輻照度越大;另一方面, 在白天工作時, 風速越大光伏板表面散熱效果越好, 光伏板表面溫度降低, 有利于光伏輸出. 實驗數(shù)據(jù)分析選取前四個相關聯(lián)程度最高的特征變量(實發(fā)輻照度、濕度、溫度、風速)作為下一步算法模型的輸入數(shù)據(jù)樣本變量. 這樣的篩選, 一方面減少了特征數(shù)量, 有助于降低計算成本; 另一方面, 通過選擇相關聯(lián)程度更高的特征量有利于提高模型預測精度.
表1 灰色關聯(lián)度分析值Table 1. Grey relational analysis value.
本文采用遺傳算法(GA)優(yōu)化后的CNNLSTM 混合算法模型, 如圖1 所示. 模型結(jié)構主要由卷積神經(jīng)網(wǎng)絡和長短記憶神經(jīng)網(wǎng)絡組成, 先由卷積神經(jīng)網(wǎng)絡提取數(shù)據(jù)的空間特征[13], 再由長短記憶神經(jīng)網(wǎng)絡提取時間特征. 整個模型結(jié)合了兩種神經(jīng)網(wǎng)絡的優(yōu)勢, 并且在訓練LSTM 神經(jīng)網(wǎng)絡的超參數(shù)時, 網(wǎng)絡的權重系數(shù)和偏置值由GA 更新計算, 替換了傳統(tǒng)的梯度下降法的訓練方法, 使得整個訓練學習的過程得到了優(yōu)化.
圖1 CNN-LSTM 混合算法模型Fig. 1. CNN-LSTM hybrid algorithm model.
CNN 是一種專門用于處理具有已知網(wǎng)格狀拓撲結(jié)構的數(shù)據(jù)的神經(jīng)網(wǎng)絡[14]. 例如,時間序列數(shù)據(jù)可以看作是按一定時間間隔采樣的一維網(wǎng)格, 圖像數(shù)據(jù)可以看作是由像素組成的二維網(wǎng)格, 在計算時, 網(wǎng)絡主要采用了一種稱為卷積的數(shù)學運算. 卷積是一種特殊的線性運算, 由它來代替一般矩陣計算可以達到多倍的運算效果[15]. 隨著CNN 的發(fā)展, 出現(xiàn)了許多卷積網(wǎng)絡結(jié)構的變體, 但它們的基本結(jié)構大多相似, 包括輸入層、卷積層、池化層、全連接層和輸出層[16]. 由于本文實驗數(shù)據(jù)是以時間序列為主, 所以本文采用的是一維的卷積神經(jīng)網(wǎng)絡結(jié)構, 如圖2 所示, 這樣的選擇避免了前期輸入和后期輸出數(shù)據(jù)維度的轉(zhuǎn)換. 一維卷積核以時間步長單一方向的滑動為主, 這樣的設置更有利于對時間序列數(shù)據(jù)的卷積處理.
圖2 一維卷積神經(jīng)網(wǎng)絡結(jié)構[14]Fig. 2. One dimensional convolutional neural network structure.
LSTM 網(wǎng)絡是一種遞歸神經(jīng)網(wǎng)絡[17](RNN).與所有的遞歸神經(jīng)網(wǎng)絡一樣, LSTM 可以計算傳統(tǒng)計算機在具有足夠網(wǎng)絡元素情況下的數(shù)據(jù), 特別對時序數(shù)據(jù)能夠體現(xiàn)更好的優(yōu)勢. 它的大體結(jié)構如圖3 所示.
圖中三個模塊框部分可以看成三個細胞結(jié)構,前后兩個細胞A代表前一個時刻和后一個時刻的細胞狀態(tài), 中間的細胞是當前時刻的狀態(tài), 它可以分為三個門控部分, 分別表示遺忘門、輸入門、輸出門[18]. 三個門接收前一個時間狀態(tài)的LSTM 輸出值ht-1和當前時間的輸入數(shù)據(jù)xt作為輸入[19].遺忘門部分的ft可以看成是由輸入的xt和ht–1得到, 用來控制ct–1中的信息的遺忘程度,ft中的每個值都是屬于[0, 1]的范圍, 下界值0 代表完全遺忘, 上界值1 代表完全不變, 可以保留下來[20]. 遺忘門決定了前一個時期狀態(tài)信息的遺忘程度, 之后輸入門的作用就是往當前狀態(tài)信息中添加新的內(nèi)容[21]. 同樣, 輸入門部分由輸入的xt和ht–1得到當前的it用以控制當前狀態(tài)信息的更新程度. 這里當前狀態(tài)信息cg也是通過輸入的xt和ht–1計算得出.那么當前新的狀態(tài)信息ct就很顯然可以通過下面的公式計算得出, 通俗地說就是遺忘一些舊信息,更新一些新信息進去[22]. 最后就是輸出門部分, 類似地, 根據(jù)xt和ht–1計算得出ot用以控制哪些信息需要作為輸出. 具體計算公式為:
圖3 LSTM 神經(jīng)網(wǎng)絡結(jié)構[17]Fig. 3. LSTM neural network structure.
其中w和b表示上述門的權矩陣和偏置向量,Ct表示存儲單元,s和tanh 代表s 型函數(shù)和雙曲正切激活函數(shù).
遺傳算法(GA)是模擬生物進化進行個體的選擇、交叉和變異的一種算法, 它的主要核心是參數(shù)編碼、初始群的設定和適應函數(shù)的確定, 然后通過最終的搜索得到最優(yōu)解[23]. 本論文采用GA 優(yōu)化LSTM 神經(jīng)網(wǎng)絡訓練時權值以及偏置的確定計算, 優(yōu)化改進模型流程如圖4 所示.
圖4 遺傳算法優(yōu)化流程Fig. 4. Optimization process of genetic algorithm.
在衡量模型預測的性能時, 通常選取以下四個誤差指標: 平均絕對誤差(MAE)、平均平方差(MSE)、平均平方根誤差(RMSE)和平均絕對誤差率(MAPE). MAE 是一種基礎性的考察誤差的指標; MSE 作為平方效果后的誤差, 側(cè)重放大偏差較大的誤差, 可評估出一個模型的穩(wěn)定性;RMSE 作為一種方均根誤差對異常點比較敏感[24];MAPE 不僅考慮預測值與真實值的誤差, 同時它更能顯現(xiàn)出誤差與真實值的比率[25]. 假定預測值為x={x1,x2,x3,x4,··· ,xn}, 真實值為y={y1,y2,y3,y4,··· ,yn}, 四種指標的計算為:
為驗證算法模型的可行性, 本文選取前期預處理好的實驗數(shù)據(jù)集, 將80%的數(shù)據(jù)作為訓練集, 剩余20%的數(shù)據(jù)作為測試集. 實驗選擇在電腦上進行, CPU 配 置 為Inter Core I7-3770k, 頻 率 為3.60 GHZ, 顯卡為MX250, 系統(tǒng)為win10, 程序代碼選擇python3.6 版本, 編輯器是pycharm.
實驗對本文提出的GA-CNN-LSTM 算法模型進行測試, 同時與CNN, LSTM 兩個單一神經(jīng)網(wǎng)絡模型和未經(jīng)優(yōu)化的CNN-LSTM 混合神經(jīng)網(wǎng)絡模型的預測結(jié)果進行比較. 本實驗不僅考量模型的預測誤差性能指標, 還考量整個模型的訓練和測試運行時間.
實驗對LSTM, CNN 兩個單神經(jīng)網(wǎng)絡模型和CNN-LSTM 混合神經(jīng)網(wǎng)絡算法模型, 以及一種經(jīng)過GA 優(yōu)化過的CNN-LSTM 混合神經(jīng)網(wǎng)絡算法模型進行性能測試. 實驗測試結(jié)果如圖5—圖8 所示, 分別為四種模型截取一周預測數(shù)據(jù)的時間與發(fā)電功率的關系圖, 選取每15 min 為一個間隔的發(fā)電輸出功率值, 其中紅線代表實際發(fā)電輸出功率,綠線代表預測發(fā)電輸出功率. 單方面從圖的預測線和實際線重合程度來看, 經(jīng)GA 優(yōu)化的CNNLSTM 混合神經(jīng)網(wǎng)絡模型明顯優(yōu)于其他三種模型,特別是在夜晚時間呈現(xiàn)的擬合情況, 預測值更貼近于實際值.
圖5 CNN 模型預測功率圖Fig. 5. Power diagram of CNN model prediction.
圖6 LSTM 模型預測功率圖Fig. 6. Power diagram of LSTM model prediction.
圖7 CNN-LSTM 模型預測功率圖Fig. 7. Power diagram of CNN-LSTM model prediction.
圖8 GA-CNN-LSTM 模型預測功率圖Fig. 8. Power diagram of GA-CNN-LSTM model prediction.
進一步通過具體的預測誤差指標分析, 如表2所列, 在MAE 和MAPE 指標下, LSTM 預測值呈現(xiàn)性能最差, CNN 模型次之, GA-CNN-LSTM 預測最好. 特別是在MAPE 指標下, GA-CNNLSTM 比單一神經(jīng)網(wǎng)絡模型最好的結(jié)果減少了1.537%的誤差, 比未經(jīng)優(yōu)化的CNN-LSTM 混合神經(jīng)網(wǎng)絡算法模型減少了0.873%的誤差. 在MSE 和RMSE 指標下, CNN 模型預測值呈現(xiàn)性能最差, LSTM 模型次之, GA-CNN-LSTM 預測效果依然是最好的. 尤其是在RMSE 指標下, GACNN-LSTM 比CNN-LSTM 減少了8.108%的誤差, 體現(xiàn)了GA 訓練超參數(shù)的優(yōu)勢, 不僅避免了模型訓練過擬合, 同時防止了梯度消失和爆炸的情況發(fā)生, 提高模型結(jié)果預測精度. 綜合圖像和圖表結(jié)果, 本文提出的GA-CNN-LSTM 模型在各種誤差指標下都呈現(xiàn)最優(yōu)效果, 而且相對于單一神經(jīng)網(wǎng)絡模型, 混合的神經(jīng)網(wǎng)絡模型的預測性能更好, 充分表現(xiàn)了CNN-LSTM 混合模型既保留了CNN 在空間特征提取的優(yōu)勢也發(fā)揮了LSTM 在時間特征提取的優(yōu)勢.
表2 模型預測誤差指標Table 2. Error index of model prediction.
從運行時間方面來看, 具體訓練與測試時間值如表3 所列. 首先在訓練時, CNN 和LSTM 兩個單神經(jīng)網(wǎng)絡模型所耗時間分別是456.434 和51.576 s, 而混合神經(jīng)網(wǎng)絡模型CNN-LSTM 和GA-CNN-LSTM 所耗時間分別為 611.88 和503.74 s. 其次在測試時, CNN, LSTM, CNNLSTM 和GA-CNN-LSTM 四個模型所耗時間分別是1.13, 1.22, 3.69 和2.77 s. 單一神經(jīng)網(wǎng)絡模型消耗訓練時間和測試時間都相對較少, 但是綜合誤差性能, 混合神經(jīng)網(wǎng)絡模型更具性價比, 尤其是經(jīng)過GA 優(yōu)化后的混合算法模型更具優(yōu)勢.
表3 模型運行時間Table 3. Model running time.
為了保證光伏發(fā)電與電網(wǎng)電力供需平衡, 進一步提高光伏發(fā)電預測的準確率, 本文提出了基于遺傳算法(GA)優(yōu)化CNN-LSTM 混合神經(jīng)網(wǎng)絡的模型, 通過數(shù)據(jù)處理和算法模型實驗分析表明:
1)采用歸一化處理和灰色關聯(lián)度分析, 降低了數(shù)據(jù)的維度, 減少了計算成本, 同時通過保留相關性較高的數(shù)據(jù)特征有助于為后期提高模型精度作準備;
2)通過將CNN 和LSTM 混合, 等同于將兩種神經(jīng)網(wǎng)絡在空間特征與時間特征提取的優(yōu)勢相結(jié)合. 在MAPE 誤差指標下, CNN-LSTM 混合模型比單一神經(jīng)網(wǎng)絡模型最好的結(jié)果減少了0.574%誤差, 能夠進一步提高模型精度;
3)經(jīng)GA 優(yōu)化LSTM 訓練后所得的GACNN-LSTM 混合神經(jīng)網(wǎng)絡模型, 改進了傳統(tǒng)梯度下降法的訓練缺點. 在MAPE 誤差指標下, 比未經(jīng)優(yōu)化的CNN-LSTM 混合神經(jīng)網(wǎng)絡算法模型減少了0.873%的誤差, 表現(xiàn)出更高的預測精度;
4)從訓練與測試運行時間來看, GA-CNNLSTM 模型所花費時間略高于單個神經(jīng)網(wǎng)絡模型,但劣勢不是太明顯.
綜合預測性能和運行時間比較結(jié)果, GACNN-LSTM 模型在光伏預測系統(tǒng)以及整個光伏發(fā)電站運維工作中, 具有一定的應用價值.