Matlab笔记数据预处理剔除异常值及平滑处理.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)

Matlab笔记数据预处理剔除异常值及平滑处理 数据预处理是指对原始数据进行处理,以恢复数据的客观真实性和提高数据的质量。本文主要介绍了Matlab中数据预处理的两方面内容:剔除异常值和平滑处理。 一、剔除异常值 异常值是指由于环境干扰或人为因素而造成的不切合实际或丧失的数据。为了恢复数据的客观真实性,需要对原始数据进行剔除异常值的处理。常用的方法有拉依达方法、肖维勒方法和一阶差分法。 1. 拉依达方法 拉依达方法是对测量值和平均值之差进行判断,如果该差值大于标准偏差的三倍,那么该测量值被剔除。该方法适合大样本数据,建议测量次数≥50次。 2. 肖维勒方法 肖维勒方法是对测量值和平均值之差的绝对值进行判断,如果该绝对值大于标准偏差及肖维勒系数之积,那么该测量值被剔除。该方法实质上是规定了置信概率为1-1/2n。 3. 一阶差分法 一阶差分法是用前两个测量值来预估新的测量值,然后用预估值及实际测量值比拟,假设大于事先给定的允许差限值,那么剔除该测量值。 二、数据平滑处理 数据平滑处理是指对测量数据进行处理,以减少测量中统计误差带来的影响。常用的方法有“n点单纯移动平均”平滑滤波和 Savitzky-Golay 平滑滤波等。 1. “n点单纯移动平均”平滑滤波 该方法是对yi为中心的前后各n个数据求平均值代替yi。优点是方法简单、计算方便,缺点是方法产生误差会造成信号失真。 代码实例: function Y=smooth_data(y,n) m=length(y); j=1; for i=(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:0.5:15; n=length(t); Y=5./(1+t.^2); % 原始测试数据 y=Y+(0.5-rand(1,n)); % 给测试数据加上噪声干扰 y1=smooth_data(y,9); % 调用函数作9点滤波处理 plot(1:n,Y,1:n,y,'-o',5:n-4,y1,'-*'); 数据预处理是数据分析的重要步骤,通过剔除异常值和平滑处理,可以提高数据的质量和可靠性,从而获得更加准确的分析结果。














剩余6页未读,继续阅读

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源



- 1
- 2
- 3
- 4
前往页