当前位置: 首页 > 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.zskr.cn/news/15899.html

相关文章:

  • 一次幸运的ORA-07445 kdxlin故障恢复---惜分飞
  • 02-springIOC01-注解方式实现
  • Excel表设置为细框线
  • US$28.5 CG A11DS 3 Buttons Wire Remote Used with CGDI K2 Remote Key Programmer 5pcs/lot
  • 前端学习教程-ElementPlus 教程
  • US$78.85 CG ZA11 BEN.Z(3BTN) 3 Buttons Smart Remote Used with CGDI K2 Remote Key Programmer 5pcs/lot
  • Syncthing 2.0 版本开机自启
  • 基于pycharm实现html文件的快速达成问题讨论
  • 『回忆录』返校前夜 230102
  • 断更
  • docker单机部署hadoop 官方镜像3.3.6 过程问题记录 - 教程
  • Kafka06-进阶-尚硅谷 - 实践
  • 回忆有感
  • 缓存便捷的技术揭秘
  • 4 对拍杂谈
  • 计算机毕业设计springboot和Vue的在线购物系统 基于SpringBoot与Vue.js的电子商务平台开发 利用SpringBoot和Vue构建的网络购物应用 - 教程
  • 题解:P14036 [PAIO 2025] Rooks
  • 硬件-电容学习DAY23——电容设计实战指南:从选型到高频应用 - 教程
  • Linux 命令行安装达梦数据库
  • Google开源Tunix:JAX生态的LLM微调方案来了
  • 完整教程:MySQL 5.7 主主复制 + Keepalived 高可用配置实例
  • 完整教程:数据结构从入门到实战————栈
  • 代码随想录算法训练营|Day 25
  • C# 与 C/C++ 互操作
  • 2025多校冲刺CSP模拟赛2 2025.10.4 模拟炸
  • 算法乱谈
  • 信息链路层协议——以太网,ARP协议
  • 实用指南:d-分离:图模型中的条件独立性判定准则
  • [RAG] 基础知识
  • 数据结构 - 字典树 Trie