家用非侵入式电力负荷监测与识别算法研究❋

2020-05-28 03:22波,
关键词:投切暂态稳态

殷 波, 张 帅

(中国海洋大学信息科学与工程学院,山东 青岛 266100)

智能电网技术是当前各国用电发展的焦点[1]。区别于传统电网,智能电网[2-4]具备更全面的电网细节信息,更有效的电网动态分析、诊断和优化,以及更精准的电网运营与管理。作为用电体系的一大主体,面向民用的智能电网技术成为热点问题。民用智能电网体系作为国家“坚强智能电网”的一部分,有利于促进居民关注用电,节约用电,深入了解居民用电需求与用电趋势,并与其它能源网相结合,实现更有效的能源互补体系。

负荷监测作为实现智能电网的第一步,须突破传统电表的功能限制,深入分析和获取居民用户内部负荷成分等信息。虽然侵入式负荷监测(ILM)的数据监测能力较好,但成本高,可操作性差[6-8]。相比较于ILM,非侵入式负荷监测(NILM)[9]借助负荷分解技术将总负荷信息分解为各个用电设备的详细信息,其成本较低,实施方便[5-7],但其监测与分解技术难度相对较大。为实现非侵入式负荷监测与辨识,首先需准确判别负荷投切的暂态事件。Ahmadi等[10]使用基于增量型负荷特征的方法对负荷进行暂态事件的检测,但难以处理同时性事件。Shaw等[11]使用事件前后的似然比测试对负荷进行暂态事件的检测。牛卢璐等[13]使用基于序贯概率比检验信号突变检测算法对负荷进行暂态事件的检测。根据暂态事件提取的负荷特征,黎鹏[14]使用了启发式算法求解稳态电流的分解模型对负荷进行暂态事件的检测,但该算法涉及负荷种类少,负荷分解偏差大。文献[15]中使用了基于信号包络的事件检测方法,它通过检测信号包络的变化,并修正窗口大小来进行事件检测。文献[16]中采用计算出的平均功率、变化点监测、拟合优度来检测负荷的活动情况。

本文提出了一种基于改进滑动窗的负荷投切事件辨识算法。该算法利用家用负荷的暂态与稳态特征,准确判断负荷投切事件并定位其稳定状态,算法实现简单,具备较强的抗干扰能力。在负荷辨识方面,本文使用了Adaboost算法,利用稳态负荷特征建立模型库对负荷进行辨识,并基于实测数据验证本文所提算法的有效性。

1 暂态事件检测

1.1 数据处理及负荷类型

本文使用实验室开发的硬件设备采集了11种常见负荷的数据。由于电流传感器温漂的原因,原始电流数据存在一定的无规律零漂现象,且噪声较多。以采集的台式计算机电流数据为例,原始数据波形如图1所示。

上述波形数据对本实验结果会产生较大的影响,因此我们需要对电流的波形数据进行修正。由于电流信号通常是周期性的,理论上单个周期内电流信号均值应接近零。利用这一现象,使用前一个周期数据均值对当前电流值进行修正,然后利用平滑滤波处理噪声,即可得到修正的电流波形(见图2)。

图1 未修正原始电流数据

图2 修正的原始电流数据

随后,对采集的负荷数据进行分析对比。提取4类波形状态,选取具有代表性负荷的电压电流数据,对其进行暂态事件检测。使用的负荷分别为台式电脑、柜式冰箱、微波炉和制氧机,其图形构成为:自上而下分别代表了投切及运行全过程电流数据、投入瞬间电流变化数据、运行过程部分电流波形数据、切除瞬间电流变化数据。其中投入瞬间电流变化数据、运行过程部分电流波形数据、切除瞬间电流变化数据是从投切及运行全过程电流数据中截取的部分时间段数据。

图3为台式电脑投切以及运行过程的电流波形,电脑是一类典型的低功率多状态负荷,其功率范围在几十至上百瓦之间。台式电脑的开启过程需经多个工频周期才能进入一个相对平稳的状态,且受电脑实时运算需求的影响,运行过程中的电流较难以保持相对稳定的状态。

图4为冰箱投切以及运行过程的电流波形,冰箱为家庭常见的低功率,常开负荷。冰箱投入的瞬时电流较大,且过程历经多个阶段的电流状态变化,共需约8 s 才能达到稳态。

图3 台式电脑原始电流波形

