异常点算法检测
(请再次刷新使公式显示正常!)
应用
- 图像:图像去噪
- 金融:反作弊
- 医疗:身体异常检测
大方向
- 基于统计
- 基于距离
- 基于分类
- 输出0/1,是否是异常点
- p, 属于异常点的概率
基于统计
- 假设属于正态分布(中心极限定理)
- 计算均值和方差
$$
\mu = \frac{\sum_{i=1}^n x_i}{n}
$$
$$
\sigma^2 = \frac{\sum_{i=1}^n (x_i-\mu)^2}{n}
$$
- 选择值超出某个置信区间的数据,如99.7%的范围
$$
\mu \pm 3\mu
$$
多元变量
- 假设属于多元独立正态分布
- 计算每一个维度(m 维)的均值和方差
$$
\mu_j = \frac{\sum_{i=1}^n x_{i,j}}{n}
$$
$$
\sigma_j^2 = \frac{\sum_{i=1}^n (x_{i,j}-\mu)^2}{n}
$$
- 选择某个概率密度之内的数据
$$
p(\vec x)= \prod_{j=1}^mp(x_j;\mu_j,\sigma_j^2) = \prod_{j=1}^m\frac{1}{\sqrt{2\pi}\sigma_j}exp(-\frac{(x_j-\mu_j)^2}{2\sigma_j^2})
$$
变量相关
- 假设属于多元正态分布(中心极限定理)
- 计算每个维度(m维)的均值和协方差矩阵
$$
\mu=(E(x_1),E(x_2),…,E(x_m))
$$
$$
\sum = [Cov(x_i,x_j)], i,j\in{1,2,…,m}
$$ - 选择某个概率密度之内的数据
$$
p(\vec x)=\frac{1}{(2\pi)^{\frac{n}{2}}|\sum|^\frac{1}{2}}exp(-\frac{1}{2}(\vec x - \vec \mu)^T \sum_{}^{-1}(\vec x - \vec \mu))
$$
其他分布
如泊松分布,暂不讨论。
不知道分布
用其他方案,如基于距离/密度的离群点检测
DBSCAN
- 使用dbscan中的噪声点概念
- 噪声点:半径r内不够minPts,又没有核心点
Reference
https://www.52ml.net/19790.html
数据挖掘概念和技术 –Jiawei Han
Outlier Analysis –Charu C. Aggarwal