52phm简介


专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。 网站正在不断建设和完善过程中,欢迎大家给予建议和参与社区建设

联系我们


投稿说明


52phm,专注于预测性维护知识学习和交流,欢迎广大从事预测性维护行业人员投稿,投稿请联系管理员(wx: www52phmcn),投稿内容可以是:

  • 学习笔记
  • 技术理论
  • 工程案例
  • 行业资讯

加入我们


官方公众号:52phm,专注预测性维护的学习平台

2021-12-21 11:00:12    互联网    458    当前专栏:工业异常检测    分类:算法开发    本站官网:www.52phm.cn   

公众号 ...

异常分析介绍-《Outlier Analysis 2nd Edition》

Chapter 1 An Introduction to Outlier Analysis

“Never take the comment that you are different as a condemnation, it might 
be a compliment. It might mean that you possess unique qualities that, 
– Eugene Nathaniel Butler

Introduction

异常值是与其余数据存在显然不同的数据点。 霍金斯定义异常值如下: “异常值是一个与其他观察结果有很大差异的观察结果,以此引起人们怀疑它是由不同的机制产生的”。


在数据挖掘和统计学文献中,异常值也被称为abnormalities、discordants、deviants或anomalies。 在大多数应用中,数据是由一个或多个生成过程创建的,这些生成过程既可以反映系统中的活动,也可以反映收集的有关实体的观察结果。当生成过程表现异常时,会导致创建异常值。

因此,异常经常包含有关系统和实体影响数据生成过程的异常特征的有用信息。 对这些不寻常的特性的认识提供了有用的应用特定见解。 一些例子如下:

1、入侵检测系统

在许多计算机系统中,收集有关操作系统调用,网络流量或其他用户操作的不同类型的数据。 由于恶意行为,这些数据可能会显示异常行为。 这种活动的识别被称为入侵检测。

2、信用卡诈骗

信用卡诈骗越来越普遍,因为信用卡号码等敏感信息可以被轻易泄露。 在许多情况下,未经授权使用信用卡可能会显示不同的模式,例如从特定地点购买刺激或非常大的交易。 这种模式可以用来检测信用卡交易数据中的异常值。- 有趣的传感器事件:传感器通常用于跟踪许多真实世界应用中的各种环境和位置参数。潜在模式的突然变化可能代表感兴趣的事件。事件检测是传感器网络领域中主要的激励应用之一。正如书中后面所讨论的,事件检测是离群值检测的重要时间版本。

3、医疗诊断:

在许多医疗应用中,数据是从各种设备收集的,如磁共振成像(MRI)扫描,正电子发射断层扫描(PET)扫描或心电图(ECG)时间序列。这种数据中的不寻常模式通常反映疾病状况。

4、执法

异常检测发现在执法中有许多应用,特别是在一个实体的多种行为只能通过一段时间才能发现异常模式的情况下。确定金融交易,交易活动或保险索赔中的欺诈行为通常需要识别由犯罪实体的行为产生的数据中的不寻常模式。

5、地球科学

通过卫星或遥感等多种机制收集了大量有关天气模式,气候变化或土地覆盖格局的时空数据。这些数据的异常提供了关于人类活动或环境趋势的重要见解,这可能是潜在的原因。 在所有这些应用中,数据具有“正常”模型,并且异常被认为是与这个正常模型的偏差。正常的数据点有时也被称为内点(inliers)。在诸如入侵或欺诈检测的一些应用中,异常值对应于多个数据点的序列而不是单独的数据点。例如,欺诈事件可能经常反映个体以特定顺序的行为。序列的特异性与识别异常事件有关。这种异常也被称为集体异常,因为它们只能从一组或一系列数据点中统一推断出来。这种集体异常往往是异常事件造成的异常活动模式的结果。这本书将解决这些不同类型的异常。

6、异常值检测算法输出类型

异常值分数

大多数异常值检测算法会输出一个量化每个数据点“异常值”水平的分数。这个分数也可以用来按照他们的异常趋势排列数据点。这是一种非常普遍的输出形式,它保留了特定算法提供的所有信息,但是没有提供应该被视为异常值的少量数据点的内容。

二分类标签

第二种类型的输出是一个二分类标签,指示数据点是否是异常值。尽管一些算法可能直接返回二分类标签,但也可以将异常值分数转换为二分类标签。这通常通过对异常值分数施加阈值来实现,并且基于分数的统计分布来选择阈值。二分类标签比一个评分机制包含的信息要少,但它是实际应用中决策所需的最终结果。 哪种偏离群体程度的点被视为异常点,往往基于主观判断。 在实际应用中,数据中可能会包含大量的噪声,分析人员可能不会对此感兴趣。然而, 这通常是很有意思的有趣的偏差。



