黄余奕劼
(武汉外国语学校 湖北 武汉 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.