目录

1. 前言

2. 背景

3. 电动自行车充电负荷特征

3.1 特征分析

3.2 排序与选择

4. OCSVM

5. 增量式学习

6. 实验验证

6.1 样本采集和事件监测

6.2 特征选择

6.3 增量学习及负荷辨识验证

7. 总结和思考


1. 前言

本文是对以下论文的解读笔记。注意在下文中“该论文”和“本文”是指向不同的对象。文中着色高亮部分为一些有疑问的地方或者本文作者所加的解读comment。最后一章也给出了本文作者的关于这个问题的一些思考。

施雨松等:基于特征选择与增量学习的非侵入式电动自行车充电辨识方法, 电力系统自动化 Vol.45 No.7 Apr.10.2021

论文摘要:为实现从电网侧监测电动自行车违规停放充电行为,减少电动自行车充电火灾事故,在非侵入式负荷识别的基础上,提出一种基于特征选择与增量学习的电动自行车充电辨识方法。首先,根据电动自行车充电实测电流波形,分析负荷特性并列举15种负荷特征。通过半监督Fisher计分与最大信息系数(MIC: Maximal Information Coefficient)量度特征辨别度与冗余度,采用贪心搜索算法对特征重要性排序并结合排序与辨识结果选择辨识准确性最高的特征子集。然后,基于一类支持向量机增量学习方法,实现电动自行车负荷辨识与分类器在线学习。最后,通过实测数据进行试验,结果表明文中方法可以对电动自行车充电行为准确辨识,验证了算法的有效性。

2. 背景

近年来,电动自行车成为城镇居民短途出行的主要交通工具之一,同时其相关安全问题也日益突出,其中电动自行车引发的火灾呈多发、频发趋势。2018 年,公安部发布《关于规范电动车停放充电加强火灾防范的通告》,明确指出规范电动自行车停放充电行为,严厉查处违规停放充电行为,严禁在建筑内的共用走道、楼梯间、安全出口处等公共区域以及个人房间内为电动自行车充电[1]。严格监管电动自行车充电行为可以有效减少火灾事故,但由于电动自行车充电行为存在随机性、隐蔽性(用另一个专业术语来说叫做“非合作性”),仅依靠人力巡查电动自行车违规停放充电行为,效率低并且漏检率高。随着智能电网技术的快速发展,基于非侵入式负荷监测与分解方法实现电网侧电动自行车充电行为辨识具有良好的发展前景。

到目前为止的NILM的研究主要针对多类电器负荷分解,尚无针对电动自行车或一类异常电器的辨识方法研究。

本文以非侵入式负荷监测为背景,针对电动自行车充电一类负荷,采用半监督特征选择方法,分析15 类负荷特征的辨别度与冗余度,基于贪心搜索与一类支持向量机(one-class support vector machine,OCSVM)进行排序并提取分类正确率最高的特征子集。考虑电动自行车品类繁多但每户电动自行车数量较少,结合增量学习与OCSVM 进行识别过程中的在线学习,在保持泛化能力的同时加强针对性。

非侵入式负荷识别的关键步骤为事件检测、特征选择和负荷识别。当然,通常在事件检测之前还有一个数据预处理的步骤。本文主要聚焦于特征选择和负荷识别这两个阶段。事件检测与常规的NILM是共通的。

In short, 本论文的精华就是以下三个要点:

  1. 特征子集的选择:子集辨别度最大化与子集冗余度最小化之间的折衷
  2. OCSVM算法
  3. 增量式学习

3. 电动自行车充电负荷特征

3.1 特征分析

不同的电器拥有不同的负荷特征。居民用电电压较为稳定,负荷特征差异主要体现在电流波形不同,电动自行车充电实测电流波形如图1 所示。

与普通各类家用电器电流波形相比,电动自行车充电电流波形非线性程度较大、畸变严重,瞬时功率峰值较高,启动时有短时的脉冲电流与延迟时间。为了具体反映负荷特性,本文选取了15 个负荷特征作为初始特征集,特征提取方法不再详述,特征编号与名称如表1 所示。

以上特征中C11~C13 为V-I 轨迹的3 个量化参数,V-I 轨迹是以一周期的电压与电流标幺值分别作为横、纵坐标绘制的曲线。V-I 轨迹可以有效反映电力电子型负荷特性,其中C11 表征负荷非线性程度,C12 体现负荷内部元件的导通性,C13 表示负荷电流与电压峰值相位差。电动自行车V-I 轨迹如图A1 所示。

