外れ値に関する私のブログシリーズへようこそ。 に最初のエピソード、外れ値の定義と視覚的な識別を検討しました。 に第2話、分位数(Box&Whiskerプロットを介して)を使用して、1次元の外れ値を識別しました。
このエピソードでは、マハラノビス距離を使用して、複数の次元で外れ値を特定する方法について説明します。 Tについても簡単に説明します2 、これはマハラノビス距離の単純な延長です。
多次元外れ値
図1はからの図の1つの複製ですエピソード1明確な外れ値(赤い四角でマーク)のある1,000個のデータポイントの2次元プロットを示しています。
図1:2次元の1,000個のデータポイント、赤でマークされた外れ値
図1の散布図を使用すると、単変量ヒストグラム分布から外れ値が明らかでない場合でも、2次元で外れ値を視覚的に簡単に決定できます。 したがって、Box&Whisker(分位)テクニックはエピソード2多次元データを分析する場合、常に信頼できるとは限りません。 そして、外れ値を視覚的に識別します(エピソード1 )次元数が増えると難しくなります。 では、どうすればこれらの多次元外れ値をより確実に検出できるでしょうか。
マハラノビス距離
マハラノビス距離(D M )は、多次元の外れ値を識別するための数値的方法を提供します。 その作成者であるインドの統計学者プラサンタチャンドラマハラノビス(1893-1972)にちなんで名付けられました。 マハラノビス博士の詳細については、このウィキペディアの記事。
広告M図1に示すデータセットのプロットを以下に示します。
図2:図1の1,000個のデータポイントのマハラノビス距離プロット
図2は、すべてのデータポイントを行順に示しています。 M Y軸上。 Dの値M各ポイントは、すべてのデータポイントの重心からの各ポイントの標準化された「距離」を表します。 赤いデータポイントは残りのポイントから明らかに際立っているため、外れ値としてさらに調査する必要があります。
では、この計算はどのように機能しますか?
一般的な方法
1,000ポイントの2次元分布があるとしましょう。 各次元で、999個の点が、平均がゼロで標準偏差が1.0の正規分布の母集団から抽出されます。 次に、サンプルの最後のポイントとして外れ値ポイントを追加しました。 XY散布図を作成すると、次のようになります。
図3:1,000個の無相関データポイントの散布図。1つは外れ値(赤)とマークされています。
図3の赤いスポットに注意してください。 各次元の1,000点のサンプルの平均と標準偏差を簡単に計算でき、ピタゴラスの定理を使用して、赤い点から点の重心までのユークリッド距離を計算できます。 多次元の場合:

実際、図4に示すように、図心から等距離を表す図心を中心とする円を描くことができます。
図4:重心からの等距離の円がオーバーレイされた1,000個の無相関データポイントの散布図
図4で、円は、ポイントの重心までの1、2、3、および4単位(最小から最大)の距離を表します。 ここで、赤のポイントがポイントの重心から最も遠いことがわかります。 その距離は「d」で表されます。
これは、同様にスケーリングされた分布がある場合(つまり、標準偏差が同じである場合)にうまく機能します。しかし、図5に示すように、スケールが異なる場合はどうなるでしょうか。
図5:各次元で異なる平均と標準偏差を持つ1,000個の無相関データポイントの散布図。
ここで2つの問題があります。 まず、X3次元の点の平均がゼロではありません。 これは、すべてのデータポイントから平均を引くだけで修正できるほど簡単です。
2番目の問題は、X3次元の標準偏差がX1次元よりもはるかに大きいことです。 これにより、差を補正できない限り、距離の計算が無効になります。 これも簡単に行えます。 ゼロからの平均シフトを補正した後、各次元をその標準偏差で除算するだけです。 これにより、標準偏差の不一致が正規化されます。 この距離を評価するための多次元方程式は次のようになります。

ここで、mとsは、各次元の平均と標準偏差を表します。 これらの計算を実行し、標準化されたデータを再プロットすると、次の図が得られます。
図6:各次元の平均と標準偏差を補正するために変換した後の図5のデータ
これで、ゼロ以外の平均と等しくない標準偏差のデータを調整する方法があります。 これは、各次元のデータが互いに独立している(つまり、無相関である)限りうまく機能します。しかし、図1に示すような相関がある場合は、どうすればよいでしょうか。
これを行う1つの方法は、主成分を使用してデータの傾向に合わせて新しい軸を確立し、次に上記の操作を実行することです。 しかし、これには多くのクリックが必要です。 (これがどのように機能するかに興味がある場合は、付録Aを参照してください。)
幸いなことに、マハラノビス博士はこの距離を計算するための簡単でエレガントな方法を提供してくれます!
距離を計算するためのマハラノビスの方程式
Dを計算するためのマハラノビス博士のエレガントな方程式Mは:
どこ:

iのN次元の値のベクトルです。 th個々の観測データポイント。
N =対象の次元(または列)の数。
Tは転置操作を示します。