这里写图片描述

举个例子,上图1.1(a)是不包含噪声的数据,A点与其他两类数据大不相同,显然是异常点;再看看图1.1(b),图1.1(b)中的情况更为主观。 虽然图1.1(b)中相应的数据点“A”也处于数据的稀疏区域,但很难笃定地说它与剩余数据集的真实偏差。 这个数据点很可能代表数据中随机分布的噪声。 这是因为“A”点看起来符合其他随机分布点表示的模式。 因此,在本书中,“异常值”一词是指可能被认为是异常或噪声的数据点,而“异常”是指分析师感兴趣的一种特殊异常值。

在无监督的情况下,在没有以前有趣的异常例子的情况下,噪声代表了正常数据和真实异常之间的语义边界 - 噪声通常被建模为异常值的弱形式,并不总是满足数据所需的强标准,即被认为是有趣或不正常的。 例如,簇边界处的数据点通常可以被认为是噪声。通常,大多数异常值检测算法使用一些数据点的离群度的量化度量,例如稀疏度、基于距离的最近邻居或者拟合出数据潜在的分布。



这里写图片描述

每个数据点都位于从正常数据到噪声,再到异常的连续谱上,如图1.2所示。这个频谱的不同区域的划分通常没有精确定义,往往根据特定应用的标准临时选择。此外,噪声和异常之间的划分并不纯粹。

有些作者使用弱异常值和强异常值来区分噪声和异常。 数据中的噪声检测有其自身的众多应用。 例如,去除噪声会得到一个更清洁的数据集,可以将其用于其他数据挖掘算法。 虽然噪音本身可能并不令人感兴趣,但其去除和识别仍然是数据挖掘的一个重要问题。在本书中,将识别与异常检测或噪声消除特别相关的方法。 然而,大部分的异常值检测算法可以用于任何一个问题,因为它们之间的差异实际上是语义之一。

由于噪声和异常之间的语义区别是基于分析人员的兴趣,因此,找到这种异常并将其与噪声区分开来的最好方法,就是使用之前已知的异常感兴趣示例的反馈。在许多应用中经常是这种情况,例如信用卡欺诈检测,其中可能有以前的有趣异常的例子。这些可用于学习一个区分正常模式和异常数据的模型。监督的异常值检测技术通常在许多特定的应用场景中更为有效,因为以往示例的特征可以将搜索过程锐化为更相关的异常值。这一点很重要,因为异常值可以在给定的数据集中以多种方式定义,其中大多数可能并不令人感兴趣。例如,在图1.1(a)和(b)中,前面的例子可能表明,只有属性值异常高的记录被视为异常。在这种情况下,两幅图中的A点应该被视为噪声,而图1.1(b)中的点’B’应该被认为是异常点!这里要理解的关键是,异常需要以一种有趣的方式异常,监督过程重新定义了一个可能感兴趣的东西。一般而言,无监督方法可以用于噪声去除或异常检测,并且监督方法被设计用于特定于应用的异常检测。在一个探索性的环境中经常使用无监督的方法,在这个环境中,发现的异常值被提供给分析师,以便进一步检查他们在应用程序中的重要性。

在实际情况下可能有多个级别的监督。在完全监督的情况下,可以清楚区分正常和异常数据的示例。在某些情况下,离群值的例子是可用的,但“正常”数据的例子也可能包含一些(未知)比例的离群值。这被称为具有正标签和未标记数据的分类。在其他半监督方案中,只有正常数据的示例或只有异常数据的示例可用。因此,问题的变化是相当大的,每一个都需要一套相关但专用的技术。



原文链接:https://wanpingdou.blog.csdn.net/article/details/79086156

免责声明


[推荐] 异常检测——ABOD(angle-based outlier detection)

2021-12-19 14:55:27    互联网    1050    分类:论文速递    专栏:工业异常检测   


[推荐] 异常分析-数据模型就是一切《Outlier Analysis 2nd Edition》

2021-12-21 11:00:33    互联网    452    分类:算法开发    专栏:工业异常检测   


[推荐] 突变点检测:Magnitude of trend之Sen's slope(python)

2021-12-21 11:05:07    互联网    805    分类:算法开发    专栏:工业异常检测   



转发此文章到社区


关注公众号进群

让志同道合读者学习交流



pip安装报错:ImportError: No module named 'pip'解决方法

pip安装报错:ImportError: No module named 'pip',分享个人踩坑记录,并介绍了解决方法

2021-12-04 11:21:53    博客笔记    951    分类:开发环境    专栏:未分组   


ImportError: No module named ‘pip._internal‘解决方法

