1.1 数据预处理(平滑)

一.主要内容:
1.数据的平滑处理
2.数据的标准化处理
3.数据的极差归一化变换
4.缺失数据的填充

二.为何要进行预处理?
我们得到的实际数据容易受到噪声的影响,可能存在重复与缺失,也可能存在多种量纲,他们往往是不完美的。因此我们再分析挖掘数据时,首先就要进行预处理。

三.正文部分
1.
数据的平滑处理,主要用到MATLAB的smooth函数

原理(以yy=smooth(y);举例):
yy(1)=y(1)
yy(2)=(y(1)+y(2)+y(3))/3
yy(3)=(y(1)+y(2)+y(3)+y(4)+y(5))/5
yy(4)=(y(2)+y(3)+y(4)+y(5)+y(6))/5

调用格式如下:

yy=smooth(y); %默认窗宽为5,即当前数与前两个后两个的平均
yy=smooth(y,span); %span为制定移动平均滤波器的窗宽,为正奇数
yy=smooth(y,method); %method为平滑的方法,一般有Moving,Lowess,loess,Sgolay,rlowess与rloess
yy=smooth(y,span,method);
yy=smooth(y,'sgolay',degree); %使用sgolay方法平滑,degree为参数指定多项式模型的阶数,是0到span-1间的正整数
yy=smooth(y,span,'sgolay',degree);
yy=smooth(x,y,...);

为了方便理解,我举一个通俗易懂的例子:
我们先创造一个加噪音的正弦波信号,再用smooth函数对其处理

t=linspace(0,2*pi,300)'; %产生300个元素的02pi的向量
y=80*sin(t);
noise=normrnd(0,15,300,1);%噪声信号
y=y+noise;%加噪声的正弦信号
figure;
plot(t,y);
xlabel('时间t');
ylabel('加噪声的sin函数');

运行结果如下:
在这里插入图片描述
接下来,我们进行平滑处理

yy1 = smooth(y,15); % 利用移动平均法进行平滑处理,span选为15
figure; % 新建一个图形窗口
plot(t,y,'k:'); % 绘制加噪波形图
hold on;
plot(t,yy1,'k','linewidth',3); % 绘制平滑后波形图
xlabel('t'); 
ylabel('moving'); 
legend('加噪波形','平滑后波形');


与上面的波形对比,平滑后图像显然更接近无噪音的正弦信号。此处就不在尝试其他平滑方法了,同学们可以自己试一下,看看哪个方法的效果更好。

'moving ’移动平均法(默认),低通滤波器,滤波系数为窗宽的倒数
’ lowess’局部回归(加权线性最小二乘和一个一阶多项式模型)
‘loess’局部回归(加权线性最小二乘和一个二阶多项式模型)
‘sgolay’Savitzky -Golay滤波。一种广义移动平均法.滤波系数由不加权线性最小二乘回归和一个多项式模型确定,多项式模型的阶数n可以指定(默认为2)
‘rlowess’'lowess’方法的稳健形式。异常值被赋予较小的权重,6倍的平均绝对偏差以外的数据的权重为0
‘rloess’'loess’方法的稳健形式。舁常值被赋予较小的权承.6倍的平均绝对偏差以外的数据的权重为0

2.
modfilt1函数(一维中值滤波):用于一维信号的处理。例如在动态压力测量时由于电路上的干扰会出现测量值发生突变,为了消除这种突变可以采用一维中值滤波的方法。
调用格式:

y = medfilt1(x,n);
y = medfilt1(x,n,blksz);
y = medfilt1(x,n,blksz,dim)

再次举例,接着上文中产生带噪音的正弦信号开始

yy = medfilt1(y,30); % 指定窗宽为30,对y进行中值滤波
figure; % 新建一个图形窗口
plot(t,y,'k:'); % 绘制加噪波形图
hold on
% 绘制平滑后曲线图,黑色实线,线宽为3
plot(t,yy,'k','LineWidth',3); 
xlabel('t'); % 为X轴加标签
ylabel('中值滤波'); % 为Y轴加标签
legend('加噪波形','平滑后波形');

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值