matlab 野值剔除,一种基于多项式拟和的野值剔除方法与流程
本發(fā)明涉及一種基于多項式擬和的野值剔除方法,適用于通信、 導(dǎo)航等測控系統(tǒng)領(lǐng)域。
背景技術(shù):
在通信、導(dǎo)航等測量數(shù)據(jù)中往往包含了大量的嚴(yán)重偏離被測量真 值的數(shù)據(jù)點,這些異常數(shù)據(jù)就稱為野值。盡管野值數(shù)量較少,但對數(shù) 據(jù)的處理和分析會產(chǎn)生較大的影響,降低了數(shù)據(jù)的可靠性。雖然有些 濾波平滑方法能夠在一定程度上剔除野值,但是當(dāng)參數(shù)選擇不好的 話,很可能使數(shù)據(jù)處理結(jié)果因為失真太嚴(yán)重而沒有說服力,或者達不 到平滑的效果。因此,在數(shù)據(jù)的平滑處理之前,應(yīng)先將測量數(shù)據(jù)中的 野值點進行有效的辨識和剔除。對試驗數(shù)據(jù)中野值的識別剔除,有人 工和計算機自動兩種方式。人工方式對有明顯錯誤的異常值的判斷比 較成功,但是這種方式效率很低,標(biāo)準(zhǔn)難以掌握,特別是對數(shù)據(jù)量較 大時候,這種缺點尤為明顯。
技術(shù)實現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足之處,本發(fā)明提供一種基于多項式 擬和的野值剔除方法,以多項式擬和為基礎(chǔ),發(fā)明計算機自動去除測 量數(shù)據(jù)中的野值的方法,通過擬合估計值與觀測值的殘差序列識別及 剔除觀測數(shù)據(jù)序列中的野值,對實際工程應(yīng)用的重要的應(yīng)用價值。
為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:一種基于多項式擬 和的野值剔除方法,包括步驟:
1、對原測量數(shù)據(jù)進行n階多項式擬和,得出系數(shù)矩陣和擬和多 項式,由已知的觀測數(shù)據(jù)i畫出粗略的散點圖,選取合適的次數(shù)n進 行最小二乘多項式擬和,對給定的測量數(shù)據(jù)(xi,yi)構(gòu)造一個函數(shù)p(x) 作為給定數(shù)據(jù)(xi,yi)的近似表達式,使誤差ri=p(xi)-yi的平方和最小, 即其中i為0到m的整數(shù),
從幾何意義上尋求與給定點(xi,yi)的距離平方和為最小的曲線 y=p(x),函數(shù)p(x)為擬合函數(shù)或最小二乘解,求擬合函數(shù)p(x)的方法 為曲線擬合的最小二乘法,當(dāng)擬合函數(shù)為多項式時,即當(dāng) (n≦m)時,為最小二乘擬合多項式,
為a0,a1,...,an的多元函數(shù),對I=I(a0,a1,...,an) 求極值,由多元函數(shù)求極值的必要條件, 即 即是關(guān)于a0,a1,...,an的線性方 程,用矩陣表示為
該式為對原測量數(shù)據(jù)進行n階多項式擬和,得出系數(shù)矩陣 a0,a1,...,an,可得到擬和多項式求出對應(yīng)的擬合值序列 和對應(yīng)的殘差序列;
2、計算出相應(yīng)的擬合值序列為{pi:i=1,2,...,m}:生成擬合殘差序 列為{Δyi=pi-yi,i=1,2,...m};
3、計算擬合殘差序列的均方誤差σ,按如下公式進行計算:
4、利用工程上常用的3σ準(zhǔn)則判斷并剔除野值,剔除野值后的 數(shù)據(jù)為yi':i=1,2,...,m
根據(jù)該公式進行判定,若殘差值小于門限值,則該點為正常值, 此值不變;若殘差值大于或等于門限值時,則判斷該點為野值,用該 點前六個點的均值代替該值;
5、判斷是否對所有數(shù)據(jù)都進行了處理,若沒有處理完畢,則 對沒處理的數(shù)據(jù)重新進行野值點判斷;
6、對全部數(shù)據(jù)進行野值判斷后,輸出剔除野值后的數(shù)據(jù)。
在上述技術(shù)方案中,所述門限值3σ可根據(jù)實驗具體情況作 出適當(dāng)?shù)男薷摹?/p>
本發(fā)明的有益效果是:本發(fā)明以多項式擬和為基礎(chǔ),通過擬合估 計值與觀測值的殘差序列識別及剔除觀測數(shù)據(jù)序列中的野值,對實際 工程應(yīng)用的重要的應(yīng)用價值;與現(xiàn)有方法相比,不依賴設(shè)計經(jīng)驗,因 此更方便;門限值3σ可根據(jù)實驗具體情況做出適當(dāng)?shù)母?#xff0c;因此設(shè) 計出的參數(shù)更準(zhǔn)確,應(yīng)用范圍更廣;野值剔除后補值的方式保持了數(shù) 據(jù)的連續(xù)性,滿足數(shù)據(jù)處理選點的要求,實現(xiàn)了對數(shù)據(jù)源的初級濾波。
附圖說明
圖1為本發(fā)明的步驟流程圖。
圖2為源測量數(shù)據(jù)的分布圖。
圖3為圖2進行n階多項式后的擬和曲線圖。
圖4為殘差數(shù)列圖。
圖5為剔除野值后的數(shù)據(jù)圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明作進一步說明。
如圖1所示一種基于多項式擬和的野值剔除方法,包括步驟:
步驟一:對原測量數(shù)據(jù)據(jù)進行n階多項式擬合,得出系數(shù)矩陣和 擬和多項式;
由已知的觀測數(shù)據(jù)(i=0,1,…,m)畫出粗略的圖形——散點 圖,選取合適的次數(shù)n進行最小二乘多項式擬合;
對給定的測量數(shù)據(jù)(xi,yi)(i=0,1,…,m),構(gòu)造一個函數(shù)p(x)作 為給定數(shù)據(jù)(xi,yi)的近似表達式,使誤差ri=p(xi)-yi(i=0,1,…,m)的 平方和最小,即
從幾何意義上尋求與給定點(xi,yi)(i=0,1,…,m)的距離平方和為最 小的曲線y=p(x)。函數(shù)p(x)稱為擬合函數(shù)或最小二乘解,求擬合函數(shù) p(x)的方法稱為曲線擬合的最小二乘法。當(dāng)擬合函數(shù)為多項式時,即 當(dāng)時,稱為最小二乘擬合多項式。顯然
為a0,a1,...,an的多元函數(shù),因此上述問題即為求I=I(a0,a1,...,an)的極值問 題。由多元函數(shù)求極值的必要條件,得
即
式(4)是關(guān)于a0,a1,...,an的線性方程組,用矩陣表示為
公式(5)為對原測量數(shù)據(jù)據(jù)進行n階多項式擬合,得出系數(shù)矩陣。 求出系數(shù)矩陣a0,a1,...,an,得到擬合多項式:
步驟二、求出對應(yīng)的擬合值序列和對應(yīng)的殘差序列;
計算出相應(yīng)的擬合值序列為{pi:i=1,2,...,m}:生成擬合殘差序列 為{Δyi=pi-yi,i=1,2,...m};
步驟三、計算均方誤差
計算擬合殘差序列的均方誤差σ按如下公式進行計算:
步驟四、對野值點進行判斷
利用工程上常用的3σ準(zhǔn)則判斷并剔除野值,剔除野值后的數(shù)據(jù) 為{yi':i=1,2,...,m}
根據(jù)公式(8)進行判定,若殘差值小于門限值,為正常值,此值 不變;若大于或等于門限值,則判斷為野值。若該點是野值,則該點 用前6個點的均值代替,若該點不是野值,則該點的值不變。
步驟五:判斷是否對所有數(shù)據(jù)都進行了處理,若沒有處理完畢,則對 沒處理的數(shù)據(jù)重新進行野值點判斷;
步驟六:若已經(jīng)對所有數(shù)據(jù)都進行了野值判斷,則輸出剔除野值 后的數(shù)據(jù)。整個流程結(jié)束。
在上述技術(shù)方案中,所述門限值3σ可根據(jù)實驗具體情況作出適 當(dāng)?shù)男薷摹?/p>
在第步驟一中,對原測量數(shù)據(jù)據(jù)進行n階多項式擬合,得出系數(shù) 矩陣和擬和多項式;步驟二中求出對應(yīng)的擬合值序列和對應(yīng)的殘差序 列;步驟三中計算均方誤差;步驟四中采用3σ準(zhǔn)則判斷并剔除野值; 步驟五中對測試數(shù)據(jù)進行判斷,判斷是否對所有數(shù)據(jù)都進行了處理, 若沒有處理完畢,則對沒處理的數(shù)據(jù)重新進行野值點判斷;步驟六中 輸出剔除野值后的數(shù)據(jù),流程結(jié)束。該方法流程可以用于計算機自動 判別。
以實際測量的海流速度大小數(shù)據(jù)為例,從中選取800個連續(xù)的數(shù) 據(jù)點進行剔除野值處理。原測量數(shù)據(jù)如圖2所示,進行n階多項式擬 和后擬和曲線如圖3所示,殘差序列如圖4所示,輸出剔除野值后的 數(shù)據(jù)如圖5所示。
本發(fā)明以多項式擬和為基礎(chǔ),通過擬合估計值與觀測值的殘差序 列識別及剔除觀測數(shù)據(jù)序列中的野值,對實際工程應(yīng)用的重要的應(yīng)用 價值;與現(xiàn)有方法相比,不依賴設(shè)計經(jīng)驗,因此更方便;門限值3σ 可根據(jù)實驗具體情況做出適當(dāng)?shù)母?#xff0c;因此設(shè)計出的參數(shù)更準(zhǔn)確,應(yīng) 用范圍更廣;野值剔除后補值的方式保持了數(shù)據(jù)的連續(xù)性,滿足數(shù)據(jù) 處理選點的要求,實現(xiàn)了對數(shù)據(jù)源的初級濾波。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范 圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技 術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍 之內(nèi)。
總結(jié)
以上是生活随笔為你收集整理的matlab 野值剔除,一种基于多项式拟和的野值剔除方法与流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【谈谈】动态规划——求最长公共子序列
- 下一篇: 在matlab中怎么限定值域,matla