外れ値に関する私のブログ シリーズへようこそ。 の最初のエピソードでは、外れ値の定義と視覚的な識別について検討しました。 の第二話1 次元の外れ値を特定するために、分位数 (ボックス & ウィスカー プロット経由) を使用しました。
このエピソードでは、マハラノビス距離を使用して多次元の外れ値を特定する方法を見ていきます。 T についても簡単に見てみましょう2 、これはマハラノビス距離の単純な延長です。
多次元外れ値
図 1 は、次の図の 1 つを複製したものです。エピソード1また、明確な外れ値 (赤い四角でマーク) を含む 1,000 データ ポイントの 2 次元プロットを示しています。
Figure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in redFigure 1: 1,000 data points in two dimensions, outlier marked in red図 1: 2 次元の 1,000 個のデータ ポイント、外れ値は赤でマーク
図 1 の散布図を使用すると、単変量ヒストグラム分布から外れ値が明らかでない場合でも、2 次元で視覚的に外れ値を簡単に判断できます。 したがって、ボックス アンド ウィスカー (クォンタイル) テクニックは、次のとおりです。第2話多次元データを分析する場合、必ずしも信頼できるとは限りません。 そして、外れ値を視覚的に特定します(次のように)エピソード1 )次元数が増えると難しくなります。 では、これらの多次元の外れ値をより確実に検出するにはどうすればよいでしょうか?
マハラノビス距離
マハラノビス距離 (D M ) は、多次元の外れ値を識別するための数値的方法を提供します。 この名前は、その作成者であるインドの統計学者プラサンタ チャンドラ マハラノビス (1893 ~ 1972 年) にちなんで命名されました。 マハラノビス博士について詳しく知りたい方は、こちらをご覧ください。このウィキペディアの記事。
広告M図 1 に示すデータセットのプロットを以下に示します。
Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1Figure 2: Mahalanobis Distance plot for 1,000 data points from Figure 1図 2: 図 1 の 1,000 データ ポイントのマハラノビス距離プロット
図 2 は、すべてのデータ ポイントを行順と D で示しています。 M Y 軸上で。 Dの値M各点の は、すべてのデータ点の重心からの各点の標準化された「距離」を表します。 赤いデータ ポイントは残りのポイントより明らかに際立っているため、外れ値としてさらに調査する必要があります。
では、この計算はどのように機能するのでしょうか?
一般的な方法
1,000 点の 2 次元分布があるとします。 各次元で、平均が 0、標準偏差が 1.0 の正規分布母集団から 999 個の点が抽出されます。 次に、サンプルの最後の点として外れ値点を追加しました。 XY 散布図を作成すると、次のようになります。
Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)Figure 3: Scatterplot of 1,000 uncorrelated data points, with one marked outlier (red)図 3: 1 つのマークされた外れ値 (赤色) を含む、1,000 個の相関のないデータ ポイントの散布図
図 3 の赤い注目点に注目してください。 各次元の 1,000 点サンプルの平均と標準偏差を簡単に計算でき、ピタゴラスの定理を使用して赤い点から点の重心までのユークリッド距離を計算できます。 多次元の場合:

実際、図 4 のように、重心を中心とする円を描くことができ、重心からの等距離を表します。
Figure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaidFigure 4: Scatterplot of 1,000 uncorrelated data points, with equidistant circles from centroid overlaid図 4: 重心から等距離の円を重ねた 1,000 個の相関のないデータ ポイントの散布図
図 4 では、円は点の重心までの距離 1、2、3、4 単位 (最小から最大) を表します。 ここで、赤い点が点の重心から最も遠いことがわかります。 その距離は「d」で表されます。
これは、同様にスケーリングされた分布がある場合 (つまり、標準偏差が同じである場合) にうまく機能します。しかし、図 5 に示すように、スケールが異なる場合はどうなるでしょうか?
Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.Figure 5: Scatterplot of 1,000 uncorrelated data points, having different means and standard deviations in each dimension.図 5: 各次元で異なる平均値と標準偏差を持つ、1,000 個の相関のないデータ ポイントの散布図。
ここで 2 つの問題があります。 まず、X3 次元の点の平均はゼロではありません。 これは、すべてのデータ ポイントから平均値を引くだけで簡単に修正できます。
2 番目の問題は、X3 次元の標準偏差が X1 次元の標準偏差よりもはるかに大きいことです。 この違いを補正できない限り、距離計算は無意味になります。 これも簡単に行えます。 ゼロからの平均シフトを補正した後、各次元をその標準偏差で単純に除算します。 これにより、標準偏差の不一致が正規化されます。 この距離を評価するための多次元方程式は次のようになります。

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

i の N 次元の値のベクトルです。番目個々の観測データポイント。
N = 対象となる次元 (または列) の数。
T はトランスポーズ操作を示します。

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

各列の平均は、いくつかの異なる方法で求めることができます。 Cols/Column Viewer を使用してから、概要を表示してみましょう。
Figure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data setFigure 12: Summary statistics for example three-dimensional 10-point data set図 12: 要約統計量 (例: 3 次元 10 点データセット)
したがって、平均のベクトルは次のようになります。

次に、共分散行列が必要です。これは、分析/多変量手法の下にあります。 赤いドロップダウン三角形から共分散行列を選択します。
Figure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data setFigure 13: Covariance matrix for example three-dimensional 10-point data set図 13: 共分散行列 (3 次元 10 点データセットの例)
共分散行列 S の逆行列も必要です。 -1 。 JMP はメニュー システムからその情報を提供しませんが、次のようにカスタム スクリプトから簡単に情報を取得できます。
Figure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrixFigure 14: JMP JSL script to find inverse of a matrix図 14: 逆行列を見つけるための JMP JSL スクリプト
その結果、次のような結果が得られます。
S -1 =

次に、行列方程式を代入して解きます。





マハラノビス距離 (D M ) 例のデータセットの行 1 に示されているデータの場合は 2.814 です。
Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)Figure 15: Mahalanobis plot for example data set (repeat of Figure 8)図 15: データセット例のマハラノビス プロット (図 8 の繰り返し)