异常值检测及处理
Anomaly Detection
wangzf / 2022-09-13
异常值的定义
在一个特征的观测值中,明显不同于其他数据或不合乎常理的观测值。
异常值出现的原因
- 人为错误
- 数据输入、记录导致的错误
- 自然错误
- 测量误差,比如仪器出现故障
异常值检测方法
- 简单可视化分析
- 对特征值进行一个数据可视化,远远偏离大部分样本观测值的样本点认为是异常值。
$3 \sigma$
原则- 当数据服从正态分布,根据正态分布的定义可知,
一个观测值出现在距离平均值
$3 \sigma$
之外的概率是$P(|x-\mu| > 3\sigma) \leq 0.003$
, 这属于极小概率事件,因此,当观测值距离平均值大于$3\sigma$
,则认为该观测值是异常值。
- 当数据服从正态分布,根据正态分布的定义可知,
一个观测值出现在距离平均值
- 箱型图分析(数字异常值,Numeric Outlier)
- 落在
$(Q1 - 1.5 \times IQR)$
和$(Q3 + 1.5 \times IQR)$
之外的观测值认为是异常值。
- 落在
- Z-score
- 假设特征服从正态分布,异常值是正态分布尾部的观测值点,因此远离特征的平均值。
距离的远近取决于特征归一化之后设定的阈值
$Z_{thr}$
,对于特征中的观测值$x_i$
, 如果$Z_i = \frac{x_i - \mu}{\sigma} > Z_{thr}$
,则认为$x_i$
为异常值,$Z_{thr}$
一般设为:2.5,3.0,3.5。
- 假设特征服从正态分布,异常值是正态分布尾部的观测值点,因此远离特征的平均值。
距离的远近取决于特征归一化之后设定的阈值
异常值处理方法
- 直接删除含有缺失值的样本
- 优点: 简单粗暴
- 缺点: 造成样本量(信息)减少
- 将异常值当做缺失值,交给缺失值处理方法来处理
- 用特征的均值修正;
Sigmoid 参数曲线
Sigmoid 参数曲线:
$$f(x) = \frac{a}{b + e^{-(dx - c)}}$$
损失函数:
$$S(p) = \sum_{i=1}^{m}(y_{i} - f(x_{i}, p))$$