1 / 19
文档名称:

Matlab笔记——数据预处理 ——剔除异常值及平滑处理.docx

格式:docx   大小:352KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Matlab笔记——数据预处理 ——剔除异常值及平滑处理.docx

上传人:guoxiachuanyue001 2022/11/14 文件大小:352 KB

下载得到文件列表

Matlab笔记——数据预处理 ——剔除异常值及平滑处理.docx

相关文档

文档介绍

文档介绍:该【Matlab笔记——数据预处理 ——剔除异常值及平滑处理 】是由【guoxiachuanyue001】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【Matlab笔记——数据预处理 ——剔除异常值及平滑处理 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。(1)――剔除异常值及平滑处理
测量数据在其采集与传输过程中,由于环境干扰或人为因素有可能造成个别数据不切合实际或丢失,这种数据称为异常值。为了恢复数据的客观真实性以便将来得到更好的分析结果,有必要先对原始数据(1)剔除异常值;
另外,无论是人工观测的数据还是由数据采集系统获取的数据,都不可避免叠加上“噪声”干扰(反映在曲线图形上就是一些“毛刺和尖峰”)。为了提高数据的质量,必须对数据进行(2)平滑处理(去噪声干扰);
(一)剔除异常值。
注:若是有空缺值,或导入Matlab数据显示为“NaN”(非数),
需要①忽略整条空缺值数据,或者②填上空缺值。
填空缺值的方法,通常有两种:;
用判定树或贝叶斯分类等方法推导最可能的值填充(略)。
一、基本思想:
规定一个置信水平,确定一个置信限度,凡是超过该限度的误差,
就认为它是异常值,从而予以剔除。
二、常用方法:拉依达方法、肖维勒方法、一阶差分法。
注意:这些方法都是假设数据依正态分布为前提的
拉依达方法(非等置信概率)
如果某测量值与平均值之差大于标准偏差的三倍,则予以剔除。
x一x〉3S
i.
其中,x=—弋x为样本均值,S=
nix
i=—

——兰(x-x)2|2为样本的标准偏n一—i
Vi=1丿
差。
注:适合大样本数据,建议测量次数上50次。
代码实例(略)。
肖维勒方法(等置信概率)
在n次测量结果中,如果某误差可能出现的次数小于半次时,就予以剔除。
这实质上是规定了置信概率为1-1/2n,根据这一置信概率,可计算出肖维勒系数,也可从表中查出,当要求不很严格时,还可按下列近似公式计算:
w=1+(n)

n
3
4
5
6
7
8
9
10
11
12
3
n
n
13
14
15
20
30
40
50
100
200
500
3
n
如果某测量值与平均值之差的绝对值大于标准偏差与肖维勒系
数之积,则该测量值被剔除。
x—x〉3S
inx
()进行剔除:
上述数据保存于文件
代码:
x=load('');
n=length(x);
subplot(2,1,1);
plot(x,'o');
title('原始数据')
axis([0,n+1,min(x)-1,max(x)+1]);
w=1+*log(n);
yichang=abs(x-mean(x))>w*std(x);
%若用拉依达方法,把w改成3即可,但本组数据将不能成功剔除异常值。
x(yichang)=[];
savex-ASCII
subplot(2,1,2);
plot(x,'rs');
title('异常值剔除后数据');
axis([0,n+1,min(x)-1,max(x)+1]);
运彳丁结果:x
y=
一阶差分法(预估比较法)用前两个测量值来预估新的测量值,然后用预估值与实际测量值比较,若大于事先给定的允许差限值,则剔除该测量值。
预估值
x=X+(X-x)
nn-1n-1n-2
比较判别:
x-x<W
nn
注:该方法的特点是
(1)适合于实时数据采集与处理过程;
(2)精度除了与允许误差限的大小有关外,还与前两点测量值的精确度有关;
(3)若被测物理量的变化规律不是单调递增或单调递减函数,这一方法将在函数的拐点处产生较大的误差,严重时将无法使用。
(二)数据的平滑处理
对于一组测量数据(xi,yi)i=1,...,n,不要直接就想着求出的拟合多项式的线性参数,而是要先平滑处理去掉“噪声”。平滑处理在科学研究中广泛使用,它可以减少测量中统计误差带来的影响,尤其被用于无法利用多次重复测量来得到其平均值的情况和当yi随xi有徒然变化的那些测量段。
1.“(2n+1点)单纯移动平均”平滑滤波
取出以yi为中心的前后各n个数据(yi-n,...,yi-1,yi,...yi+n)求平均值代替yi,即
y'=兰y.
i2n+1i+i
k=一n
优点:方法简单,计算方便。
缺点:方法产生误差会造成信号失真;前后各n个数据无法平滑。适用性:适用于变化缓慢的数据。
注:n越大平滑效果越好,但失真也越大。
例2.“9点单纯移动平均”平滑滤波
代码:
%建立“n点单纯移动平均”的滤波函数
%
functionY=smooth_data(y,n)
m=length(y);
j=1;
fori=(n-1)/2+1:(m-(n-1)/2)
p=i-(n-1)/2;
q=i+(n-1)/2;
Y(j)=sum(y(p:q))/n;
j=j+1;
end
end
%主程序
clc
clear
t=-15::15;
n=length(t);
Y=5・/(1+);%原始测试数据
y=Y+(1,n));%给测试数据加上噪声干扰
y1=smooth_data(y,9);%调用函数作9点滤波处理plot(1:n,Y,1:n,y,'-o',5:n-4,y1,'-*');
legend('无噪声','含噪声','9点平滑后');
运行结果:
£
£
1
C
10
20
20
40
CO
GO
70
1o
无噪声
—舎噪声
—卡脅启
2.“加权移动平均”平滑滤波
加权的基本思想:作平均的区间内中心处数据的权值最大,愈远离中心处的数据权值越小小。这样就减小了对真实信号本身的平滑作用。
权重系数可以采用最小二乘原理,使平滑后的数据以最小均方差逼近原始数据。即令
min工(y'-y)2
i+ki+k
k
通常采用“五点二次平滑”(n=5,k=-2,-1,0,1,2)
乙y-A-Ak-Ak2)二0
i+k012
k=-2
<乙y-A-Ak-Ak2)k二0
i+k012
k=-2
乙y-A-Ak-Ak2)k2二0i+k012
7=-2
五点二次平滑权重系数表:
归一系数
y-2
y-1
y。
y-2'
35
31
9
-3
-5
3
y-1'
35
9
13
12
6
-5
y。’
35
-3
12
17
12
-3
y】‘
35
-5
6
12
13
9
y;
35
3
-5
-3
9
31
y0二35(-3y-2+12y-1+17y0+12yi-3Z
“smooth函数”平滑滤波
调用格式:
Z=smooth(Y,span,method)
说明:
Z:平滑后的数据向量
Y:被平滑的数据向量
span:平滑点数,缺省为5点
method:平滑方法,缺省为移动平滑,其它还有
‘moving'Movingaverage(default单纯移动平均
‘lowess'Lowess(linearfit)线性加权平滑
‘loess'Loess(quadraticfit)二次加权平滑