做最好的博客模板

基于非侵入式负荷监测的住户用电行动分解

  1.新能源电力系统国家重点实验室(华北电力大学),北京市 昌平区 102206

基于非侵入式负荷监测的住户用电行动分解

  周明(1967),女,教授,博士生导师,通信作者,主要研究方向为新能源电力系统分析与优化运行、电力市场、需求响应等,E-mail:

  对基于非侵入式负荷监测的居民用电行为分析方法进行了研究。首先,设计了一种基于滑动窗的事件探测算法,并以负荷电流奇次谐波幅值为特征建立负荷特征库,提出基于Adaboost的BP神经网络负荷识别算法,集成多个BP神经网络以提高识别准确率。然后,利用负荷识别结果对用户总功率信号进行分解,得到各个电器具体的用电信息,并结合分时电价,得到居民用电行为的详细分析结果。最后通过实际居民用户数据验证所提方法的有效性,并从家庭节能和需求侧管理两个方面给出了优化用电建议。研究成果对实现居民用户与电网友好互动提供了决策支持。

  关键词 :非侵入式负荷监测;用电行为;优化用电;Adaboost;BP神经网络;

  随着人民生活水平的不断提高,城乡居民用电量快速增长[1],已成为电网高峰负荷乃至尖峰负荷的重要组成,给电网安全运行带来了挑战[2]。高级量测体系(advanced metering infrastructure,AMI)的建立和智能电器在家庭中的普及为居民用户参与电网调峰等友好互动创造了条件。因此,利用居民用电数据对居民用电行为进行精细化分析是发挥其需求响应潜力的基础[3-4]。

  目前,对用户用电行为的研究主要是对采集到的大量用电数据进行挖掘,从中分析用户的用电特征[5-8]。通过对居民日常负荷曲线进行聚类,分析其整体的能耗类型和用电特性,未具体给出家庭内部各电器的用电情况和详细用电行为,难以落实到用户与电网的互动实现上。为了对居民用户用电行为进行精细化分析,本文提出利用非侵入式负荷监测(non-intrusive load monitoring,NILM)技术来分析用户的用电行为。

  NILM只需要在用户电力入口处安装负荷监测装置,进行负荷识别和用电行为分解得到用户内部各类电器准确的用电信息。NILM因其可以方便快捷的获得家庭详细的用电情况,在线监测用户的用电行为,实现用户与电网实时双向互动,已成为目前国内外研究的热点。其中在负荷辨识方面,文

  献[9]采用模式识别方法,设计Fisher有监督负荷辨识方法,但只对电器进行归类,不能识别具体的电器。文献[10]根据负荷特征叠加原理,以负荷有功功率和3次谐波电流幅值为特征利用遗传算法实现对总信号的分解。文献[11]提出一种稀疏化欠定求解的负荷分解算法,从总负荷信号中分解出运行的电器,但该算法计算量较大,当负荷数量较多时难以实现实时监测。而在利用NILM 进行用电行为分析方面,目前国内的研究[9-11]主要停留在对负荷识别算法的探索上,少有利用NILM分析用户的用电行为;国外利用NILM统计各电器的用电信息、分析用户用电行为的研究也不多[12]。因此,利用NILM分析用户的用电行为值得深入研究。

  本文首先设计了基于滑动窗的事件探测算法,对电器投切进行检测,并提出了一种基于Adaboost的BP神经网络负荷识别算法。采用Adaboost算法训练多个BP分类器合成强分类器,对家庭启停电器进行准确识别。然后在负荷识别的基础上,对居民用电行为进行分解,统计分析各电器的用电信息,从而得到用户的详细用电行为。结合分时电价,计算各电器所用电费情况,为用户优化用电、参与电网互动,以及电网制定节能策略提供依据。经算例验证,本文设计的Adaboost-BP负荷识别算法准确率高,用电行为分解算法误差小,能够准确实现基于NILM的负荷识别和居民用电行为分析。

  利用NILM实现用户用电行为分析由负荷分类、用电行为分解及高级应用3部分组成。图1给出了基于NILM的用电行为分析系统架构。

  1)负荷分类。可以离线利用在电力入口处采集的大量历史数据,经过事件探测和特征提取得到各电器负荷特征样本建立负荷特征库,设计并训练负荷分类器,实现家庭电器非侵入式识别。

  2)用电行为分解。分类器训练完成后可安装在居民家庭电力入口处对总负荷信号进行在线监测,当事件探测算法检测到电器投切时,通过提取动作电器的负荷特征,由训练好的负荷分类器辨识出工作状态发生变化的电器种类;进而利用用电行为分解算法统计电器的用电信息,包含启停电器的类型、启停时间、消耗电能、所用电费等内容。

  3)高级应用。所设计的基于NILM的用电行为分析一方面可以将监测到的各电器的用电信息反馈给用户,便于用户进行家庭能量管理及参与电网互动;另一方面为电网公司或其他管理部门制定需求响应措施或电价等激励政策提供服务。

  Fig. 1 Implementation framework of residential electricity consumption behavior analysis based on NILM

