黃余奕劼
(武漢外國語學校 湖北 武漢 430000)
眾所周知,全球電力系統的大趨勢是電力市場化,國內電力市場改革也在逐步有序向前推進。電價是這個市場的核心,電價的波動影響到各種資源在電力市場中的流動和分配,有著強大的經濟杠桿作用。在電力市場環境下,準確的電價預測對于市場中各個參與者而言都具有非常重要的意義。因此,有必要對電價預測問題進行深入研究。
對于美國電力價格這樣的時間序列數據,經過文獻調研還未發現相關研究,但是對于應用其他模型來預測電力價格這一問題已有不少研究成果。文獻[1]提出了基于灰自組織特征映射(grey self-organizing maps,GSOM)和支持向量回歸(support vector regression,SVR)的短期電價預測方法,實驗結果驗證了該方法的有效性。文獻[2]應用自回歸移動平均(autoregressive integrated moving average model,ARIMA)模型來揭示電力負荷與電價間的線性關系,應用廣義自回歸條件異方差(generalized autoregressive conditional heteroskedasticity, GARCH)模型來揭示電價預測殘差的異方差特性,最后采用最小二乘支持向量機(least squares support vector machine, LSSVM)和小波神經網絡(wavelet neural network,WNN)來揭示負荷與電價的非線性關系,實驗結果表明該方法有較高的預測精度。文獻[3]應用構造等效峰谷分時電價的思路,采用LSSVM技術建立分時電價需求響應預測模型,實際結果驗證了該模型的可行性。文獻[4]把在線支持向量機回歸(accurate online support vector regression,AOSVR)算法應用于電價預測模型的動態更新,計算結果表明該算法的效果良好。文獻[5]應用基于改進劃分系數最大原則的最優模糊C均值(fuzzy C-means,FCM)聚類分析,獲取歷史負荷樣本的最優數據模式劃分,并根據輸入樣本相似度選取訓練樣本,模型的平均預測精度達到了98.7%,驗明了該方法的有效性和實用性。
支持向量機(Support Vector Machine,SVM)是由Vapnik等提出的一種通用的機器學習方法,對于小樣本、非線性及高維模式識別的問題有較高的實用性,具有堅實的理論基礎與數學模型,在模式識別,回歸分析,時間序列預測等領域得到了廣泛的應用。
支持向量回歸是支持向量機的回歸形態,能夠建立多維輸入和輸出之間的非線性映射,并執行結構風險最小化原則,提高模型的泛化能力。當引入非線性核函數時,這個映射可以被表示為一個潛在函數。該函數是非線性的并將輸入空間轉換為一個高維度的特征空間。
本文的整體研究框架大致分為以下幾個步驟:首先上網搜集美國近幾年電力價格數據并整理成“.csv”格式的數據文件,再將數據進行預處理(將原始數據時間序列化),然后將預處理后得到的數據劃分成訓練集和測試集,并由此對訓練集建立svr模型,接著應用svr模型進行預測,最后將所得到的預測值計算預測精度。
整個預測過程的實現程序如算法1所示。在引入程序包“rminer”后,應用“read.csv()”函數將美國電力價格數據讀取進來,并保存到“table”這個變量中;然后取出第二列價格數據并保存到“ePrice”這個變量中;再使用“ts()”函數將取出的原始數據時間序列化;接著設置窗口長度為12,測試集大小為3,再通過“length()”函數計算“ePrice”的長度并保存到變量”L”中;然后取出測試集并保存到變量“Target”中,應用“CasesSeries()”函數將整個數據轉換為訓練矩陣,再使用“nrow()”函數計算出矩陣的行數”LD”,并算出訓練集的大小;接下來通過“fit()”函數建立svr模型;然后應用“lforecast()”函數進行預測并將結果保存到變量“Pred”中,再應用“mmetric()”函數計算預測值和真實值之間的偏差并打印出來。
為了驗證前文所提出的方法,我們的實驗設置如下。(1)數據集:由2003年1月到2017年3月共計171個數據點的月度美國電力價格數據,將其繪制成序列圖后易觀察到曲線整體呈現上升趨勢,同時隨著季節的變化體現出周期性的起伏。(2)R:R是一種可編程且具有很強互動性的自由軟件,我們可以在它的網站及其鏡像中下載任何有關的安裝程序、源代碼、程序包及其文檔資料。標準的安裝文件自身就帶有許多模塊和內嵌統計函數,安裝好后可以直接實現許多常用的統計功能。(3)R-studio:R-Studio是R的集成開發環境且應用廣泛,可以使用戶更便捷地開發R程序。(4)rminer:rminer是一個實用的R程序包,是一款在分類和回歸中使用數據挖掘算法(包括時間序列預測)的一組簡短而連貫的函數集,本文主要用到其中的四個函數,即CasesSeries(),fit(),lforecast()和mmetric()。
我們采用3種不同的度量指標來計算并檢驗預測精度,即均方根誤差(RMSE),平均絕對誤差(MAE)和平均絕對值百分比誤差(MAPE)。他們的計算方式可以分別表示為和,其中是預測值,是觀測值,T是數據點個數。本文利用這3個精度指標對SVR模型的擬合和預測性能進行綜合評估。
實驗設計:我們遵循控制變量的原則,通過控制窗口長度“window”,懲罰因子“C”和誤差邊界“γ”這三個參數的不同取值來構造不同的SVR模型(其中,window取12和24這兩個值,C取1和3這兩個值,γ取0.1和0.2這兩個值,共計8個SVR模型)。此外,核函數參數“t”通過原始數據直接計算獲得。
實驗結果:通過對實驗結果(如表1所示)的分析,我們不難得到以下結論:(1)當windows=24,C=3,γ=0.1時,模型的預測精度最高。(2)在window=12的情況下,C=3比C=1的預測精度更差。(3)在window=24的情況下,γ=0.1比γ=0.2的預測的精度更好。(4)在γ=0.1的情況下,當window加大時,模型的預測精度明顯提高;在γ=0.2的情況下,當window加大時,模型的預測精度明顯下降。
本文應用支持向量回歸方法建立電力價格的預測模型,對美國電力價格時間序列數據進行預測并計算預測精度。結果表明,SVR模型在電力價格預測中整體性能比較理想(預測精度RMSE值達到了0.047)。基于目前工作,后續還可以做進一步研究,比如應用三次指數平滑(Holt-Winters)、人工神經網絡(artificial neural network,ANN)等模型進行實驗,比較各種統計學和人工智能等不同預測模型的優劣。
[1]謝新南.一種短期電價預測的新方法[J].安徽電力,2008.
[2]韓健.電價預測模型及其預測方法的研究[D].華北電力大學(北京),2011.
[3]李娜,張文月,王玉瑋,等.基于數據均值化及LSSVM算法的峰谷電價需求響應模型[J].中國電力,2016,49(9):137-141.
[4]周佃民,高峰,管曉宏.在線支持向量機回歸算法在電力市場電價預測中的應用[C]//全球智能控制與自動化大會會議,2004.
[5]唐杰明,劉俊勇,劉友波.基于最優FCM聚類和最小二乘支持向量回歸的短期電力負荷預測[J].現代電力,2008,25(2):76-81.