は、対象のN個の次元(または列)のそれぞれの平均のベクトルです。
S -1は、すべてのデータポイントのNxN共分散行列の逆行列です(JMPの多変量プラットフォームから利用可能)。
上記の式に適切な値を代入すると、Dが得られますM私からthデータセット内のすべての点の図心を指します。 この計算がどのように機能するかに興味がある場合は、付録Bで小さなサンプル問題を処理します。
JMPのマハラノビスプロット
D Mそれ自体は私たちにはほとんど役に立ちません。 他のデータポイントと比較した場合にのみ意味があります。 JMPのマハラノビスプロットはこれらの結果を示しています。
分析/多変量メソッド/多変量に移動して列を選択し、赤いドロップダウンから外れ値分析/マハラノビス距離を選択することで、マハラノビスプロットを生成できます。 図1のデータセットの例では、次のようになります。
図7:1,000データポイントサンプルのマハラノビス距離(図2の繰り返し)
ここでは、データテーブルの行1のデータポイントの距離が最大であることがわかります(D M )、10個のデータポイントすべての重心から最も遠いことを示します。 青い線は、Dを信じるかどうかの95%信頼上限(UCL)を表していますMゼロとは大きく異なります。 赤い点は明らかにUCLの上にあるため、外れ値としてさらに調査する必要があります。
ただし、特に小さなデータセットの場合、外れ値の検出が必ずしも明確であるとは限りません。 付録Bの例では、小さなデータセット(3次元で10個のデータポイント)の計算例を示しています。 このデータセットはDを生成しますM以下に示すようにプロットします。
図8:付録Bの10個のデータポイントサンプルのマハラノビス距離
D Mプロットは、ポイント1を外れ値として識別しました。 しかし、DもわかりますM行1はDとそれほど変わらないM行7のために! どうしてこれなの? あなたはその質問への答えのために次のエピソードを待たなければならないでしょう!
Tについての簡単なメモ2
JMP Tのオプションも提供しています2分析/多変量メソッド/多変量、そして外れ値分析の下で計算します。 T 2は単にDの二乗ですM 。 一部の人々は、外れ値とデータの大部分をより視覚的に分離するためにそれを使用することを好みますが、T 2本当にDと同じ情報が含まれていますM 。
次のエピソード
次のエピソードでは、ジャックナイフ距離について説明します。これは、外れ値を確認するもう1つの方法であり、上記のデータセットの例の外れ値を際立たせます。
このシリーズのすべての投稿を見る外れ値を理解する。
付録A:主成分を使用して外れ値を特定する
図1の軸を回転させて、データの傾向に合わせる方法があれば、次のようになります。
図9:2次元データセットの軸の概念的な回転
次に、外れ値を検出するためにデータを標準化するために前述の手法を使用できます。
これを行う1つの方法は、主成分分析(PCA)です。 PCAは、データに最適な直交(相互に垂直)軸のセットを見つけます。 データセットに元のディメンション(列)と同じ数の主成分を含めることができます。 JMPでは、PCAは2つの場所にあります。分析/多変量メソッド/主成分の下、または分析/多変量メソッド/多変量の下です。次に、多変量の横にある赤いドロップダウンから、主成分/相関を選択します。 赤いドロップダウンには、主成分をデータテーブルに保存するオプションもあります。 これを実行したら、メソッドを使用して、上記で概説した平均と標準偏差を修正して、重心からの距離を決定できます。
付録B:D Mサンプルデータセットの計算
3列10行のサンプルデータセットがあるとします。
図10:DMの計算例に使用される小さなサンプルデータセット
JMPでは、これら3つの列で分析/多変量メソッド/多変量を実行して、次の散布図行列を作成できます。
図11:データ例の散布図行列
図11では、X1-X3またはX2-X3プロットではそれほど明確ではありませんが、X1-X2ディメンションで比較すると、行1データ(赤で強調表示)が外れ値であるように見えることがわかります。
最初のポイントのマハラノビス距離を計算します。 したがって、上記のDのベクトルと行列に入力します。 M方程式では、関心のあるポイントから始めます。

各列の平均は、いくつかの異なる方法で見つけることができます。 Cols / Column Viewerを使用してから、要約を表示してみましょう。
図12:3次元10ポイントデータセットなどの要約統計量
したがって、平均のベクトルは次のようになります。

次に、分析/多変量メソッドの下にある共分散行列が必要です。 赤いドロップダウン三角形から共分散行列を選択します。
図13:3次元10ポイントデータセットなどの共分散行列
また、共分散行列の逆行列Sも必要です。 -1 。 JMPはメニューシステムからその情報を提供しませんが、次のようにカスタムスクリプトから簡単に取得できます。
図14:行列の逆行列を見つけるためのJMPJSLスクリプト
これにより、次のようになります。
S -1 =

次に、プラグインして行列方程式を解きます。





マハラノビス距離(D M )は、サンプルデータセットの行1に示されているデータの2.814です。
図15:データセットの例のマハラノビスプロット(図8の繰り返し)