基于非侵入式负荷监测的住户用电行动分解

  Fig. 1 Implementation framework of residential electricity consumption behavior analysis based on NILM

  负荷识别的第一步是检测是否有电器投切,本文设计了一种基于滑动窗的事件探测算法,通过计算滑动窗功率序列的方差和投切前后稳态功率差值,对投切事件进行检测。当检测到有电器投切后,提取投切电器稳态工作电流的奇次谐波幅值作为负荷特征,再利用Adaboost改进的BP神经网络负荷识别算法对提取的负荷特征进行识别。

  本文设计了含两次检测的负荷投切检测算法。第1次检测是判断功率是否突变及投切过程始点与终点的位置。首先对功率序列取滑动窗,在功率点Pj处取窗口功率序列S=[Pj-N…Pj…Pj+N],N为Pj两侧窗口长度,2N+1为滑动窗口总长度。由于当功率突变时,功率序列的波动较大,表现出较大的方差值,对S计算其方差Svar作为功率突变的判断量。此外非电器投切时正常功率波动的大小与功率水平有关,将αSmean作为功率是否突变的阈值以避免正常功率波动引起误检测,Smean为窗口平均功率,α∈[0,1]为阈值控制系数,本文取N=20,α=0.5。一般地,当窗口功率突变时有Svar≫αSmean,如附图1所示。因此,通过计算滑动窗口功率的方差和均值,可以判断窗口内是否发生功率突变。并通过不断滑动窗口,找到功率突变大致始点Pstart和终点Pend,如图2所示。同时考虑两侧窗口长度N,可得到较

  Fig. 2 Event detection based on sliding window

