博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MATLAB 大数据剔除坏值
阅读量:4550 次
发布时间:2019-06-08

本文共 986 字,大约阅读时间需要 3 分钟。

在用MATLAB进行数据分析的时候,坏点对正确结果的影响比较大,

因此,我么需要剔除野点,对于坏值的剔除,我们

利用  3σ准则 剔除无效数据;

3σ准则又称为拉依达准则,它是先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,

认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。且3σ适用于有较多组数据的时候。

这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提的,
当测量次数较少的情形用准则剔除粗大误差是不够可靠的。因此,在测量次数较少的情况下,最好不要选用准则,而用其他准则。
在正态分布中σ代表标准差,μ代表均值。x=μ即为图像的对称轴
3σ原则为
数值分布在(μ-σ,μ+σ)中的概率为0.6826
数值分布在(μ-2σ,μ+2σ)中的概率为0.9544
数值分布在(μ-3σ,μ+3σ)中的概率为0.9974
可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%.
 
下面是对一组元素进行坏值剔除的方法:
>> ave = mean(P);%mean 求解平均值>> u = std(P);%求解标准差>> for i = 1:6349if(abs(P(i)-ave)>3*u)%不符合 3σ准则 , 剔除这个元素     P(i) = 0;else   continue; endend>> P_ans = P(P~=0);%获取所有非 0 元素 ,是剔除元素 的完整过程>> len = length(P_ans);>> lenlen =        6342

 

  如果是有多变量作用于一个因变量,那么需要他们几个变量的值都满足    3σ准则;

运用逻辑运算符号 && 且 , 如果几个变量都满足法则 , 继续向下遍历 ,否则,就让这些变量全都赋值一个合理的剔除标志数 X。

遍历结束后 , 对于 所有变量进行剔除 X 操作 Ans = a(a~=X); Ans 就是 a 里面所有不为 X 的数重新组成的新数列 , 正确处理后, 几个变量数列剔除元素后长度相同 , 并且相对应的关系没有改变。

转载于:https://www.cnblogs.com/masterchd/p/7894706.html

你可能感兴趣的文章
IDEA远程仓库版本回滚
查看>>
C++矩阵库 Eigen 简介(转载)
查看>>
sklearn的train_test_split()各函数参数含义解释(非常全)
查看>>
机器学习算法的整体流程(非常易懂)
查看>>
机器学习梯度下降法的数学原理(非常易懂)
查看>>
数据归一化Scaler-机器学习算法
查看>>
机器学习线性回归算法的评价指标(简单线性回归问题)
查看>>
教你如何剖析源码(转)
查看>>
proxy和proxy-no的策略取值区别
查看>>
Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画
查看>>
AFNetworking
查看>>
unity3d Start执行不同时问题
查看>>
session
查看>>
JS只能输入数字
查看>>
Laravel 数据库连接, 数据库名,配置文件修改
查看>>
屌丝接盘侠们,孩子可能不是你们亲生的!
查看>>
BZOJ 1854 【SCOI2010】 游戏
查看>>
JavaScript - 匿名函数和闭包
查看>>
负载均衡下的资源文件配置/多站点下的资源文件夹共享(Windows IIS)
查看>>
MySQL firstmatch strategy
查看>>