Matlab筆記數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理(共15頁(yè))_第1頁(yè)
Matlab筆記數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理(共15頁(yè))_第2頁(yè)
Matlab筆記數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理(共15頁(yè))_第3頁(yè)
Matlab筆記數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理(共15頁(yè))_第4頁(yè)
Matlab筆記數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理(共15頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上012. 數(shù)據(jù)預(yù)處理(1)剔除異常值及平滑處理測(cè)量數(shù)據(jù)在其采集與傳輸過(guò)程中,由于環(huán)境干擾或人為因素有可能造成個(gè)別數(shù)據(jù)不切合實(shí)際或丟失,這種數(shù)據(jù)稱為異常值。為了恢復(fù)數(shù)據(jù)的客觀真實(shí)性以便將來(lái)得到更好的分析結(jié)果,有必要先對(duì)原始數(shù)據(jù)(1)剔除異常值; 另外,無(wú)論是人工觀測(cè)的數(shù)據(jù)還是由數(shù)據(jù)采集系統(tǒng)獲取的數(shù)據(jù),都不可避免疊加上“噪聲”干擾(反映在曲線圖形上就是一些“毛刺和尖峰”)。為了提高數(shù)據(jù)的質(zhì)量,必須對(duì)數(shù)據(jù)進(jìn)行(2)平滑處理(去噪聲干擾);(一)剔除異常值。注:若是有空缺值,或?qū)隡atlab數(shù)據(jù)顯示為“NaN”(非數(shù)),需要忽略整條空缺值數(shù)據(jù),或者填上空缺值。填空缺值的方法

2、,通常有兩種:A. 使用樣本平均值填充;B. 使用判定樹(shù)或貝葉斯分類等方法推導(dǎo)最可能的值填充(略)。一、基本思想:規(guī)定一個(gè)置信水平,確定一個(gè)置信限度,凡是超過(guò)該限度的誤差,就認(rèn)為它是異常值,從而予以剔除。二、常用方法:拉依達(dá)方法、肖維勒方法、一階差分法。注意:這些方法都是假設(shè)數(shù)據(jù)依正態(tài)分布為前提的。1. 拉依達(dá)方法(非等置信概率)如果某測(cè)量值與平均值之差大于標(biāo)準(zhǔn)偏差的三倍,則予以剔除。其中,為樣本均值,為樣本的標(biāo)準(zhǔn)偏差。注:適合大樣本數(shù)據(jù),建議測(cè)量次數(shù)50次。代碼實(shí)例(略)。2. 肖維勒方法(等置信概率)在 n 次測(cè)量結(jié)果中,如果某誤差可能出現(xiàn)的次數(shù)小于半次時(shí),就予以剔除。這實(shí)質(zhì)上是規(guī)定了置信

3、概率為1-1/2n,根據(jù)這一置信概率,可計(jì)算出肖維勒系數(shù),也可從表中查出,當(dāng)要求不很嚴(yán)格時(shí),還可按下列近似公式計(jì)算:Tab1. 肖維勒系數(shù)表n3456789101112n1.381.531.651.731.801.861.921.962.002.03n13141520304050100200500n2.072.102.132.242.392.492.582.813.023.20如果某測(cè)量值與平均值之差的絕對(duì)值大于標(biāo)準(zhǔn)偏差與肖維勒系數(shù)之積,則該測(cè)量值被剔除。例1. 利用肖維勒方法對(duì)下列數(shù)據(jù)的異常值(2.5000)進(jìn)行剔除:1.5034 1.5062 1.5034 1.5024 1.4985 2.