基于非侵入式负荷监测的住户用电行动分解

  Fig. 2 Event detection based on sliding window

  第2次检测是进一步判断是否有投切事件。当检测到有功率突变后,用突变前后稳态功率的差值进一步判断该突变是投切事件还是其它电器稳态工作时的功率波动。

  为突变前后稳态功率差值设置功率阈值θ,若∆Pθ,认为有投切事件发生,否则认为没有事件发生。θ的取值应考虑所监测电器的功率及其它非电器投切引起的功率波动。在本文算例研究的9种电器中,考虑到功率最小电器的有功功率PLmin=60 W,再考虑居民负荷正常工作的功率变化干扰,同时为负荷投切阈值留出一定裕度,因此可取功率阈值为15W~0.8PLminW,本文取阈值θ=20 W。探测到事件发生后,以电器投切前后电力入口处稳态电流值之差作为投切负荷稳态工作电流样本,供提取负荷特征使用,并记下电器类别作为负荷样本标签。

  电器负荷特征通常分为稳态特征和暂态特征[13]。但由于提取暂态特征需要采样频率极高的设备及大容量的数据存储装置,会极大地增加成本,不适合用于居民负荷的分解。本文选择电器稳态工作时电流谐波幅值作为负荷特征,即对事件探测中提取到的负荷电流样本进行傅里叶级数展开,将各次电流谐波幅值xi作为负荷特征,得到负荷特征样本,记为x=(x1,x2,…,xn),即用于负荷识别的电器样本用n维特征向量x表示 。本文以幅值较大的前9次谐波中奇次谐波电流幅值作为负荷特征,即n=5。

  BP神经网络[14-15]是一种有监督分类器,在训练时,以负荷特征样本xi=(xi1,xi2,…,xin)作为输入,样本标签yi为期望输出,学习各类电器的负荷特征,建立负荷特征与电器类别之间的映射关系。

  在进行负荷识别时,根据建立的负荷特征与电器类别的映射关系对待测样本进行映射,从而确定待测样本的类别。但BP网络易陷入局部极小点,对于特征相近电器容易识别错误,且BP算法对训练集样本结构敏感,数量较少的电器样本往往得不到充分学习。为了提高BP神经网络的学习能力,降低对训练集样本结构的敏感性,进而提高算法识别能力,故使用Adaboost算法对BP网络进行改进。

  Adaboost 算法是机器学习领域中解决分类和回归问题[16-17]的重要算法,用Adaboost改进的BP负荷识别算法就是将BP神经网络作为弱分类器,建立多个BP分类器并用训练集负荷特征样本对各个BP分类器逐一进行训练,增加识别精度低的样本的权重,减小识别精度高的样本的权重,并在训练完成后将多个BP分类器合成一个强分类器,能有效降低算法对训练样本结构的敏感性,加强对易误判样本的识别能力,有助于提高负荷整体识别准确率,Adaboost-BP算法具体步骤如下:

  步骤1)利用提取到的负荷特征样本组成训练集X={x1,x2,…,xm},各负荷样本对应的电器种类组成标签序列Y={y1,y2,…,ym}作为期望输出,例如y1即为负荷样本x1对应的电器种类。为训练集X中每个负荷特征样本赋权重,初始化时样本的权重相同。

  式中d1i=1/m为样本的初始化权重,i=1,2,…,m,m为训练集中负荷特征样本的个数。

  步骤2)用训练集样本训练第t个BP弱分类器It。并根据It的分类结果Gt={y°1,y°2,…,y°m}与期望输出Y比较得到分类错误样本,并由分类错误样本的权重计算第t个分类器的分类误差。

  式中:l为分类错误的样本;L为分类错误样本集合;Dt(l)为第t个分类器分类错误样本l的权重。

  步骤3)根据It的分类误差计算该分类器的权重系数Wt,同时根据分类器It的分类误差调整下一个分类器It+1的训练集样本权重Dt+1。

  步骤4)继续执行步骤2)—3),直到T个弱分类器训练完。利用训练完成的T个BP弱分类器对待测负荷样本进行识别,综合T个分类器的识别结果给出负荷识别的最终结果。

  本文采用负荷识别准确率来评价负荷识别算法的性能,电器A识别准确率Aacc是指算法对电器A识别正确的样本个数占该电器样本总数的比例。

  式中:MA为电器A待识别样本个数;\({{{M}}_{A}}\)为算法对电器A的样本进行识别后识别正确的样本个数。

  用户的用电行为是指在什么时间用了什么电器产生了多大负荷,但由于目前技术的限制难以实现如此细致的分析[18]。而通过NILM技术可以方便的监测各电器的用电情况,进而可以对各电器的用电信息包括电器使用顺序和启停时间、各电器用电量及电费等进行统计,以得到用户准确的用电行为。

  将设计的事件探测和负荷识别算法用于居民用电行为在线分解,对电器的启停时间及种类进行监测。用电行为在线分解时,利用用户电力入口处总有功功率信号的实时变化来进行事件探测,当探测到有电器投切时,记录事件发生的时刻作为电器启动或停止的时间。同时提取投切电器的负荷特征,利用所设计的Adaboost-BP分类器进行负荷识别得到投切电器的种类。

  对用户与电网来说,除了要了解家庭中电器的使用顺序和启停时间外,还关心电器每次运行的功率及耗能情况,这些用电信息对优化用电行为,实现负荷转移和调度,完成需求侧管理有重要作用。

  在利用NILM技术识别出电器的启动时间和电器种类后,即可对该电器运行功率和消耗的电能进行实时监测。当识别出某电器启动后,记录下该电器的启动时间及启动前后的功率,并把功率差值作为该电器的运行功率,与时间积分即可实时监测电器的用电量,如图3所示。

  和\({{t}_{0}}\)分别为电器启动前一测量点的功率和时间;\({{P}_{i}}\)和\({{t}_{i}}\)为第i个测量点处的功率和时间;N表示在电器运行期间测量点的个数。耗电量的计算频率为1 Hz,当识别出该电器停止后,停止耗电量计算,并记录下电器停止运行的时间,因此可得出电器此次运行的启停时间、运行时长、耗电量等用电信息。

  Fig. 3 Power consumption calculation of an electrical appliance