图A1 电动自行车V-I轨迹图

3.2 排序与选择

负荷辨识并非特征类型越多越好,其中辨别度较低的特征会干扰判别,冗余度较高的特征集难以有效提高辨识精确性,同时又增加了计算成本。因此,需要选择辨别度高、冗余度低的特征子集作为辨识依据。

本论文基于半监督Fisher计分和最大信息系数,以辨别度最大、冗余度最小作为目标从上节所示15个候选特征中选取合适的子集,其过程如下所示:

第1个选择的特征F1按如下方式选取:

其中di为第i个特征的辨别度,本论文中选用前述半监督Fisher计分来表征特征的辨别度;ri表示第i 个特征与其余所有特征的冗余度均值,本论文中选用最大信息系数(maximal information coefficient,MIC)来衡量两个特征之间的相关性(也即它们之间的冗余度,比如说相关性为1表示由其中一个完全可以推得另一个,那么作为辨识特征来说其中有一个就是完全冗余的)。

第n(n>1)个选择的特征Fn为:

​​​​​​​        

式中:Fs 为已入选特征子集;r(Fi∪Fs)为第i个特征与已入选特征的冗余度均值.

以上选择过程得到了一个按照辨别度从高到低的有序的特征子集。然后分别基于特征子集 进行训练并测试,得到在识别性能与子集大小之间取得最佳trade-off的最优特征子集。

以上描述中“半监督Fisher计分”和“最大信息系数”。。。呃。。。一知半解所以暂时略过,等补完课搞明白了再来报告^-^.

4. OCSVM

本论文把电动自动车充电识别看作是一分类问题,即判断“是”还是“不是”。把没有电动自行车充电时的日常家用电器工作的状态定义为“negative”状态,而电动自行车充电叠加在日常家用电器工作的状态定义为“positive”状态(当然,反过来定义也可以)。OCSVM算法的目标就是要在发生电器投入事件(注意,在本问题中其实不太需要关心切出事件。毕竟检测的目的在于及时提出警告并中止充电行为)时,识别出当前投入的电器“是电动自行车”还是“非电动自行车”。

关于OCSVM的介绍有很多参考文献和网络资源(比如说,我之前写的以下两篇博客(Ref1, Ref2),其实就是为了解读本论文而做的准备工作^-^),本文重点不在这里,所以这里就不再赘述了。

5. 增量式学习

笼统地说,增量学习是指算法在保留已有知识的同时不断从新样本中学习新的知识。

OCSVM本身并不具备增量学习能力,基于协同训练思想,结合OCSVM和增量学习的电动自行车充电辨识的学习过程如下:

假设电动自行车初始训练样本集为L,x 为此刻从用户总线提取到的未知标签的负荷样本。

从训练样本集L 中可重复取样得到3 个训练样本集L1、L2 和L3,分别通过核函数不同的OCSVM1、OCSVM2 和OCSVM3 训练得到3 个不同的分类器Model1、Model2 和Model3。

3 个分类器对样本x 进行辨识分类,采用集成学习中的多数投票(任意2 个分类器分类结果相同)判断是否为电动自行车负荷样本。

若样本x 被确认为电动自行车负荷样本,则只保留3 个训练样本集的支持向量,并增加样本x 构成新的训练样本集L′1 、L′2 和L′3,然后利用更新后的训练样本集重新训练,从而更新3 个分类器。

若样本x 被确认为不是电动自行车负荷样本,则等待下一样本。

如此每次获得新的负荷样本时重复迭代更新3 个分类器,实现增量学习。更新训练样本集时,只保留支持向量,可避免新增样本积累导致训练计算量剧增,同时保留泛化能力。

       【问】为什么要采取增量学习过程呢?

初始训练是离线式训练,训练集只包含有限种类的电动自行车的有限样本数据,而实际上各家各户的电动自行车(如果有的话)型号可能千差万别。所以不太可能基于初始样本集训练出来的模型能够取得较好的识别效果。利用增量学习可以在监测终端安装以后根据新的数据样本再对当前家庭进行针对性的在线学习。

6. 实验验证

6.1 样本采集和事件监测

