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

下載本文檔

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

文檔簡介

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

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

3、概率為1-1/2n,根據(jù)這一置信概率,可計算出肖維勒系數(shù),也可從表中查出,當(dāng)要求不很嚴(yán)格時,還可按下列近似公式計算:Tab1. 肖維勒系數(shù)表n3456789101112n1.381.531.651.731.801.861.921.962.002.03n13141520304050100200500n2.072.102.132.242.392.492.582.813.023.20如果某測量值與平均值之差的絕對值大于標(biāo)準(zhǔn)偏差與肖維勒系數(shù)之積,則該測量值被剔除。例1. 利用肖維勒方法對下列數(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ù)估比較法)用前兩個測量值來預(yù)估新的測量值,然后用預(yù)估值與實(shí)際測量值比較,若大于事先給定的允許差限值,則剔

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

7、以yi為中心的前后各n個數(shù)據(jù)(yi-n, ,yi-1,yi,yi+n)求平均值代替yi,即優(yōu)點(diǎn):方法簡單,計算方便。缺點(diǎn):方法產(chǎn)生誤差會造成信號失真;前后各n個數(shù)據(jù)無法平滑。適用性:適用于變化緩慢的數(shù)據(jù)。注:n越大平滑效果越好,但失真也越大。例2. “9點(diǎn)單純移動平均”平滑濾波代碼:% 建立“n點(diǎn)單純移動平均”的濾波函數(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); % 原始測試數(shù)據(jù)y=Y+(0.5-rand(1,n); % 給測試數(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('無噪聲','含噪聲','9點(diǎn)平滑后');運(yùn)行結(jié)果:2. “加權(quán)移動平均”平滑濾波加權(quán)的基本思想:作平均的區(qū)間內(nèi)中心處數(shù)據(jù)的權(quán)值最大,愈遠(yuǎn)離中心處的數(shù)據(jù)權(quán)值

9、越小小。這樣就減小了對真實(shí)信號本身的平滑作用。權(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)說明:Z:平滑后的數(shù)據(jù)向量Y:被平滑的數(shù)據(jù)向量span:平滑點(diǎn)數(shù),缺省為5點(diǎn)method :平滑方法,缺省為移動平滑,其它還有mov

10、ing Moving average (default)單純移動平均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); % 原始測試數(shù)據(jù)y1=y+0.

11、5*(0.5-rand(1,n); % 給測試數(shù)據(jù)加上噪聲干擾% 調(diào)用多個濾波函數(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('無噪聲信號');subplot(3,2,2);plot(t,y1,'-*'); axis(-10 10 -1 6); grid ontitle('含噪聲信號');subplot(3,2,3);plot(t,y2,'-*'); axis(-10 10 -1 6); grid ontitle('3點(diǎn)單純移動平均');subplot(3,2,4);plot(t,y3,'-*'); axis(-10

13、10 -1 6); grid ontitle('9點(diǎn)單純移動平均');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('無噪聲信號');subplot(3,2,2);plot(t,y1,'-*'); axis(-10 10 -1 6); grid ontitle('含噪聲信號');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ù),對開盤價的240條數(shù)據(jù),調(diào)用smoothts函數(shù)進(jìn)行平滑處理。代碼:x=xlsread('D:Program FilesMATLABMyWorksgupiaoshuju01.xls'); % 讀取數(shù)據(jù)文件p0=x(1:240,1)' % 用開盤價所在列的前240條數(shù)據(jù)% 注意若不轉(zhuǎn)置可能導(dǎo)致后面處理結(jié)果異常subplot(2,2,1);plot(p0,'k'

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

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

評論

0/150

提交評論