原文鏈接:http://tecdat.cn/?p=7181
此示例顯示了Hampel用於檢測和刪除異常值的過程的 實現。
產生一個包含24個樣本的隨機信號x。 重置隨機數生成器以獲得可重復的結果。
圍繞x的每個元素生成觀察窗口。 在樣本的任一邊取k = 2個鄰居。 產生的移動窗口的長度為2×2 + 1 = 5個樣本。
截斷窗口,以便函數在到達信號邊緣時計算較小段的中值。
記錄每個周圍窗口的中位數。 找到每個元素相對於窗口中位數的絕對偏差的中位數。
縮放中位數絕對偏差
1G2erf−1(1/2)≈1.4826
以獲得正態分布標准偏差的估計值。
查找與中位數相差超過nd = 2個標准偏差的樣本。 將這些離群值替換為其周圍窗口的中間值。 這是Hampel算法的本質。
使用hampel 計算濾波后的信號並注釋異常值。 覆蓋在此示例中計算的過濾值。