为验证本文方法的有效性,在实际家庭入户总线处同步采集电压、电流数据(采样率是多少?只采集电流和电压的话,功率类信息就根据瞬时电流、电压进行计算?)。测试过程中记录电动自行车负荷接入时间(有标记)。其他家用电器在测试过程中随机开关且不记录接入时间(无标记)。同时,本文算法是对电动自行车充电负荷接入事件的监测,只需要用到其开启1 s 内的电压、电流数据。实验时经观察发现,同一电池在其电量不足和满电状态下充电,开启瞬间的电流波形是相近的,经过几秒后才进入稳定状态,因此可以不用考虑电池在充电过程的不同阶段充电电流均存在不同的问题。

本文通过滑动窗双边累积和算法(参见Ref)进行事件检测,采用有功功率作为检测信号(如上所述,有功功率应该是根据所采的电流、电压数据进行计算而得)。某次实验中,用户入户线处测得的有功功率信号,即事件检测算法的检测信号如附录B 图B2 所示,可见居民用户有功功率波动较小,电动自行车充电负荷接入时功率有明显的阶跃(但是,从下图怎么能看出这点来呢?存疑)。根据实际调试情况设置相关参数如下:平均值计算窗口长度Nm=6,暂态过程检测窗口长度Nd=4,噪音β=10,阈值h=120,可有效减少其他负荷噪音干扰。本文仅关注电动自行车负荷接入事件检测的准确性,根据检测统计结果,事件检测算法的电动自行车负荷接入事件漏检率低于0.5%,且得到的事件发生时刻准确,时间偏差不大于0.1s(所以,推测采样率应该至少为数十Hz吧)。利用事件发生时刻前后采样数据提取负荷特征并形成负荷样本,分为有标记样本(电动自行车)与无标记样本(其他家电)。

图B2-有功功率信号

6.2 特征选择

基于前面第三章所述方法进行特征排序和特征子集选择。样本数量100,包括30个有标签样本(对应电动自行车充电投入事件)和70个无标签样本(对应其它事件),划分为训练集和测试集(其中有标签样本比例均与原样本集相同),测试集中各类型号的电动自行车和家电样本所占比例与原始采样样本集分布基本一致。标准Fisher 计分与半监督Fisher 计分的15 个特征的辨别度计算结果对比如图2 所示。

