在用MATLAB進行數據分析的時候,壞點對正確結果的影響比較大,
因此,我么需要剔除野點,對於壞值的剔除,我們
利用 3σ准則 剔除無效數據;
3σ准則又稱為拉依達准則,它是先假設一組檢測數據只含有隨機誤差,對其進行計算處理得到標准偏差,按一定概率確定一個區間,
認為凡超過這個區間的誤差,就不屬於隨機誤差而是粗大誤差,含有該誤差的數據應予以剔除。且3σ適用於有較多組數據的時候。
這種判別處理原理及方法僅局限於對正態或近似正態分布的樣本數據處理,它是以測量次數充分大為前提的,
當測量次數較少的情形用准則剔除粗大誤差是不夠可靠的。因此,在測量次數較少的情況下,最好不要選用准則,而用其他准則。
在正態分布中σ代表標准差,μ代表均值。x=μ即為圖像的對稱軸
3σ原則為
數值分布在(μ-σ,μ+σ)中的概率為0.6826
數值分布在(μ-2σ,μ+2σ)中的概率為0.9544
數值分布在(μ-3σ,μ+3σ)中的概率為0.9974
可以認為,Y 的取值幾乎全部集中在(μ-3σ,μ+3σ)區間內,超出這個范圍的可能性僅占不到0.3%.
下面是對一組元素進行壞值剔除的方法:
>> ave = mean(P);%mean 求解平均值 >> u = std(P);%求解標准差 >> for i = 1:6349 if(abs(P(i)-ave)>3*u)%不符合 3σ准則 , 剔除這個元素 P(i) = 0; else continue; end end >> P_ans = P(P~=0);%獲取所有非 0 元素 ,是剔除元素 的完整過程 >> len = length(P_ans); >> len len = 6342
如果是有多變量作用於一個因變量,那么需要他們幾個變量的值都滿足 3σ准則;
運用邏輯運算符號 && 且 , 如果幾個變量都滿足法則 , 繼續向下遍歷 ,否則,就讓這些變量全都賦值一個合理的剔除標志數 X。
遍歷結束后 , 對於 所有變量進行剔除 X 操作 Ans = a(a~=X); Ans 就是 a 里面所有不為 X 的數重新組成的新數列 , 正確處理后, 幾個變量數列剔除元素后長度相同 , 並且相對應的關系沒有改變。