梁浩彬
(廣州大學經濟與統計學院, 廣東 廣州 510006)
電力負荷預測是現代電力系統發展中不可或缺的一部分,它可以利用過去的負荷信息去預測未來的負荷值。然而,電力負荷的預測存在很多挑戰和困難,比如受到天氣、經濟等因素的影響,呈現出非線性和周期性的特點,這給預測帶來了極大的影響。
近年來,電力負荷預測是學者們研究的熱點話題。查閱了相關領域的研究文獻,目前電力負荷預測方法主要可以被劃分為兩類:單一預測模型和混合預測模型。單一預測模型既包括傳統的時間序列模型,也包括了近年流行的機器學習模型和神經網絡模型。在單一預測模型中,隨機森林(Random forest,RF)[1]、時域卷積網絡(Temporal convolutional network,TCN)[2]、長短期記憶網絡(Long short-term memory neural network,LSTM)[3]以及差分整合移動平均自回歸模型(Autoregressive integrated moving average,ARIMA)[4]等模型都曾被用于電力負荷預測。但是,電力負荷易受到多種因素的影響,因此,采用單一預測模型進行預測可能會存在一定的誤差。
為了提高預測模型的準確性,混合預測模型被研究人員廣泛使用。這類模型綜合了多種單一預測模型的優點,克服了單一模型存在的缺陷,可以更好地適應電力負荷的復雜特性。張子陽等人[5]提出了一種通過麻雀搜索算法(Sparrow search algorithm,SSA)和灰色關聯算法(Grey relation analysis,GRA)改進最小二乘支持向量機(Least squares support vector machine,LSSVM)參數的電力負荷預測模型。龍干等人[6]提出了一種將改進多元宇宙算法(Multi-verse optimizer,MVO)與極限學習機(Extreme learning machine,ELM)相結合的新電力負荷預測模型。龔鋼軍等人[7]提出了一種將最大信息系數和融入了多頭注意力機制(Attention mechanism)的LSTM網絡相結合的預測模型。韓雅萱等人[8]提出了一種通過差分進化算法的自適應變異因子和自適應交叉因子優化LSTM 網絡的電力負荷預測模型。但是在現實中,電力負荷序列往往呈現出非線性和非平穩的特點,給預測帶來了重重困難,使得預測結果不理想。Xian 等人[9]發現分解算法對于處理非線性時間序列是有效的,它可以將復雜的時間序列分解為平滑的時間序列,使得預測模型更加容易識別。
馬玉軒等人[10]提出了一種將變分模態分解算法(Variational mode decomposition,VMD)、TCN 模型以及注意力機制相結合的電力負荷預測算法。楊海柱等[11]提出了一種利用互補式集合經驗模態分解算法(Complementary ensemble empirical mode decomposition,CEEMD)對電力負荷預測進行分解,并利用SSA優化LSSVM預測分量序列,最后將其相加得到最終預測結果的混合預測算法。徐巖等[12]提出了一種將VMD 算法與門控循環單元(Gated recurrent unit,GRU)相結合的預測算法,并通過粒子群優化算法(Particle swarm optimization,PSO)優化GRU 模型的參數。
為了進一步提高預測效果,研究者對分解算法得到的分量序列進行了更加深入地研究與分析。李飛宏等人[13]利用經驗模態分解算法(Empirical mode decomposition,EMD)對原始序列進行分解,并將所得到的分量劃分為低頻分量和高頻分量,在高頻分量中利用TCN 模型構建預測模型,而在低頻分量中利用ELM構建預測模型,最后將它們的預測結果相加得到最終的預測模型。方娜等人[14]也提出了類似的算法,其利用VMD 算法對原始序列進行分解,將分量劃分為低頻和高頻分量,在高頻分量中利用ARIMA 模型構建預測模型,而在低頻分量中利用深度信念網絡(Deep belief network,DBN)構建預測模型,并通過PSO 算法優化模型參數,最后將它們的預測結果相加得到最終的預測模型。
在時間序列預測任務中,使用滑動窗口方法是一種常見的預處理手段。當滑動窗口方法設置了窗口大小之后,原始時間序列將被分割為多個固定大小的窗口數據。這些窗口數據包含了原始時間序列的局部信息特征,其如圖1 所示。

