数据预处理——异常值查找与剔除

1、3 σ \sigma σ法(拉以达法则)

       3σ准则是指先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。
       这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提(样本>10),当测量次数少的情形用准则剔除粗大误差是不够可靠的。
       3σ法则为:

  • 数值分布在(μ-σ,μ+σ)中的概率为0.6827

  • 数值分布在(μ-2σ,μ+2σ)中的概率为0.9545

  • 数值分布在(μ-3σ,μ+3σ)中的概率为0.9973

  • 可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%
    在这里插入图片描述

load a
%% 判断数据是否符合正太分布
[h,p]=lillietest(a)    %判断是否正态。h=0
%返回值h为假设,只有01两种情况,h=0假设符合正态分布,h=1假设不符合正态分布
%返回值p为方差概率,也可以说事情的发生概率,p<0.05(显著性水平通常取0.05,还有0.0250.01三种情况)为不可能事件,拒绝;p>0.05,接受
%%
subplot(2,1,1);
plot(a);
aa=mean(a); 
sig=std(a); %算出a的标准偏差。
m=zeros(1,length(a));
num = [];%记录异常值
n = [];%构建一个新的矩阵用以储存新的数据集(异常值已经替换)
i=1;
for t=1:length(a)
	m(t)=abs(a(t)-aa);
	if m(t)>3*sig
  		n(t)=aa;%这里把异常值替换成了均值,也可以直接替换成其他的值如0等,然后进行剔除
  		num(i)=a(t);%显示异常数据,如果没有异常数据的话将不会产生num变量
  		i=i+1;
	else
  		n(t)=a(t);
  	end
end
b=0:1:length(n)-1;
subplot(2,1,2);
plot(b,n);
title('拉以达法则剔除坏值')
xlabel('采样时间');
ylabel('采样点数')

2、四分位(箱型图)

       箱形图是数字数据通过其四分位数形成的图形化描述。这是一种非常简单但有效的可视化离群点的方法。考虑把上下触须作为数据分布的边界。任何高于上触须或低于下触须的数据点都可以认为是离群点或异常值
        四分位间距 (IQR) 的概念被用于构建箱形图。IQR 是统计学中的一个概念,通过将数据集分成四分位来衡量统计分散度和数据可变性。简单来说,任何数据集或任意一组观测值都可以根据数据的值以及它们与整个数据集的比较情况被划分为四个确定的间隔。四分位数会将数据分为三个点和四个区间。
       四分位间距对定义离群点非常重要。它是第三个四分位数和第一个四分位数的差 (IQR = Q3 -Q1)。在这种情况下,离群点被定义为低于箱形图下触须(或 Q1 − 1.5x IQR)或高于箱形图上触须(或 Q3 + 1.5x IQR)的观测值。
在这里插入图片描述

3、Z-score方法

       Z-score是一维或低维特征空间中的参数异常检测方法。该技术假定数据服从高斯分布,异常值是分布尾部的数据点,因此远离数据的平均值。距离的远近取决于使用公式计算的归一化数据点 z i z_i zi的设定阈值 Z t h r Z_{thr} Zthr
z i = ( x i − μ ) / σ z_i=(x_i-\mu)/\sigma zi=(xiμ)/σ
       其中 x i x_i xi是一个数据点, μ \mu μ为所有点 x i x_i xi的平均值; σ \sigma σ是所有点 x i x_i xi的标准偏差,经标准化处理后,异常值也进行标准化处理,其绝对值大于 Z t h r Z_{thr} Zthr

∣ z i > z t h r ∣ |z_i>z_{thr}| zi>zthr

        Z t h r Z_{thr} Zthr通常设置为2.5、3.0,3.5

4、DBSCAN方法

       基于DBSCAN聚类方法,DBSCAN是一维或多维特征空间中的非参数,基于密度的离群值检测方法。在DBSCAN聚类技术中,所有数据点都被定义为核心点(Core Points)、边界点(Border Points)或噪声点(Noise Points)。核心点是在距离内至少具有最小包含点数(minPTs)的数据点;边界点是核心点的距离内邻近点,但包含的点数小于最小包含点数(minPTs);所有的其他数据点都是噪声点,也被标识为异常值;从而,异常检测取决于所要求的最小包含点数、距离和所选择的距离度量,比如欧几里得或曼哈顿距离。

5、孤立森林方法

       该方法是一维或多维特征空间中大数据集的非参数方法,其中的一个重要概念是孤立数。孤立数是孤立数据点所需的拆分数。通过以下步骤确定此分割数:随机选择要分离的点“a”;选择在最小值和最大值之间的随机数据点“b”,并且与“a”不同;如果“b”的值低于“a”的值,则“b”的值变为新的下限;如果“b”的值大于“a”的值,则“b”的值变为新的上限;只要在上限和下限之间存在除“a”之外的数据点,就重复该过程;与孤立非异常值相比,它需要更少的分裂来孤立异常值,即异常值与非异常点相比具有更低的孤立数。因此,如果数据点的孤立数低于阈值,则将数据点定义为异常值。阈值是基于数据中异常值的估计百分比来定义的,这是异常值检测算法的起点。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