ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:130.50KB ,
资源ID:284486      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-284486.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab学习系列012大数据预处理1剔除异常值及平滑处理文档格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Matlab学习系列012大数据预处理1剔除异常值及平滑处理文档格式.docx

1、789101112n1.381.531.651.731.801.861.921.962.002.03131415203040501002005002.072.102.132.242.392.492.582.813.023.20如果某测量值与平均值之差的绝对值大于标准偏差与肖维勒系数之积,则该测量值被剔除。例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=lengt

2、h(x);subplot(2,1,1);plot(x,otitle(原始数据)axis(0,n+1,min(x)-1,max(x)+1);w=1+0.4*log(n);yichang = abs(x-mean(x) w*std(x);% 若用拉依达方法,把w改成3即可,但本组数据将不能成功剔除异常值。x(yichang)=;save errornew.dat x -ASCIIsubplot(2,1,2);rs异常值剔除后数据运行结果:x =y = 1.5034 1.5062 1.5034 1.5024 1.4985 1.5007 1.5067 1.4993 1.49693. 一阶差分法(预估比

3、较法)用前两个测量值来预估新的测量值,然后用预估值与实际测量值比较,若大于事先给定的允许差限值,则剔除该测量值。预估值比较判别:该方法的特点是(1)适合于实时数据采集与处理过程;(2)精度除了与允许误差限的大小有关外,还与前两点测量值的精确度有关;(3)若被测物理量的变化规律不是单调递增或单调递减函数,这一方法将在函数的拐点处产生较大的误差,严重时将无法使用。(二)数据的平滑处理对于一组测量数据(xi,yi) i=1,n,不要直接就想着求出的拟合多项式的线性参数,而是要先平滑处理去掉“噪声”。平滑处理在科学研究中广泛使用,它可以减少测量中统计误差带来的影响,尤其被用于无法利用多次重复测量来得到

4、其平均值的情况和当i随i有徒然变化的那些测量段。1. “(2n+1点)单纯移动平均”平滑滤波取出以yi为中心的前后各n个数据(yi-n, ,yi-1,yi,yi+n)求平均值代替yi,即优点:方法简单,计算方便。缺点:方法产生误差会造成信号失真;前后各n个数据无法平滑。适用性:适用于变化缓慢的数据。 注:n越大平滑效果越好,但失真也越大。例2. “9点单纯移动平均”平滑滤波% 建立“n点单纯移动平均”的滤波函数% 注意函数要单独保存为与函数名同名的.m文件function Y=smooth_data(y,n) m=length(y);j=1;for i=(n-1)/2+1:(m-(n-1)/2

5、) p=i-(n-1)/2; q=i+(n-1)/2; Y(j)=sum(y(p:q)/n; j=j+1;end% 主程序clccleart=-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,-*legend(无噪声,含噪声9点平滑后2. “加权移动平均”平滑滤波加权的基本思想:作平均的区间中心处数据的权值最大,愈远离中心处的数据权值越小小。这样就减小了对真实信号本

6、身的平滑作用。权重系数可以采用最小二乘原理,使平滑后的数据以最小均方差逼近原始数据。即令通常采用“五点二次平滑” (n=5, k=-2,-1,0,1,2)五点二次平滑权重系数表:归一系数y-2y-1y0y1y2y-23531-3-5y-1y017y1y23. 用“smooth函数”平滑滤波调用格式:Z = smooth(Y, span, method)说明:Z: 平滑后的数据向量Y: 被平滑的数据向量span: 平滑点数,缺省为5点method :平滑方法,缺省为移动平滑,其它还有moving Moving average (default)单纯移动平均lowess Lowess (linea

7、r fit)线性加权平滑loess Loess (quadratic fit)二次加权平滑sgolay Savitzky-Golayrlowess Robust Lowess (linear fit)rloess Robust Loess (quadratic fit)例3. 用matlab自带的平滑函数作平滑滤波实例。t=-10:10;y=5./(1+t.2);y1=y+0.5*(0.5-rand(1,n);% 调用多个滤波函数作滤波处理y2=smooth(y1,3); y3=smooth(y1,9);y4=smooth(y1,3,lowess y5=smooth(y1,9,y6=smoot

8、h(y1,3,loess y7=smooth(y1,9,y8=smooth(y1,3, y9=smooth(y1,9,figure(1); % 第一图subplot(3,2,1);plot(t,y); axis(-10 10 -1 6); grid on无噪声信号subplot(3,2,2);plot(t,y1,含噪声信号subplot(3,2,3);plot(t,y2,3点单纯移动平均subplot(3,2,4);plot(t,y3,9点单纯移动平均subplot(3,2,5);plot(t,y4,3点线性加权平滑subplot(3,2,6);plot(t,y5,9点线性加权平滑figure

9、(2); % 第二图plot(t,y6,3点二次加权平滑plot(t,y7,9点二次加权平滑plot(t,y8,3点rloess平滑plot(t,y9,9点rloess平滑Figure 1Figure 24. 用“smoothts函数”(盒子法、高斯窗法、指数法)平滑滤波output = smoothts(input)output = smoothts(input, b, wsize) % 盒子法output = smoothts(input, g, wsize, stdev) % 高斯窗方法output = smoothts(input, e, n) % 指数法例4. 读取股市数据,对开盘价

10、的240条数据,调用smoothts函数进行平滑处理。x=xlsread(D:Program FilesMATLABMyWorksgupiaoshuju01.xls % 读取数据文件p0=x(1:240,1); % 用开盘价所在列的前240条数据% 注意若不转置可能导致后面处理结果异常subplot(2,2,1);plot(p0,kLineWidth,1.5); % 绘制平滑后曲线图,黑色实线,线宽1.5xlabel(观测序号ylabel(股市日开盘价axis(0 250 1000 1400);p1 = smoothts(p0,b,30); % 用盒子法平滑数据,窗宽为30subplot(2,

11、2,2);. % 绘制日开盘价散点图markersize,3); 可以改变点的大小hold onplot(p1,盒子法原始散点平滑曲线locationnorthwestp2 = smoothts(p0,g% 高斯窗方法,窗宽为30,标准差为默认值0.65subplot(2,2,3);plot(p2, ylabel(高斯窗方法p3 = smoothts(p0,e % 用指数法平滑数据,窗宽为30subplot(2,2,4);plot(p3,指数方法grid on5. 用medfilt1函数(一维中值滤波)y = medfilt1(x,n)y = medfilt1(x,n,blksz)y = me

12、dfilt1(x,n,blksz,dim)例5. 产生一列正弦波信号,加入噪声信号,然后调用medfilt1函数对加入噪声的正弦波进行滤波(平滑处理)。t = linspace(0,4*pi,500)% 产生一个从0到4*pi的向量,长度为500y = 100*sin(t); % 产生正弦波信号noise = normrnd(0,15,500,1);% 产生500行1列的服从N(0,152)分布的随机数,作为噪声信号y = y + noise; % 将正弦波信号加入噪声信号时间加噪声的正弦波% 调用medfilt1对加噪正弦波信号y进行中值滤波,并绘制波形图yy = medfilt1(y,30); % 指定窗宽为30,对y进行中值滤波plot(t,y,b: % b:表示蓝色虚线 plot(t,yy,2); % 绘制平滑后曲线,黑色实线,线宽2中值滤波加噪波形平滑后波形

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2