梁浩彬
(廣州大學(xué)經(jīng)濟(jì)與統(tǒng)計(jì)學(xué)院, 廣東 廣州 510006)
電力負(fù)荷預(yù)測(cè)是現(xiàn)代電力系統(tǒng)發(fā)展中不可或缺的一部分,它可以利用過(guò)去的負(fù)荷信息去預(yù)測(cè)未來(lái)的負(fù)荷值。然而,電力負(fù)荷的預(yù)測(cè)存在很多挑戰(zhàn)和困難,比如受到天氣、經(jīng)濟(jì)等因素的影響,呈現(xiàn)出非線性和周期性的特點(diǎn),這給預(yù)測(cè)帶來(lái)了極大的影響。
近年來(lái),電力負(fù)荷預(yù)測(cè)是學(xué)者們研究的熱點(diǎn)話題。查閱了相關(guān)領(lǐng)域的研究文獻(xiàn),目前電力負(fù)荷預(yù)測(cè)方法主要可以被劃分為兩類:?jiǎn)我活A(yù)測(cè)模型和混合預(yù)測(cè)模型。單一預(yù)測(cè)模型既包括傳統(tǒng)的時(shí)間序列模型,也包括了近年流行的機(jī)器學(xué)習(xí)模型和神經(jīng)網(wǎng)絡(luò)模型。在單一預(yù)測(cè)模型中,隨機(jī)森林(Random forest,RF)[1]、時(shí)域卷積網(wǎng)絡(luò)(Temporal convolutional network,TCN)[2]、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short-term memory neural network,LSTM)[3]以及差分整合移動(dòng)平均自回歸模型(Autoregressive integrated moving average,ARIMA)[4]等模型都曾被用于電力負(fù)荷預(yù)測(cè)。但是,電力負(fù)荷易受到多種因素的影響,因此,采用單一預(yù)測(cè)模型進(jìn)行預(yù)測(cè)可能會(huì)存在一定的誤差。
為了提高預(yù)測(cè)模型的準(zhǔn)確性,混合預(yù)測(cè)模型被研究人員廣泛使用。這類模型綜合了多種單一預(yù)測(cè)模型的優(yōu)點(diǎn),克服了單一模型存在的缺陷,可以更好地適應(yīng)電力負(fù)荷的復(fù)雜特性。張子陽(yáng)等人[5]提出了一種通過(guò)麻雀搜索算法(Sparrow search algorithm,SSA)和灰色關(guān)聯(lián)算法(Grey relation analysis,GRA)改進(jìn)最小二乘支持向量機(jī)(Least squares support vector machine,LSSVM)參數(shù)的電力負(fù)荷預(yù)測(cè)模型。龍干等人[6]提出了一種將改進(jìn)多元宇宙算法(Multi-verse optimizer,MVO)與極限學(xué)習(xí)機(jī)(Extreme learning machine,ELM)相結(jié)合的新電力負(fù)荷預(yù)測(cè)模型。龔鋼軍等人[7]提出了一種將最大信息系數(shù)和融入了多頭注意力機(jī)制(Attention mechanism)的LSTM網(wǎng)絡(luò)相結(jié)合的預(yù)測(cè)模型。韓雅萱等人[8]提出了一種通過(guò)差分進(jìn)化算法的自適應(yīng)變異因子和自適應(yīng)交叉因子優(yōu)化LSTM 網(wǎng)絡(luò)的電力負(fù)荷預(yù)測(cè)模型。但是在現(xiàn)實(shí)中,電力負(fù)荷序列往往呈現(xiàn)出非線性和非平穩(wěn)的特點(diǎn),給預(yù)測(cè)帶來(lái)了重重困難,使得預(yù)測(cè)結(jié)果不理想。Xian 等人[9]發(fā)現(xiàn)分解算法對(duì)于處理非線性時(shí)間序列是有效的,它可以將復(fù)雜的時(shí)間序列分解為平滑的時(shí)間序列,使得預(yù)測(cè)模型更加容易識(shí)別。
馬玉軒等人[10]提出了一種將變分模態(tài)分解算法(Variational mode decomposition,VMD)、TCN 模型以及注意力機(jī)制相結(jié)合的電力負(fù)荷預(yù)測(cè)算法。楊海柱等[11]提出了一種利用互補(bǔ)式集合經(jīng)驗(yàn)?zāi)B(tài)分解算法(Complementary ensemble empirical mode decomposition,CEEMD)對(duì)電力負(fù)荷預(yù)測(cè)進(jìn)行分解,并利用SSA優(yōu)化LSSVM預(yù)測(cè)分量序列,最后將其相加得到最終預(yù)測(cè)結(jié)果的混合預(yù)測(cè)算法。徐巖等[12]提出了一種將VMD 算法與門控循環(huán)單元(Gated recurrent unit,GRU)相結(jié)合的預(yù)測(cè)算法,并通過(guò)粒子群優(yōu)化算法(Particle swarm optimization,PSO)優(yōu)化GRU 模型的參數(shù)。
為了進(jìn)一步提高預(yù)測(cè)效果,研究者對(duì)分解算法得到的分量序列進(jìn)行了更加深入地研究與分析。李飛宏等人[13]利用經(jīng)驗(yàn)?zāi)B(tài)分解算法(Empirical mode decomposition,EMD)對(duì)原始序列進(jìn)行分解,并將所得到的分量劃分為低頻分量和高頻分量,在高頻分量中利用TCN 模型構(gòu)建預(yù)測(cè)模型,而在低頻分量中利用ELM構(gòu)建預(yù)測(cè)模型,最后將它們的預(yù)測(cè)結(jié)果相加得到最終的預(yù)測(cè)模型。方娜等人[14]也提出了類似的算法,其利用VMD 算法對(duì)原始序列進(jìn)行分解,將分量劃分為低頻和高頻分量,在高頻分量中利用ARIMA 模型構(gòu)建預(yù)測(cè)模型,而在低頻分量中利用深度信念網(wǎng)絡(luò)(Deep belief network,DBN)構(gòu)建預(yù)測(cè)模型,并通過(guò)PSO 算法優(yōu)化模型參數(shù),最后將它們的預(yù)測(cè)結(jié)果相加得到最終的預(yù)測(cè)模型。
在時(shí)間序列預(yù)測(cè)任務(wù)中,使用滑動(dòng)窗口方法是一種常見的預(yù)處理手段。當(dāng)滑動(dòng)窗口方法設(shè)置了窗口大小之后,原始時(shí)間序列將被分割為多個(gè)固定大小的窗口數(shù)據(jù)。這些窗口數(shù)據(jù)包含了原始時(shí)間序列的局部信息特征,其如圖1 所示。
圖1 窗口數(shù)據(jù)
但是現(xiàn)有的研究并沒有對(duì)窗口數(shù)據(jù)進(jìn)行了更深入的研究, 因此本文提出了一種新型的EMD-LSTM-ARIMA 混合預(yù)測(cè)算法。所提算法可以充分利用窗口數(shù)據(jù)的信息,并結(jié)合了EMD 算法、LSTM網(wǎng)絡(luò)和ARIMA 模型的優(yōu)點(diǎn)。
經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)算法由Huang 等人[15]在1998 年所提出,它主要被用于非平穩(wěn)以及非線性序列的處理與分析。EMD 算法的主要步驟如下:
1)求出原始序列x(t)的局部極大值和局部極小值,利用樣條插值法擬合原始數(shù)據(jù)的上包絡(luò)線u(t)和下包絡(luò)線l(t),最后由公式(1)計(jì)算出上、下包絡(luò)線的平均值:
2)令h(t)=x(t)-m(t),檢查h(t)是否滿足IMF 的要求。如果h(t)滿足IMF 的要求,則認(rèn)為h(t)是x(t)的第一個(gè)IMF。
3)如果h(t)不滿足IMF 條件,則令x(t)=h(t)為原始數(shù)據(jù),重復(fù)步驟(1),直到h(t)滿足IMF 條件,則h(t)為x(t)的IMF1。
4)將IMF1 與x(t)分離,令r1(t)=x(t)-(IMF)1,然后將r1(t)視為新的原始信號(hào),并重復(fù)上述步驟直到獲得(IMF)n分量。當(dāng)rn(t)變成單調(diào)函數(shù)時(shí),EMD 算法分解結(jié)束。所有IMF 分量和殘差分量的總和是原始信號(hào),即:
循環(huán)神經(jīng)網(wǎng)絡(luò)(recursive neural network,RNN)是一種由傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)發(fā)展而來(lái)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它能夠處理時(shí)間序列數(shù)據(jù)。然而,在實(shí)踐中,Bengio[16]和Le[17]等人發(fā)現(xiàn)它在處理長(zhǎng)期序列的時(shí)候存在一些問(wèn)題。例如,它存在著梯度消失和梯度爆炸的問(wèn)題。
LSTM網(wǎng)絡(luò)被認(rèn)為是一種改進(jìn)的RNN 網(wǎng)絡(luò),它由Hochreiter 等人[18]于1997 年提出,經(jīng)過(guò)后來(lái)學(xué)者的不斷改善,最終形成了現(xiàn)在的網(wǎng)絡(luò)框架。LSTM網(wǎng)絡(luò)改善了RNN 網(wǎng)絡(luò)在長(zhǎng)序列訓(xùn)練過(guò)程中“梯度消失”的問(wèn)題。
LSTM網(wǎng)絡(luò)框架如圖2 所示。它通過(guò)門(遺忘門、輸入門和輸出門;Graves 等人)[19]機(jī)制有效地緩解了RNN 神經(jīng)網(wǎng)絡(luò)中的“梯度消失”問(wèn)題。
圖2 LSTM 網(wǎng)絡(luò)單元結(jié)構(gòu)
本文提出了一種從滑動(dòng)窗口方法的角度出發(fā),將EMD 分解算法、LSTM 網(wǎng)絡(luò)以及ARIMA 模型相結(jié)合的超短期電力負(fù)荷預(yù)測(cè)算法(見圖3)。所提出算法的步驟如下:
圖3 所提算法框架
1)利用EMD 分解算法將原始序列分解成多個(gè)分量序列;
2)采用滑動(dòng)窗口方法對(duì)分量序列進(jìn)行處理,并設(shè)定窗口大小將其劃分成多個(gè)窗口數(shù)據(jù),并對(duì)窗口數(shù)據(jù)利用線性回歸計(jì)算其決定系數(shù),取其決定系數(shù)平均值作為衡量該分量序列的線性系數(shù);
3)設(shè)置閾值,當(dāng)分量序列的線性系數(shù)大于該閾值時(shí),使用ARIMA 模型對(duì)其進(jìn)行預(yù)測(cè),否則使用LSTM網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),最后將它們的預(yù)測(cè)結(jié)果相加得到所提算法的最終預(yù)測(cè)結(jié)果。
實(shí)驗(yàn)通常會(huì)采用真實(shí)值與預(yù)測(cè)值之間的差值來(lái)評(píng)估模型的預(yù)測(cè)性能。本文使用均方根誤差(RMSE)和平均絕對(duì)誤差(MAE)作為評(píng)價(jià)指標(biāo)。它們定義如下:
為了驗(yàn)證所提算法的有效性與可行性,本文選取了第九屆“中國(guó)電機(jī)工程學(xué)會(huì)杯”全國(guó)大學(xué)生電工數(shù)學(xué)建模競(jìng)賽提供的電力負(fù)荷數(shù)據(jù)集進(jìn)行分析。選取了時(shí)間跨度從2009 年4 月1 日至2009 年4 月30 日的電力負(fù)荷數(shù)據(jù)(見圖4),采樣周期為15 min,即總共選取了2880 個(gè)數(shù)據(jù)。將原始電力負(fù)荷數(shù)據(jù)集前80%的數(shù)據(jù)作為訓(xùn)練集,剩余的20%數(shù)據(jù)作為測(cè)試集,并從訓(xùn)練集中隨機(jī)抽取20%數(shù)據(jù)作為驗(yàn)證集。為了神經(jīng)網(wǎng)絡(luò)快速收斂,本文使用min-max 公式對(duì)原始電力負(fù)荷數(shù)據(jù)進(jìn)行歸一化,即將原始電力負(fù)荷數(shù)據(jù)的大小映射到[0,1]:
圖4 原始電力負(fù)荷
式中:x*為數(shù)據(jù)歸一化后的值,xmin和xmax分別為原始電力負(fù)荷序列中的最小值和最大值。
對(duì)原始電力負(fù)荷序列應(yīng)用EMD 算法,得到了7個(gè)不同頻率的IMFs 和1 個(gè)殘差分量。圖5 展示了通過(guò)EDM分解算法獲得的分量序列,可以看出,先得到的分量序列其頻率越高。
圖5 EMD 算法分解效果
分量序列的線性趨勢(shì)與所設(shè)置的滑動(dòng)窗口大小密切相關(guān)。不同大小的窗口會(huì)得到不同的線性系數(shù),因此可以根據(jù)實(shí)際任務(wù)需求來(lái)選擇合適的窗口大小。本研究采用一天的樣本長(zhǎng)度進(jìn)行滑動(dòng)窗口處理,即滑動(dòng)窗口大小設(shè)置為96。通過(guò)計(jì)算可得從IMF1到殘差分量序列的線性系數(shù)分別是0.014、0.035、0.079、0.305、0.740、0.887、0.959 以及0.999。本實(shí)驗(yàn)將閾值設(shè)置為0.8,即IMF6、IMF7 以及殘差分量序列使用ARIMA 模型構(gòu)建預(yù)測(cè)模型,其余分量序列使用LSTM網(wǎng)絡(luò)構(gòu)建預(yù)測(cè)模型。
根據(jù)表1 可知,直接使用原始電力負(fù)荷進(jìn)行預(yù)測(cè)時(shí),TCN 模型的預(yù)測(cè)精度最高,其MAE 和RMSE 值分別為27.53 和35.36。與表現(xiàn)第二好的LSTM模型相比,TCN 模型在MAE 和RMSE 指標(biāo)上分別降低了1.54(5.30%)和1.46(3.97%)。而使用了EMD 算法的TCN 和LSTM模型,其預(yù)測(cè)精度與未使用分解算法的模型預(yù)測(cè)精度相比,均有所提高。EMD-TCN 模型表現(xiàn)最優(yōu)異,其在MAE 和RMSE 指標(biāo)上分別降低了2.63(9.55%)和1.66(4.69%)。同時(shí),EMD-LSTM模型的表現(xiàn)也非常出色,在MAE 和RMSE 指標(biāo)上分別降低了3.86(13.28%)和1.71(4.64%)。以上結(jié)果表明,通過(guò)使用EMD 分解算法將原始時(shí)間序列分解成多個(gè)分量序列,并利用這些分量序列構(gòu)建預(yù)測(cè)模型,對(duì)于提高模型預(yù)測(cè)效果是有效的。根據(jù)表格1 的結(jié)果,可以看到本文提出的EMD-ARIMA-LSTM 模型表現(xiàn)最好。相較于EMD-TCN 模型,EMD-ARIMA-LSTM 模型在MAE 和RMSE 指標(biāo)上分別降低了1.64(6.59%)和1.56 (7.60%)。此外,相較于EMD-LSTM 和EMD-TCN 模型,EMD-ARIMA-TCN 和EMD-ARIMA-LSTM模型的預(yù)測(cè)精度也有所提高??偟膩?lái)說(shuō),本文提出的算法在預(yù)測(cè)精度方面相比于其他算法表現(xiàn)更優(yōu)異。例如,與LSTM 和EMD-LSTM 模型相比,EMD-ARIMA-LSTM模型在MAE 和RMSE 指標(biāo)上的值均更小,即EMD-ARIMA-LSTM 算法的預(yù)測(cè)效果更佳。
表1 各個(gè)算法的預(yù)測(cè)精度
另外,根據(jù)表1 的結(jié)果可以看出,TCN 和EMDTCN 模型的預(yù)測(cè)效果優(yōu)于LSTM 和EMD-LSTM 模型。然而,EMD-ARIMA-TCN 模型的預(yù)測(cè)效果卻不如EMD-ARIMA-LSTM模型。這可能說(shuō)明,ARIMA 模型與LSTM 網(wǎng)絡(luò)的協(xié)同效應(yīng)比ARIMA 模型和TCN 的協(xié)同效應(yīng)更好。
為了更清晰地展示不同算法的預(yù)測(cè)效果,本文進(jìn)行了可視化處理,如圖6 所示。
圖6 不同算法的預(yù)測(cè)效果
從圖6 中可以看出,在大多數(shù)時(shí)間序列的時(shí)間點(diǎn),各種算法的預(yù)測(cè)效果都比較接近真實(shí)值。然而,當(dāng)序列在峰值點(diǎn)時(shí),算法之間的預(yù)測(cè)精度差異變得更加明顯。預(yù)測(cè)效果較好的算法可以更接近真實(shí)值,而預(yù)測(cè)效果一般的算法則可能會(huì)產(chǎn)生更大的誤差。
針對(duì)電力負(fù)荷預(yù)測(cè)的重要性以及挑戰(zhàn)性,本文從滑動(dòng)窗口方法的角度出發(fā),提出了一種將EMD 分解算法、LSTM 網(wǎng)絡(luò)以及ARIMA 模型相結(jié)合的混合電力負(fù)荷預(yù)測(cè)算法。為了檢驗(yàn)所提算法的可行性與有效性,本文利用第九屆“中國(guó)電機(jī)工程學(xué)會(huì)杯”全國(guó)大學(xué)生電工數(shù)學(xué)建模競(jìng)賽提供的電力負(fù)荷數(shù)據(jù)集進(jìn)行實(shí)證分析。實(shí)證結(jié)果表明所提算法是有效與可行的,它可以提高模型的預(yù)測(cè)精度。不足之處在于,本文只針對(duì)EMD 算法進(jìn)行了研究,后續(xù)的工作可以進(jìn)一步研究其他分解算法對(duì)電力負(fù)荷預(yù)測(cè)的影響。