曹 梦 刘宝成 何 金 张春晖 胡泉伟
1(国网天津市电力科学研究院 天津 300384) 2(国网天津检修公司 天津 300300)
随着我国电力工业的高速发展,电力系统已经成为日常生活中不可缺少的部分。截至2015年底,我国电网装机容量、发电量跃居世界第一,保证电力系统的稳定高效运行已经成为维持现代社会正常运作,保障人类正常生活以及推动社会经济高速发展的必要条件之一。总体而言,电力系统的运行质量在一定程度上决定着基础性产业的运作情况,而对于居民生活来说,电力系统的稳定性以及高效性又直接影响着人们的生活质量。由于电力产品不能贮存的特殊性,要求生产的连续性,即生产、销售、供应同时完成。为了保证居民的正常生活,同时节约发电过程中的运营管理成本,在实际生产中对用电负荷进行准确地预测具有十分重要的意义。而家用智能电表的普及,使得电网系统中沉淀了大量用户的用电记录,用电量预测的数据获取更加容易,成本更加低廉,而“互联网+电力”的大数据挖掘也能为精准用电提供基础支撑[1]。
在大数据背景下,由于电力企业信息化建设的不断推进及智能电力系统的不断普及,电力数据的增长速率将远远超出相关企业的预期,同时电力数据涉及多种类型的数据,这极大增加了电力大数据的复杂度和关联分析需求。另外对实时性要求较高,具有体量大、类型多、速度快等特征,也对电力大数据的分析带来了极强的挑战。在保持电力系统的持续稳定与高效的同时避免社会资源的浪费是居民用电系统规划以及运行管理的目标。因此对于用电需求进行有效的分析,并对居民用电量实现精准的预测具有非常重要的意义。近年来有很多学者基于用电量预测问题展开深入研究并取得了很多研究成果。但是传统的研究通常是基于宏观的角度,对一定范围内用户总体的用电情况展开的,较少考虑到用户个体用电行为差异。在模型中考虑用户的个体行为差异,才能对用户构建细粒度的个性化预测模型,从而进行准确的用户个体用电行为分析,这种基于用户用电行为的细粒度分析对于电力大数据来说是非常重要的。此外,基于一般的生活经验,很多研究会假设用户的用电习惯在短时间内是较为平稳的,因此通常认为预测日的用电量与最相邻的历史用电量信息相关性最大,但是这种假设忽略了居民的用电行为是具有周期性变化趋势的,在模型中考虑用户的这种行为特点有利于应对用电量发生周期性突变的情况,从而进行更加准确的分析和预测。只有对用户个体的各种用电行为特征进行准确的分析,才能更加深入地理解宏观用电需求变化的内因,从而制定合理的电力系统运营管理策略。
针对以上问题,本文基于真实家用智能电表数据,根据用户历史电力消费信息采用基于动态时间规整的K-中心点聚类方法对用户进行细粒度划分,并提出了基于前趋势相似度的BP神经网络模型对各子类用户用电行为进行预测,从而对用户用电量周期性突变的情况进行拟合,提高用电量预测的准确性。
用电量预测是以用户的历史电量消费信息为基础,综合考虑经济、社会发展状况、气候、气温、节假日、特殊事件等相关变量,对用户的历史用电数据进行分析和挖掘,探索不同用户用电量的内在联系及规律,对未来电力负荷做出一定的估计和预测。根据预测的时间跨度可将电力负荷预测分为超短期、短期、中期及长期预测。而基于范围尺度的划分又可以将电力负荷预测划分为民用、工业、商业、农业等不同使用范围。
为了更好地适应电力市场发展的需要,20世纪80年代至今,许多学者提出了相对准确和适应能力强的电荷预测方法。预测方法主要包括传统预测法和人工智能预测法。传统预测法主要是基于统计理论的时间序列分析方法。其主要思想是基于电力负荷形状及函数形式对负荷进行研究,此类方法认为是随机性导致了电力预测的不确定性,主要包括回归分析法,时间序列分析法等。人工智能预测的方法是伴随着人工智能技术的发展而兴起的,主要包括灰色预测法、专家系统预测法、人工神经网络法等。
在预测模型的选择上,吴潇玉等[2]采用灰色关联度判断与预测日的关联关系,输入预测日特征向量,建立基于随机森林算法预测模型。肖瑞菊[3]利用最小二乘支持向量机算法,结合粒子群优化算法,根据某地区的历史流量数据,总结流量变化的规律性,使得预测精度有所提高。熊盛华[4]利用BP神经网络模型构建了三种混合预测模型,并应用于中国海南省、澳大利亚新南威尔士州中等,并达到了较高精度。杨丹等[5]提出了一种支持向量回归的预测方法对付在消耗进行建模,同时提出一种基于遗传算法的两级改进算法以调整支持向量回归方法中的参数。Lou等[6]在神经网络算法的基础上提出了一种模糊随机变量模型来对含有不确定因素的用电量模型进行建模,利用该模型可以对于不确定的因素通过一次集成进行整体上的建模,而传统的神经网络或贝叶斯算法则是分开进行处理的,并且由于加入了不确定因素,其对输入数据的噪声的适应性也大大加强。郭瑞等[7]为全面提高负荷预测模型的性能,提出一种新型的结合互补集成经验模态分解(CEEMD)和小波核函数极限学习机(WKELM)的短期电力负荷组合预测模型。首先通过CEEMD将历史电力负荷数据自适应地分解为一系列相对平稳的子序列,对各分量建立小波核极限学习机的预测模型,预测各分量的负荷值并对其进行求和得到最终预测结果。
在预测模型的精度方面,Fan等[8]利用差分经验模型分解与自回归和支持向量回归的结合算法对电力模型进行预测,并在新威尔士州和纽约的电力数据中证明其准确性和可解释性。Wang 等[9]比较了BP神经网络、ELMAN神经网络、Fuzzy神经网络及Wavelet神经网络短期用电负荷预测表现的预测精度,发现BP神经网络算法在短期电力负荷预测上明显优于其他三种算法。Omer Faruk Ertugrul将递归极限学习机引入电力预测的领域,并证明了这种单隐层的前馈神经网络训练方法与其他采用机器学习的方法相比,其均方根误差有着近两倍的差异,同时,其训练时间也快的多[10]。
基于上述研究背景及前人的研究成果和经验,可以发现大多数的方法都是对用户总体的用电量进行分析和预测,而较少考虑到用户之间的个体用电行为差异,而这方面对于电力系统的生产调度和运营管理来说是非常重要的。考虑到电力用户群体庞大,且不同用户用电的行为模式具有较大的差异,本文首先根据用户的用电特征,采用基于动态时间规整及K-中心点聚类方法对用户进行划分;然后根据用户所在的子类,及同一子类用户用电信息,分别构建基于BP神经网络的预测模型,用于该类用户群体及个体的用电预测;最后针对BP神经网络无法探知用户用电行为中具有周期性突变点的问题提出了基于前趋势相似度的BP神经网络改进模型,提高用电量预测的准确性。
基于样本数据的时间跨度特点,本文将进行短期民用电力负荷预测。由于电力用户群体庞大,且不同用户用电的行为模式具有较大的差异,使用统一的预测模型无法捕获用户个体之间的差异性,导致对用户个体用电行为的预测具有较大偏差,而为每个用户建立一个预测模型所需的计算与储存成本过大,因此也是不现实的。基于以上原因,本文将对用户按照历史用电行为模式使用聚类方法进行划分,得到用电行为相似的用户,同时将差异过大的用户区别开。在此基础上再对每类用户分别构建基于BP神经网络的用电量预测模型,从而实现对具有不同用电行为的用户群体未来时段用电量进行准确预测。
传统的聚类方法是将用户的一段时间的每日用电量进行简单累加后,对用户一段时间的用电总量为基础进行划分,这样的划分方法忽略了用户用电时间序列的相似性和差异性,导致划分结果中总用电量相似而序列之间差异较大。而本文目的是进行时间序列预测,若子类序列差异较大将导致子类总体方差较大,这将直接影响时序预测的准确性,因此本文采用基于动态时间规整及K-中心点的用户每日用电总量的时间序列聚类方法,更大程度地保留原始用户的历史信息。对用户进行聚类需要满足如下条件:(1) 同一子类的用户个体之间具有相似的用电行为;(2) 不同子类的用户总体之间的用电行为有显著差异;(3) 一个用户仅能被划分到一个子类中;(4) 所有子类的并集为全体用户样本。
算法1K-中心点算法。
输入:N个样本数据U={u1,u2,…,uN},簇数目k
Step1随机选择k个用户对象作为初始中心点;
Step2计算每个对象到中心点的“距离”;
Step3将剩余的每个对象指派给“距离”最近的中心点所代表的簇;
Step4对每个簇计算每个点到该簇其他点的距离平方和,选择使距离平方和最小的点为新的簇中心;
Step5重复以上步骤,直至所有类簇的点不再发生变化。
输出:聚类结果,即样本的簇标签c。
按照上述算法对用户总体进行划分后,输出的结果中,同一子类的用户个体之间具有相似的用电行为,而不同子类的用户总体之间的用电行为有显著差异。然而K-中心点算法的一个重要部分是如何定义每个对象到中心点的距离,通常的做法是使用欧式距离。为了更大程度地保留用户的时间序列信息,本文采用动态时间规整算法(DTW)定义对象至中心点的距离。
DTW算法是以衡量两个不同长度的时间序列的相似度为目的的算法[11],该算法广泛地应用于孤立语音识别、数据挖掘和信息检索等诸多领域。
(1)
在Am×n中,定义弯曲路径为一组相邻矩阵相邻元素的集合,记为W={w1,w2,…,wk},矩阵中第k个元素wk=(aij)k。该路径满足以下条件,即:
(1) max{m,n} (2)w1=a11,wk=amn (3) 对于任意wk=aij,wk-1=ai′j′,0≤i-i′,0≤j-j′≤1,有: (2) 简而言之,就是采用动态规划思想寻找满足如下条件的最佳路径,即: (3) 通过上述方法定义各对象与中心点的距离,最终得到用户总体的划分。在此基础上可以对用户的用电行为进行进一步的分析和预测。 人工神经网络方法因其具有较高的预测精度,因此在用电量预测方面有着比较广泛的应用。人工神经网络是由大量的按照一定的规则连接人工神经元组成的复杂的人工系统。基于前人的研究经验,本文选择使用BP神经网络作为用电量预测模型。 BP神经网络是一种单向传播的多层前向神经网络,通过梯度搜索沿反梯度方向对各层的神经元从后往前逐层迭代修正其连接的权值,使得神经网络的实际输出和期望输出之间的误差均方值最小。由于Hornik等[12]已证明输入输出层采用线性激励函数,隐含层采用Sigmoid激励函数含有一个隐含层的人工神经网络可以以任意精度来逼近任何的有理函数。一般靠增加隐含层节点数来获得较低的误差比靠增加隐含层层数更容易实现,基于对训练效果的考虑,因此本文在设计BP神经网络时优先考虑只含有一个隐含层的三层神经网络。 与传统使用BP神经网络等算法预测用电量行为不同,本文的方法是建立在用户用电行为划分基础上的用电量预测,同一子类中用户电力消费习惯相近而不同子类用户的用电行为存在较大差异。因此本文根据各个子类,及该子类用户的用电信息,分别构建用电量预测模型。 具体而言,设神经网络的输入层的神经元数量为M个,故相应的输入向量Ii就是M维向量,输入神经元采用线性恒等激励函数,设隐含层包含的神经元数量为L,设f1为隐含层激励函数。输出层所含神经元数量为N个,激励函数记为f2,对应的期望输出为N维向量Oi。ωml为输入层神经元m到隐含层神经元l的连接权值,ωln为隐含层神经元l到输出层神经元n的连接权值。ϑl和θn是第l个隐含神经元与第n个输出神经元的阈值。 在信号的正向传递过程中,隐含层第i个神经元的输出为: (4) 输出层的第j个神经元的输出为: (5) 对第i个样本定义神经网络的学习误差函数为: (6) 推导各层之间的连接权值和阈值如下,从隐含层的第l个神经元到输出层的第n神经元的连接阈值的增量计算公式为: (7) (8) 进一步推导输入层的第m个神经元至隐含层的第l个神经元的连接权值和阈值。基于负梯度方向误差修正的BP算法公式: (9) (10) 根据已经求得的各层之间的相互连接的权值和阈值的增量,更新神经网络中的各个参数的值。对于每个训练样本,神经网络进行相应的修正可得: θn←θn+Δθjωln←ωln+Δωln (11) ϑl←ϑl+Δϑlωml←ωml+Δωml (12) 重复进行以上的修正规则,直到误差小于预先设定的值或者执行次数达到设定次数时停止。 在基于人工经验的BP神经网络的参考向量选取模型中,假定在一段时期内人的用电行为是稳定的,因此预测日的用电量仅与之前连续一段时间的历史用电数据有关。但现实情况并非如此,基于经验所得的BP神经网络数据对于用电行为周期性突变的情况预测精度较差。在缺乏温度、气象、地理位置等信息的情况下,为了进一步提高预测的准确率,本文考虑对预测模型的样本输入进行选择,因此引入了基于前趋势相似度的BP神经网络预测模型。 假设xi和xj为初始样本空间的两天,其附近若干天的平均每日用电量如图1所示,若两段曲线有相似的变化规律,则认为xi和xj为为趋势相似日。将xi和xj附近若干天的平均用电量曲线形状的相似度定义为两日的趋势相似度。 图1 趋势相似度曲线 (13) 由于在实际预测过程中,预测日的用电量均值不是已知的,因此本文根据预测日前k天的每日用电量均值寻找预测日的趋势相似日。通常已知历史日前k日的平均用电量和预测日前k日的平均用电量值,通过计算历史日前日的平均用电量序列和前k日的平均用电量序列得到预测日的前趋势相似度。由于平均用电量序列趋势相似度的绝大部分数据包含于趋势相似度数据中,故可以采用前趋势相似度来代替趋势相似度而决定预测日的趋势相似日。 算法基本思想如下: (1) 从预测日最相邻的历史日开始至预测日前20日,逐日逆向计算预测日前k日序列及第N日前趋势相似值τiN; (2) 选择这20个前趋势相似值排序,最大的前趋势相似值输出进行排序,将最大值所对应的日期作为预测日的最优相似日。 (3) 将原始的输入参考向量替换为经过前趋势相似度值改造的输入向量,再经过上述的模型构建过程,得到最终的用电量预测模型。 本文所使用数据为某市部分居民2015年7月1日至2016年7月1日的用户用电记录。数据来自用户家用智能电表的采样,记录了每个用户一天的用电总量及尖峰平谷时段的用电数据。由于样本数据均为实际生产中的真实数据,数据采集过程中存在较多的干扰,部分用户部分时段存在用电数据缺失的情况。基于数据质量及算法性能的考虑,本文随机选取记录较为完整的200个用户进行实验,选取原始数据中2015年7月1日至2015年11月30日的日节点作为训练样本,选择2015年12月1日至2015年12月20日的用户样本作为验证样本。对于其中的缺失点或记录异常点,使用前三天的均值进行填充替换。为了使不同类型的数据能够更加平衡地作用于模型,需要对选取的样本数据进行归一化,本文采用的方法为线性归一化,将所有数据归一化至[0.1,0.9]。 基于验证数据集上的实验分析,本文将用户划分的数量设置为k=5。由于同一子类用户用电习惯相似,因此本文以每个子类中的用户在各个时间段内的均值作为训练神经网络的输入向量,最后用训练所得的模型分别对子类中的用户群体及个体进行预测。 神经网络的输入层与隐含层的激励函数采用S形激励函数,隐含层与输出层的激励函数采用线性激励函数。经过反复试验,最优学习率设置为0.035,隐层节点设为9,最大训练次数设置为1 000。 为了证明本文所述方法的预测性能,本文将该模型与其他几种方法的实验效果进行了对比,选择的方法如下: 自回归模型(AR) 自回归模型是利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型[13],它是时间序列预测任务中使用最为广泛的模型之一。本文选择实验效果最好的4阶自回归模型作为基准模型。 基于经验的BP神经网络(BP) 基于一般经验,用户的用电习惯在短时间内是较为平稳的,因此通常认为预测日的用电量与最相邻的历史用电量信息相关性最大。在基于经验的BP神经网络中,其输入变量为与预测日相邻的连续历史时段的用电记录。 基于前趋势相似度的BP神经网络(TSBP) 本文所提出的改进模型,即利用前趋势相似度对输入变量进行选择的BP神经网络模型。 为了分析本文所提出的模型的预测性能,本文拟采用如下三个误差评估指标: (14) (15) (16) 其中,前两个衡量的是预测结果的绝对误差,第三个衡量的是相对误差,这三个评价指标均是数值越小,表示模型的性能越好。 本文所提出的方法首先将用户总体进行划分,然后再以各个子类整体建立基于前趋势相似度的用电预测模型,得到的模型可以用于用户个体和用户群体的用电量预测。 首先展示本文所述的TSBP模型在基于用电行为划分方法得到的用户个体上的实验结果。从表1中可以看出,本文所述方法在对用户个体的预测过程中可以保持相对较小的绝对误差上和相对误差。其中簇类1的MAPE值较大,这是由于用户的真实用电量过小导致的,而从MAE的数值上可以看出预测在数值上绝对误差是很小的,这说明本文的预测方法是有效的。 表1 TSBP模型实验结果 为了直观地展示本文模型对用户个体的预测效果,本文从样本数据中随机抽取一组用户个体的用电记录进行检验,得到对于用户个体的用电量预测结果与实际用电量对比如图2所示。从图中可以看出本文模型对于用户个体的用电行为也可以较好地进行预测。该结果从侧面显示出本文的用户划分方法是有效的,因为每个用户群体需要共享同一个预测模型,该模型能够较好地拟合该群体中用户个体的用电行为,说明本文的方法能够较好地对用户的用电行为特征进行提取并充分利用。 图2 随机抽取部分用户预测结果与实际用电量对比 为了展示本文提出的基于用电行为划分以及预测方法的有效性,此处将本文模型的实验效果与基准方法的实验效果进行对比,其结果如表2和表3所示。表2显示的是进行用户行为划分和未进行用户行为划分的对比结果,表3显示的是自回归模型以及基于经验的BP神经网络与本文所提出的模型的对比结果。表2中的实验结果清晰地显示基于用电行为划分的预测模型在预测效果上优于未进行用电行为划分的预测模型。这说明本文所述的方法能够准确地提取用户的用电特征并进行区分,从而有助于对用户用电行为进行进一步的细粒度的个性化分析。这种做法相对于传统的不做区分的预测方法具有一定的优越性。而从表3中可以看出BP神经网络的预测效果在整体上优于自回归模型,这说明本文选取的预测模型具有较好的预测性能,能够较为准确地拟合用户的用电行为。基于前趋势相似度的BP神经网络模型优于基于经验的BP神经网络模型,说明了本文所提出的假设是具有合理性的,即未来时段的用户用电行为不仅与其相邻的历史时段用电量有关,而且与其他时段的历史用电量也有较高的相关性,用户的用电行为不仅具有连续性,还具有一定的周期性和趋势性,利用这种周期性和趋势性,对于用电量产生突变的时刻也能较好地拟合用户的用电行为。 表2 是否使用用户行为划分方法的实验结果对比 表3 基准模型与TSBP模型预测效果对比 为了方便实验效果的对比与展示,此处随机选择其中一个子类,对该用户群体的用电量总体情况预测结果进行对比与分析。图3为该用户群体在用电量突变点附近基于经验的BP网络与基于前趋势相似度的BP网络的预测效果对比图。该图直观反映出对于第五天用电量产生突变时,基于趋势相似度的BP神经网络预测模型更加能够捕捉到这种突变的发生,从而提升预测的准确性,因此本文将原始的输入向量经过前趋势相似度值进行改造是合理的。 (a) 基于趋势相似度的模型预测结果 (b) 基于经验的模型预测结果 图3 用电量突变点处的模型预测效果对比 在智能电网普及的大数据背景下,准确地对未来时段的用电量进行预测对于维持生产生活的稳定有着十分重要的意义。本文为了降低根据居民用电的随机行为对实验结果的影响,同时更大程度地保留居民历史用电信息,采用基于DTW(动态时间规整)距离的K-mediods聚类方法对总体用户样本进行聚类,得到若干个子类;然后在各个子类分别建立BP神经网络模型对该类用户总体用电量和用户个体用电量进行预测;最后,利用前趋势相似度改造模型的参考向量,对原始BP神经网络模型进行改进,预测精度明显上升。 但是由于缺乏地理、气温、气象等信息,本文所涉及的模型还具有一定的局限性,可能对模型预测准确率有一定程度的影响,在后续的研究工作中将对模型进行进一步的改进,以期达到更好的预测效果。2.2 基于前趋势相似度的BP神经网络的用电量预测模型
3 实 验
3.1 数据概况与预处理
3.2 实验设置
3.3 对比方法
3.4 评价指标
3.5 实验结果
4 结 语