肖维勒方法 matlab,数据预处理之剔除异常值及平滑处理.pdf

数据预处理之剔除异常值及平滑处理.pdf

数据预处理——剔除异常值及平滑处理

测量数据在其采集与传输过程中,由于环境干扰或人为因素有可

能造成个别数据不切合实际或丢失,这种数据称为异常值。为了恢复

数据的客观真实性以便将来得到更好的分析结果,有必要先对原始数

据剔除异常值。

另外,无论是人工观测的数据还是由数据采集系统获取的数据,

都不可避免叠加上“噪声”干扰 (反映在曲线图形上就是一些“毛刺

和尖峰”)。为了提高数据的质量,必须对数据进行平滑处理(去噪声

干扰)。

(一)剔除异常值。

注:若是有空缺值,或导入Matlab 数据显示为“NaN”(非数),

需要忽略整条空缺值数据,或者填上空缺值。

填空缺值的方法,通常有两种:A. 使用样本平均值填充;B. 使

用判定树或贝叶斯分类等方法推导最可能的值填充(略)。

一、基本思想:

规定一个置信水平,确定一个置信限度,凡是超过该限度的误差,

就认为它是异常值,从而予以剔除。

二、常用方法:拉依达方法、肖维勒方法、一阶差分法。

注意:这些方法都是假设数据依正态分布为前提的。

1. 拉依达方法(非等置信概率)

如果某测量值与平均值之差大于标准偏差的三倍,则予以剔除。

x x  3S

i x

1

1 n  1 n 2 2

其中,x x 为样本均值, 为样本的标准偏

 i Sx  (x x ) 

i

n i 1 n 1 i 1 

差。

注:适合大样本数据,建议测量次数≥50 次。

代码实例(略)。

2. 肖维勒方法(等置信概率)

在 n 次测量结果中,如果某误差可能出现的次数小于半次时,

就予以剔除。

这实质上是规定了置信概率为1-1/2n,根据这一置信概率,可计

算出肖维勒系数,也可从表中查出,当要求不很严格时,还可按下列

近似公式计算:

n 1 0.4ln(n )

Tab1. 肖维勒系数表

n 3 4 5 6 7 8 9 10 11 12

ωn 1.38 1.53 1.65 1.73 1.80 1.86 1.92 1.96 2.00 2.03

n 13 14 15 20 30 40 50 100 200 500

ωn 2.07 2.10 2.13 2.24 2.39 2.49 2.58 2.81 3.02 3.20

如果某测量值与平均值之差的绝对值大于标准偏差与肖维勒系

数之积,则该测量值被剔除。

x x  S

i n x

例1. 利用肖维勒方法对下列数据的异常值 (2.5000 )进行剔除:

1.5034 1.5062 1.5034 1.5024 1.4985 2.5000 1.5007

1.5067 1.4993 1.4969

上述数据保存于文件erro.dat

代码:

x=load('error.dat');

n=

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值