4、5000 1.5007 1.5067 1.4993 1.4969上述數(shù)據(jù)保存于文件erro.dat代碼:x=load('error.dat');n=length(x);subplot(2,1,1);plot(x,'o');title('原始數(shù)據(jù)')axis(0,n+1,min(x)-1,max(x)+1);w=1+0.4*log(n);yichang = abs(x-mean(x) > w*std(x);% 若用拉依達(dá)方法,把w改成3即可,但本組數(shù)據(jù)將不能成功剔除異常值。x(yichang)=;save errornew.dat x -AS

5、CIIsubplot(2,1,2);plot(x,'rs');title('異常值剔除后數(shù)據(jù)');axis(0,n+1,min(x)-1,max(x)+1);運(yùn)行結(jié)果:x =1.5034 1.5062 1.5034 1.5024 1.4985 2.5000 1.5007 1.5067 1.4993 1.4969y = 1.5034 1.5062 1.5034 1.5024 1.4985 1.5007 1.5067 1.4993 1.49693. 一階差分法(預(yù)估比較法)用前兩個(gè)測(cè)量值來(lái)預(yù)估新的測(cè)量值,然后用預(yù)估值與實(shí)際測(cè)量值比較,若大于事先給定的允許差限值,則剔

6、除該測(cè)量值。預(yù)估值比較判別:注:該方法的特點(diǎn)是(1)適合于實(shí)時(shí)數(shù)據(jù)采集與處理過(guò)程;(2)精度除了與允許誤差限的大小有關(guān)外,還與前兩點(diǎn)測(cè)量值的精確度有關(guān);(3)若被測(cè)物理量的變化規(guī)律不是單調(diào)遞增或單調(diào)遞減函數(shù),這一方法將在函數(shù)的拐點(diǎn)處產(chǎn)生較大的誤差,嚴(yán)重時(shí)將無(wú)法使用。(二)數(shù)據(jù)的平滑處理對(duì)于一組測(cè)量數(shù)據(jù)(xi,yi) i=1,n,不要直接就想著求出的擬合多項(xiàng)式的線性參數(shù),而是要先平滑處理去掉“噪聲”。平滑處理在科學(xué)研究中廣泛使用,它可以減少測(cè)量中統(tǒng)計(jì)誤差帶來(lái)的影響,尤其被用于無(wú)法利用多次重復(fù)測(cè)量來(lái)得到其平均值的情況和當(dāng)i隨i有徒然變化的那些測(cè)量段。1. “(2n+1點(diǎn))單純移動(dòng)平均”平滑濾波取出

7、以yi為中心的前后各n個(gè)數(shù)據(jù)(yi-n, ,yi-1,yi,yi+n)求平均值代替yi,即優(yōu)點(diǎn):方法簡(jiǎn)單,計(jì)算方便。缺點(diǎn):方法產(chǎn)生誤差會(huì)造成信號(hào)失真;前后各n個(gè)數(shù)據(jù)無(wú)法平滑。適用性:適用于變化緩慢的數(shù)據(jù)。注:n越大平滑效果越好,但失真也越大。例2. “9點(diǎn)單純移動(dòng)平均”平滑濾波代碼:% 建立“n點(diǎn)單純移動(dòng)平均”的濾波函數(shù)% 注意函數(shù)要單獨(dú)保存為與函數(shù)名同名的.m文件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

8、=j+1;endend% 主程序clccleart=-15:0.5:15;n=length(t);Y=5./(1+t.2); % 原始測(cè)試數(shù)據(jù)y=Y+(0.5-rand(1,n); % 給測(cè)試數(shù)據(jù)加上噪聲干擾y1=smooth_data(y,9); % 調(diào)用函數(shù)作9點(diǎn)濾波處理plot(1:n,Y,1:n,y,'-o',5:n-4,y1,'-*');legend('無(wú)噪聲','含噪聲','9點(diǎn)平滑后');運(yùn)行結(jié)果:2. “加權(quán)移動(dòng)平均”平滑濾波加權(quán)的基本思想:作平均的區(qū)間內(nèi)中心處數(shù)據(jù)的權(quán)值最大,愈遠(yuǎn)離中心處的數(shù)據(jù)權(quán)值

9、越小小。這樣就減小了對(duì)真實(shí)信號(hào)本身的平滑作用。權(quán)重系數(shù)可以采用最小二乘原理,使平滑后的數(shù)據(jù)以最小均方差逼近原始數(shù)據(jù)。即令通常采用“五點(diǎn)二次平滑”(n=5, k=-2,-1,0,1,2)五點(diǎn)二次平滑權(quán)重系數(shù)表:歸一系數(shù)y-2y-1y0y1y2y-235319-3-53y-135913126-53y135-5612139y2353-5-39313. 用“smooth函數(shù)”平滑濾波調(diào)用格式:Z = smooth(Y, span, method)說(shuō)明:Z:平滑后的數(shù)據(jù)向量Y:被平滑的數(shù)據(jù)向量span:平滑點(diǎn)數(shù),缺省為5點(diǎn)method :平滑方法,缺省為移動(dòng)平滑,其它還有mov

10、ing Moving average (default)單純移動(dòng)平均lowessLowess (linear fit)線性加權(quán)平滑loessLoess (quadratic fit)二次加權(quán)平滑'sgolay' Savitzky-Golay'rlowess' Robust Lowess (linear fit)'rloess' Robust Loess (quadratic fit)例3. 用matlab自帶的平滑函數(shù)作平滑濾波實(shí)例。代碼:t=-10:0.5:10;n=length(t);y=5./(1+t.2); % 原始測(cè)試數(shù)據(jù)y1=y+0.

11、5*(0.5-rand(1,n); % 給測(cè)試數(shù)據(jù)加上噪聲干擾% 調(diào)用多個(gè)濾波函數(shù)作濾波處理y2=smooth(y1,3); y3=smooth(y1,9);y4=smooth(y1,3,'lowess'); y5=smooth(y1,9,'lowess');y6=smooth(y1,3,'loess'); y7=smooth(y1,9,'loess');y8=smooth(y1,3,'rloess'); y9=smooth(y1,9,'rloess');figure(1); % 第一張圖subpl

12、ot(3,2,1);plot(t,y); axis(-10 10 -1 6); grid ontitle('無(wú)噪聲信號(hào)');subplot(3,2,2);plot(t,y1,'-*'); axis(-10 10 -1 6); grid ontitle('含噪聲信號(hào)');subplot(3,2,3);plot(t,y2,'-*'); axis(-10 10 -1 6); grid ontitle('3點(diǎn)單純移動(dòng)平均');subplot(3,2,4);plot(t,y3,'-*'); axis(-10

13、10 -1 6); grid ontitle('9點(diǎn)單純移動(dòng)平均');subplot(3,2,5);plot(t,y4,'-*'); axis(-10 10 -1 6); grid ontitle('3點(diǎn)線性加權(quán)平滑');subplot(3,2,6);plot(t,y5,'-*'); axis(-10 10 -1 6); grid ontitle('9點(diǎn)線性加權(quán)平滑');figure(2); % 第二張圖subplot(3,2,1);plot(t,y); axis(-10 10 -1 6); grid ontitl

14、e('無(wú)噪聲信號(hào)');subplot(3,2,2);plot(t,y1,'-*'); axis(-10 10 -1 6); grid ontitle('含噪聲信號(hào)');subplot(3,2,3);plot(t,y6,'-*'); axis(-10 10 -1 6); grid ontitle('3點(diǎn)二次加權(quán)平滑');subplot(3,2,4);plot(t,y7,'-*'); axis(-10 10 -1 6); grid ontitle('9點(diǎn)二次加權(quán)平滑');subplot(

15、3,2,5);plot(t,y8,'-*'); axis(-10 10 -1 6); grid ontitle('3點(diǎn)rloess平滑');subplot(3,2,6);plot(t,y9,'-*'); axis(-10 10 -1 6); grid ontitle('9點(diǎn)rloess平滑');運(yùn)行結(jié)果:Figure 1Figure 24. 用“smoothts函數(shù)”(盒子法、高斯窗法、指數(shù)法)平滑濾波調(diào)用格式:output = smoothts(input)output = smoothts(input, b, wsize) %

16、 盒子法output = smoothts(input, g, wsize, stdev) % 高斯窗方法output = smoothts(input, e, n) % 指數(shù)法例4. 讀取股市數(shù)據(jù),對(duì)開(kāi)盤(pán)價(jià)的240條數(shù)據(jù),調(diào)用smoothts函數(shù)進(jìn)行平滑處理。代碼:x=xlsread('D:Program FilesMATLABMyWorksgupiaoshuju01.xls'); % 讀取數(shù)據(jù)文件p0=x(1:240,1)' % 用開(kāi)盤(pán)價(jià)所在列的前240條數(shù)據(jù)% 注意若不轉(zhuǎn)置可能導(dǎo)致后面處理結(jié)果異常subplot(2,2,1);plot(p0,'k'

17、,'LineWidth',1.5); % 繪制平滑后曲線圖,黑色實(shí)線,線寬1.5xlabel('觀測(cè)序號(hào)'); ylabel('股市日開(kāi)盤(pán)價(jià)'); axis(0 250 1000 1400);p1 = smoothts(p0,'b',30); % 用盒子法平滑數(shù)據(jù),窗寬為30subplot(2,2,2);plot(p0,'.'); % 繪制日開(kāi)盤(pán)價(jià)散點(diǎn)圖plot(p0,'.','markersize',3); 可以改變點(diǎn)的大小hold onplot(p1,'k',&#

18、39;LineWidth',1.5); xlabel('觀測(cè)序號(hào)'); ylabel('盒子法');legend('原始散點(diǎn)','平滑曲線','location','northwest');axis(0 250 1000 1400);p2 = smoothts(p0,'g',30);% 高斯窗方法,窗寬為30,標(biāo)準(zhǔn)差為默認(rèn)值0.65subplot(2,2,3);plot(p0,'.'); hold onplot(p2,'k','Line

19、Width',1.5); xlabel('觀測(cè)序號(hào)'); ylabel('高斯窗方法'); legend('原始散點(diǎn)','平滑曲線','location','northwest');axis(0 250 1000 1400);p3 = smoothts(p0,'e',30);% 用指數(shù)法平滑數(shù)據(jù),窗寬為30subplot(2,2,4);plot(p0,'.'); hold onplot(p3,'k','LineWidth',1.5); xlabel('觀測(cè)序號(hào)'); ylabel('指數(shù)方法'); legend('原始散點(diǎn)','平滑曲線','location','northwest');axis(0 250 1000 1400);grid ontitle('9點(diǎn)rloess平滑');運(yùn)行結(jié)果:5. 用medfilt1函數(shù)(一維中值濾波)調(diào)用格式:y =

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論