由上图可知,半监督Fisher积分的分辨度远远好于标准Fisher计分,其中C12的辨识度最高(疑上图颜色标识错误,是不是恰好相反啊?从图中来看难道不是标准Fisher计分的特征辨识度要远远好于半监督Fisher积分嘛?

基于MIC 进行特征集冗余度量度,测试样本集与上文相同,计算结果为15 阶矩阵,表示15 类特征之间的相关程度。根据特征辨别度与冗余度计算结果,基于贪心搜索算法进行特征排序,其中参数α 为0.5。然后基于OCSVM训练结果可以得到如下图所示结果:

图3 特征排序及辨识结果

由上图可知,最优特征子集的大小为9,即取特征辨识度从高到底的9个特征作为特征子集时的辨识性能最好,此时辨识正确率达到96.15%。作为对比,论文还将以上方法与传统的SVM模型以及BP神经网络模型进行了对比,结果表明本论文所推荐的方法综合表现最优(虽然仅比BP神经网络模型只是稍好一丢丢^-^,所以是否适合于实际工程应用还要看实现复杂度等其它方面的因素)。

6.3 增量学习及负荷辨识验证

根据第5章所述方法实施实际环境下的实验。

初始训练样本集包括70 个有标签样本(是前文提到的训练样本集吗?前面说的只有30个有标签样本,从下文来看应该不是),通过可重复采样得到的3 个训练样本集样本数为30。增量学习样本集(其实就是对应以下的三十轮的学习,每得到一个新的样本数据且判定为电动自行车充电事件就学习一次。因此30次学习就对应着30个有标签样本)包括30个有标签样本,测试样本集包括30 个有标签样本和100 个无标签样本。模拟某户家庭仅拥有一辆电动自行车的情况,增量学习样本集与测试样本集中的有标签样本为同一辆电动自行车多次采集所得样本。为验证本文方法的有效性,分类器每学习一次就对测试样本集进行一次辨识,测试结果如图4 所示。

由上图可知,

  1. 错误接受率(即虚警,False Alarm,FP)一直为0,即不会把非电动自行车充电事件误报为电动自行车充电事件。
  2. 刚开始时错误拒绝率比较高(即漏检,Miss Detection,FN),这个可能是因为初始训练样本中不包含测试中实际出现的电动自行车型号所致。但是随着新样本不断到来,经过30次学习后,错误拒绝率迅速下降,最后稳定在3.33%
  3. 辨识正确率(TP+TN)最后稳定在99.23%,可以说是一个相当令人满意的结果

7. 总结和思考

本文以非侵入式负荷监测为基础,提出了一种基于特征选择与OCSVM 增量学习的电动自行车充电辨识方法。低辨识度特征与高冗余度特征集会干扰算法辨识,通过半监督特征选择方法量度辨识度与冗余度,充分挖掘无标签样本信息,采用贪心搜索算法对特征重要性排序,并选择辨识效果最佳的特征子集。另外,赋予OCSVM 算法增量学习能力,解决初始分类器对于陌生型号电动自行车负荷样本辨识正确率较低的问题。通过实测数据,验证了本文所提方法的有效性。半监督特征选择方法不仅降低了算法的计算成本,而且提高了辨识正确率。增量学习OCSVM 算法有效降低了电动自行车错误拒绝率,提高了算法整体性能。下一步,将针对算法辨识与学习速度进行研究,进一步提高算法实用性。同时,本文方法也可推广应用于其他特殊或异常负荷监测中。

        My comment:

基于非侵入式负荷监测与分解方法实现电网侧电动自行车充电行为辨识有两种路线,第一是基于传统的NILM的思路,把电动自行车当作另外一种“家用”电器进行识别;第二是把电动自行车充电当作是一种异常事件来处理。两种思路导致的具体策略迥然不同。本论文讨论的是第二种路线

按照第一种路线的话,因为仅仅是家用电器的种类增加了一种而已,因此对传统的NILM算法处理管道不需要做什么改变,仅仅是用于识别的特征库等追加对应于电动自行车的识别特征即可。这种路线的好处在于是不需要重新进行算法开发,只要对原有的NILM系统进行适当升级即可。甚至升级后的系统将来可以直接移植到专用电动自行车集中充电站的监测管理。

按照第二种路线,只需要区分“是”还是“否”,不需要识别出具有什么时候有哪些电器在使用,可以与传统的NILM相对独立地进行处理。但是需要重新开发算法,只有事件检测这一部分是可以和原NILM系统共用。

电动自行车充电检测与常规的NILM在实时性的要求方面有所区别(需要在路线选择和算法设计中考虑)。电动自行车违规充电是非法事件,检测的目的是及时制止以防患于未然,所以对于实时性要求比较高。而常规的NILM只是要确切地辨识出在什么时候有什么电器有多大功耗,对于实时性的要求相对较低(取决于具体的业务要求)。

当前的研究的重点在于违规充电检测,以后如果基础设施建设跟上了,违规充电可能自然而然地就消失了,重点可能需要转向正常的集中充电站的充电监测。。。

Ref1: 论文笔记:Support vector domain description(Tax,Duin1999)_chenxy_bwave的专栏-CSDN博客https://blog.csdn.net/chenxy_bwave/article/details/120906276Ref2:

论文笔记:Support Vector Method For Novelty Detection(Schölkopf)https://blog.csdn.net/chenxy_bwave/article/details/120885445https://blog.csdn.net/chenxy_bwave/article/details/120885445

论文笔记:基于特征选择与增量学习的非侵入式电动自行车充电辨识方法相关推荐

  1. 微分算法 非侵入式负荷识别_一种非侵入式用电负荷识别方法与流程

    本发明涉及智能电网领域,具体地,涉及一种非侵入式用电负荷识别方法. 背景技术: 在智能电网环境下,智能量测设备会逐步得到广泛应用,从而能够得到用户负荷准确的.海量的数据.利用数据挖掘方法对用户负荷大数 ...

  2. 电气期刊论文实现:基于遗传优化的非侵入式居民负荷分解方法(有代码)

    个人电气博文目录链接: 学好电气全靠它,个人电气博文目录(持续更新中-) 结果图 先上结果图 程序图,共17页. 结果误差图 和分解图 .很完美 非侵入式负荷辨识原理 非侵入式负荷监测方法是相对于侵入 ...

  3. NILM非侵入式负荷识别(papers with code、data)带代码的论文整理——(论文及实现代码篇) 全网最全

    说在最前面 研究生三年快毕业了,毕业前整理一下该领域的研究工作.正所谓,我栽树,后人乘凉.研究NILM的时候,个人觉得最快的方法是直接复现别人的论文,或者甚至用别人论文的代码直接跑出来体会整个流程(数 ...

  4. 何为非侵入式负荷识别-事件检测

    1 事件检测方法综述 现有的事件检测方法主要分为两类:规则检测和概率模型检测.还有其他的,但是主要是这两类. 规则检测的方法是直接观察待测信号的变化,提出一种规则作为事件检测判据,规则合理与否就决定了 ...

  5. “泰迪杯”挑战赛 -利用非侵入式负荷检测进行高效率数据挖掘(完整数学模型)

    目录 1 研究背景与意义 2 变量说明 3 问题分析 4 问题一 4.1 数据预处理 4.1.1 降噪处理 4.1.2 数据变换 4.2 负荷特征分析 4.2.1 暂态特征 4.2.2 稳态特征 5 ...

  6. 论文阅读笔记——基于CNN-GAP可解释性模型的软件源码漏洞检测方法

    本论文相关内容 论文下载地址--Engineering Village 论文阅读笔记--基于CNN-GAP可解释性模型的软件源码漏洞检测方法 文章目录 本论文相关内容 前言 基于CNN-GAP可解释性 ...

  7. Deep Learning论文笔记之(三)单层非监督学习网络分析

    Deep Learning论文笔记之(三)单层非监督学习网络分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  8. NILM(非侵入式电力负荷监测)学习笔记 —— 准备工作(一)配置环境NILMTK Toolkit

    安装Anaconda,Python,pycharm 我另一篇文章里面有介绍https://blog.csdn.net/wwb1990/article/details/103883775 安装NILMT ...

  9. NILM非侵入式负荷识别(papers with code、data)带代码的论文整理——(公开数据集、工具、和性能指标篇) 全网最全

    说在最前面 这篇文章主要介绍用于非侵入式负荷识别领域目前的公开数据集.工具和其它等,如果需要看论文及具体代码实现,看我上一篇的文章. 其外,不是所有数据集我都用过,我只用过UK-DALE,所以其它数据 ...

  10. NILM(非侵入式电力负荷监测)学习笔记 —— 使用NILMTK Toolkit,REDD数据集,CO和FHMM两种算法

    (本文最后,提供整个工程下载) 准备工作 本篇的内容都是基于我前两篇的环境,和数据集进行的. NILM(非侵入式电力负荷监测)学习笔记 -- 准备工作(一)配置环境NILMTK Toolkit NIL ...

最新文章

  1. android手机数字取证,基于Android智能终端微信应用的数字取证分析模型的研究
  2. Matplotlib的几个典型绘制实验
  3. Swift中关于可选类型(?)与强制解析(!)的特性
  4. 专题 6 目录文件编程
  5. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )
  6. ubuntu安装Redis+安装mysql(配置远程登录)+安装jdk+安转nginx+安转teamviewer+安装terminator+安装sublime
  7. 聊聊我们在业务链路升级中做的数据洞察
  8. 龙神契约为什么显示服务器错误,龙神契约连服BOSS玩法介绍
  9. 摘抄:微软 Dynamics AX 学习步骤
  10. 部署可道云_可道云-快速搭建个人用云网盘
  11. java程序打包exe
  12. 2019第十二届“认证杯”数学建模(第一阶段)
  13. 大学生竞赛管理系统项目
  14. 计算机网络规划与设计
  15. Windows 2008 R2 终端服务器授权安装配置
  16. CKA考题[k8s1.24]
  17. 机器学习——统计学三大相关性系数(pearson、spearman、kendall)
  18. Pro/E产品设计:电风扇扇叶的设计方法
  19. creator 反复横跳瞄准线的实现
  20. Android 系统剪贴板的使用 - 复制、获取和清空

热门文章

  1. 2021-06-16 解决MDK5使用STLINK下载不进去程序报错的问题
  2. 强制推广鸿蒙系统,鸿蒙系统凭实力占市场,无需通过禁止安卓系统来推广
  3. 安卓逆向学习 之 KGB Messenger的writeup(1)
  4. 爬取boss直聘岗位数据进行数据分析
  5. 什么是股市泡沫或楼市泡沫?泡沫何解?
  6. HTML引用高德英文地图
  7. 福州太冷?那就快来这些地方!不仅有威廉王子的蜜月圣地,也有贝克汉姆的度假天堂!全部免签or落地签...
  8. 一个佛教的故事,割肉
  9. 缓存和数据库刷新的顺序 及阿里OCS介绍
  10. 群主微信sdk说明地址