秦小暉,樊重俊,付峻宇
(上海理工大學(xué)管理學(xué)院,上海 200093)
各國工業(yè)發(fā)展離不開資源消耗,也導(dǎo)致碳排放量數(shù)值上升,從而進一步引發(fā)溫室效應(yīng)、全球水平面上升等環(huán)境問題,所以隨著技術(shù)的發(fā)展,風(fēng)能、太陽能及潮汐能等清潔能源逐步取締火力發(fā)電成為主要發(fā)電能源。 由于風(fēng)能具有可再生性、無污染性等特點,所以目前風(fēng)力發(fā)電仍是國內(nèi)主要發(fā)電方式之一,但研究表明風(fēng)能短時間變化隨機,其發(fā)電功率呈間歇性以及波動性,所以使用風(fēng)力發(fā)電會產(chǎn)生發(fā)電功率不穩(wěn)定的現(xiàn)象,而這一現(xiàn)象也會導(dǎo)致電網(wǎng)運行風(fēng)險提高,造成事故[1]。 因此準(zhǔn)確預(yù)測風(fēng)力發(fā)電功率能夠提高風(fēng)力發(fā)電的穩(wěn)定性、減少不必要損失,從而提升經(jīng)濟效益。
隨著預(yù)測技術(shù)的不斷發(fā)展,國內(nèi)外學(xué)者在研究過程中所使用的預(yù)測方法也從傳統(tǒng)的統(tǒng)計模型預(yù)測逐漸演變成包含智能算法、機器學(xué)習(xí)以及深度學(xué)習(xí)的組合預(yù)測模型[2]。 早期的風(fēng)電功率預(yù)測方法主要有:持續(xù)預(yù)測法、卡爾曼濾波法、灰色預(yù)測法以及隨機時間序列法(例如AR、MA 以及ARIMA 等模型),但是存在預(yù)測時間范圍小、數(shù)據(jù)收集及處理難度較大以及預(yù)測結(jié)果不穩(wěn)定等問題[3],所以后續(xù)也產(chǎn)生了改進相關(guān)時間序列模型以及將濾波器與時序模型組合的預(yù)測方法。
隨著機器學(xué)習(xí)方法的面世,諸如支持向量機(SVM)、決策樹以及隨機森林等方法陸續(xù)涌現(xiàn)[4],其中以支持向量機(SVM)的應(yīng)用最為廣泛,相較于傳統(tǒng)的時序預(yù)測模型、馬爾可夫等方法,SVM 在處理非線性等小樣本時具有更好的適應(yīng)能力,但是只采取SVM 單一模型進行預(yù)測的效果也并不好,所以在后續(xù)研究中,學(xué)者逐漸將SVM 與遺傳算法相組合,利用算法對SVM 進行參數(shù)尋優(yōu)以達到更好的預(yù)測效果[5],例如粒子群算法、灰狼算法以及果蠅算法等等[6],但這些算法多會存在收斂時間過長、出現(xiàn)局部最優(yōu)解以及搜索步長設(shè)置繁復(fù)等問題,所以研究學(xué)者會對現(xiàn)有遺傳算法進行優(yōu)化后再對機器學(xué)習(xí)模型進行參數(shù)優(yōu)化。
目前,主流的風(fēng)電功率預(yù)測方法仍然是以神經(jīng)網(wǎng)絡(luò)模型為主的組合模型,在LSNet 神經(jīng)網(wǎng)絡(luò)、長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)等基礎(chǔ)上針對數(shù)據(jù)特征添加算法模型與之組合。 文獻[7]經(jīng)過研究發(fā)現(xiàn)GRU 網(wǎng)絡(luò)相較于LSTM 網(wǎng)絡(luò)在風(fēng)電功率預(yù)測上的作用更加高效且結(jié)構(gòu)簡單。 而文獻[8]建立融合注意力機制的Bi-GRU 模型對數(shù)據(jù)中所蘊含的信息進行深度挖掘,提高特征提取的效率與質(zhì)量并進行預(yù)測。 文獻[9]則利用TCN 神經(jīng)網(wǎng)絡(luò)與LSTM 神經(jīng)網(wǎng)絡(luò)進行組合對時序數(shù)據(jù)加以預(yù)測,TCN 網(wǎng)絡(luò)可以較好地提取間隔較長和非連續(xù)時序數(shù)據(jù)的特征信息。
本文在已有研究的基礎(chǔ)上,搭建融合Savitzky-Golay 濾波器的TCN-BiGRU 模型。 為了有效降低擁有噪聲的風(fēng)電功率數(shù)據(jù),選取Savitzky-Golay 濾波器對風(fēng)電功率相關(guān)特征數(shù)據(jù)進行降噪,并將預(yù)處理后的數(shù)據(jù)輸入進TCN-SA-BiGRU 模型中,通過TCN 網(wǎng)絡(luò)對相關(guān)數(shù)據(jù)進行特征提取,最后將有效信息輸入進BiGRU 模型中進行預(yù)測。 本文選取西班牙某地區(qū)的風(fēng)電功率數(shù)據(jù)以及其他歷史相關(guān)數(shù)據(jù)以驗證該組合模型的預(yù)測有效性。
時間卷積神經(jīng)網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)最早于2016年由Lea 等學(xué)者提出,隨后由Bai 等學(xué)者在文章中正式提出。 TCN 在卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基礎(chǔ)上做出改進,增加因果卷積以及空洞卷積。 TCN 中的因果卷積為單向結(jié)構(gòu),能保證提取信息特征時的因果性,即輸入序列x1,x2,…,xt預(yù)測y1,y2,…,yt時,如果需要預(yù)測t時刻的值yt時只能利用已存在并觀察到的x1,x2,…,xt-1,而不能使用xt+1,xt+2,…,所以TCN 中的因果卷積可以保證在時序預(yù)測過程中并不會受到未來信息因素的干擾,但是單純的因果卷積受制于卷積內(nèi)核大小,在抓取依賴信息特征時需要堆疊過多層數(shù),所以TCN中又采用膨脹卷積增加網(wǎng)絡(luò)中的感受野,對上一層輸入信息增大采樣范圍以使得TCN 能夠提取間隔較長以及非連續(xù)性數(shù)據(jù)的時序特征、即在更少層數(shù)的情況下能夠抓取更多信息特征,同時TCN 在各網(wǎng)絡(luò)層之間采用殘差進行連接,防止梯度消失爆炸問題的產(chǎn)生[10]。 膨脹因果卷積結(jié)構(gòu)如圖1 所示,殘差模塊圖如圖2 所示。
圖1 膨脹因果卷積圖Fig. 1 Structures of Causal and Dilated Convolutions
圖2 殘差模塊圖Fig. 2 Residual module
由于在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中所接收到的輸入向量大小不一,同時這些向量之間所蘊含的信息可能存在一定關(guān)系,所以在模型訓(xùn)練中因為忽略了這些向量之間的關(guān)系而導(dǎo)致模型訓(xùn)練結(jié)果很差,而自注意力機制可以針對全連接神經(jīng)網(wǎng)絡(luò)中的相關(guān)輸入變量較好地建立起數(shù)據(jù)相關(guān)性,從而提高了特征有效提取能力。 其公式如下:
其中,A為Attention,即注意力權(quán)重;Q為查詢向量矩陣(Query Vector);K為鍵向量矩陣(Key Vector);V為值向量矩陣(Value Vector)。
門控循環(huán)單元(Gated Recurrent Unit,GRU)是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種,由學(xué)者Cho 等學(xué)者在2014年提出。 GRU 與長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)相類似,是在LSTM 基礎(chǔ)上提出的衍生網(wǎng)絡(luò)結(jié)構(gòu)[11],緩解了RNN 存在的梯度消失、且無法捕捉長期信息關(guān)聯(lián)性等問題,并且GRU 的結(jié)構(gòu)比LSTM 簡單,具有計算效率高、網(wǎng)絡(luò)參數(shù)較少等優(yōu)點[12]。
GRU 結(jié)構(gòu)如圖3 所示。 由圖3 可知,GRU 設(shè)置了2 個門。 其中,更新門zt用于控制t時刻的新舊輸入信息保留程度;重置門rt用于控制t -1 時刻每個位置輸入信息保留程度。 具體公式如下:
圖3 GRU 結(jié)構(gòu)圖Fig. 3 Gated Recurrent Unit
其中,Wz、Wr與W分別表示更新門、重置門以及隱藏層的權(quán)重矩陣。
GRU 在進行預(yù)測時的順序都是由前到后,這種單一方向的時序數(shù)據(jù)預(yù)測會導(dǎo)致具有長關(guān)聯(lián)性數(shù)據(jù)的信息發(fā)生遺漏,所以在GRU 的基礎(chǔ)上加入雙向?qū)W習(xí)得到雙向門控循環(huán)單元(Bi-GRU),其結(jié)構(gòu)如圖4所示。
圖4 Bi-GRU 結(jié)構(gòu)圖Fig. 4 Bidirectional Gated Recurrent Unit
由Bi-GRU 結(jié)構(gòu)圖可觀察到,從正向來看,正向傳導(dǎo)單元可以捕捉數(shù)據(jù)中的歷史信息,從反向來看,反向傳導(dǎo)單元可以捕捉數(shù)據(jù)中的未來信息,這種雙向的結(jié)構(gòu)可以實現(xiàn)全局信息捕捉,從而提高時序特征提取效率[13]。 更新后的公式如下:
其中,W為t時刻隱藏層狀態(tài);h為t時刻隱藏層權(quán)重;bt為t時刻隱藏層狀態(tài)偏置。
由于來自傳感器的原始數(shù)據(jù)包含過多噪聲會影響模型性能,所以很少被作為預(yù)測模型的輸入數(shù)據(jù)。因此,在進行實驗分析時,需要首先對數(shù)據(jù)進行降噪處理。 在本研究中,采用Savitzky-Golay 濾波器來去除原始數(shù)據(jù)的噪聲。 Savitzky-Golay 濾波器由Savitzky 和Golay 在1964年提出,是一種基于時域局部多項式最小二乘擬合的濾波方法,常用于數(shù)據(jù)流平滑降噪。 作為一種有限脈沖響應(yīng)(GIR)數(shù)字濾波器,通過卷積操作對原始時域信號進行平滑處理,而濾波后的數(shù)據(jù)在去除噪聲的同時,保持了相同的信號結(jié)構(gòu)。 作為光譜預(yù)處理中的常用方法,主要是對一定長度內(nèi)的數(shù)據(jù)點進行k階多項式擬合后得到擬合結(jié)果。
S-G 濾波是一種移動窗口的加權(quán)平均算法,但是其加權(quán)系數(shù)不是簡單的常數(shù)窗口,而是通過在滑動窗口內(nèi)對給定高階多項式的最小二乘擬合得出,該算法的最大特點就是在濾除噪聲的同時可以確保信號的形狀、寬度不變。 公式如下:
其中,S表示原始信號;s?表示降噪后的信號;Ci為第i次的降噪系數(shù);N為(2m +1) 組數(shù)據(jù)的滑動窗口寬距;j為數(shù)據(jù)集中第j個樣本。 當(dāng)將濾波器應(yīng)用于時間序列數(shù)據(jù)進行平滑處理時,必須確定濾波器中的2 個參數(shù)。 第一個參數(shù)N,是S-G 濾波器中的滑動窗口寬距,一般來說,當(dāng)N越大時會產(chǎn)生更為平滑的結(jié)果,但同時會降低峰值的平整度;第二個參數(shù)k,表示S-G 濾波器中的擬合階數(shù),通常k值會設(shè)置在2 到4 的范圍中。k值越小,會產(chǎn)生更平滑的結(jié)果,但可能會引入偏差;而k值越高,雖然會減少濾波器的偏差,但可能會發(fā)生過擬合現(xiàn)象,產(chǎn)生更大的噪聲,所以調(diào)整N與k的大小是實現(xiàn)有效降噪以及信號平衡的關(guān)鍵所在。
本模型主要分為7 個模塊:輸入層、Savitzky-Golay 濾波器降噪層、數(shù)據(jù)拼接層、時域卷積層(TCN)、自注意力機制模塊、雙向門控循環(huán)單元以及輸出層。 模型結(jié)構(gòu)如圖5 所示。 對模型中的各預(yù)測步驟將給出闡釋分述如下。
圖5 融合Savitzky-Golay 濾波器的TCN-SA-BiGRU 模型Fig. 5 TCN-SA-BiGRU model incorporating S-G filter
(1)數(shù)據(jù)輸入。 對樣本按照時間點位進行采樣并進行數(shù)據(jù)預(yù)處理,將處理后的數(shù)據(jù)作為輸入。 這里的數(shù)據(jù)包括風(fēng)電功率數(shù)據(jù)以及相關(guān)特征數(shù)據(jù)(例如溫度、濕度、大氣壓強、風(fēng)速、風(fēng)力等級、天氣情況以及實際價格)。
(2)降噪。 假若全部數(shù)據(jù)進入S-G 濾波器進行降噪則會造成數(shù)據(jù)失真,所以選取部分?jǐn)?shù)據(jù)進行降噪,根據(jù)樣本設(shè)置S-G 濾波器中的滑動窗口寬距N以及擬合階數(shù)k。
(3)數(shù)據(jù)拼接及劃分。 將未降噪的數(shù)據(jù)以及降噪后的數(shù)據(jù)在此層進行拼接,并按照比例劃分訓(xùn)練集以及測試集。
(4)模型訓(xùn)練。 將訓(xùn)練集輸入進TCN-SABiGRU 網(wǎng)絡(luò)中進行訓(xùn)練,首先利用TCN 時域卷積網(wǎng)絡(luò)層對時序數(shù)據(jù)進行快速特征提取,再利用自注意力機制模塊對特征進行權(quán)重調(diào)整,接著進入BiGRU網(wǎng)絡(luò)中再次進行信息提取以更深層次地挖掘時序數(shù)據(jù)中蘊含的數(shù)據(jù)相關(guān)性,最后得到訓(xùn)練完成的TCNSA-BiGRU。
(5)預(yù)測及分析。 將測試集輸入進已訓(xùn)練完成的TCN-SA-BiGRU 網(wǎng)絡(luò)中進行風(fēng)電功率預(yù)測,并設(shè)置對比分析實驗以檢測該組合模型的優(yōu)越性。
實驗所使用計算機配置見表1。
表1 實驗環(huán)境Tab. 1 Experimental environment
本實驗數(shù)據(jù)來自Kaggle 數(shù)據(jù)網(wǎng)站上西班牙某地區(qū)2015年1月1日00:00 至2018年12月31日23:59 的風(fēng)電功率數(shù)據(jù)。 每日共設(shè)24 個采樣點,采樣時間間隔為1 h,即每日數(shù)據(jù)集為24 維風(fēng)電功率數(shù)據(jù)。 并且,陸上風(fēng)力發(fā)電功率與一些其他的因素息息相關(guān),所以本實驗數(shù)據(jù)集包含了數(shù)據(jù)所屬地的溫度最大值及最小值、濕度、大氣壓強、風(fēng)速、風(fēng)力等級、天氣情況以及電力實際價格。
3.3.1 數(shù)據(jù)缺失值處理
對數(shù)據(jù)進行缺失值處理,由于處理過程中未見大范圍數(shù)據(jù)缺失、且數(shù)據(jù)采樣間隔時間較短,故采取均值插補法對缺失數(shù)據(jù)進行填充。
3.3.2 數(shù)據(jù)標(biāo)準(zhǔn)化處理
由于在處理數(shù)據(jù)問題的時候,實驗數(shù)據(jù)來自多個維度,例如本實驗中溫度、風(fēng)力等因素會對風(fēng)電功率產(chǎn)生影響,這一情況會產(chǎn)生以下問題:數(shù)據(jù)量綱不同導(dǎo)致數(shù)量級差別大;過大的數(shù)值會產(chǎn)生數(shù)值問題引發(fā)特征貢獻度失衡。 所以為了避免以上問題,實驗中選擇對風(fēng)電功率、溫度以及壓強等特征進行數(shù)據(jù)標(biāo)準(zhǔn)化處理,標(biāo)準(zhǔn)化公式如下:
其中,x′為重新調(diào)節(jié)后的數(shù)據(jù)向量,范圍值為[0,1],xmax與xmin分別表示數(shù)據(jù)集中的最大值與最小值。
對于離散型數(shù)據(jù)“天氣質(zhì)量狀況”則進行Label Encoder 編碼處理,例如:“晴天”為1,“雨雪天”為2,等等。
本文模型評價指標(biāo)選取決定系數(shù)(coefficient of determination,R2)、 平均絕對誤差(mean absolute error,MAE) 以及均方誤差(Mean Square Error,MSE)。
(1)決定系數(shù)(R2)。 一般用來表示模型預(yù)測擬合程度。 計算公式如下:
(2)平均絕對誤差(MAE)。 用來準(zhǔn)確反映實際預(yù)測誤差的大小。 計算公式如下:
(3)均方誤差(MSE)。 用來衡量觀測值同真值之間的偏差。 計算公式如下:
其中,yi表示原始數(shù)據(jù);表示擬合數(shù)據(jù);表示原始數(shù)據(jù)均值。
決定系數(shù)R2取值范圍為[0,1],R2取值越接近1 表示擬合效果越好,平均絕對誤差MAE以及均方根誤差MSE的取值則越小越好。
利用S-G 濾波器對部分風(fēng)電功率及相關(guān)數(shù)據(jù)進行降噪處理,由于濾波器中的參數(shù)無法對數(shù)據(jù)進行自適應(yīng)處理,故在多次對比實驗后設(shè)置S-G 濾波器中滑動窗口寬度N為59,擬合階數(shù)k為3。 此后在拼接層將降噪完的數(shù)據(jù)與原輸入未降噪后的數(shù)據(jù)進行拼接輸入進TCN-BiGRU 網(wǎng)絡(luò)中,設(shè)置模型訓(xùn)練迭代次數(shù)為100 次,TCN 網(wǎng)絡(luò)中的膨脹系數(shù)設(shè)置為以2 的倍數(shù)進行疊加,BiGRU 網(wǎng)絡(luò)中神經(jīng)單元數(shù)為64,其中BiGRU 網(wǎng)絡(luò)層數(shù)為1 層。
為了更直觀地展示該組合模型的預(yù)測精度,故設(shè)置對比實驗以及消融實驗。
3.5.1 對比實驗
為了驗證模型預(yù)測性能,該處選擇傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)以及雙向循環(huán)門控單元神經(jīng)網(wǎng)絡(luò)(BiGRU)進行對比,各模型預(yù)測值與真實值對比結(jié)果見表2。
表2 對比實驗結(jié)果Tab. 2 Comparison of experimental results
由表2 中結(jié)果可以看出,融合Savitzky-Golay 濾波器的TCN-BiGRU 模型的預(yù)測值以及預(yù)測性能要比上述所提到的對比模型都具有優(yōu)勢。 與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)相比,本組合模型的MAE降低了0.031,MSE降低了0.003 2;與長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)相比,本組合模型的MAE降低了0.061 1,MSE降低了0.005 4;同雙向循環(huán)門控單元神經(jīng)網(wǎng)絡(luò)(BiGRU)相比,本組合模型的MAE降低了0.010 6,MSE降低了0.000 9;從擬合程度來看,本模型的擬合程度最高。 綜上可以表明,本組合模型在風(fēng)電功率預(yù)測方面的結(jié)果是更為精確的。
3.5.2 消融實驗
為了驗證本文組合模型中各個模塊的合理性,研究設(shè)置了消融實驗:剔除TCN 時域卷積神經(jīng)網(wǎng)絡(luò)、剔除自注意力機制模塊以及剔除S-G 濾波器,實驗結(jié)果如圖6 所示,實驗指標(biāo)對比見表3。
表3 消融實驗對比結(jié)果Tab. 3 Comparative results of ablation experiments
圖6 消融實驗預(yù)測值對比Fig. 6 Comparison of predicted values for ablation experiments
從圖6 以及表3 中的結(jié)果可以看出,模型(2)的MAE相較于模型(1)高了0.010 2,MSE高了0.003 5;模型(3)的MAE相較于模型(1)高了0.008 6,MSE高了0.000 1;模型(4)的MAE相較于模型(1)高了0.047 6,MSE高了0.003 5;。 綜上,在分別剔除S-G濾波器、自我注意力機制模塊以及TCN 時域卷積網(wǎng)絡(luò)結(jié)構(gòu)后,每一種模型的MAE以及MSE都有所上升,這也證明了本文所提出的組合模型的每個結(jié)構(gòu)在模型預(yù)測性能方面都有一定的提升作用,進而表明組合模型的預(yù)測性能要優(yōu)于單個模型。
(1)本文所使用的Savitzky-Golay 濾波器在一定程度上對數(shù)據(jù)進行了有效降噪并提升了預(yù)測模型整體的預(yù)測精度,但該濾波器中的參數(shù)需要根據(jù)輸入數(shù)據(jù)進行調(diào)節(jié),所以在此研究基礎(chǔ)上可進一步利用算法優(yōu)化S-G 濾波器的滑動窗口參數(shù)N以及擬合階數(shù)k,用來提高模型對于不同數(shù)據(jù)的適應(yīng)性。
(2)在風(fēng)電功率預(yù)測方面,“融合Savitzky-Golay 濾波器的TCN-SA-BiGRU 模型的風(fēng)電功率預(yù)測性能更高”這一實驗?zāi)康脑诮?jīng)過對比、消融實驗后得到驗證,模型結(jié)構(gòu)中的TCN、自我注意力機制模塊以及雙向?qū)W習(xí)策略結(jié)構(gòu)不僅提升了預(yù)測性能,并且其提取數(shù)據(jù)特征速度更快,能夠更好地挖掘時序數(shù)據(jù)中所蘊含的信息要素。
(3)基于本模型的研究更多方面是展現(xiàn)模型的優(yōu)化,而針對風(fēng)電功率預(yù)測等實際應(yīng)用場景應(yīng)當(dāng)進一步尋找合適的預(yù)測模型進行研究。