基于聚类分析与随机森林的短期负荷滚动预测
2018-06-13荀港益
荀港益
华北电力大学,北京 102206
电力系统短期负荷预测是电力系统安全、经济运行的基础和前提,也是电力部门安排调度计划、供电计划的重要依据[1]。随着社会经济的持续发展和产业结构的不断调整,用户的用电行为习惯呈现出多样化的发展趋势[2],针对单个工业用户,由于他们在社会经济中的分工、资源配置、服务对象的不同,其用电行为习惯存在自己独有的周期特点,仅以用户总体特性进行用电预测已经不能满足负荷预测准确性的要求[3]。
目前短期负荷预测方法主要分为经典预测方法、传统预测方法与智能预测方法三类[4]。其中,智能预测方法中的神经网络(Artificial Neural Network,ANN) 能将传统的函数关系转化为高维的非线性映射,具有很强的自适应能力,但由于其从经验风险最小推至期望风险最小没有可靠的理论依据,故其泛化能力经常不尽人意[5-7];支持向量机 (Support Vector Machine,SVM) 通过将经验风险最小化转化成结构风险最小化,利用最优化方法解决机器学习问题中的过拟合与维数灾难问题,但其理论复杂,模型参数选择技巧性强,预测结果的准确性很难得到进一步提高,限制了SVM模型的应用[8-9];随机森林 (Random Forest,RF) 在预测中需要调节的参数少,受离群数据干扰小,且随着数据集的增大表现出良好的鲁棒性,因此随机森林更适合电力系统短期负荷预测[10-11]。
考虑到预测方法的输入特征对模型的预测精度具有极大的影响,而当前的负荷预测方法中多利用预测日的前一天负荷数据建立模型,并不利用当日已知的部分负荷等动态信息来更新输入,但根据近大远小的原理[12],预测日的已知信息对未来预测结果影响更大,所以在模型中不断地加入最新获得的实时负荷数据信息,对下一时刻进行的预测具有重要意义。
本文提出一种基于聚类分析与随机森林的短期负荷滚动预测模型:采用K-means聚类算法对用户用电历史数据进行预处理,聚类形成用户的不同用电行为下的样本集,通过随机森林[13]训练生成不同行为下的预测模型,接着计算待测日和聚类后的数据集的簇中心的相似度,找到待测日所属的预测模型,同时随着待测日实际负荷数据的采集,不断滚动更新输入变量,代入匹配好的随机森林模型,得到预测结果。实例仿真结果表明本方法相较于常规方法在预测精度上具有明显的提高。
1 用户用电行为习惯的聚类分析
1.1 K-means聚类算法
K-means聚类算法[14]是经典的聚类算法之一,算法主要原理描述如下:
设Λ 为已知数据集,X中的 Λ 是n个数据对象并且每个数据对象都是N维的。K-means聚类算法就是要找到含有k个聚类中心的集合:
使得目标函数 (1) 最小。
其中表示聚类中心C与数据对象X的欧几里德距离,其定义如下:
直观看来,式 (1) 在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,J值越小则代表划分的样本类与类之间的相异程度越大,基于此可以确定最佳聚类数。
1.2 用户用电行为习惯的多维评价指标的选取
根据用电特性的差异,可将用户用电行为进行多种类别的划分,常见的指标有:从负荷特性的角度选取典型日负荷曲线、用户平均负荷率以及最大负荷率组成聚类特征向量[15];从时间特征量的角度选取季节用电数据、日用电数据等组成聚类特征向量[16];从峰谷特性的角度建立包含峰时与谷时用电负荷等指标的时间序列聚类特征向量[17]。本文在综合现有评价指标的基础上,以天为周期,每隔15min采集一个用电负荷数据,建立了一组96维的时间序列作为聚类特征指标。
2 随机森林回归算法
2.1 随机森林回归原理
随机森林回归是在分类回归树 (CART) 基础上发展起来的一种集成学习方法,其核心思想是从总体训练样本集S中利用Bootstrap重抽样方法随机抽取多个样本子训练集,构建一组基分类器。每组基分类器使用基尼指数 (GINI index) 进行特征值的选取,最大限度地生成多个回归树且无需进行剪枝,最终形成一个多元非线性回归组合模型,然后对每个基分类器的输出预测结果进行求和平均,作为最终的预测结果,随机森林回归算法结构如图1所示。
2.2 随机森林特征集的组成
由于用电负荷数据与历史数据在两方面存在相关性[18]:待测时刻的用电负荷数据与该预测时刻紧邻的前个时刻点的负荷数据;待测时刻的用电负荷数据与紧邻的前天的同一时刻点的负荷数据。因此本文输入随机森林的特征集包含两部分数据特征,即:
式中——预测的第i个时刻的特征集——距离待测时刻点m天的第n个时刻的用电负荷数据——紧邻预测时刻前n个时刻点的负荷数据与预测时刻紧邻的前m天的同一时刻点的负荷数据。
3 滚动预测
本文提出的滚动预测算法( 设待预测时刻点为第共96个时刻点的负荷数据) 具体步骤如下:
(1) 初始化时刻的输入特征
(2) 代入对应的随机森林模型;
(3) 输出该时刻下的预测用电负荷数据
(4) 采集待预测时刻的实际用电负荷数据
(5) 用实际负荷数据更新输入:
传统预测方法中是直接将待测日前一天的负荷数据输入,并不涉及实时数据的更新) ;
(6) 重复步骤 (2) ~ (5) ,直至预测过程结束。
4 基于聚类分析与随机森林回归算法的短期负荷滚动预测模型
本文构建的短期负荷预测模型的流程图如图2所示,主要步骤如下:
图2 基于聚类分析与随机森林回归算法的短期负荷滚动预测流程
步骤1:采集用户历史数据样本集。
步骤2:用户用电行为类别的划分。采用K-means聚类算法将用户一天的各个时刻的用电负荷数据作为时间序列特征指标进行聚类,确定最佳聚类数k,并根据每个类别划分对应的样本集。
步骤3:生成k个随机森林模型。利用不同用电行为下的样本集,分别训练,生成k个随机森林模型,对应着每类用电行为模式。
步骤4:匹配待测日的用电行为。将待测日的时间序列特征作为输入,计算与每一类簇中心向量的近似度,选择与待测日类别相同的随机森林模型进行预测。
步骤5:更新输入变量。采集实时用电负荷数据,用滚动预测中介绍的方法更新下一待测时刻点的输入变量。
步骤6:滚动预测。将更新好的特征变量输入步骤4匹配的随机森林模型进行滚动预测。
步骤7:输出预测结果。
5 仿真算例及结果分析
5.1 数据来源及样本选择
本文使用的数据集由广州计量自动化系统采集105个工业用户近两年的电量数据得到,采样频率为15min一个点。本文选取的是105个用户中的一个电子工业用户进行仿真算例,收集其从2015年6月1日~2015年8月29日共90d的负荷数据作为原始训练样本,每天共有96个样本点,对2015年9月1日~9月5日的各时刻用电负荷数据进行预测。
5.2 用户用电行为习惯的聚类分析及样本集的划分
对于训练数据集,以天为周期,建立了一组96维以用电负荷数据为聚类特征指标向量的时间序列代入K-means聚类算法,得出的最佳分类结果如图3,可以看出该用户的用电行为习惯主要为两类,每一类可以明显的代表一类用电习惯,聚类结果比较理想,并以此对原始数据进行样本集划分。
图3 k-means聚类算法对用户用电行为最佳分类图
考虑到用户用电负荷数据与历史数据有较强的相关性,经过参数调优,本文最终选取待预测时刻点的连续前7个时刻点以及前8d与待测时刻处于同一时刻的负荷数据作为输入特征向量进行随机森林模型训练。
5.3 预测结果与分析
本文采用平均绝对百分误差 (mean absolute percentage error,MAPE) 作为预测方法的评价指标:
式中,——实际值,——预测值,N——每日预测点的总数。
图4 2015年9月2日的用电负荷预测结果
为了说明本文所采用算法 (K-RF) 的优越性,另外选取了常规的支持向量机 (SVM) 算法和随机森林 (RF) 算法两种方案与之进行对比。其中,SVM的输入特征向量与本算法的输入特征向量一致,常规随机森林算法的输入向量未使用实时数据对待测时刻向量进行更新。预测的时间为2015年9月1日~9月5日的用电负荷数据,以2015年9月2日的96个时刻点的预测结果为例,预测详细结果如图4,可以看出,三种预测方法中K-RF的预测曲线与实际负荷曲线的拟合程度最高。在训练参数设定的过程中,随机森林仅需要对决策树棵数进行设置,相较于支持向量机需要设置惩罚参数,核参数,中止训练误差参数等参数,在参数设置方面随机森林更加方便,结构简单。
通过计算,分别得出三种预测模型下的MAPE值:本文提出的K-RF模型预测结果为6.81%,SVM模型预测结果为10.48%,常规RF模型预测结果为13.13%,其中K-RF模型的预测精度最高。K-RF与SVM的相对误差如图5所示。K-RF与RF的相对误差如图6所示。
图6 K-RF与RF的相对误差
由图5比较SVM和K-RF的相对误差曲线可知,SVM与K-RF预测相对误差偏大的时刻点对应着图3中实际负荷曲线突然出现波动的位置,但K-RF的预测结果更接近真实值,可以得出本算法的泛化能力是高于SVM的;由图6比较RF和K-RF的相对误差曲线可知,在前期时刻的预测中二者的差异并不是特别大,但到后期,RF的偏差越来越大,但K-RF依旧有很高的预测精度,表明实时数据的滚动更新对预测精度的提高具有促进作用。
6 结论
本文提出的基于聚类分析与随机森林回归算法的短期负荷滚动预测模型,通过采用k-means聚类算法对原始训练样本进行用电行为习惯的分类,选取与待测日同属一类的训练样本,能够有效地降低训练样本的容量,减少运算负担;算法结合的随机森林回归模型,具有泛化误差小、调节参数少、不会出现过拟合的优点,适用于电力系统短期负荷预测,通过添加滚动预测模型,可以在保留原始预测模型优点的基础上,将实时数据进行更新,进一步提升预测精度。仿真算例结果表明,在相同条件下,K-RF滚动预测模型相比于传统模型结构简单,能够明显地提高预测精度要求,具有一定的工程实用价值。
[1] 杨波,张海防,李浛永,等.电力系统负荷预测技术的研究[J].电子技术与软件工程,2015 (1) :253.
[2] 朱炎平. 基于聚类的用户用电行为分析研究[D].北京:华北电力大学 (北京) ,2017.
[3] Han Wu. Short-term Electric Load Forecasting based on Data Mining[A]. IEEE.Proceedings of 2016 8th IEEE International Conference on Communication Software and Networks(ICCSN 2016) [C].IEEE,2016(5).
[4] 廖旎焕,胡智宏,马莹莹,等.电力系统短期负荷预测方法综述[J].电力系统保护与控制,2011,39 (1) :147-152.
[5] 姜雲腾,李萍.基于改进粒子群神经网络短期负荷预测[J].电气技术,2018,19 (2) :87-91.
[6] Paras Mandal,Tomonobu Senjyu,Naomitsu Urasaki,et al.Electricity Price and Load Short-Term Forecasting Using Artificial Neural Networks[J]. International Journal of Emerging Electric Power Systems,2011,7 (4) .
[7] Xia Hua,Gang Zhang,Jiawei Yang,et al.Theory Study and Application of the BP-ANN Method for Power Grid Short-Term Load Forecasting[J].ZTE Communications,2015,13 (3) :2-5.
[8] 牛东晓,刘达,陈广娟,等.基于遗传优化的支持向量机小时负荷滚动预测[J].电工技术学报,2007 (6) :148-153.
[9] 李霄,王昕,郑益慧,等.基于改进最小二乘支持向量机和预测误差校正的短期风电负荷预测[J].电力系统保护与控制,2015,43 (11) :63-69.
[10] Grzegorz Dudek.Short-Term Load Forecasting Using Random Forests[M].Springer International Publishing:2015-06-15.
[11] 刘剑,曹美燕,高治军,等.一种基于随机森林的太阳能辐射预测模型[J].控制工程,2017,24 (12) :2472-2477.
[12] Ayca Kumluca Topalli,Ismet Erkmen,Ihsan Topalli. Intelligent short-term load forecasting in Turkey[J]. International Journal of Electrical Power and Energy Systems,2006,28 (7) .
[13] 李婉华,陈宏,郭昆,等.基于随机森林算法的用电负荷预测研究[J].计算机工程与应用,2016,52 (23) :236-243.
[14] 杨浩,张磊,何潜,等.基于自适应模糊C均值算法的电力负荷分类研究[J].电力系统保护与控制,2010,38 (16) :111-115,122.
[15] 周小明,苏安龙,杨宏宇.基于K-Means聚类算法的行业用电行为分析[J].电气应用,2015,34 (S1) :178-182.
[16] 张素香,刘建明,赵丙镇,等.基于云计算的居民用电行为分析模型研究[J].电网技术,2013,37 (6) :1542-1546.
[17] 赵国生,牛贞贞,刘永光,等.基于自适应模糊C均值聚类算法的电力负荷特性分类[J].郑州大学学报 (工学版) ,2015,36 (6) :56-60.
[18] Hai Liang Hou,Jie Chen,Miao Ping Sun,et al. Daily Load Forecasting Based on RBF-ARX Model[J]. Applied Mechanics and Materials,2014,3411 (623) .