圖1 窗口數據
但是現有的研究并沒有對窗口數據進行了更深入的研究, 因此本文提出了一種新型的EMD-LSTM-ARIMA 混合預測算法。所提算法可以充分利用窗口數據的信息,并結合了EMD 算法、LSTM網絡和ARIMA 模型的優點。
經驗模態分解(EMD)算法由Huang 等人[15]在1998 年所提出,它主要被用于非平穩以及非線性序列的處理與分析。EMD 算法的主要步驟如下:
1)求出原始序列x(t)的局部極大值和局部極小值,利用樣條插值法擬合原始數據的上包絡線u(t)和下包絡線l(t),最后由公式(1)計算出上、下包絡線的平均值:
2)令h(t)=x(t)-m(t),檢查h(t)是否滿足IMF 的要求。如果h(t)滿足IMF 的要求,則認為h(t)是x(t)的第一個IMF。
3)如果h(t)不滿足IMF 條件,則令x(t)=h(t)為原始數據,重復步驟(1),直到h(t)滿足IMF 條件,則h(t)為x(t)的IMF1。
4)將IMF1 與x(t)分離,令r1(t)=x(t)-(IMF)1,然后將r1(t)視為新的原始信號,并重復上述步驟直到獲得(IMF)n分量。當rn(t)變成單調函數時,EMD 算法分解結束。所有IMF 分量和殘差分量的總和是原始信號,即:
循環神經網絡(recursive neural network,RNN)是一種由傳統的前饋神經網絡發展而來的神經網絡結構,它能夠處理時間序列數據。然而,在實踐中,Bengio[16]和Le[17]等人發現它在處理長期序列的時候存在一些問題。例如,它存在著梯度消失和梯度爆炸的問題。
LSTM網絡被認為是一種改進的RNN 網絡,它由Hochreiter 等人[18]于1997 年提出,經過后來學者的不斷改善,最終形成了現在的網絡框架。LSTM網絡改善了RNN 網絡在長序列訓練過程中“梯度消失”的問題。
LSTM網絡框架如圖2 所示。它通過門(遺忘門、輸入門和輸出門;Graves 等人)[19]機制有效地緩解了RNN 神經網絡中的“梯度消失”問題。

圖2 LSTM 網絡單元結構
本文提出了一種從滑動窗口方法的角度出發,將EMD 分解算法、LSTM 網絡以及ARIMA 模型相結合的超短期電力負荷預測算法(見圖3)。所提出算法的步驟如下:

圖3 所提算法框架
1)利用EMD 分解算法將原始序列分解成多個分量序列;
2)采用滑動窗口方法對分量序列進行處理,并設定窗口大小將其劃分成多個窗口數據,并對窗口數據利用線性回歸計算其決定系數,取其決定系數平均值作為衡量該分量序列的線性系數;
3)設置閾值,當分量序列的線性系數大于該閾值時,使用ARIMA 模型對其進行預測,否則使用LSTM網絡進行預測,最后將它們的預測結果相加得到所提算法的最終預測結果。
實驗通常會采用真實值與預測值之間的差值來評估模型的預測性能。本文使用均方根誤差(RMSE)和平均絕對誤差(MAE)作為評價指標。它們定義如下:
為了驗證所提算法的有效性與可行性,本文選取了第九屆“中國電機工程學會杯”全國大學生電工數學建模競賽提供的電力負荷數據集進行分析。選取了時間跨度從2009 年4 月1 日至2009 年4 月30 日的電力負荷數據(見圖4),采樣周期為15 min,即總共選取了2880 個數據。將原始電力負荷數據集前80%的數據作為訓練集,剩余的20%數據作為測試集,并從訓練集中隨機抽取20%數據作為驗證集。為了神經網絡快速收斂,本文使用min-max 公式對原始電力負荷數據進行歸一化,即將原始電力負荷數據的大小映射到[0,1]:

