譚曾盛 王志兵
收稿日期:2023-09-13
DOI:10.19850/j.cnki.2096-4706.2024.06.028
摘? 要:為了獲得精度更高的用電量預(yù)測模型,采用狼群算法對Prophet模型的關(guān)鍵參數(shù)進(jìn)行尋優(yōu),構(gòu)建基于WPA優(yōu)化Prophet的用電量預(yù)測模型。實驗數(shù)據(jù)為澳大利亞維多利亞州2015—2019年五年的日用電量,使用前四年作為測試集,最后一年驗證預(yù)測結(jié)果的準(zhǔn)確性,預(yù)測結(jié)果的評價指標(biāo)采用均方根誤差和平均絕對百分比誤差。實驗結(jié)果表明,通過WPA優(yōu)化后的Prophet模型預(yù)測精度得到了有效提升,為提升區(qū)域用電量預(yù)測精度提供了參考。
關(guān)鍵詞:Prophet模型;狼群算法;用電量預(yù)測;時間序列
中圖分類號:TP18? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2024)06-0132-04
Prediction of Regional Electricity Consumption Based on WPA-Prophet Model
TAN Zengsheng, WANG Zhibing
(College of Computer Science, Hunan University of Technology, Zhuzhou? 412007, China)
Abstract: In order to obtain a more accurate electricity consumption prediction model, Wolf Pack Algorithm (WPA) is used to optimize key parameters of the Prophet model, and an optimized electricity consumption prediction model is built based on WPA. The experimental data is the daily electricity consumption of Victoria, Australia from 2015 to 2019. The data of first four years are used as the test set, and the accuracy of the prediction results is verified in the last year. The evaluation indexes of the prediction results are Root-Mean-Square Error and Mean Absolute Percentage Error. The experimental results show that the prediction accuracy of Prophet model optimized by WPA algorithm has been effectively improved, which provides a reference for improving the prediction accuracy of regional electricity consumption.
Keywords: Prophet model; Wolf Pack Algorithm; electricity consumption prediction; time series
0? 引? 言
現(xiàn)代經(jīng)濟(jì)的發(fā)展離不開電力行業(yè)的貢獻(xiàn),隨著科技和經(jīng)濟(jì)的發(fā)展,對電力的需求將會不斷增加。在2022年四川省因電力資源短缺實行了限電策略,造成了大批企業(yè)停工停產(chǎn),低估電力需求會對社會的生產(chǎn)生活造成嚴(yán)重影響。而對于產(chǎn)生了而未被消耗的電能目前還沒有大規(guī)模且具有普適性的電能儲存方案,高估電力需求不可避免地會產(chǎn)生浪費(fèi);同時,火電發(fā)電量占總發(fā)電量的70%,避免電能浪費(fèi)也能在一定程度上減少因火力發(fā)電而造成的環(huán)境污染。因此,對用電需求進(jìn)行準(zhǔn)確的預(yù)測對保障民生和促進(jìn)社會經(jīng)濟(jì)發(fā)展都有重要意義。
用電量預(yù)測的方法大致可以分為傳統(tǒng)時間序列模型和人工智能神經(jīng)網(wǎng)絡(luò)模型兩種方法。傳統(tǒng)的時間序列模型有Holt-Winters、ARMA/ARIMA等[1],郭松亮等人[2]構(gòu)建ARIMA模型對北京2019—2021年的用電量進(jìn)行預(yù)測,實驗的擬合誤差在合理范圍內(nèi),實驗結(jié)果表明北京市的用電量將進(jìn)一步增長。陳云浩等人[3]提出基于ARMA模型和Holt-Winters模型的組合模型方法,對中山某企業(yè)30天的用電量進(jìn)行預(yù)測,實驗結(jié)果顯示模型預(yù)測的準(zhǔn)確度較高,有一定的實用價值。人工智能不需要考慮數(shù)據(jù)的分布特征、能夠刻畫模型的非線性關(guān)系,在用電量預(yù)測方面有廣泛應(yīng)用[4]。成貴學(xué)等人[5]提出一種基于用電特性聚類和ConvLSTM相結(jié)合的企業(yè)用電量預(yù)測方法,有效地提取了用電數(shù)據(jù)特征,提高了預(yù)測精度。
繆慶慶[6]等人構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測家庭用電量,通過調(diào)整神經(jīng)元的權(quán)值降低了預(yù)測誤差,實驗結(jié)果對掌握居民的用電規(guī)律有一定幫助。除了傳統(tǒng)的時間序列模型和神經(jīng)網(wǎng)絡(luò)模型,F(xiàn)acebook開源的基于時間序列分解的Prophet模型也能應(yīng)用在用電量預(yù)測中,陸圣芝等人[7]構(gòu)建Prophet模型預(yù)測某縣的建筑、餐飲和住宿行業(yè)的用電量,實驗結(jié)果表明,Prophet模型較傳統(tǒng)時間預(yù)測預(yù)測模型精度更高。Prophet模型具有擬合速度快,可解釋性強(qiáng)等特點(diǎn),因此廣泛應(yīng)用于多個領(lǐng)域,但模型的參數(shù)設(shè)置不合理會導(dǎo)致模型的預(yù)測效果差。對此,本文提出一種基于狼群算法的Prophet預(yù)測模型參數(shù)優(yōu)化方法,并應(yīng)用在用電量預(yù)測中,實驗表明,參數(shù)優(yōu)化后的Prophet模型的預(yù)測精度得到了有效的提升。
1? 算法基本原理
1.1? Prophet模型
Prophet模型是由Facebook團(tuán)隊開源的時間序列預(yù)測模型[8]。相較于傳統(tǒng)的統(tǒng)計學(xué)模型,Prophet 模型的靈活性更強(qiáng),可以根據(jù)時間序列的季節(jié)性變化做出更精準(zhǔn)的預(yù)測,并且針對缺失的數(shù)據(jù)會進(jìn)行自動處理[9]。與機(jī)器學(xué)習(xí)模型對比,Prophet模型的擬合速度更快,且模型具有可解釋性。Prophet模型組成:
(1)
式中:g(t)表示趨勢函數(shù),用于分析時間序列在非周期性的變化趨勢;s(t)表示季節(jié)函數(shù),表示時間序列以日,周,月等周期性變化;h(t)表示節(jié)假日函數(shù),用來表示節(jié)假日因素對時間序列的影響;?(t)表示誤差。
趨勢函數(shù)g(t)有兩種結(jié)構(gòu),分別是分段線性趨勢模型和飽和增長模型,本文使用的分段線性模型如式(2)所示:
(2)
式中:k表示模型的增長率;a(t)表示階躍函數(shù);δ表示k的變化量;m表示偏移量;γ表示使函數(shù)平滑的偏移量。
季節(jié)函數(shù)s(t)是使用傅里葉級數(shù)來表示模型的周期性變化,如式(3)所示:
(3)
式中:P表示季節(jié)性的周期大小,周期為年時,P為365.25,周期為周時,P為7;σ的數(shù)值可以控制季節(jié)性對預(yù)測模型的影響力,σ越大模型受季節(jié)性的影響越大。
節(jié)假日函數(shù)h(t)如式(4)所示:
(4)
式中:ki表示節(jié)假日的影響范圍;L表示輸入的節(jié)假日總個數(shù)。
模型的組成部分有相應(yīng)的參數(shù)可以調(diào)節(jié),changepoint_prior_scale這項參數(shù)可以調(diào)節(jié)增長趨勢模型組件的靈活度,參數(shù)數(shù)值越大模型對歷史數(shù)據(jù)的擬合程度越強(qiáng),但是數(shù)值太大也有過擬合的風(fēng)險。seasonality_prior_scale可以調(diào)節(jié)季節(jié)性模型組件的靈活度。參數(shù)數(shù)值越大,模型將適應(yīng)更強(qiáng)的季節(jié)性波動,值越小,季節(jié)性波動越小。holidays_prior_scale調(diào)節(jié)節(jié)假日模型組件的靈活度,值越大,節(jié)假日項對模型的影響越大。默認(rèn)的參數(shù)設(shè)置無法充分發(fā)揮模型的優(yōu)勢,模型的預(yù)測精度不佳,changepoint_prior_scale,seasonality_prior_scale,holidays_prior_scale等參數(shù)的合理取值是Prophet模型構(gòu)建的關(guān)鍵。
1.2? WPA-Prophet模型構(gòu)建
狼群算法(Wolf Pack Algorithm, WPA)是一種群體智能算法,和經(jīng)典的粒子群及遺傳算法相比,狼群算法的性能更優(yōu),更適合求解高維的復(fù)雜函數(shù)求解[10]。狼群算法思想基于狼群的群體智能行為,模擬了狼群在獵捕獵物時的捕食行為和獵物的分配方式。狼群有著明確的社會分工,狼群中的頭狼作為首領(lǐng),它是通過弱肉強(qiáng)食的競爭中勝出的,它主要負(fù)責(zé)狼群的指揮,而探狼主要負(fù)責(zé)搜尋獵物,猛狼則負(fù)責(zé)攻擊[11]。
定義狼群的獵場是一個N×D的空間,N表示狼群的數(shù)量,D表示尋優(yōu)參數(shù)的個數(shù)。狼群中的狼感知的氣味濃度為Y = f (x),Y即為適應(yīng)度值。通過強(qiáng)者生存的規(guī)則,在一輪輪競爭中最終生存下來的頭狼,其Y值也就是最優(yōu)的適應(yīng)度值,表示為Ylead。狼群的獵捕活動可以抽象成三個具體的行為:
1)游走行為。探狼的初始適應(yīng)度值為Yi,探狼朝h個方向移動,每個方向移動的步數(shù)為stepa,移動后在d維空間的的新位置為:
(5)
移動到新位置后重新計算新的適應(yīng)度值為Yip,如果此時適應(yīng)度值優(yōu)于移動前位置的適應(yīng)度值Yi,則更新探狼的位置并將新的適應(yīng)度值Yip賦給Yi。如果Yi>Ylead,則探狼將會替頭狼發(fā)起召喚行為,否則將一直重復(fù)游走直到達(dá)到最大迭代次數(shù)Tmax。
2)召喚行為。頭狼召喚周圍的猛狼向頭狼所在的位置靠近,移動的步長為stepb,猛狼i在k+1次迭代后在d維空間的新位置為:
(6)
式中: 表示第k次迭代時頭狼在空間中的位置。
猛狼移動后位置的適應(yīng)度值為Yi,如果此時Yi>Ylead,那么此時猛狼就會轉(zhuǎn)換為頭狼并通過召喚行為召喚其他的猛狼靠近,否則猛狼會繼續(xù)向頭狼靠近。當(dāng)猛狼和頭狼的距離小于dnear,dnear如式(7)所示,則發(fā)起圍攻行為。
(7)
式中:ω表示距離判定因子,ω的值會影響算法的收斂速度。
3)圍攻行為。移動后的猛狼靠近了頭狼,這時將聯(lián)合探狼一起攻擊頭狼所在位置處的獵物,獵物在d維空間的位置為? ,圍攻行為表示如下:
(8)
式中:λ表示一定范圍內(nèi)的隨機(jī)數(shù);stepc表示狼在圍攻行為時的攻擊步長。
如果在圍攻行為后獵物所在位置的適應(yīng)度值大于原位置的適應(yīng)度值,則更新此狼的位置,否則位置不變。
在三種行為中,stepa、stepb、stepc三者的關(guān)系為:
(9)
式中:S表示步長因子,代表尋優(yōu)的解的精細(xì)程度。
WPA算法求解Prophet模型最優(yōu)參數(shù)具體步驟如下:
1)將用電量數(shù)據(jù)分為訓(xùn)練集和測試集,訓(xùn)練集用于預(yù)測模型訓(xùn)練,測試集用于檢驗?zāi)P偷念A(yù)測精度。
2)Prophet模型的changepoint_prior_scale參數(shù)默認(rèn)設(shè)置為0.05,seasonality_prior_scale參數(shù)默認(rèn)設(shè)置為10.0,holidays_prior_scale參數(shù)默認(rèn)設(shè)置為10.0。將模型預(yù)測結(jié)果的平均絕對誤差(MAE)作為適應(yīng)度函數(shù)的值。
3)設(shè)置WPA的參數(shù),其中最大迭代次數(shù)設(shè)置為100。
4)開始迭代,對Prophet模型的三個關(guān)鍵參數(shù)進(jìn)行尋優(yōu),滿足迭代次數(shù)后輸出最優(yōu)適應(yīng)度值時的模型參數(shù)值。
5)根據(jù)輸出的最優(yōu)參數(shù)最終構(gòu)建WPA優(yōu)化后的Prophet模型,對測試集進(jìn)行測試。
通過上述步驟即可得到WPA算法優(yōu)化后的Prophet模型。
2? 實驗驗證和結(jié)果分析
2.1? 數(shù)據(jù)集來源
實驗所用數(shù)據(jù)集來自Kaggle平臺,數(shù)據(jù)集內(nèi)包含澳大利亞第二大州維多利亞州2015年1月1日至2019年12月31日的用電量數(shù)據(jù),數(shù)據(jù)粒度為天,共1 826條,如圖1所示,從圖中可以看出用電量數(shù)據(jù)具有明顯的周期性。本實驗將2015年1月1日至2018年12月31日共1 461條用電量數(shù)據(jù)作為測試集,預(yù)測未來一年的每日用電量,將2019年1月1日至2019年12月31日共365條用電量數(shù)據(jù)作為驗證集。
圖1? 維多利亞州用電量數(shù)據(jù)
2.2? 評價指標(biāo)
本實驗的評估方法采用均方根誤差(RMSE)和平均絕對百分比誤差(MAPE),綜合兩種評價指標(biāo)對模型的預(yù)測結(jié)果進(jìn)行全面分析。兩種誤差值越小,表示模型的預(yù)測效果越好。
2.3? Prophet模型預(yù)測結(jié)果
對用電量測試集構(gòu)建Prophet模型,三個關(guān)鍵參數(shù)使用默認(rèn)值,其中模型若要考慮節(jié)假日的影響,需要將有可能影響到預(yù)測結(jié)果的節(jié)假日輸入holiday模塊中,通過網(wǎng)站查詢澳大利亞維多利亞州的節(jié)假日并將節(jié)假日的具體日期輸入模型中。將2015年到2018年的用電量數(shù)據(jù)輸入,預(yù)測未來365天的用電量數(shù)據(jù)。
模型的最終預(yù)測結(jié)果如圖2所示,圖中黑點(diǎn)為實測值,藍(lán)色線條為擬合曲線,最終預(yù)測結(jié)果的RMSE為10 845.78,MAPE為6.40%。
圖2? 模型預(yù)測結(jié)果
2.4? WPA-Prophet預(yù)測結(jié)果與對比分析
WPA算法迭代過程中變化的適應(yīng)度值是Prophet模型預(yù)測的平均絕對誤差值,在迭代尋優(yōu)的過程中WPA的適應(yīng)度值不斷降低,在迭代次數(shù)大約為40次時,適應(yīng)度值趨于穩(wěn)定,此時已經(jīng)找到最優(yōu)解,所得到的最優(yōu)解的平均絕對誤差為0.054 7,得到最優(yōu)解時Prophet模型的changepoint_prior_scale參數(shù)值為0.005,seasonality_prior_scale參數(shù)值為7.17,holidays_prior_scale參數(shù)值為1.02。
將所得最優(yōu)解的模型參數(shù)重新構(gòu)建Prophet模型,新構(gòu)建的WPA-Prophet模型預(yù)測效果如圖3所示,模型預(yù)測了2019年1月1日到2019年12月31日共365天的用電量。圖中黑色虛線為用電量的實際值,綠色實線為WPA優(yōu)化前的Prophet模型預(yù)測結(jié)果,紅色實線為WPA算法優(yōu)化后的Prophet模型預(yù)測結(jié)果,從圖3中可以看出WPA優(yōu)化后Prophet模型預(yù)測結(jié)果與實際值擬合度更高,預(yù)測效果優(yōu)于未優(yōu)化的Prophet模型。
圖3? 用電量預(yù)測效果對比
模型預(yù)測評估指標(biāo)使用了RMSE和MAPE,值越小代表預(yù)測結(jié)果與實際值誤差越小,預(yù)測結(jié)果越準(zhǔn)確。兩種模型的具體誤差值如表1所示,WPA-Prophet模型的RMSE為9 564.52,相對于Prophet模型降低了1 281.26。WPA-Prophet 模型的MAPE為6.40%,相對于Propeht模型降低了0.93%。WPA-Prophet模型的兩種誤差評價指標(biāo)都小于Prophet模型,說明WPA-Prophet模型在預(yù)測精準(zhǔn)度上優(yōu)于Prophet模型。
表1? 不同模型預(yù)測評估指標(biāo)
模型 RMSE MAPE
Prophet 10 845.78 6.40%
WPA-Prophet 9 564.52 5.47%
3? 結(jié)? 論
為了提高用電量預(yù)測的精度,本文提出一種基于WPA優(yōu)化Propeht模型的用電量預(yù)測算法。對于Prophet模型參數(shù)設(shè)置不合理導(dǎo)致預(yù)測精度不理想的問題,采用WPA算法進(jìn)行參數(shù)尋優(yōu),這樣能夠有效避免人為選擇Prophet模型參數(shù)或者采用默認(rèn)參數(shù)從而導(dǎo)致預(yù)測效果不理想。實驗使用了澳大利亞維多利亞州2015—2019年用電量數(shù)據(jù),使用前四年的數(shù)據(jù)作為測試集,預(yù)測維多利亞州2019年全年的用電量,實驗結(jié)果顯示,WPA優(yōu)化后的Prophet模型的預(yù)測結(jié)果與真實值的擬合度高于未優(yōu)化的Prophet模型,同時,通過WPA優(yōu)化的Prophet模型的RMSE和MAPE分別下降了1 281.26和0.93%,說明模型的預(yù)測精度得到了有效提升。
參考文獻(xiàn):
[1] 閔旭,葉青,蔡高琰.基于殘差自回歸方法的短期區(qū)域用電量預(yù)測 [J].技術(shù)經(jīng)濟(jì),2019,38(6):119-124.
[2] 郭松亮,閆鵬君,鄂浩坤.基于ARIMA模型的北京市全社會用電量短期預(yù)測 [J].北京信息科技大學(xué)學(xué)報:自然科學(xué)版,2020,35(5):93-96.
[3] 陳云浩,周冬.ARMA模型和Holt-Winters指數(shù)平滑模型在企業(yè)用電量預(yù)測中的應(yīng)用與分析 [J].資源信息與工程,2021,36(4):131-136.
[4] 王毅蕾,梁龍躍,蔡鉉燁.基于人工神經(jīng)網(wǎng)絡(luò)的貴州省用電量預(yù)測 [J].生產(chǎn)力研究,2020(12):96-98+160.
[5] 成貴學(xué),喬臻,滕予非,等.基于電力數(shù)據(jù)挖掘的涉污企業(yè)用電量預(yù)測方法研究 [J].現(xiàn)代電子技術(shù),2022,45(15):151-156.
[6] 繆慶慶,林濤,張海靜,等.基于BP 神經(jīng)網(wǎng)絡(luò)的家庭用電量預(yù)測與分析 [J].現(xiàn)代建筑電氣,2020,11(10):14-17+22.
[7] 陸圣芝,金誠,卜廣峰,等.基于Prophet模型的電量預(yù)測技術(shù)研究 [J].機(jī)電信息,2020(18):32-33.
[8] 劉銘基,田雅楠,張亮,等.基于Prophet-ARIMA模型的民航周轉(zhuǎn)量預(yù)測研究 [J].計算機(jī)技術(shù)與發(fā)展,2022,32(2):148-153+160.
[9] 李卿,羅佳.基于Prophet與LightGBM氣象特征優(yōu)化模型的短時機(jī)場飛行流量預(yù)測 [J].軟件導(dǎo)刊,2023,22(8):111-116.
[10] 朱顥.基于狼群算法的同時取送貨模糊綠色車輛路徑問題 [J].物流科技,2023,46(22):109-115.
[11] 余澤泰,余盟,肖人彬,等.一種具有動態(tài)適應(yīng)性的狼群算法及其應(yīng)用 [J].河北工業(yè)大學(xué)學(xué)報,2021,50(3):1-15.
作者簡介:譚曾盛(1999—),男,漢族,湖南株洲人,碩士在讀,研究方向:工業(yè)大數(shù)據(jù);王志兵(1974—),男,漢族,湖南邵東人,副教授,碩士,研究方向:工業(yè)互聯(lián)網(wǎng)、可信軟件、知識圖譜。