IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> NILM笔记:性能度量(Performance Metrics) -> 正文阅读

[人工智能]NILM笔记:性能度量(Performance Metrics)

目录

1. 前言

2. 事件检测

3. 负荷识别

4. 负荷分解

5. 小结


1. 前言

????????NILM(Non-Intrusive Load Monitoring, 非侵入式负荷监测)通常分为以下几个步骤:

  1. 数据采集和预处理
  2. 事件检测(for event-based approach)
  3. 负荷识别
  4. 负荷分解

????????针对步骤(2)~(4)分别要进行性能评估,所采取的性能度量也各有不同,以下分别讨论。

????????当然也有不同于以上所述的NILM方法,比如non-event-based方法,不做事件检测,相应地就没有独立的负荷识别这一步骤,直接就是负荷分解。在这种方法就只需要考虑最后负荷分解的性能度量即可。

2. 事件检测

????????事件检测环节,可以理解为一个二分类问题,有事件发生时为Positive,无事件发生时为Negative(当然这个没有必然性,完全可以反过来将有事件定义为Negative,无事件定义为Positive。实践中人们通常是根据哪个更符合直观感觉以及/或更方便于处理来决定如何定义Positive/Negative)。事件种类包括turn-on时间和turn-off,以及对于多状态电器的状态之间的切换都可以看作是事件。

????????在机器学习领域,二分类问题的常用性能度量就是基于混淆矩阵的各项指标。

图 1 二分类混淆矩阵?

  1. TP(True Positive):将正(Positive)类预测为正类,真实为Positive,预测也为Positive
  2. FN(False Negative):将正类预测为负类,真实为Positive,预测为Negative。这个就是通常所说的漏检(miss detection)
  3. FP(False Positive):将负(Negative)类预测为正类, 真实为Positive,预测为Negative。这个就是通常所说的虚警(False Alarm)
  4. TN(True Negative):将负类预测为负类,真实为Negative,预测也为Negative

????在实际应用中,还有进一步对Positive/Negative进行二进制(0/1编码)。与前述的Positive/Negative一样,将P/N映射为0/1还是1/0也没有必然性。两者都可以,保持前后连贯一致即可。

????????基于混淆矩阵可以得到二分类模型常用各项性能指标如下所示:

  1. TPR: True Positive Rate.? ?
  2. FPR: False Positive Rate.
  3. FNR: False Negative Rate.
  4. TNR: True Negative Rate.?????????

????????显然,TPR与FNR是互补的一对(相加得到1),而FPR和TNR是互补的一对,所以实质上是两个独立的度量指标。

????????但是要注意的一点的是,将NILM中的事件检测当作二分类问题处理与常规的二分类问题相比有一定独特性。如上定义,我们把某个时刻(对应一个输入采样数据)有事件定义为Positive,无事件定义为Negative。但是在正常的家庭日常用电状况中,事件的发生是稀疏的,即绝大多数时刻是没有事件发生的,只有极少数时刻有事件发生的。换言之,数据是非常不平衡的[ref1]。

????????打个比方说,假定事件检测算法以1Hz的采样数据作为输入,一天共有24*3600=87600个输入数据样本对应87600个时刻,一般家庭一天之中能有多少次电器设备开关或者状态切换时间呢(撑死了往1000次算?).也就是说在所有数据样本中对应Positive的可能不到1%,如果采样率提高的话,这个比率还会进一步变小。

????????在对事件检测算法的性能评估中需要把这个数据不平衡性考虑进去。事实上,在NILM实际应用场合,通常来说虚警性能比漏检性能更加重要[Ref2],即在虚警和漏检(通常这两者都成了相互矛盾的需求)之间应该优先确保低虚警率。

????????因此在事件检测算法的性能评估中,通常重视的就是以上TPR和FPR,而不会考虑进一步的比如说accuracy、precision、recall以及F-score等正常分类模型中常用的指标。

?

3. 负荷识别

????????在event-based NILM方法中,当检测到事件后,接下来要判断当前这个事件是哪个电器的事件,以及是哪一类事件(turn-on, turn-off or state-switching,事实上turn-on/off可以看作状态切换的特殊情况).

????????很显然,这也可以看作是一个分类问题,每一类别包含两个维度的信息:电器种类,工作状态。有两种可能的处理方式,一种是针对每一种事件构建一个二分类模型[Ref1],另一种是用一个多分类模型来处理。

????????多分类问题的混淆矩阵如下所示:????????

图 2 多分类情况下的混淆矩阵

????????混淆矩阵可以用于以可视化的、直观的方式汇总地表达多分类问题的检测结果。但是进行定量的性能指标评估还是要针对每一类单独评估,(除了上述的TPR和FPR外,分类模型常用的指标还有accuracy, precision, recall, F-score等指标。

????????对于每一类别有:?

? ? ? ? ??

式(1)

?????? 进一步还有如ROC-AUC等。

4. 负荷分解

????????在负荷分解环节,NILM算法基于上一步骤负荷识别的结果,计算每一种负荷在每个时刻的功耗值,其性能评估方式就是看估计出的各种负荷的功率值之和与实测的总功率值之间的误差。可以用MAE和RMSE来衡量功耗估计性能[3][4],定义如下:


式(2)

????????其中, 分别表示总功率测量值以及NILM算法估计值。

?

5. 小结

????????以上扼要介绍了基于事件的NILM算法中各个环节的常用性能评估指标。但是实际上在文献中出现过的评估指标远不止这些,在[5]中对ED(Event detection)类和EE(Energy Estimation)类的各种(花式的)性能评估指标做了一个比较详尽的梳理,并在[1]中对各种指标的有效性等进行了基于实验的对照评估。

[1] Lucas Pereira, et al., An Experimental Comparison of Performance Metrics for Event Detection Algorithms in NILM, NILM workshop 2018

[2] Christos Athanasiadis, et al., A Scalable Real-Time NILM for the estimation of household appliance power consumption

[3] Ji, T.Y. et al. NILM Using Additive Factorial Approximate MAP Based on Iterative Fuzzy c-Means. IEEE Trans. Smart Grid 2019, 10, 6667–6677.

[4] Makonin, S. et al. Exploiting HMM Sparsity to Perform Online Real-Time NILM. IEEE Trans. Smart Grid 2016, 7, 2575–2585.

[5] Lucas Pereira, et al., Performance evaluation in non-intrusive load monitoring:Datasets, metrics, and tools—A review

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:48:58  更:2021-12-13 12:49:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:22:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码