2017-01-04 6 views
7

多変量の異常値をRで特定する最良の方法はどこからでも検索していますが、まだ信じられない方法を見つけたとは思いません。私たちは、私のデータとして一例として、虹彩データを取ることができます確率変数Rを使用した多変量異常値の検出

data(iris) 
df <- iris[, 1:4] #only taking the four numeric fields 

はまず、私は図書館からマハラノビス距離を使用していますMVN

library(MVN) 
result <- mvOutlier(df, qqplot = TRUE, method = "quan") #non-adjusted 
result <- mvOutlier(df, qqplot = TRUE, method = "adj.quan") #adjusted Mahalonobis distance 

は両方をもたらした複数のフィールドが含まれていますアウトライアーが多数(調整されていない場合は150のうち50、調整された場合は49/150)、より洗練されたものが必要です。 (私たちは、より少ない数を持つように、外れ値であるポイントの確率を上げると言う)私は残念ながら

第二に、私は外れ値ライブラリを使用する閾値を設定するmvOutlierメソッド内の変数を見つけることができないよう。これは、単変量の外れ値を見つけることです。したがって、私の計画は、データの各次元で異常値を見つけ、すべての次元で異常値である点をデータセットの異常値とみなすことです。

library(outliers) 
result <- scores(df, type="t", prob=0.95) #t test, probability is 0.95 
result <- subset(result, result$Sepal.Length == T & result$Sepal.Width == T & result$Petal.Length == T & result$Petal.Width == T) 

このために確率を設定できますが、多変量異常値の検出を置き換えることはできません。

私は

  • ライブラリ(mvoutlier)しようとしたいくつかの他のアプローチ:これが唯一のプロットを示しています。 が自動的にアウトライヤーを見つけるのは難しいです。そして、私はこの
  • クックの距離(link)に 確率を追加する方法がわからない:男は、彼はコックの 距離を使用したことを言ったが、私は への強力な学術的証拠があるとは思わない、これがあることを証明OK。

答えて

3

秒1は、クックの距離がある

R.

でこれらを実装する方法を見ている間、私は、最初は、多変量外れ値検出のためのさまざまな方法についての論文では、これらの2つのリンクであなたを残しておきますデータポイントの影響を調べるのに有効な方法です。そのように、外れ点を検出するのに役立ちます。マハラノビス距離も定期的に使用されます。

テスト例では、虹彩データセットは有用ではありません。それは明らかに分離可能であるため、分類問題に使用されます。あなたの50データポイントの除外は種全体を取り除くことになります。多変量データ - で

外れ値検出

http://www.m-hikari.com/ams/ams-2015/ams-45-48-2015/13manojAMS45-48-2015-96.pdf

R実装

http://r-statistics.co/Outlier-Treatment-With-R.html

+0

こんにちはアンドリュー、あなたのコメントに感謝します。クックの距離は良いようですが、フィットラインを作る必要があるときに、何をYに入れるべきかわかりません(Y〜。、データ)を含む。マハラノビス距離については、私はR実装を見たことがないと思います。また、この論文では、閾値の増減について何も言及していませんでした。私は、外れ値に対する料理人の距離の平均値を3倍に減らすとどうなるのだろうと思っています。最後に、これらのメソッドの信頼性/精度をテストする方法を知っていますか? –

関連する問題