基于集成学习的短期电价预测
2021-01-07李惠蓉王新生
李惠蓉,王新生
0 引言
经济全球化带动了电力市场的全球化进程,电力市场的一个尤为重要的组成部分便是电力价格,全球各个地区电力市场的发展都要受电力价格的影响[1-2]。而短期电力价格预测的范围在10 min至1周,该短期电价的预测结果可指导发电公司设计合理、有效的电价条款。一个精确可靠的短期电价预测模型有益于发电公司创造营收、躲避风险和扩大规模,因此深入研究短期电价预测显得尤为必要。
目前,比较常见的电价预测方式包括时间序列预测方式[3]、灰色模型预测方式[4]以及智能预测方式。而时间序列预测方式主要采用的电价预测模型具体指自回归条件异方差模型(GARCH)、自回归积分滑动平均模型(ARIMA)以及自回归滑动平均模型(ARMA)。时间序列预测方式有着计算过程简单的优点,但缺点是无法准确拟合出短期电价的非线性特征,以致短期电价预测结果精确性不足;灰色模型预测方式原理是将灰色过程代替电价变化,继而构建灰色电价模型并求解,缺点也是电价预测结果精确性不足;智能预测方式是在当前机器学习和大数据等计算机技术快速进步环境下提出的一种电价预测方式,目前该方式的缺点是一般采用单一机器学习方式导致电价预测的全面性不足,容易出现精度和鲁棒性低的问题。可见若训练几个具有不同角度拟合方式的效果较佳的模型,并组合在一起,可获得一个鲁棒性好、预测精度高的电价预测模型。
Blending方法采用的集成框架为多层类串联方式,直接用不相交的数据集用于不同层的训练。其使用按比例切分的方式对数据进行分割和训练,形成一个Hold-out集合作为二级特征,用于训练下一层的基学习器。因其结构简单且预测精度高,应用广泛[5]。
本文根据集成学习原理,不断对比测试后设计了一种基于Blending学习方式的集成不同基础学习器的短期电价预测模型,该模型集成了3种机器学习模型,包括梯度回归树(Gradient Boosting Regression Tree)模型、随机森林(Random Forest)模型和XGBoost(Extreme Gradient Boosting)模型。集成模型与3种单一模型对比发现,本文提出的模型具有电价预测精度高、鲁棒性强的优点。
1 整体架构设计
1.1 随机森林预测模型的构建
Breiman和Cutler等借助随机决策森林方法的基本原理,其中随机森林由分类回归树组合而成,对变量和数据的使用上采用随机化方式,得到众多回归分类树之后,对其结果进行了汇总。
基于随机森林预测回归方法,针对历史电价数据搭建了相关子预测模型,该随机森林回归方法与bagging策略有所相似,子预测模型的搭建流程如下。
(1)采用有放回Bootstrap的采样方法,从历史电价数据中获取n个样本。
(2)在n个样本中构建特征属性,并从这些特征属性中选取k个将最佳分割点属性作为CART决策树的节点。
(3)将上述两步重复m次,可以得到m颗CART决策树,并对得到的决策树不剪枝,使之成长最大化。
(4)加总全部决策树,求取平均值后可对未来电价进行预测工作。
由于随机森林预测回归方法是基于有放回Bootstrap的采样方法,因此每颗决策树在电价特征属性层面上是平等的,而且每颗决策树的训练是全面且不偏不倚,随机森林预测回归方法不受多元共线性干扰,若出现部分历史电价数据缺失或不准,依旧不影响预测结果,是作为基础学习器的良好特性。
1.2 梯度提升回归树预测模型的构建
本文选取的梯度回归树(Gradient boosting Regression Tree)模型采用梯度提升回归树(GBRT)算法[6]。梯度提升决策树算法由Friedman首次提出,其原理与一般的模型树和回归树算法原理有所不同,其特点是迭代过程中后一弱学习器训练需对前一弱学习器的残差进行拟合,拟合方向为最大下降梯度。
选取梯度提升决策树作为基础学习器的原因是,其既能较好处理离散值,也能较好处理连续值,有着较强的数据适应能力,只需简单优化参数就能有准确性较高的结果。
该梯度提升决策树算法基于以下伪代码构建而成:
1.3 XGBoost回归预测模型的构建
陈天奇博士首次提出XGBoost算法,该算法有着性能高效的特点,广泛应用于数据挖掘和机器学习领域。本文采用该算法作为boosting算法,XGBoost算法抽样方式与随机森林回归算法的抽样方式类似,具有计算量一致但可防止过拟合的特点;在二阶泰勒展开代价函数后,训练集上的收敛速度加快,大幅度提升训练速度;其注入正则项至代价函数,简化了训练下的模型,增强了模型的泛化能力,防过拟合能力得到一定程度提升。XGBoost算法采用多核并行实现计算方式,C/C++作为编程语言,运行速度比其他模型更快。
1.4 Blending集成
Blending最早出现在Netflix数据挖掘比赛中,由Netflix的获胜者引入,它的实质是一种多层的串行学习系统[7]。Blending方法前期使用按比例切分的方式将原始特征重建成一个Hold-out集合,并当作一个二级特征,接着常规训练和拟合经变换所得二级特征。Blending集成框架模型融合组合后的不同类型的基础学习器,由于原始数据在不同的基础学习器下的学习有着较大的不同,因此可从各个角度探究特征空间,使他们的最终预测结果得以融合。采用该方法可使最后的预测结果考虑因素较为全面,效果比单一基础学习器的预测结果更为精确。
本文应用的Blending集成框架的结构有两层,具体结构如图1所示。在第一层(Level1),对原始数据进行按比例划分,得到训练集和测试集(test_set),其中训练集需要再次划分为训练集(train_set)和验证集(val_set),接着使用train_set创建Level1的n个基础学习器(这n个基础学习器既可以是同质的也可以是异质的),然后运用Level1训练好的基础学习器去预测val_set和test_set,重新构建得到一个Hold-out集合用作第二层(Level2)的新特征。使用新的特征去训练Level2的新基础学习器,最终得到整个测试集的预测结果,整个Blending的过程就结束了。
图1 Blending集成方法框架
2 数据探索与特征构建
将电价短期预测范围设置为3天,电价历史数据选取自2014年1月1日至2017年6月15日美国加州3年半内的每个小时电价历史数据。表1为原始的电价数据统计信息表,表中不仅包含历史电价数据,还包含了在此电价记录数据下的区域负荷数据z及区域总负荷数据t。建模采用Python3.5,统计分析采用pandas库。
根据表1记录的原始数据信息,将电价设置为数据标签,并作为回归模型拟合对象。图2表示电价频率直方图。
表1 电价历史数据的变量统计信息
图2 电价频率直方图
根据图2可知,图中整体呈现向左侧偏移的特点,后续有较长的延伸,且这些延伸中会出现较高的点。若是将这些数据导入模型,将会对预测模型的准确性产生影响,因此可将电机数据log变换后使之正态分布,并依据变换后数据重新构建模型,可使预测结果精确性提升。图3表示总负荷频率直方图和区域负荷频率直方图。
依据图3可知,在分布特性上总负荷频率直方图与区域负荷频率直方图有着较高的相似性,有0.97的皮尔逊(Pearson)相关系数值,而电价与总负荷频率、区域负荷频率的皮尔逊相关系数值相对较低,表2为它们的皮尔逊相关系数值。
仿真检测发现短期电价预测的一些特征,与它的+1/-1、+2/-2天特征的相关性较强,因此加入包含+1/-1、+2/-2天特征信息的数据特征。
3 仿真验证
历史电价数据选取自2014年1月1日至2017年6月15日之间美国加州3年半内的每个小时电价历史数据。为实现短期电价预测的目标,将自2014年1月1日至2017年6月12日之间的历史电价数据作为训练及验证集,将自2017年6月13—15日的电价数据当作测试集[8]。
根据上文介绍,将梯度回归树模型、随机森林模型和XGBoost模型这3种单一模型作为对比模型,与经Blending集成方法的集成模型进行比较。第一步,分别对这3种单一模型进行相关训练;第二步,经Blending集成方法集成3种单一基础回归学习器后,作为集成模型的第一层基础回归学习器;第三步,将XGBoost基础学习器作为第二层的基础回归学习器;最后一步,采用均方误差和平均绝对误差参数评测实验结果。
采用8折交叉验证方法对目标变量进行比例随机抽样,实验结果如表3—4所示。
表3 训练集交叉验证均方误差(MSE)矩阵
表4 训练集交叉验证平均绝对误差(MAE)矩阵
根据上述训练集交叉验证结果可知,在表中梯度回归树模型、随机森林模型和XGBoost模型这3种单一模型的基础学习器总有两个模型的误差值大于另外一个模型的误差值,且数据显示Blending集成模型有着精确性高、鲁棒性强的特点。针对模型测试集继续对比实验,如图4所示为4种模型在2017年6月13—15日的预测电价数据拟合曲线与真实电价数据曲线对比图。
图3 负荷频率直方图
表2 皮尔逊相关系数
图4 4个模型在最后3天的每小时电价预测曲线
由图4可知,将R2作为预测曲线的决定系数值,其表示为R2=1-SSres/SStot,式中:SSres表示平均值和回归数据之间的误差;SStot表示平均值与真实数据之间的误差,且SStot一般大于SSres,误差值都在0~1。在数据确定后,SStot的值也随之固定,预测值准确性越低,SSres的数值就越大,此时R2的值也越小,相反准确性越高,R2的值也越大。由图4可以计算出XGBoost模型的决定系数R2值为0.89,随机森林模型的决定系数R2值为0.83,梯度回归树模型的决定系数R2值为0.87,Blending集成模型的决定系数R2值为0.91,可知采用Blending集成方法的集成模型有着较好的拟合效果。如表5所示为均方误差(MSE)和平均绝对误差(MAE)矩阵在测试集下的表现结果。
表5 测试集下各模型MSE和MAE
由表5可知,采用Blending集成方法的集成模型有着较小的均方误差(MSE)和平均绝对误差(MAE),因此测试集下采用Blending集成方法有着优异表现。
4 结语
短期电价预测有着混沌性和非线性的特点,导致现有短期电价预测模型准确性和鲁棒性不高,本文从机器学习角度进行深入探索,将包含+1/-1和+2/-2天特征信息的数据特征加入特征构建过程。选取了3种具有优良性能的基础回归学习器,分别是梯度提升回归树基础回归学习器、随机森林基础回归学习器和XGBoost基础回归学习器,接着采用Blending集成方法将这3种基础回归学习器融合后构建出一种电价预测集成模型。最后基于美国加州3年半内的每个小时电价历史数据得出,Blending集成模型相比其他3种基础回归学习器,有着预测准确度高及鲁棒性强的特点。
基于本文思考,在未来的短期电价预测研究中,可将如spark、hadoop等的大数据技术加入运算,最大化提升效率,增强精度及缩短运行时间。