拉依达准则——(3σ)

拉依达准则——(3σ)

引言

有时在数据分析上,需要对某些偏离点进行剔除,我们可以考虑拉依达法则(3σ),以提高数据的准确性。

概念

假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除

这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提。

此方法对于数据量较小的数据集是不可靠的,需要选择其他方法进行剔除偏离点。

使用原理

在正态分布中σ代表标准差,μ代表均值。x=μ即为图像的对称轴

3σ原则

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

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

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

可以认为,y 的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。

剔除偏离点:

设对被测量进行等精度测量,独立得到x1,x2, … , xn,算出其算术平均值x及剩余误差vi=xi-x(i=1, 2, …, n),并计算出标准差σ,若某个测量值xi的剩余误差vi(1<=i<=n),满足下式
∣ v i ∣ = ∣ x i − x ∣ > 3 σ |v_i|=|x_i-x|>3\sigma vi=xix>3σ
则认为xi应予剔除

演示如下代码(为了清晰明了,并未满足大数据量的要求,请谅解)

>> x=[1, 1.1, 1.2, 1.3, 1.4, 2, 1.2, 1.3, 1.5, 0.9, 0.8, 1.1, 11];
>> inlier = [];outlier = [];
>> len = length(x);
>> average1 = mean(x);  % x中所有元素的均值
>> standard1 = std(x);  % x的标准差
>> for i = 1:len  % 遍历x向量,判断是否为偏离点,不是偏离点则存入inline
     if abs(x(i)-average1)> inlier

inlier =

    1.0000    1.1000    1.2000    1.3000    1.4000    2.0000    1.2000    1.3000    1.5000    0.9000    0.8000    1.1000

>> average2 = mean(inlier);
>> standard2 = std(inlier);
>> for i = 1:len  % 遍历x向量,判断是否为偏离点,不是偏离点则存入outline
     if abs(x(i)-average2) >= standard2*3
       outlier = [outlier x(i)];
     end
   end
>> outlier

outlier =

    11

你可能感兴趣的:(数学建模)