pip安装报错:ImportError: No module named 'pip._internal',分享python安装模块的踩坑记录,希望能帮到各位解决bug

2021-12-04 11:22:03    博客笔记    1091    分类:开发环境    专栏:bug   


pip出现错误,ImportError: module 'pip' has no attribute 'main'

pip出现错误,ImportError: module 'pip' has no attribute 'main'下面介绍一个很好的解决方法,一般涉及到安装pip错误的时候,使用这个方法很有效果,本人亲测可行。其实主要思路就是重新从源地址下载pip的Python源代码,然后再通过这个py文件去安装pip。

2021-12-04 11:22:27    博客笔记    1133    分类:开发环境    专栏:未分组   


matplotlib更新报错:Consider using the `--user` option or check the permissions.

更新matplotlib报错:Consider using the `--user` option or check the permissions. 在一次更新matplotlib时,发生报错,报信信息以及解决方法总结如下1、报错信息因为matplotlib需要更新,在终端输入以下命令:

2021-12-04 11:22:38    博客笔记    681    分类:开发环境    专栏:未分组   


import numpy 报错:ModuleNotFoundError: No module named 'numpy.testing.nosetester'

import numpy 报错:ModuleNotFoundError: No module named 'numpy.testing.nosetester'### 1、报错信息在import numpy的时候编译器提示这个问题,就很奇葩,报错信息如下所示ModuleNotFoundError: No module named 'numpy.testing.nosetester'

2021-12-04 11:22:58    博客笔记    997    分类:开发环境    专栏:bug   


下载超时:pip.ReadTimeoutError:HTTPSConnectionPool: Read timed out.

下载超时:pip.ReadTimeoutError:HTTPSConnectionPool: Read timed out.报错信息在安装Python模块包的时候,常常会因为各种原因下载失败,其中类似使用国外镜像下载、或者网速环境差的话,很容易会下载超时而失败。

2021-12-04 11:23:24    博客笔记    880    分类:开发环境    专栏:未分组   


不能卸载某个模块包:Cannot uninstall 'colorama'解决方法

不能卸载某个模块包:Cannot uninstall 'colorama'报错信息在卸载某个Python模块包时,发现并不能成功卸载,反而发生异常报错,报错信息如下:

2021-12-04 11:23:43    博客笔记    1152    分类:开发环境    专栏:bug   


解决ipynb文件加载失败的问题:Unreadable Notebook: D:\xxx.ipynb NotJSONError

解决ipynb文件加载失败的问题:Unreadable Notebook: D:\xxx.ipynb NotJSONError报错信息 在jupyter notebook打开ipynb notebook文件时,发现加载一直不成功,另外还爆出异常提示信息,异常信息如下:

2021-12-04 11:23:53    博客笔记    979    分类:开发环境    专栏:未分组   


linux 系统下Anaconda的安装

1 Anaconda的下载转到第页,https://www.anaconda.com/distribution/选择Linux或Mac(取决于您的系统)下载Anaconda 3.7下载好了以后到ubuntu就开始安装,此处我用的是ubuntu,centos也是一样的。2 安装找到自己下载的目录,打开终端输入bash Anaconda3-2020.02-Linux-x86_64.sh 注意将Anaconda3-2020.02-Linux-x86_64.sh 改成自己的然后一直点击En

2021-12-16 18:13:12    互联网    796    分类:开发环境    专栏:下载安装   


突变点检测:Buishand U test突变点检测(python)

import numpy as npimport pandas as pddef Buishand_U_change_point_detection(inputdata): inputdata = np.array(inputdata) inputdata_mean = np.mean(inputdata) n = inputdata.shape[0] k...

2021-12-21 11:07:15    互联网    668    分类:算法开发    专栏:工业异常检测   


  • 52phm公告

  • 在这里,可以学习接触到工业互联网技术知识以及落地案例,其中涵盖工业数据集、工业标准库、机理模型、设备知识、机器学习、 深度学习、特征工程、振动分析、工业视觉、边缘硬件及传感器等技术知识!


工业异常检测   
  • 关于站长


  •         从事设备故障预测与健康管理行业多年的PHM算法工程师(机器医生)、国际振动分析师, 实践、研发和交付的项目涉及“化工、工业机器人、风电机组、钢铁、核电、机床、机器视觉”等领域。专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。


当前文章目录


52phm社区

52phm社区,专注预测性维护的学习平台!

Saas体验

+ 工业demo学习系统

技术博客

+ 博客首页    + 算法开发    + 边缘感知   

+ 设备机理    + 开发环境

+ 论文速递   

友情链接

+ 在码圈

联系我

Copyright© 2021 52phm社区

京ICP备2021029973号-1