文章目录
前言
上一篇简单介绍了异常检测的基本概念以及常用库pyod的使用。
异常检测的方法主要有三大类:传统方法、集成方法和机器学习方法。
传统方法又分为基于统计学的方法、基于相似度的方法和线性模型三种。
本篇将主要介绍传统方法中基于统计学的方法
一、基于统计学的方法
主要思想: 学习一个拟合给定数据集的生成模型,在该模型低概率区域中的数据,即为异常点。
基于统计学的方法的不同主要在于该生成模型的建立。据此可以分为两大类:参数方法和非参数方法。1. 参数方法
1.1 一元数据的异常检测-----基于正态分布
A. 方法步骤
-
首先假设数据是服从正态分布的,根据样本可以计算出该分布的均值和方差,从而得到正态分布的概率函数。
-
然后设定一个阈值,并根据该概率函数计算样本点的概率值,若该值不在阈值范围内,则视为异常点。
【公式】
均值: μ = 1 m ∑ i = 1 m x ( i ) \mu=\frac 1m\sum_{i=1}^m x^{(i)} μ=m1∑i=1mx(i)
方差: σ 2 = 1 m ∑ i = 1 m ( x ( i ) − μ ) 2 \sigma^2=\frac 1m\sum_{i=1}^m (x^{(i)}-\mu)^2 σ2=m1∑i=1m(x(i)−μ)2
概率密度: p ( x ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) p(x)=\frac 1{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(x)=2πσ1exp(−