趙一鵬 ,丁云峰 ,姚愷豐
1(中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)2(中國科學(xué)院大學(xué),北京 100049)3(國家電網(wǎng)公司東北分部,沈陽 110180)
BP神經(jīng)網(wǎng)絡(luò)誤差修正的電力物資時間序列預(yù)測①
趙一鵬1,2,丁云峰1,姚愷豐3
1(中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)2(中國科學(xué)院大學(xué),北京 100049)3(國家電網(wǎng)公司東北分部,沈陽 110180)
傳統(tǒng)的ARIMA時間序列分析方法是基于線性技術(shù)來進行時序預(yù)測,而對非線性數(shù)據(jù)的處理不盡合理,效果欠佳; 而影響電力物資需求的因素非常多,絕大多數(shù)的物資序列通常既包含了線性時序的部分,又包含了非線性時序的成分.本文提出在ARIMA對電力物資需求預(yù)測的基礎(chǔ)上,融合BP神經(jīng)網(wǎng)絡(luò)進行誤差修正,以全面提取物資序列中的復(fù)合特征,提高電力物資的預(yù)測精度.實驗結(jié)果表明,誤差修正后的電力物資預(yù)測精度有了顯著提高,可以為制定物資采購計劃提供重要的數(shù)據(jù)支持.
時間序列; ARIMA 模型; BP 神經(jīng)網(wǎng)絡(luò); 誤差修正; 電力物資預(yù)測
隨著電力企業(yè)的快速發(fā)展,物資管理在企業(yè)精細化運營過程中越顯重要.目前,國家電網(wǎng)公司物資集約化管理以及采購管控要求不斷提高,給各網(wǎng)省電力公司物資管理提出了更高的要求,如何申報合理的物資需求數(shù)量成為各網(wǎng)省電力公司亟待解決的問題.電力物資需求預(yù)測的目的就是通過對未來一段時間內(nèi)物資需求量的科學(xué)、合理的預(yù)測,為企業(yè)制定合理的物資需求規(guī)劃提供可靠的數(shù)據(jù)支持,為物資采購打下良好的基礎(chǔ),有效提高企業(yè)物資管理的前瞻性,為企業(yè)提前統(tǒng)籌資源創(chuàng)造有利條件.物資需求預(yù)測是現(xiàn)代電網(wǎng)企業(yè)合理制定采購計劃、規(guī)劃未來發(fā)展戰(zhàn)略所需要的一項重要能力,同時也是提升電網(wǎng)運作能力的重要手段[1,2].
從目前國內(nèi)外的相關(guān)研究上來看,在物資預(yù)測研究方面已經(jīng)有很多理論和方法.Unlu通過運用移動平均法、指數(shù)平滑法以及線性回歸等模型,依據(jù)歷史需求數(shù)據(jù)進行預(yù)測,引用誤差均方差最小的模型的預(yù)測結(jié)果作為未來需求的估計[3],這主要是針對線性序列的預(yù)測.為了改善非線性時間序列的預(yù)測效果,許多非線性方法的研究日益受到關(guān)注.宋斌針對我國電網(wǎng)建設(shè)項目物資的需求特點,基于BP神經(jīng)網(wǎng)絡(luò)方法對電網(wǎng)建設(shè)項目物資進行了預(yù)測[4].韓戟提出一種基于支持向量機(SVM)的電力行業(yè)物資需求預(yù)測方法,把物資需求審核轉(zhuǎn)化為分類問題,實現(xiàn)了物資采購數(shù)量和種類的審核[5].在電力預(yù)測領(lǐng)域,李晨熙結(jié)合小波變化和ARIMA模型對短期電力負荷進行了預(yù)測[6].
電力物資需求預(yù)測的特點是:電力物資作為一個時間序列具有一定的周期性、趨勢性以及自相關(guān)性,同時由于其受到惡劣天氣地形、國家政策、電力系統(tǒng)運行情況等多種復(fù)雜因素的影響,電力物資序列中表現(xiàn)出很強的波動性,在現(xiàn)實中,絕大多數(shù)物資時間序列,通常既包含了線性時序的成分,又包含了非線性時序的成分,呈現(xiàn)出線性和非線性的復(fù)合特征.由于電力物資需求數(shù)據(jù)常常是具有一定周期性和趨勢性的自相關(guān)時間序列,ARIMA模型能比較有效地處理這類序列.采用恰當(dāng)?shù)腁RIMA模型預(yù)測后所得的殘差應(yīng)該是白噪聲,在線性時間序列分析中,白噪聲序列已經(jīng)沒有分析價值了,但是通過非線性時間序列分析可以提取出其剩余有價值信息,BP神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自適應(yīng)能力以及良好的非線性映射能力,對剩余信息進行提取并修正ARIMA預(yù)測結(jié)果是合適的.本文在ARIMA模型的基礎(chǔ)上進行改進,首先用ARIMA對電力物資進行預(yù)測,然后用BP神經(jīng)網(wǎng)絡(luò)對其結(jié)果進行誤差修正,得到最終的物資需求預(yù)測值.
時間序列預(yù)測模型在線性系統(tǒng)、平穩(wěn)時間序列問題上得到了廣泛的應(yīng)用.時間序列預(yù)測是對電力物資需求量時間序列本身所體現(xiàn)出的隨時間變化而變化的規(guī)律來分析完成物資需求量的預(yù)測.時間序列分析法包括自回歸(AR)、移動平均法(MA)、自回歸移動平均法(A R M A)和差分自回歸移動平均模型(ARIMA)等.
ARIMA 模型通常被寫作 ARIMA(p,d,q),其中,p表示自回歸階數(shù),d表示差分次數(shù),q表示移動平均階數(shù).ARIMA模型實質(zhì)是先對非平穩(wěn)的時間序列yt進行d次差分處理得到新的平穩(wěn)的數(shù)據(jù)序列rt,將rt擬合 ARMA(p,q)模型,然后再 d 次差分還原,便可得到原序列 yt的預(yù)測數(shù)據(jù).其中,ARMA(p,q)的一般表達式為:
式中,前半部分為自回歸部分,p 為自回歸階數(shù),?i(i=1,2,…p)為自回歸系數(shù),后半部分為滑動平均部分,q 為滑動平均階數(shù),θi(i=1,2,…q)為滑動平均系數(shù),et為白噪聲.
ARIMA法[7]是處理動態(tài)數(shù)據(jù)的一種有效分析方法,是時間序列中最具代表性、使用最廣泛的模型,當(dāng)不同參數(shù)取0時可以簡化為其它模型,如圖1所示.ARIMA模型在社會、經(jīng)濟、股票等眾多領(lǐng)域中都有著廣泛的應(yīng)用,對于線性時間序列有著卓越的預(yù)測能力.因而,本文選取ARIMA模型來對電力物資的月需量進行分析預(yù)測,ARIMA模型的建模流程如圖2所示.
圖1 各模型間的轉(zhuǎn)化
ARIMA模型簡潔,計算速度快,在時間序列預(yù)測的領(lǐng)域應(yīng)用廣泛,它對時間序列具有較高的擬合能力和預(yù)測能力.ARIMA模型的最大缺陷是,序列變量的未來值被假定滿足變量過去觀測值和隨機誤差的線性函數(shù)關(guān)系,這點從式(1)中也可以看出來,由于ARIMA方法是基于線性關(guān)系來進行時序預(yù)測的,因此很難有效地捕捉并解釋非線性關(guān)系.所以單獨使用ARIMA模型對電力物資進行預(yù)測,對物資需求背后隱含的非線性關(guān)系挖掘得不充分.在ARIMA預(yù)測的基礎(chǔ)上充分挖掘非線性信息正是我們可以改進的地方.
ARIMA模型使用顯式表達式來描述數(shù)據(jù)間的相互關(guān)系.然而,非線性數(shù)據(jù)間的關(guān)系一般都很復(fù)雜,很難用一種方法把變量之間的結(jié)構(gòu)用數(shù)學(xué)語言表達出來.神經(jīng)網(wǎng)絡(luò)模型具有較強的學(xué)習(xí)和數(shù)據(jù)處理能力,是一種自然非線性建模過程,能夠挖掘數(shù)據(jù)背后復(fù)雜的甚至很難用數(shù)學(xué)式描述的非線性特征,且不需要事先假設(shè)數(shù)據(jù)之間具有何種函數(shù)形式或滿足哪種分布條件.BP神經(jīng)網(wǎng)絡(luò)具有極強的非線性映射能力,這啟發(fā)人們把人工神經(jīng)網(wǎng)絡(luò)技術(shù)引入到時間序列分析中來,即不去關(guān)系具體用什么樣的非線性組合,而是用人工神經(jīng)網(wǎng)絡(luò)去逼近那個未知的最佳映射,因此利用它對電力物資市場的動態(tài)過程進行建模是合適的.
圖2 ARIMA 建模流程
近年來,人工神經(jīng)網(wǎng)絡(luò)的研究在國內(nèi)外廣泛興起.人工神經(jīng)網(wǎng)絡(luò)作為一種通用的非線性函數(shù)逼近工具,以其良好的非線性品質(zhì)、靈活而高效的自組織學(xué)習(xí)方法等特點,具體使用時,不需要對時間序列進行諸如平穩(wěn)性等假設(shè),在預(yù)測領(lǐng)域中顯出了很大的優(yōu)勢.
BP神經(jīng)網(wǎng)絡(luò)[8-10]是一種多層前饋型神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的主要特點是信號前向傳遞,誤差反向傳播.在前向傳遞中,輸入信號從輸入層經(jīng)隱含層逐層處理,直至輸出層.每一層的神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài).如果輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,根據(jù)預(yù)測誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,從而使BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出不斷逼近期望輸出.采用反向傳播學(xué)習(xí)算法(Back-Propagation)來調(diào)整權(quán)值,可以實現(xiàn)從輸入到輸出的任意非線性映射.目前,在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,絕大部分的神經(jīng)網(wǎng)絡(luò)模型都采用BP神經(jīng)網(wǎng)絡(luò)及其變化方式,它也是前饋網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的精華,其建模流程如圖3.
圖3 BP 神經(jīng)網(wǎng)絡(luò)預(yù)測流程
電力物資需求時間序列可以看成是由一個線性結(jié)構(gòu)和一個非線性結(jié)構(gòu)兩部分組成,單純使用ARIMA模型或BP神經(jīng)網(wǎng)絡(luò)都有可能導(dǎo)致誤差過大.為了提高單一模型的預(yù)測效果,在其它領(lǐng)域也出現(xiàn)了一些組合模型[11,12],其主要形式是對單個預(yù)測方法進行加權(quán)平均,其研究重點為加權(quán)系數(shù)的確定.加權(quán)系數(shù)直接影響組合模型的預(yù)測效果,但如何確定加權(quán)系數(shù)是一件非常困難的事情,在實際應(yīng)用中帶有強烈的隨意性和主觀性.基于此,本文提出首先使用ARIMA模型對電力物資需求量進行預(yù)測,將預(yù)測的殘差序列{et}作為神經(jīng)網(wǎng)絡(luò)的輸入(如圖4),使用BP神經(jīng)網(wǎng)絡(luò)進行預(yù)測,根據(jù)BP神經(jīng)網(wǎng)絡(luò)的誤差預(yù)測值對ARIMA模型的初始預(yù)測值進行修正,得到最終的預(yù)測結(jié)果.具體步驟如下:
電力物資的時間序列yt可以看成是由線性自相關(guān)結(jié)構(gòu)Lt與非線性結(jié)構(gòu)Nt兩部分組成的,即:
(1)使用ARIMA模型對電力物資需求量時間序列yt的線性部分進行預(yù)測,設(shè)預(yù)測結(jié)果為,原序列與的殘差為et,那么有:
(2)殘差序列{et}中隱含了原序列中的非線性關(guān)系,我們用BP神經(jīng)網(wǎng)絡(luò)來逼近這種非線性關(guān)系,將預(yù)測的殘差序列{et}作為神經(jīng)網(wǎng)絡(luò)的輸入(如圖4),BP神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值一般是隨機產(chǎn)生的,用BP算法對其進行訓(xùn)練,求得最優(yōu)權(quán)值和閾值,假設(shè)神經(jīng)網(wǎng)絡(luò)有n個輸入,這個殘差序列關(guān)系可寫成:
這里,f是由神經(jīng)網(wǎng)絡(luò)決定的非線性函數(shù),εt是隨機誤差,通過BP神經(jīng)網(wǎng)絡(luò)估計的殘差序列{et}的預(yù)測值記為.
(3)把兩個模型預(yù)測的結(jié)果相加得到最終修正后的預(yù)測結(jié)果為:
從預(yù)測過程看,ARIMA模型用于線性部分的預(yù)測,而BP用于非線性部分預(yù)測,通過對ARIMA和BP的綜合運用,充分發(fā)揮了這兩種模型的長處,從而提高了預(yù)測精準度.經(jīng)過BP神經(jīng)網(wǎng)絡(luò)誤差修正后的ARIMA模型可以提取出物資需求序列中的絕大部分數(shù)據(jù)特征.
步驟一.ARIMA模型預(yù)測鋁絞線序列的線性部分.先做出鋼芯鋁絞線需求量的時序圖(圖5),從圖5可以看出該序列具有明顯的增長趨勢,并且包含周期為12個月的季節(jié)波動.為了消除增長趨勢,同時減小序列的波動性,對鋁絞線需求量數(shù)據(jù)做一階自然對數(shù)逐期差分,接著對其做季節(jié)差分消除季節(jié)性,經(jīng)試驗,二階季節(jié)差分后序列的季節(jié)性并沒有得到顯著的改善,故只做一階季節(jié)差分即可.通過R語言編程分析差分后的物資序列的自相關(guān)和偏自相關(guān)函數(shù),并結(jié)合AIC 和 SBC 等信息準則,最終選取 ARIMA(1,1,1)(1,1,1)12作為鋼芯鋁絞線月度需求量的預(yù)測模型.
圖5 鋼芯鋁絞線月需求量時序圖
步驟二.使用BP神經(jīng)網(wǎng)絡(luò)對步驟一中的預(yù)測誤差進行擬合.先利用公式(6)將樣本數(shù)據(jù)歸一化到[0,1].鑒于物資序列的周期性特點,輸入層節(jié)點數(shù)取12或6,輸出層節(jié)點數(shù)為1,隱層節(jié)點數(shù)首先根據(jù)經(jīng)驗公式(7)確定大致范圍,然后用試湊法確定最佳的節(jié)點數(shù):
其中,m 為隱層節(jié)點數(shù),n 為輸入層節(jié)點數(shù),l為輸出層節(jié)點數(shù),a為1-10之間的隨機常數(shù).
經(jīng)過大量實驗最終選定6-8-1的網(wǎng)絡(luò)結(jié)構(gòu),為了加速收斂并緩解局部極小值,這里增加沖量項對BP神經(jīng)網(wǎng)絡(luò)進行改進,學(xué)習(xí)率為0.01,沖量0.01,隱層激活函數(shù)采用sigmoid,輸出采用purelin.選取最后12組誤差作為測試集,其余為訓(xùn)練集,使用R語言對網(wǎng)絡(luò)進行訓(xùn)練擬合.
步驟三.將步驟二中的得到的預(yù)測值進行反歸一化,將反歸一化后的預(yù)測值與步驟一中的預(yù)測結(jié)果疊加進行誤差修正,如式(5),作為鋼芯鋁絞線月度需求量的預(yù)測值.
實驗數(shù)據(jù)來自國網(wǎng)遼寧省電力物資供應(yīng)公司,選取2010年3月到2016年12月期間的鋼芯鋁絞線月度需求量為樣本,利用BP神經(jīng)網(wǎng)絡(luò)誤差修正的ARIMA模型進行預(yù)測,并與修正前的預(yù)測值和實際的需求量對比分析,為了讓預(yù)測結(jié)果顯示地更清晰,從整個樣本周期中抽取2015年12月至2016年12月區(qū)間的結(jié)果如圖6所示,改進前后的預(yù)測相對誤差率如圖7所示.
圖6 預(yù)測值和真實值擬合圖 (局部)
圖7 改進前后的預(yù)測相對誤差率對比
從圖6和圖7可以看出,經(jīng)BP誤差修正后的物資預(yù)測精度有了明顯的提高,預(yù)測結(jié)果更貼近.在ARIMA模型預(yù)測誤差較大的后半年,BP誤差修正的效果非常顯著,尤其是10至12月份,修正后的預(yù)測值幾乎是與真實的需求量吻合的.從整體來看,ARIMA模型的平均相對誤差率為7.86%,BP修正后的平均相對誤差率為4.88%,相對誤差率降低了2.98%,效果顯著.
電網(wǎng)是一個非常復(fù)雜的系統(tǒng),影響電力物資需求的因素眾多,包括季節(jié)因素、國家政策、宏觀經(jīng)濟形勢、市場因素等諸多因素,關(guān)系異常復(fù)雜,在建立物資需求預(yù)測模型時很難找出所有的影響因素.電力物資月需求量的歷史統(tǒng)計數(shù)據(jù)是所有影響因素互相作用的結(jié)果,其中隱含包括了這些影響因素對電力物資需求影響的規(guī)律.所以,本文提出的預(yù)測方法是將所有外部因素對電力物資需求的影響規(guī)律作為一個復(fù)雜的、綜合的規(guī)律進行表達,而不需要人為分析影響物資需求的外部因素,避免了因選擇外部因素的不同和不全面造成的預(yù)測偏差.在鋁絞線預(yù)測中,BP誤差修正后的模型既有效刻畫了序列的線性相關(guān)性,又捕獲了非線性關(guān)系,預(yù)測結(jié)果基本上能夠反映鋁絞線月需求量的實際情況,可以為制定物資采購計劃提供重要的數(shù)據(jù)支持.
1楊建國.推行電力物資供應(yīng)鏈管理 促進電網(wǎng)應(yīng)急物資保障.市場研究,2011,(9):52–54.
2宋斌,卜濤,張洪青.電網(wǎng)建設(shè)項目物資需求預(yù)測研究.物流技術(shù),2013,32(3):319–321,336.
3Unlu NT.Improving the Turkish navy requirements determination process:An assessment of demand forecasting methods for weapon system items.Monterey:Naval Postgraduate School,2001.
4宋斌,宋秉虎,沈男,等.基于 BP 神經(jīng)網(wǎng)絡(luò)的電網(wǎng)建設(shè)項目物資需求預(yù)測.時代經(jīng)貿(mào),2013,(10):206–207.
5韓戟,何成浩,蘇星,等.一種基于 SVM 的電力行業(yè)物資需求預(yù)測方法.電氣技術(shù),2016,(12):152–154.[doi:10.3969/j.issn.1673-3800.2016.12.033]
6李晨熙.基于ARIMA模型的短期電力負荷預(yù)測.吉林電力,2015,43(6):22–24.
7張樹京,齊立心.時間序列分析簡明教程.北京:清華大學(xué)出版社,2003.
9Meng K,Dong Z Y,Wong K P.Self-adaptive radial basis function neural network for short-term electricity price forecasting.IET Generation,Transmission & Distribution,2009,3(4):325–335.
10沈男.基于改進BP神經(jīng)網(wǎng)絡(luò)的電網(wǎng)物資需求預(yù)測研究[碩士學(xué)位論文].北京:華北電力大學(xué),2014.
11謝驍旭,袁兆康.基于R的江西省肺結(jié)核發(fā)病率ARIMASVM 組合預(yù)測模型.中國衛(wèi)生統(tǒng)計,2015,32(1):160–162.
12劉夏,陳磊,李苑輝,等.基于組合方法的三亞機場客流量預(yù)測.計算機系統(tǒng)應(yīng)用,2016,25(8):23–28.[doi:10.15888/j.cnki.csa.005268]
Time Series Prediction of Power Supplies Based on BP Neural Network Error Correction
ZHAO Yi-Peng1,2,DING Yun-Feng1,YAO Kai-Feng3
1(Shenyang Institute of Computer Technology,Chinese Academy of Sciences,Shenyang 110168,China)2(University of Chinese Academy of Sciences,Beijing 100049,China)3(Northeast Branch of State Grid Corporation of China,Shenyang 110180,China)
The traditional ARIMA time series analysis method is based on the linear technology to predict the time series,while its processing of nonlinear data is not reasonable with poor effect.There are many factors influencing the demand of power supply,and most of the material sequences usually contain both the linear time series and the nonlinear time series.In this paper,based on the ARIMA forecast,the BP neural network is combined with error correction to extract the composite features in the material sequence in order to improve the forecast precision of the electric power materials.The experimental results show that the accuracy of power supply forecasting with error correction can be improved significantly,which can provide important data support for material procurement plan.
time series; ARIMA model; BP neural network; error correction; electric power supplies forecasting
10.3969/j.issn.1672-3791.2006.34.007]
趙一鵬,丁云峰,姚愷豐.BP神經(jīng)網(wǎng)絡(luò)誤差修正的電力物資時間序列預(yù)測.計算機系統(tǒng)應(yīng)用,2017,26(10):196–200.http://www.c-sa.org.cn/1003-3254/6011.html
2017-01-18; 采用時間:2017-02-23