Hampel filterを用いた時系列データの外れ値処理

参考サイト:


目的

時系列データの外れ値を求める方法に信号処理を適用できると知ったので、そのメモ



Hampel filterとは

時系列における各窓での中央値と標準偏差σを求めて、各中央値から3σ以上の値を外れ値とみなし、その地点の中央値と置き換える処理。



Hampel filterのPythonによる処理

RにはHampel filterの関数が存在するが、Pythonには存在しないので、関数を作る必要がある。

以下のpandasによる実装コードは参考サイトより

上記関数を、ランダムウォークで求めた時系列データに適用し、外れ値の補足状況を確認した結果

上記では、ウィンドウを10にして、3σ以上を外れ値として、外れ値を中央値に置き換えている。

Hampel filterを使うことで、クリスマスや店の定休日などの異常値を簡単に処理できるようになる。



補:evaluate_detection関数のコード

機械学習Tips保管庫

データ解析、機械学習のための学習内容の保管庫。復習用。

0コメント

  • 1000 / 1000