基于非侵入式负荷监测的住户用电行动分解

  Fig. 3 Power consumption calculation of an electrical appliance

  为了评估算法从总功率信号中对各电器进行用电量分解的正确性,利用文献[19]中提出的“电量误差”指标进行验证。

  式中:W1为NILM监测到的家庭用电量;W0为家庭实际用电量;ε为监测电量与实际电量的误差。

  在利用NILM对各电器用电量进行实时监测的基础上,还可以结合实时电价,计算得到各电器每次运行的用电费用,将电价和各电器用电费用呈现给用户,有助于用户清楚的了解各电器的花费情况,进而主动优化用电行为,响应电网需求。另一方面,还可以研究居民用户对不同电价机制的响应情况,有利于相关部门针对居民用户设计合适的电价套餐或激励机制,以引导用户参与电网削峰填谷。

  20]进行验证。采用2.1节提出的事件探测算法对居民家中9类电器的投切情况进行检测,共检测到832次投切事件,对每一投切事件提取一组电器稳态工作时的电流样本,进行傅里叶级数展开取幅值较大的奇次谐波电流幅值作为负荷特征。从得到的各电器的负荷特征样本中随机选择550组数据作为训练样本,剩余282组负荷特征作为测试集样本,两个数据集均包含9类电器样本。其中冰箱某工况(冰箱具有多个工作状态)与浴室顶灯或卧室灯稳态电流波形相似,使两组电器具有相近的负荷特征,两组电器稳态电流波形如附图2所示。4.1.2 Adaboost-BP负荷识别算法性能分析

  。选取弱分类器个数为10个。Adaboost-BP负荷识别算法的训练时间为78 s,单个电器识别时间为1.82 s,识别速度较快,能够实现居民负荷在线监测。为了比较本文Adaboost-BP算法与其它典型算法的识别准确率,选取文献[9]中Fisher判别方法作为对比算法。BP、Adaboost-BP及Fisher判别3种算法对各电器识别准确率如

  所示。本文提出的Adaboost-BP负荷识别算法的整体识别准确率达到98.94%,除了厨房切碎机、浴室顶灯和卧室灯各有一个样本发生误判外,其余负荷样本均正确识别。在对两组特征相近电器的识别中,Adaboost-BP算法的识别准确率较高,且整体识别性能优于BP算法和Fisher判别算法。说明基于Adaboost的BP神经网络负荷分类器能够有效地对家庭电器进行准确识别。

基于非侵入式负荷监测的住户用电行动分解

  Tab. 1 Performance of the load identification algorithms

  本节采用数据集中某用户A相电路上7种电器在2011年10月20日12时到21日12时的用电信息进行验证。这24 h内的用电功率曲线

  图4 家庭24 h负荷曲线-hour load curve of a family

基于非侵入式负荷监测的住户用电行动分解

  根据测得的居民家中A相总功率信号,利用事件探测算法对电器投切进行探测,探测到24h内A相7种电器共运行63次,用第3节提出的用电行为分解方法得到各电器的使用顺序和启停时间。根据事件探测和负荷识别结果,利用电器用电量分解方法对电器的用电量进行计算,得到各电器的用能情况。如

  Fig. 5 Schematic diagram of electric energy disaggregation