圖4 原始電力負荷
式中:x*為數據歸一化后的值,xmin和xmax分別為原始電力負荷序列中的最小值和最大值。
對原始電力負荷序列應用EMD 算法,得到了7個不同頻率的IMFs 和1 個殘差分量。圖5 展示了通過EDM分解算法獲得的分量序列,可以看出,先得到的分量序列其頻率越高。

圖5 EMD 算法分解效果
分量序列的線性趨勢與所設置的滑動窗口大小密切相關。不同大小的窗口會得到不同的線性系數,因此可以根據實際任務需求來選擇合適的窗口大小。本研究采用一天的樣本長度進行滑動窗口處理,即滑動窗口大小設置為96。通過計算可得從IMF1到殘差分量序列的線性系數分別是0.014、0.035、0.079、0.305、0.740、0.887、0.959 以及0.999。本實驗將閾值設置為0.8,即IMF6、IMF7 以及殘差分量序列使用ARIMA 模型構建預測模型,其余分量序列使用LSTM網絡構建預測模型。
根據表1 可知,直接使用原始電力負荷進行預測時,TCN 模型的預測精度最高,其MAE 和RMSE 值分別為27.53 和35.36。與表現第二好的LSTM模型相比,TCN 模型在MAE 和RMSE 指標上分別降低了1.54(5.30%)和1.46(3.97%)。而使用了EMD 算法的TCN 和LSTM模型,其預測精度與未使用分解算法的模型預測精度相比,均有所提高。EMD-TCN 模型表現最優異,其在MAE 和RMSE 指標上分別降低了2.63(9.55%)和1.66(4.69%)。同時,EMD-LSTM模型的表現也非常出色,在MAE 和RMSE 指標上分別降低了3.86(13.28%)和1.71(4.64%)。以上結果表明,通過使用EMD 分解算法將原始時間序列分解成多個分量序列,并利用這些分量序列構建預測模型,對于提高模型預測效果是有效的。根據表格1 的結果,可以看到本文提出的EMD-ARIMA-LSTM 模型表現最好。相較于EMD-TCN 模型,EMD-ARIMA-LSTM 模型在MAE 和RMSE 指標上分別降低了1.64(6.59%)和1.56 (7.60%)。此外,相較于EMD-LSTM 和EMD-TCN 模型,EMD-ARIMA-TCN 和EMD-ARIMA-LSTM模型的預測精度也有所提高。總的來說,本文提出的算法在預測精度方面相比于其他算法表現更優異。例如,與LSTM 和EMD-LSTM 模型相比,EMD-ARIMA-LSTM模型在MAE 和RMSE 指標上的值均更小,即EMD-ARIMA-LSTM 算法的預測效果更佳。

表1 各個算法的預測精度
另外,根據表1 的結果可以看出,TCN 和EMDTCN 模型的預測效果優于LSTM 和EMD-LSTM 模型。然而,EMD-ARIMA-TCN 模型的預測效果卻不如EMD-ARIMA-LSTM模型。這可能說明,ARIMA 模型與LSTM 網絡的協同效應比ARIMA 模型和TCN 的協同效應更好。
為了更清晰地展示不同算法的預測效果,本文進行了可視化處理,如圖6 所示。

圖6 不同算法的預測效果
從圖6 中可以看出,在大多數時間序列的時間點,各種算法的預測效果都比較接近真實值。然而,當序列在峰值點時,算法之間的預測精度差異變得更加明顯。預測效果較好的算法可以更接近真實值,而預測效果一般的算法則可能會產生更大的誤差。
針對電力負荷預測的重要性以及挑戰性,本文從滑動窗口方法的角度出發,提出了一種將EMD 分解算法、LSTM 網絡以及ARIMA 模型相結合的混合電力負荷預測算法。為了檢驗所提算法的可行性與有效性,本文利用第九屆“中國電機工程學會杯”全國大學生電工數學建模競賽提供的電力負荷數據集進行實證分析。實證結果表明所提算法是有效與可行的,它可以提高模型的預測精度。不足之處在于,本文只針對EMD 算法進行了研究,后續的工作可以進一步研究其他分解算法對電力負荷預測的影響。