1.1 数据预处理(平滑)

您所在的位置:网站首页 不属于数据预处理 1.1 数据预处理(平滑)

1.1 数据预处理(平滑)

2023-10-26 18:23| 来源: 网络整理| 查看: 265

一.主要内容: 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个元素的0到2pi的向量 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('加噪波形','平滑后波形');

在这里插入图片描述



【本文地址】


今日新闻


    推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3