杨本臣 于坤鹏 张 军
(辽宁工程技术大学电气与控制工程学院 辽宁 葫芦岛 125105)
随着2015年《关于进一步深化电力体制改革的若干意见》出台,我国电力体制改革进入到了一个新阶段。未来电力市场的售电侧结构和运行方式也将随着电力市场的开放而变得更加复杂和精细化,最终形成多个买方、多个卖方间相互竞争、相互合作的局面。这种情形下,用户的用电行为、负荷曲线、响应规律与力度相比于传统电力市场都会发生很大的变化,实时电价波动将会成为影响用户用电方式的决定性因素[1-8]。在开放售电环境下科学、精准地分析用户负荷响应以及响应力度与规律,是提高电网的可靠性、合理安排运行调度的基础,也是市场售电主体合理制定电价、电力调度的前提[9]。
文献[10]利用自回归模型、人工神经网络和递归神经网络等方法对用户负荷的电价响应进行了预测,将电价新的输入变量加入到传统预测模型中,预测误差稍有改善;文献[11]利用小波变换-神经网络方法,对负荷数据、电价数据进行标准化处理和预分解,预测效果比较显著;文献[12]按照用户代理与售电商做出的响应合约计划,将用户主动响应计划作为输入变量来降低负荷预测的误差,但其预测精确度受制于建立用户响应模型的精确度;文献[13]指出需求侧的主动响应计划增加了负荷预测的复杂性,并认为分析电价与响应负荷之间的关系可以转化为分析电价与预测误差之间的关系,为研究短期负荷预测提供了新方向;文献[14]建立了电价-弹性系数矩阵,将电价与传统的负荷影响因素(天气、温度等)分开考虑,但是弹性矩阵的建立过程过于理想化,导致预测结果不够精确。
以上文献或考虑了实时电价的影响,将电价作为一种影响因素加入到传统的预测模型中去,但没有考虑用户历史用电行为;或考虑了用户的历史用电行为以及电价因素,但是预测采用预测模型较为粗糙,导致预测效果不够理想。
本文针对以上问题提出了一种基于K-means聚类的I-OS-ELM的新型负荷预测模型。预测过程主要分为两个部分:聚类和预测。聚类部分:利用K-means聚类算法寻找用户负荷曲线变化趋势之间的相似性,即用户用电行为之间相似性。预测部分:本文提出了一种能够自动寻找最优隐含层节点数和在线更新输出权值的神经网络:I-OS-ELM。通过算例部分的数据测试,证明本模型预测效果较为理想。
用户的用电负荷与其用电行为之间具有密不可分的联系,而用户的用电负荷曲线又代表了用户用电行为的主要信息[15-23]。本文将用户的典型的工作日曲线与节假日曲线首尾相连,构成一个48小时的典型负荷曲线,用这条曲线来代表该用户的历史用电行为。本文的预测思路分为:
Step1采用归一化后的负荷曲线聚类,即认为用户负荷曲线变化趋势一致为一类,与具体的负荷数据的大小和量纲无关。归一化过程采用min-max标准化。
Step2将归一化后的负荷数据进行K-means聚类,把每一类中负荷曲线的平均值作为该类中每个用户的负荷曲线。
Step3利用I-OS-ELM学习机对完成分类的每类用户进行负荷预测,对预测数据进行逆归一化求和得到实际负荷数据。预测流程如图1所示。
图1 用户负荷预测模型
本文将用户用电行为序列中的负荷曲线作为用户用电行为序列聚类的代表。利用用户历史负荷数据绘制用户用电的负荷曲线时采用循环平均法。
Step1求取每个样本用户在历史日内负荷数据的总和及其平均值。
Step2剔除偏离平均值较远的数据,重新计算样本用户的历史负荷数据平均值。
Step3重复以上两步,直至所有负荷数据都在平均值周围分布,得到典型用户的负荷曲线。
2.2.1K-means聚类
K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
对于初始输入的m个用户的负荷影响因素序列首先确定k个聚类中心μ1,μ2,…,μk,然后计算每个用电序列到初始聚类中心的距离(本文使用相量二范数度量距离):
di=‖xi-μj‖2
(1)
每个用电序列被归到距离最近的类中,对于每一类重新计算其中心:
(2)
式中:di表示第i个用电序列到第j类中心的距离;xi表示第i个用户用电行为序列;μj表示第j类的聚类中心;ci代表样例i与j个类中距离最近的那个类;ci的值是1到k中的一个。
每个用电序列根据新的聚类中心重新分类。重复上述步骤,直到聚类中心的位置不再发生变化。
2.2.2I-OS-ELM学习机
传统的ELM算法是一种单隐层前馈神经网络,相比于传统的神经网络(BP神经网络),具有不需要人为设置大量参数以及学习能力强等优点,但也存在两个不足之处:(1) 需要人为指定隐含层节点数,而隐层节点个数的又直接影响着训练结果。隐层节点个数太少,则不能达到良好的拟合效果;隐层节点个数太多,则会出现过拟合,泛化能力较差,若逐一尝试隐层节点数,则会浪费大量时间。(2) 无在线学习过程,当有新的训练数据被接收时,无法实时更新输出权重。I-ELM可以解决第一个问题,但是无法在线学习;OS-ELM可以在线学习,但是必须提前设置隐层节点数。因此本文提出了一种I-ELM和OS-ELM结合的新型学习算法:I-OS-ELM,可以兼顾I-ELM和OS-ELM 的优点。
I-OS-ELM的学习过程大体上可以分为两个步骤:
Step1利用I-ELM寻找最优隐层节点数Nfit。
Step1.1选择激活函数g(x)设置最大隐层节点数Nmax和期望学习误差ε,N=0,残差E=[e1,e2,…,eN]T。
Step1.2当N
Step1.3对每一个新增的隐层节点的权重ωN和偏置bN进行随机赋值,并计算相应的输出权重β(N)。
(3)
Step1.4计算新加入节点后的残差。
E=E-β(N)·HN
(4)
Step1.5重复Step1.2-Step1.4,直到N>Nmax或‖E‖<ε时,学习结束。
Step2利用OS-ELM在线学习输出权重β(i)。
Step2.1设置隐含层的节点数为I-ELM学习过程结束时的隐层节点数Nfit,随机赋值输入权值ω和神经元偏置b,通过少量样本计算输出权重β。
Step2.2设训练样本的个数为Ni,Ni可以为一个或多个,计算隐含层的输出矩阵Hi和输出权重β(i)。
(5)
当Ni=n,n≠1时,有:
(6)
其流程图如图2所示。
图2 I-OS-ELM学习机流程图
本文根据收集到的加拿大某地区居民200名用户7月到10月的负荷和实时电价数据,取7月到9月的负荷数据作为I-OS-ELM学习机的训练数据集,取9月到10月的负荷数据作为测试数据集(本文选取9月12日为展示样本)。
I-ELM和OS-ELM的相关参数设置如表1、表2所示。
表1 参数设置表
表2 输入数据表
经过实验,K-means聚类在k=3时,聚类效果最为理想,用户负荷曲线结果如图3-图5所示。
图3 第一类用户负荷曲线
图4 第二类用户负荷曲线
图5 第三类用户负荷曲线
图6给出了一天之中的电价变化趋势,用户的实时电价在图6曲线上加入一个随市场波动的随机变量来表示不同日的实时电价。图7给出了使用I-ELM、OS-ELM、I-OS-ELM三种学习算法的预测结果与实际负荷对比图。图8为三种学习算法的预测误差和对比图。
图6 实时响应电价
图7 9月12日实际负荷与不同方法负荷预测结果对比图
图8 不同方法的误差对比图
从图7和图8的预测结果可以看出,使用I-OS-ELM预测算法的效果明显优于单独使用I-ELM算法或OS-ELM算法。由表3可知,单独使用I-ELM算法时,预测的结果较为粗糙,最大误差为13.90%,平均误差为7.88%。这是因为I-ELM学习机不具备在线学习功能,不能随着训练数据集的加入,不断更新输出权重。单独使用OS-ELM算法时预测效果也不理想(隐层节点个数为15),最大预测误差为7.33%,平均预测误差3.07%。这是因为OS-ELM的预测效果直接与人为设置的隐层节点个数相关,隐层节点过多或过少都会使预测效果不够理想,并且在隐层节点个数的尝试过程会浪费大量时间。使用I-OS-ELM算法时,先用I-ELM算法寻找最优节点数,再利用OS-ELM算法在线学习功能可达到满意结果,最大误差3.54%,平均误差1.86%,且所用时间较短。
表3 2016年9月12日实际负荷与不同方法负荷预测结果对比
本文在综合考虑电价、用户用电行为以及预测模型的基础上,提出了一种新的用户短期负荷预测方法。用户的用电惯性包含在其历史用电行为之中,利用K-means对用户历史用电行为聚类能够使预测更加精确、科学。I-OS-ELM学习机兼顾I-ELM和OS-ELM的优点,能够在较短时间内迅速找到最优隐层节点数,并且能够随着训练数据块的加入,自我更新输出权重,不断优化。实例的预测结果也证明了本文所建模型可达到较为理想的预测结果,可作为供电公司制定供电方案时的参考依据。