当前位置: 首页 > news >正文

Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测

传感器监控、安全运营、欺诈检测——这些场景都需要及时发现异常状况。但是问题在于,异常样本出现频率低导致标注数据稀缺,监督学习模型难以构建。虽然异常(anomaly)和新颖性(novelty)这两个概念经常混用,但它们在建模假设和处理流程上存在本质差异。

本文会先讲清楚异常检测的核心概念,分析anomaly和novelty的区别,然后通过实际案例演示如何用概率密度拟合方法构建单变量数据集的无监督异常检测模型。所有代码基于distfit库实现。

Anomaly还是Novelty?差异在哪
两者都是偏离"常态"的观测值,统称为离群值(outlier)。离群值通常出现在分布的尾部,远离主体密度区域。如果某个值或某个小范围内出现显著的密度尖峰,也可能是潜在离群点。虽然检测目标一致,建模思路却不同:

Anomaly(异常):训练数据中已知存在离群值,它们偏离正常模式。建模策略是在正常样本(inlier)上拟合模型,忽略那些偏离样本,把落在正常行为范围外的观测识别为异常。

Novelty(新颖性):训练数据中不存在已知离群值,数据本身不包含偏离正常的观测。这种情况更棘手,因为缺少离群参照。领域知识在这里变得关键,避免模型在正常样本上过拟合。

三类离群值形态
刚才说了anomaly和novelty的建模差异,在建模前需要明确"在具体应用场景下,离群值长什么样"。离群值大致分三类(图1):

全局离群值(point outliers)指那些独立的、与所有其他观测都不同的单个数据点[1, 2]。平时说的"离群值"通常就是指这类。

上下文离群值(contextual outliers)是在特定上下文下不合理的观测。上下文可能体现为双峰或多峰分布,离群值在某个峰的范围内偏离。比如冬天零度以下正常,夏天就成了异常。时间序列、季节性数据、传感器数据、安全监控都会遇到这类问题。

集体离群值(collective outliers)是一组相似实例表现出的异常行为。这组离群点可能形成独立的峰,往往暗示着不同于单点异常的问题——批处理错误或数据生成过程的系统性问题。检测集体离群值通常需要专门的方法。

图1. 从左到右:全局离群值、上下文离群值、集体离群值示例

建模前还要考虑数据集维度。从特征数量看,异常检测分为单变量(univariate)和多变量(multivariate)两种方式。

http://www.sczhlp.com/news/164917/

相关文章:

  • 企业网站托管收费标准湖北微网站建设电话
  • 普通网站要什么费用关键词网站建设优化
  • c2c网站架构哪个网站可以做印章图案
  • qq刷赞网站如何做分站光伏发电国家最新政策
  • 网站开通会员怎么开发甘肃省网站建设咨询
  • 做网站需要专业wordpress主題
  • 网站开发 手把手led网站建设方案模板
  • 酒泉市城乡建设局网站做网站公司 包含了服务器费用吗
  • psd模板怎么做网站中国广东网站建设
  • 典当 网站电子商务专业是个坑吗
  • 如何选择企业建站公司有效的网站优化
  • 三网合一的网站wordpress特殊主题关键词设置
  • 电商网站如何存储图片建网站找哪个平台好呢
  • 如何用网站做推广南安市建设局网站
  • php 网站开发wordpress 侧边栏浮动
  • 实验教学中心网站建设企业年报查询
  • 网站上的地图代码专业的外贸网站建设公司排名
  • 网站开发主管官网推广方法有哪些
  • 网站建设实训个人总结3000字响应式网站开发原则
  • 有什么做图文长图的网站吗长沙网站建设好处
  • 网站建设需要大约多少钱如何免费注册个人邮箱
  • 站长之家html中国建设通官方网站
  • 网站公司建设网站收费模块杭州小程序开发外包
  • 制作企业网站的版式一个域名怎么用来做多个网站
  • 国外设计灵感网站中国500强企业名称
  • 虚拟产品网站网页升级访问每天正常更新欢迎广大
  • 传送门网站是怎么做的什么是erp企业管理系统
  • 电子商务网站建设目的wordpress 主题 激活
  • 怎么做自己的网站卖东西Wordpress页面怎么使用
  • 网站开发人员晋升体系电子商务网站建设与管理论文