2011-06-27 10 views
0

基本的に私は (1,21) (2,22) (3,27) (4,24)異常値を見つけるのに最適なクラスタリングアルゴリズムはどれですか?

を測定し、

日1

営業時間などのいくつかの時間ごと、毎日のデータを持っています

2日目 時間、測定 (1,23) (2,26) (3,29) (4,20)

は今、私はoutli見つけたいです

このシナリオを考慮して外れ値を見つけ出すのに最適なクラスタリングアルゴリズムはより適していますか? 。

+0

実際には「最良の」方法はありません。 "ここで良いアドバイスは:これについての良いアドバイスに注意してください。" - バートン・グンター(外れ値を検出する最善の方法は何か疑問に答える)R-help、2004年9月 –

答えて

2

「良い」アドバイス(:P)私はそれが(私の経験に基づいて)空間的特徴と同様の時間を扱うことは良い考えではないということです。したがって、これを行うソリューションに注意してください。おそらく、時系列データの外れ値検出で文献を検索することから始めることができます。

2

あなたは本当にあなたのデータのために別のrepesentationを使用する必要があります。

異常値を検出する場合は、実際の異常値の検出方法を使用しないのはなぜですか。

それ以外は、いくつかの文献を読んでください。例えば、k-は、異常値に関する問題を有することが知られている。一方、DBSCANは、「ノイズ」(DBSCANのN)を持つデータに使用するように設計されています。

あなたのデータを表現する方法では、これらのどれもうまく動作しません。

1

データの性質(独自の季節性、傾向、自己相関などがあります)のため、時系列ベースの異常値検出方法を使用する必要があります。時系列に基づく異常値は異なる種類(AO、IOなど)であり、複雑ですが、実装が容易なアプリケーションがあります。

http://cran.r-project.org/から最新のRのビルドをダウンロードしてください。パッケージ "forecast" & "TSA"をインストールしてください。

予測パッケージのauto.arima関数を使用して、これらの変数に対するデータモデルパスとデータとの最適なモデルフィットを導出して、TSA関数の検出値& detectIOを検出します。これらの関数は、データに存在する異常値をタイムインデックスでポップアップ表示します。

Rは他のアプリケーションと簡単にやり取りするだけでバッチジョブを実行することもできます....

関連する問題