基于非侵入式负荷监测的住户用电行动分解

  表2可以清楚地知道各个电器在1天内的运行次数、运行时长、耗电量等用电信息。由于该用户A相中电器较少且功率较小,因此1天的耗电量较少。但并不影响以此为例,来说明本文设计的负荷监测方法的有效性。监测电量W1=2.252 kW•h,实际用电量W0=2.241 kW•h,将分解结果代入式(13)的电器用电量分解评价指标,得到电量分解误差ε=0.49%,误差很小,表明本文设计的NILM系统可以高精度的实现家庭负荷监测与分解。Tab. 2 Electricity utilization information of each appliance

  Tab. 2 Electricity utilization information of each appliance

基于非侵入式负荷监测的住户用电行动分解

  所示。家庭中的大功率电器为厨房切碎机、空气压缩机和吹风机,但由于使用次数少,使用时间短,大功率电器的用电量并不多。相反,1天中用电量最多的是待机电器,用电量接近0.6 kW•h。待机电器的功率为40.5 W左右,虽然功率较小,但由于持续不间断运行,用电量依然很大。与此类似,冰箱运行时功率也较小,但由于频繁运行,用电量也较大。

  Fig. 6 Schematic diagram of electricity consumption for each appliance

基于非侵入式负荷监测的住户用电行动分解

  电器的用电费用同耗电量一样可以在线计算,当电器启动后,电器的耗电量1 s计算一次,在计算一次耗电量的同时,向电网查询该时刻的电价信息,计算出该时段的用电费用。该家庭A相各电器1天所用费用的占比如图7所示。可以看出,电费花销最大的电器依然为待机电器和冰箱,两者电费占总电费的78%。因此对于频繁运行的电器和待机电器要引起重视,制定有效的用电策略,注意节约用电。

  Fig. 7 Percentage of electricity bill for each appliance

基于非侵入式负荷监测的住户用电行动分解

  基于NILM的居民用电行为分析,可以给出用户具体的用电行为和各电器的能耗情况,将这些信息反馈给用户,用户从节约电能和减少电费支出的目的出发,结合自身用电情况可以主动对家庭用电进行优化。1)优化用电行为,根据给出的各电器的用电顺序,结合分时电价对各个用电行为进行评估,从中发现不合理的用电行为,进而调节电器的使用时间,达到节省电费的目的。2)减少电能消耗,根据得到的各电器的能耗情况,再考虑使用各电器与用户舒适度的关系,可从调整电器的使用方式以及电器选择等方面,实现电器节能。

  根据NILM用电行为分析得到的居民家中各电器的使用情况,可以帮助电网实时了解用户准确的负荷构成信息,包括负荷种类、功率以及可控性等,有助于采取有效的需求响应措施。结合当前电网的负荷需求情况,电网公司可以向用户提出用电建议,并且随着双向互动服务和智能用能服务的不断完善,可以将用电建议及时发送到居民用户的电力智能终端。此外,电网公司也可根据居民用电信息建立相应的补贴和价格激励机制以鼓励用户参与需求响应,例如针对居民用户设计合适的电价套餐,引导用户合理用电,参与电网负荷的削峰填谷。

  提出了一种基于NILM的居民用电行为分析方法。首先,设计了基于滑动窗的事件探测算法,能准确的确定电器投切位置并且能够避免系统噪声和小功率波动的干扰,实现对电器投切的准确检测。利用Adaboost算法对BP神经网络进行改进,加强算法对易误判负荷的识别能力,提高了负荷识别的准确率。然后,提出了基于NILM的居民用电行为在线分析方法,根据家庭负荷总功率实现了从事件探测、负荷识别到用电行为分解、用电信息统计各环节的功能,具有较强的实用性。利用基于NILM的用户用电行为分析结果指导用户优化用电行为,并为电网公司制定供需互动策略,更好的实现家庭能量管理和需求侧管理是本文进一步的研究方向。

  Fig. A. 1 Schematic diagram of event detection process based on sliding window

基于非侵入式负荷监测的住户用电行动分解

  Fig. A. 2 Waveforms of the appliances with similar steady state current

  Fig. A. 2 Waveforms of the appliances with similar steady state current