データセットから外れ値を除外するための効率的かつ正確なアルゴリズムは何ですか?
-
20-09-2019 - |
質問
200 個のデータ行のセットがあります (小さいデータセットを意味します)。統計分析を実行したいのですが、その前に外れ値を除外したいと考えています。
この目的に使用できる可能性のあるアルゴリズムは何ですか?精度は懸念事項です。
私は統計については非常に初心者なので、非常に基本的なアルゴリズムについて助けが必要です。
解決
プロットから始めます てこの作用 外れ値を調べてから、古き良き眼間外傷を調べます (散布図を見てください)。
多くの統計パッケージには外れ値/残差診断が含まれていますが、私は Cook's D の方が好きです。使用したい場合は手動で計算することもできます mtsu.edu のこの式 (元のリンクは無効になっています。これは archive.org からソースされています)。
他のヒント
全体として、このような質問を難しくしているのは、外れ値の厳密な定義がないことです。実際には、次の理由から、一定の標準偏差をカットオフとして使用することはお勧めしません。
- いくつかの外れ値には、 巨大な 標準偏差は堅牢な統計ではないため、標準偏差の推定値に影響を与えます。
- 標準偏差の解釈は、データの分布に大きく依存します。データが正規分布している場合、標準偏差 3 は多くありますが、たとえば対数正規分布している場合、標準偏差 3 は多くありません。
続行するにはいくつかの良い方法があります。
すべてのデータを保持し、堅牢な統計だけを使用します (平均の代わりに中央値、T 検定の代わりにウィルコクソン検定など)。データセットが大きい場合はおそらく良いでしょう。
データをトリミングまたはウィンザライズします。トリミングとは、上部と下部の x% を削除することを意味します。ウィンザライズとは、上位 x% と下位 x% をそれぞれ x 番目と 1-x 番目のパーセンタイル値に設定することを意味します。
データセットが小さい場合は、データをプロットして、信じられない値がないか手動で検査することもできます。
データが正規分布にかなり近い (重い裾がなく、ほぼ対称である) 場合は、 絶対偏差の中央値 検定統計量として標準偏差の代わりに、中央値から 3 つまたは 4 つ離れた中央値の絶対偏差にフィルターします。
あなたは式「6シグマ」を聞いたことがあります。
これは、プラスとマイナス3シグマ平均の周りに(すなわち、標準偏差)を指します。
'シックスシグマ' 範囲外のものは外れ値としての治療することができる。
反射に、私は「6シグマ」は広すぎると思います。
この記事には、それがになる方法を説明し、「百万の機会あたり3.4不良品。」
これは、認証の目的のためにかなり厳しい要件のように思えます。それはあなたに合った場合にのみ、あなたが決めることができます。
あなたのデータとその意味に応じて、 RANSAC に(ランダムに見たいと思うかもしれませんサンプルコンセンサス)。これは、広くコンピュータビジョンで使用され、モデルの外れ値のたくさんのデータに合うようにしようとしたとき、一般的に優れた結果を与えています。
そして、それは概念化し、説明するのは非常に簡単です。一方、それはアプリケーションに応じて問題を引き起こす可能性がある、非決定論的です。
のセットに標準偏差を計算し、第一、第二又は第三の標準偏差の外側のすべてを除外する。
ここで私は、SQL Serverの
でそれについて移動する方法をあります以下のクエリは、単一を保持している架空の規模テーブルからの平均重量は計量で一人一人のために、より現実的な平均を投げるために過度に脂肪や薄い人々を許可しない一方で取得します
select w.Gender, Avg(w.Weight) as AvgWeight
from ScaleData w
join ( select d.Gender, Avg(d.Weight) as AvgWeight,
2*STDDEVP(d.Weight) StdDeviation
from ScaleData d
group by d.Gender
) d
on w.Gender = d.Gender
and w.Weight between d.AvgWeight-d.StdDeviation
and d.AvgWeight+d.StdDeviation
group by w.Gender
があり、このことについてに行くには良い方法でもよいが、それが動作し、うまく機能します。あなたが他のより効率的なソリューションに遭遇した場合、私はそれについて聞いてみたい。
注:上記の平均の目的のための画像のうち、外れ値の上下5%を除去します。あなたは2で2 *を調整することによって除去外れ値の数を調整することができます*あたりのようにSTDDEVP:のhttp:/ /en.wikipedia.org/wiki/Standard_deviationする
、外れ値を除外して[OK]を、あなたは他の変数との相関を計算したいと言います。あなたが/モデルを予測したい場合しかし、それはstraightawayそれらを除外するために常に最善ではありません。
などのキャッピングたり、外れ値の情報/パターンが含まれている疑いがある場合、その後、行方不明と交換し、モデル/それを予測するような方法でそれを処理するために試してみてください。私はあなたがRを使用してをここにこのについて行くことができる方法のいくつかの例を書かれていますます。