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