图4 冰箱原始电流波形

图5为微波炉的投切以及运行过程的电流波形,其投入的暂态时间约为2 s,投入状态接近结束时,电流峰值变动较为明显且运行过程中峰值电流波动较大,容易被误判为小功率负荷的投切事件。

图5 微波炉原始电流波形

图6为制氧机的投切以及运行过程的电流波形,其运行过程中,功率存在一定规律的波动,较难以确定稳态,容易被误判为小功率负荷的重复投切。

上述4类负荷相较于一般负荷,暂态过程与稳态过程的波形均存在不同的特点,具有一定的代表性,且不同负荷功率差别较大,难以利用普通的负荷投切算法进行投切状态识别。但这4类负荷也存在共性: 首先,负荷投切过程暂态时长虽不一致,但均有较明显的功率变化; 其次,负荷正常运行过程中,除个别异常状态外,负荷的功率在一定范围内波动。因此,负荷投切辨识算法应具备对不同特性暂态事件的泛化能力,并消除负荷运行过程中,功率波动及其它干扰带来的影响。

图6 制氧机原始电流波形

1.2 基于改进滑动窗的负荷投切辨识算法原理

本文提出了基于改进滑动窗的算法进行暂态事件辨识,定义窗口长度为l,表示储存当前时刻至前l个功率数据。传统算法以窗口均值与当前值做差或前后功率均值做差来判断负荷投切事件。但若存在运行过程中,功率波动或多状态负荷变换投入的情况,可能会出现误判。因此,设定窗口高度为2h,连续超界比r(0

本文以一个周期内的功率积分来描述一个功率信号,称为瞬时功率p,定义两个数据点之间的时间差为dt,周期为T,则有

如图7所示,当前时刻的功率值表示为这一段时间内的功率集合如式(1)所示:

(1)

图7 功率P(t)和前1个点时刻功率P(t-1)数据

为了避免负荷投入瞬间的功率异常和运行过程中可能出现的少数连续突变等情况的发生,本文使用了当前时刻功率最小值来表示滑动窗内的数据点,取P(t)中最小的nmin个功率值的均值作为当前时刻实际的最小功率,记为X(t),如式(2)所示。

(2)

算法1主要对最小功率与功率均值进行比较,记录连续超界个数用以进行暂态事件的检测。由于峰值电流在爬升与下降过程必然存在某点导数接近于0,使得峰值落在滑动窗内部的情况,因此两个判断语句中的Count不需分别统计。同时,为了防止功率连续超界情况的发生,当判定为暂态事件出现时,无需Count置0。

algorithm 1 Event detectionInput: p(t): Current value at current timeOutput: s(t):Switch state1: initialP(t)←{0},X(t)←{0},Xm←0;2: repeat3: CalXpAndXm(Xp(t),Xm)4: subX←Xp(t)-Xm5: if abs(subX)>ththen6: (t=t0+1)?Count++:Count←17: t0←t8: if Count=r*lthen9: s(t)←sign(subX)10: end if11: else s(t)←012: end if13: until Program termination

算法2主要实现了功率最小值及功率均值的计算,此处p(t)构造成环形数组的形式。计算均值时,只需减掉P(t-l)/l并加上P(t)/l。同理,构造Xp(t) 的环形数组并进行计算。

algorithm 2 CalXpAndXm1: if p(t-l)>min(X(t))then2: Ps←qsort(P(t))3: Xp←Sum(Ps(end-nmin:end))/nmin4: end if5: if p(t)>min(X(t))then6: X(t,1)←p(t)7: Xp←Sum(qsort(X(t)))/nmin8: end if9: Xp(t)←Xp10:Xm←Xm-Xp(t-l)+Xp(t)

1.3 算法可行性验证

为了验证本文算法的有效性,利用以上4类负荷的功率数据进行投切事件检测的仿真。设定h=15,r=0.5。提取功率波形数据,运行并分析结果如图8所示。

图8 台式电脑暂态事件检测

图8为台式电脑的功率波形,在台式电脑的投切事件检测过程中,约23 s处达到投入检测条件,判定为负荷投入事件。约99 s处电脑电源灯熄灭,算法正常检测电脑关闭过程。由此,证明该算法在功率小于60 W且运行过程存在功率波动条件下,对负荷的投切仍能较为准确地辨识。

图9为冰箱的功率的波形,在冰箱的投切事件检测过程中,由于冰箱投入过程较长,约9~17 s均为冰箱投入过程。在约14 s 附近达到投入检测条件确定为负荷投入事件,而后Px(t)虽出现约73 W的功率变化,但由于连续计数未满足条件而不发生暂态事件的判定。由于冰箱没有关闭键,约30 s直接拔除电源,算法正常识别为切除过程。证明该算法对如冰箱这类长时间启动负荷的投切检测效果也较为理想。

图9 冰箱暂态事件检测

图10为微波炉的功率波形,微波炉启动过程约2 s,约第10 s处达到投入检测条件,判定为投入事件。约33 s后手动旋转定时按钮关闭微波炉,被算法正常识别为切除过程。

图10 微波炉暂态事件检测

图11为制氧机的功率波形,制氧机的负荷投切状态较为明显,但运行过程特殊,功率不断呈周期性变化。约31 s成功识别为负荷投入。约137 s通过按钮关闭制氧机,被算法正常识别。运行过程中存在60 W左右的功率变化,证明该算法具备消除一定范围内非突变型功率变化的能力。

图11 制氧机暂态事件检测

实际上,电器投切过程的暂态波形各具特色。通过负荷投切过程中波形信号的进一步分析可提高负荷辨识与分解的质量。但如前所述,部分负荷运行过程中,功率波动较大。如图12所示,以制氧机为例,由于存在持续变化时长和变化范围的限制,在非人为操作下,负荷正常运行的功率将在一定范围内波动,不会被算法判定为暂态事件,避免了误判的发生。而部分多状态负荷自动切换状态的过程能够成功能被识别为对应的暂态事件。因此,使用改进滑动窗的算法能够有效地避免由于功率波动引起的误判,具备一定的适应能力和抗干扰能力。

图12 制氧机运行过程功率变化

由于存在诸如冰箱等需要长时间启动的负荷,以暂态事件后固定时长的时间点作为稳态特征提取点,进行特征提取,会存在一定的偏差。因此,本文利用与暂态事件算法同样的机理,将连续超界计数改为连续界内点计数。在负荷投切事件被算法识别时,启动稳态点检测算法。以冰箱和微波炉为例,设定h=5,r=0.5应用该算法得到的稳态点如图13所示。

图13 稳态点检测

其对应的投切和稳态判定时间如表1所示。

表1 稳态状态判断

Note:①Load;②Opening time;③Steady state time;④Closing time;⑤Steady state time;⑥Refrigerator;⑦Microwave oven

由此可以看出,该稳态检测方法也适用于从投入至到达稳态的中间过程较长的负荷。本文将提取稳态点附近的负荷特征数据,建立负荷特征样本库,进而进行负荷模型库的建立和负荷识别工作。

2 模型库建立与负荷识别

本文使用负荷运行过程中的稳态特征建立特征模型库本质上是多分类模型构建问题。实际应用中,分类效果较好的机器学习算法包括SVM[8]和Adaboost[12]算法等。而测试过程中发现Adaboost对稳态特征具有良好的识别效果,故本文采用Adaboost算法进行负荷识别。

Adaboost即Adaptive boosting,是较为流行的一种元算法,与bagging在技术上比较类似。所不同的是,Adaboost通过串行方式训练不同的分类器,每个新分类器都根据已训练出的分类器的性能进行训练,并通过权重表示对应分类器在上一轮迭代中的成功度,因而其分类器权重是不相等的。分类结果也是依据所有分类器的加权求和而得。

如图14所示,左栏为数据集。框中非等宽长条代表样本权重,经过分类器得到结果乘权值α,并累加求和,从而得到结果,其算法流程如下所示。

algorithm 3 Adaboost1: Training training sets to train weak classifiers2: α← 12 ln(1-εε 3: while ε !=04: D(t+1)i←D(t)i eαSum(D)5: D(t+1)i←D(t)i e-αSum(D)6:end while 7:The weighted sum of all weak categories is the re-sult of classification.

图14 Adaboost示意图

3 仿真实验

本文采集了台式电脑、冰箱、微波炉、制氧机、热水壶、电吹风、电磁炉、挂烫机、电饭煲、饮水机、电视机共11类负荷的实测数据,使用暂态事件识别算法检测负荷投切事件,以稳态判定点处提取的负荷特征数据作为训练样本,所提特征包括电流峰值,电流均方根值,电流峰峰值,电流暂态能量,平均功率以及谐波系数,采用Adaboost算法进行分类模型训练,并与SVM算法进行比较。为确保算法参数设定的合理性,利用网格遍历的算法对迭代次数和学习率进行参数优化。

3.1 单负荷暂态事件检测

设定暂态事件检测参数h=15,r=0.5。设定稳态过程判断参数h=5,r=0.5。每类负荷重复投切100次,记录负荷误判及漏判的次数,并将提取的稳态负荷特征添加到数据库中,以供分类算法使用。

如表2所示,台式电脑和制氧机在投切及运行过程中出现少量误判,负荷投切暂态事件检测的平均正确率达到99.54%,整体的误判次数有着明显的下降。实验结果表明,该算法对冰箱这类长时间启动的负荷有着很好的效果,同时对具有功率持续波动特性的制氧机以及多状态负荷台式电脑等负荷也有很高的准确率,证明了该算法有着良好的鲁棒性以及有效性。

表2 单负荷暂态事件检测

Note:①Load;②Sample size;③Opening number of misjudgments;④Closing number of misjudgments;⑤Process number of misjudgements;⑥Computer;⑦Refrigerator;⑧Microwave oven;⑨Oxygenerator;⑩Kettle;Hair drier;induction cooker;Vapor steamer;Rice cooker;Water dispenser;TV

3.2 多负荷混合暂态事件检测

为测试该算法应对多类负荷混合投切过程的有效性,对热水壶、挂烫机、制氧机、电吹风的混合投切过程进行测试。本测试以其触发时间以及检测状态为标准。

由表3可知,在多负荷混合投切过程中,只有制氧机的算法判定投入时间相比实际投入时间有所延迟, 其它类型的负荷的触发时间及检测结果都极为准确,突出了该算法的实时性以及准确性。

表3 多负荷混合暂态事件检测

Note:①Load;②Actual occurrence time;③Actual state;④Algorithm decision time;⑤Algorithm decision state;⑥Kettle;⑦Vapor Steamer;⑧Oxygenerator;⑨Hair drier;⑩Vapor Steamer;;Hairdrier;Oxygenerator;Kettle

3.3 分类算法比较

本文主要对Adaboost和SVM算法的负荷分类效果进行了对比验证。由于同一类负荷投切过程中对应的稳态负荷特征具有较大的相似性,因此将投入和切除提取的稳态特征合并后添加到数据库中,并且同一类负荷的投入和切除定义为不同的标签。利用Adaboost和SVM算法分别进行10次分类模型训练,取平均正确率,结果如表4所示。

表4 分类算法比较

Note:①Algorithm;②Training sample size;③Test sample size;④Accuracy rate

采用Adaboost算法进行分类模型训练时,其测试过程中正确率基本稳定在94%~95%之间,而应用SVM算法进行分类模型训练时的正确率则不稳定,最低12.57%,最高99.8%。如果只对投入样本集进行训练,或只对切除样本集进行模型训练时,两种算法正确率均保持在99%以上。因此,基于稳态负荷特征的Adaboost负荷识别方法具有较高的准确率和稳定性。

4 结语

本文提出了一种基于改进滑动窗的暂态事件检测算法,该算法能够较准确的识别负荷投切时间和稳态时间,具有实现简单且抗干扰能力强的优势。在负荷识别方面,本文采用投切检测算法提取的稳态负荷特征,并运用Adaboost算法进行分类模型的建立与测试验证。实验结果表明,该方法对于大多数家用负荷具有良好的分类识别性能。

但是由于此方法中存在功率阈值的设定,在通用参数的设定条件下难以实现小功率负荷暂态事件的检测。未来,我们将对小功率负荷进行更深层次的研究,以进一步提高算法的适用性和可靠性。

猜你喜欢
投切暂态稳态
可变速抽水蓄能机组稳态运行特性研究
同步发电机转子电磁暂态的准确表达
碳化硅复合包壳稳态应力与失效概率分析
基于李雅谱诺夫直接法的电力系统暂态频率稳定分析
基于全纯函数嵌入的暂态稳定网络方程算法
电厂热力系统稳态仿真软件开发
一种新型的拓扑识别设备
元中期历史剧对社会稳态的皈依与维护
电力系统全网一体化暂态仿真接口技术
投切过电压累积作用下干式空心电抗器匝间绝缘局部放电特性