刘西昂,周赣,徐欣,李志
(东南大学电气工程学院,江苏 南京 210096)
随着我国城镇居民生活水平的提高,居民用电量飞速增长,2020年上半年新增用电量中居民用电的比例高达28%,对居民用户开展用电行为分析和双向互动的重要性日益凸显。针对居民用户开展需求侧管理技术研究及实践,是缓解电网供需紧张的重要解决途径[1—4]。居民侧双向互动服务的技术前提是居民电力负荷监测分解[5—6]。居民用户电热负荷功率大,耗电量多,且负荷特征相似,难以细化分解,因此典型电热负荷细化分解是居民电力负荷监测分解的重要组成部分,对其进行研究具有重要意义。
目前,居民电力负荷监测分解技术主要分为侵入式负荷监测分解(intrusive load monitoring and disaggregation,ILMD)和非侵入式负荷监测分解(non-intrusive load monitoring and disaggregation,NILMD)两大类[7—10]。NILMD首先由Hart教授在上世纪80年代提出,用1 Hz频率采样电力负荷有功和无功的变化序列,然后采用聚类识别算法对负荷状态进行分解[11—12]。文献[13]提出利用负荷印记电压-电流(V-I)轨迹对负荷进行分类。由于电热类负荷均是通过电阻发热的原理工作,负荷特征相似,通过V-I轨迹很难把不同的典型电热负荷细化分解出来。文献[14]提出了一种基于小波设计和机器学习的NILMD算法。文献[15]提出了一种深度神经网络模型的NILMD算法,但是这种算法仅仅研究了电水壶的分解方法,并没有对其他电热负荷进行研究。文献[16]提出了一种基于事件的图象信号处理NILMD算法,但是电热类负荷特征相似,波形图像也非常相似,因此很难区分不同的电热负荷。
综上所述,国内外研究机构已经研究了多种负荷的负荷特征和分解算法。但是由于电热类负荷多为通过电阻发热工作,启停时几乎不产生无功功率以及电流谐波,电气负荷特征相似,所以现有的NILMD算法均不能有效地细化分解电热类负荷,亟需进行更加深入的研究。
因此,文中提出了一种基于三维特征向量的典型电热负荷细化分解算法,首先采用事件检测方法把电热事件提取出来,然后根据电热负荷的有功功率、频繁启停次数、运行时长3个负荷特征构建三维特征向量,最后根据电热负荷细化分解算法有效实现了4种典型电热负荷的分解。
电热类负荷通常与其他电器叠加在一起,若不将电热负荷事件分离出来,很难将其直接细化分解。因此,文中先将电热负荷事件分离出来,再对分离出的电热负荷事件进行细化分解。
文中所提出的电热负荷细化分解算法主要包括2个步骤:第一步是将电热负荷事件从用户的叠加负荷中分离出来;第二步是将分离出来的电热负荷事件进行细化分解,识别出电热事件所对应的具体电器。其中,分离电热负荷事件包括事件检测、事件匹配和电热负荷事件分离条件判断;电热负荷事件细化分解包括构建三维特征向量和设计典型电热负荷细化分解算法。算法具体流程见图1。
图1 电热负荷细化分解算法流程Fig.1 Flow chart of electrothermal load detailed disaggregation algorithm
负荷特征主要由稳态功率特征、稳态谐波特征构成。其中,稳态功率特征包括稳态有功、无功功率变化;稳态谐波特征主要包括电流高次谐波幅值[17],其中,电流二次和三次谐波是幅值最大的高次偶次和奇次电流谐波[18],因此文中选择电流二次和三次谐波作为稳态谐波特征。
电热负荷通过电阻发热的原理工作,有功功率较大,启停时无功功率和电流谐波的变化量几乎为零。因此,文中通过有功、无功功率和高次电流谐波的变化量来提取电热类电器事件。
综上所述,文中选择有功功率P,无功功率Q,二次谐波电流I2,三次谐波电流I3作为提取电热事件的特征。
用户负荷一般为多类型负荷的叠加,高次谐波电流也一般是综合叠加电流,仅仅通过判断高次谐波电流幅值难以分离出电热负荷。因此,文中通过抓取电器开启和关断时刻有功、无功功率和二次、三次谐波电流幅值变化量,即通过负荷特征的阶跃来获取负荷特征值。即使多个负荷同时运行,电热负荷事件也能被分离出来。
文中以800 Hz的频率采集电压电流原始数据,计算后获得有功功率、无功功率、二次和三次电流谐波的10 Hz特征量序列。其中,电流谐波是通过取0.1 s内80个点对电流做快速傅里叶变换得到的。在0.1 s内同时有多个电器开启或者关断的概率可忽略不计。
文中先通过事件检测和事件匹配2个步骤提取负荷事件,若满足电热负荷事件的判断条件,则将提取出的事件确定为电热负荷事件。
2.2.1 事件检测
定义在任意时刻t的电气负荷特征为:
V(t)={Vt,1,Vt,2,Vt,3,Vt,4}
(1)
式(1)表示在t时刻采集4个电气负荷特征,依次为有功功率、无功功率、二次电流谐波和三次电流谐波。定义在t时刻的电气负荷特征阶跃为:
(2)
式中:Vi为负荷的第i(i=1,2,3,4)个电气负荷特征阶跃序列。
文中用负荷的有功功率特征序列来判断电器的状态是否发生变化,即V1(t)。
(3)
即使电器状态没有发生变化,电器运行过程中也伴随着难以避免的有功波动,因此有功功率的变化量也不为0。文中只研究电热负荷,因为电热负荷的有功功率都远大于30 W,并且电器的有功波动都小于30 W,因此文中将有功阈值确定为30 W。
2.2.2 事件匹配
当电器开启时,V1(t)>0;当电器关闭时,V1(t)<0。若二者的功率变化之和小于ε,则认为V1(t)与V1(t+n)匹配成功,t时刻电器开启,t+n时刻电器关闭[9—10],即:
|V1(t)+V1(t+n)| <εn>0
(4)
式中:V1(t)为在t时刻负荷的有功功率变化值,V1(t)>0;V1(t+n)为在t+n时刻的有功功率变化值,V1(t+n)<0;ε为一个趋近于0的数。
考虑到有功的波动及其他干扰,可将ε设为一个小于电热负荷最小功率的值,取2.2.1节中的功率波动阈值30 W。
事件匹配成功后,记录下此事件的有功功率阶跃、无功功率阶跃、二次电流阶跃和三次电流阶跃,以此判断是否为电热负荷事件。
2.2.3 电热负荷事件分离判断条件
电热负荷启停时有功、无功功率和电流谐波特征明显,因此,文中将其作为电热负荷事件的判断条件。统计电热负荷特征的大小范围,考虑扩大一定的区间,确定以下4个电热类事件提规则:(1)P>p;(2)Q p,q,i2,i3为电热负荷事件判断条件的阈值,p应取一个较大的值;q,i2,i3则应取一个很小的值。 电水壶、电热水器、电饭锅和电烤箱是用户最主要的电热类电器,文中只将这4种典型电热负荷作为研究对象。 我当头棒喝一般,用镜头瞄准孩子们与妹妹,还有那一盘西瓜,猛按快门,一张接一张,我看着不懂人类适者生存的西瓜在记忆卡读取时鲜红无辜的样貌,心中觉得不忍,偷偷叹了口气。 3.1.1 特征量的选择 4种典型电热负荷的特征如表1所示。 表1 典型电热负荷特征Table 1 Typical electric heating load features 由表1可知,电热类电器分为保温类电器和非保温类电器两大类,区分二者的特征为是否频繁启停;有功功率是区分不同电热类电器最重要的特征;电器的运行时刻受用户习惯影响,不能据此分解出电器,而用户习惯却对电器的运行时长影响较小,并且不同电器的运行时长存在较大差异,可以此作为分解不同电器的依据;常规意义上的电器运行次数与终端识别出的电器运行次数并不等价,因此电器运行次数并不能反映出电器特征,也就不能据此分解出电器。 综上所述,有功功率、是否频繁启停和运行时长是电热类电器的3个主要特征,根据这3个特征,可以把4种典型电热负荷有效地分解出来。因此,文中选择这3个特征作为电热负荷细化分解的特征量。 3.1.2 构建三维特征向量 文中引入频繁启停次数的概念,定义为一个电器在一次完整的运行过程中出于保温或者其他目的频繁地开启关闭的次数。如果某一匹配的电器开启时刻与上一电器关闭时刻的间隔太短,即不超过5 min,则认为2次启停匹配属于同一个电器,并且将频繁启停次数增1。 文中的三维特征向量S定义如下: S=[S1,S2,S3] (5) 式中:S1为有功功率;S2为频繁启停次数;S3为运行时长。 3.2.1 电热负荷细化分解命题学习规则 机器学习中的规则通常是指语义明确、能描述数据分布所隐含的客观规律或者领域概念,可写成“若……,则……”形式的逻辑规则。规则学习是从训练数据中学习出一组能用于判别未见示例的规则。形式化地看,一条规则形如: ⊕←f1∧f2∧…∧fkk=1,2,… (6) 其中,逻辑蕴含符号“←”右边部分称为“规则体”,表示该条规则的前提,左边部分称为“规则头”,表示该条规则的结果。规则体是由规则文字fk组成的合取式,其中合取符号“∧”用来表示“并且”。每个文字fk都是对示例属性进行检验的布尔表达式。 文中采用序贯覆盖法从电热负荷数据集学得规则集合R: (1)规则1:电水壶←f1(S1)∧f2(S2)∧f3(S3); (2)规则2:热水器←f1(S1)∧f2(S2)∧f3(S3); (3)规则3:电饭锅←f1(S1)∧f2(S2)∧f3(S3); (4)规则4:电烤箱←f1(S1)∧f2(S2)∧f3(S3)。 3.2.2 电热负荷细化分解算法流程 根据从电热负荷数据集中学到的规则集合R,文中提出了基于三维特征向量的典型电热负荷细化分解算法,算法流程如图2所示。 图2 典型电热负荷细化分解算法流程Fig.2 Flow chart of typical electrothermal load detailed disaggregation algorithm 其中,M1为判断电器是否是频繁启停电器的阈值;M2,M3为确定电器是电烤箱或者电饭锅的频繁启停阈值;P1~P7为判断各种电器的有功功率阈值;T1~T6为判断各种电器的运行时间阈值。 文中先把电热负荷事件提取出来,国内外的大部分研究只能做到这一步,即能够识别出电热负荷,但是不能将电热负荷细化分解为具体的电器。而文中提出的基于三维特征向量的典型电热负荷细化分解算法,则可在提取出来的电热事件的基础上,有效地细化分解出4种典型电热类负荷。 文中在常州某小区,以800 Hz的频率采集了50户家庭30 d的电压电流原始数据,计算得到功率和谐波的值并提取负荷特征,获得了有功功率、无功功率、二次谐波电流和三次谐波电流的10 Hz特征量序列。然后通过负荷特征序列提取电热事件,最后根据文中的典型电热负荷细化分解算法分解4种典型电热负荷。 文中仅仅将负荷识别类型作为负荷分解准确性的指标。如果能正确识别出电器的类型,那么目标电器的耗电量也随之确定。因此,负荷分解的准确性可由是否识别出目标电器来衡量,不需要考虑目标电器耗电量的准确性。因此,这是一个典型的“分类”问题。 采用合适的评价指标对于评价NILMD的效果是至关重要的。文中采用机器学习中总结分类模型预测结果的混淆矩阵相关评价指标来评估文中的算法。 召回率Re为: (7) 精确率Pre为: (8) 准确率A为: (9) F1值为: (10) 其中,混淆矩阵的4个变量的含义如下[19]。 (1)MTP:预测值和真实值都为1; (2)MTN:预测值和真实值都为0; (3)MFP:预测值大于0,而真实值等于0; (4)MFN:预测值为0,而真实值为1。 1代表包含目标电器,0代表不包含目标电器。 文中需要先确定电热负荷事件提取判断条件参数,再确定典型电热负荷细化分解算法中各个参数的取值。 4.2.1 计算电热负荷事件判断条件参数 文中采集了20户家庭不同品牌不同型号的电热负荷共100个,统计了电热负荷启停时的有功、无功功率和电流谐波的大小,如图3所示。 图3(a)选取了4种典型电热负荷的有功功率特征,图3(b)选取了过滤开启脉冲后,无功功率和电流谐波最大的一组数据,与图3(a)相对应。由图3可知,电热负荷有功功率皆大于900 W,无功功率小于50 var,二次谐波电流I2小于0.12 A,三次谐波电流I3小于0.12 A。 图3 电热负荷特征量波形Fig.3 Electrothermal load characteristics waveforms 因此,考虑留出一定的裕度,电热类事件提取规则为:(1)P>500 W;(2)Q<50 var;(3)I2<0.2 A;(4)I3<0.2 A。 4.2.2 计算电热负荷细化分解算法参数 文中构建了包含电水壶、热水器、电饭锅、电烤箱和其他电器的三维特征向量电热负荷数据集,其中电水壶、热水器、电饭锅和电烤箱各有500条数据,其他电器有200条数据。 通过序贯覆盖法得规则集合R为: (1)规则1:电水壶←(S1>1 300)∧(S1<2 000)∧(S2<2)∧(S3>2)∧(S3<8); (2)规则2:热水器(即热式)←(S1>2 500); (3)规则3:热水器(储水式)←(S1>1 500)∧(S1<2 500)∧(S2<2)∧(S3>15); (4)规则4:电饭锅←(S1>600)∧(S1<1 000)∧(S2>10)∧(S3>15); (5)规则5:电烤箱←(S1>1 500)∧(S1<2 500)∧(S2<10)∧(S3>20)。 根据规则集合R,文中整定出典型电热负荷细化分解算法中各个特征量的取值,即T1=10,T2=2,T3=8,T4=15,T5=20,T6=15;P1=2 500,P2=1 000,P3=1 300,P4=2 000,P5=1 500,P6=1 500,P7=2 500,P8=600;M1=2,M2=10,M3=10。 图4为某户某天的负荷特征量波形。由图4可知,电器有功功率为900 W,无功功率为0 var,二次谐波电流为0.06 A,三次谐波电流为0.06 A,电器开启时间为6.075×104s,关闭时间为6.295×104s,频繁启停次数为19。 图4 负荷原始波形Fig.4 Original load waveforms 故得到三维特征向量:S=[900,19,37]。 图5为其中一个用户某一天的负荷运行情况。 图5 用户负荷原始波形Fig.5 Residential load original waveforms 从图5获取的电热事件提取特征向量组如式(11)所示,用V表示。提取特征依次为有功功率、无功功率、二次谐波电流和三次谐波电流。 (11) 根据电热事件判断条件,提取后的电热事件如图6所示。对应的三维特征向量组为: 图6 电热事件波形Fig.6 Electrothermal load edge waveforms (12) 将这个三维特征向量组代入典型电热负荷细化分解算法,分解结果依次为电水壶、电饭锅、热水器、热水器、热水器、热水器、电水壶、电水壶、电水壶。 以电水壶为例,MTP=4,MTN=5,MFP=0,MFN=0,对应的电水壶准确率即可根据式(7)—式(10)计算得到。 文中常州某小区50户30 d的典型电热负荷细化分解准确率结果如表2所示。 表2 电热负荷细化分解准确率Table 2 The accuracy of electrothermal load disaggregation 从表2可以看出,电热负荷细分的准确率都超过了85%,证明了文中电热负荷细分算法的有效性。表中,Pre的值普遍大于Re的值,说明没有细化分解出来的电热比分解错误的电热要多,这是因为电热叠加上其他电器时,在这种复杂工况下,有一部分电热很难成功细化分解出来。 在50户算例的分解分析中可知,电水壶的分解准确率最高,因其负荷特征比较明显,80%的电热水壶运行时长在5~8 min,功率在1 500~1 800 W,即使跟其他电器叠加也能比较容易地分解出来;即热式电热水器最主要的特征就是功率非常大,80%即热式电热水器功率都大于2 500 W,而储水式电热水器最主要的特征是运行时间长,70%都大于15 min;电饭锅和电烤箱最主要的特征是频繁启停运行,而电烤箱的功率较大,80%的电烤箱功率大于1 800 W,80%的电饭锅功率小于1 000 W。 文中所提基于三维特征向量的典型电热负荷细化分解算法,解决了电水壶、电饭锅、电烤箱和电热水器的细化分解问题。首先,基于有功功率、无功功率、二次电流谐波和三次电流谐波构建电热事件提取规则,以此分离电热负荷事件。其次,构建基于有功功率、频繁启停次数和运行时长的三维特征向量。接着,通过序贯覆盖法学习4种电热电器规则。最后,在三维特征向量和电热电器规则的基础上,设计电热负荷细化分解算法,实现了4种电热负荷的有效分解。 文中选择了4种电热负荷,实验结果表明,4种电热负荷的分解结果准确率均超过85%,证明了文中所提出的基于三维特征向量的典型电热负荷细化分解算法能明显提高电热负荷的分解准确率。 本文得到国网江苏省电力有限公司科技项目(J2021057)资助,谨此致谢!3 典型电热负荷细化分解
3.1 构建三维特征向量
3.2 设计典型电热负荷细化分解算法
4 算例分析
4.1 负荷分解准确性的评价指标
4.2 确定算法参数
4.3 构建三维特征向量示例说明
4.4 负荷分解结果
5 结语