Skip to main content

空間的外れ値の検出の仕組み

空間的外れ値の検出 ツールは、ポイント フィーチャのグローバルまたはローカルの空間的外れ値を特定します。 グローバル外れ値は、フィーチャクラスの他のすべてのポイントから遠く離れているポイントを示します。 ローカル外れ値は、その地域内のポイント密度で想定されるよりも遠くに近傍から離れているポイントを示します。 このツールは、入力ポイントを外れ値とインライアーに分類するだけでなく、分析範囲全体で計算されたローカル外れ値係数 (LOF) でラスター サーフェスを作成できます。データの空間分布を考慮して新しい観測点の分類方法を決定するうえで役立つ可能性があります。 さらに、このツールでは、近傍数や外れ値と見なされる位置の割合など、必要なパラメーターの選択を最適化できます。

適用例

このツールの適用例としては、次のようなシナリオがあります:

  • ある組織は大気環境サーフェスの内挿に使用される大気環境監視ステーションを管理しており、孤立度が最も高いモニターを特定し、補足的なデータ収集が必要な地点を識別したいと考えています。

  • 献血活動は、多くの場合、各ドナーの移動を最小限に抑えるためにドナー候補者のクラスターの近くで開催されますが、遠方に住む重要なドナーの献血を促進するには、さらなるコミュニケーションとインセンティブが必要になることがあります。 コーディネーターは、空間的外れ値と見なされるこれらのドナー候補者を特定し、献血活動への遠距離の移動に対する追加のインセンティブを記載した郵便広告を送ることができます。

グローバルまたはローカルの空間的外れ値

空間的外れ値は、その位置がデータセット内の残りのポイントのパターンとして一般的ではないポイントとして定義されます。 最も単純な例では、あるポイントが他のポイントから大きく離れていることを意味し、これはグローバル外れ値と呼ばれます。 たとえば、州内の緊急治療室のマップでは、人口の少ない地域の緊急治療室は、人口の多い地域に比べて距離が離れているため、グローバル外れ値として特定される可能性があります。 ただし、その地域のポイントのパターンとは異なる位置にあるポイントを検出するほうが有意義な場合もあり、これはローカル外れ値と呼ばれます。 先ほどと同様に州内の緊急治療室の例では、州内の緊急治療室の密度の変化を考慮すると、他の緊急治療室から離れている病院がローカルの空間的外れ値となります。 これにより、周辺の緊急治療室よりも多くの患者にサービスを提供している、人口の多い地域の緊急治療室を特定できるため、救急医療を受けづらい地域を特定できます。

次の画像は、空間的外れ値検出の一般的な結果で、外れ値はオレンジに、インライアーはグレーに色付けされています。 右側にはグローバル外れ値、左側にはワシントン州の一部の地域のローカル外れ値が表示されています。 ローカル ポイントは、全国のすべてのポイントを見ると外れ値のようには見えませんが、その地域内のポイントのローカル クラスターからは大きく離れています。

ローカルおよびグローバルの空間的外れ値

右側にはグローバル外れ値、左側には一部の地域のローカル外れ値が表示されています。

ツールの出力

このツールは、空間的外れ値として指定されたフィーチャをハイライト表示する出力フィーチャ レイヤーを提供します。 外れ値はオレンジ、インライアーは半透明のグレーでシンボル表示されているため、インライアーの空間密度を視覚的に評価できます。

特定された空間的外れ値

このフィーチャ レイヤーには 2 つのチャートがあります。1 つは外れ値およびインライアーの数を示すバー チャート、もう 1 つは LOF 値 (ローカル外れ値) または近傍距離値 (グローバル外れ値) の分布を示すヒストグラムです。

外れ値の数を示すバー チャートには外れ値の数が即時に表示されるので、解析結果の出力からすべての外れ値を選択するのに効果的な方法です。

外れ値数のヒストグラム

LOF 値または近傍距離値の分布を示すこのヒストグラムには、平均値と、外れ値とインライアーを区別するのに使用される閾値が含まれます。

LOF 値のヒストグラム

さらに、出力予測ラスター パラメーターに値が入力されると、分析範囲のセルごとに計算された LOF 値または近傍距離値を示す出力ラスターが作成されます。

出力ラスター サーフェス

出力ラスターは、LOF 値を連続したサーフェスとして表示します。

グローバルの空間的外れ値の検出

グローバル外れ値は、ローカル外れ値よりも単純です。 グローバル外れ値の検出の場合、近傍距離と呼ばれる最も近い近傍の 1 つまでの距離を計算することで外れ値を決定します。 デフォルトでは、最も近い近傍が使用されますが、近傍数 パラメーターを使用して数を変更することができます。 たとえば、値を 3 に指定すると、各ポイントから 3 番目に近い近傍までの距離が計算されます。 近傍距離が最大のポイントは最も近い近傍から最も離れており、近傍距離が一定の閾値を超えるポイントがグローバル外れ値として検出されます。

検出に使用する閾値は、近傍距離の分布と 検出感度 パラメーターの値によって決定されます。 第 3 四分位に四分位範囲 (データの中央 50% の範囲) の数を追加することで、箱ひげ図を使用して閾値を視覚化できます。 感度オプションでは、第 3 四分位に 1 四分位範囲が追加されます。 感度では、1.5 四分位範囲が追加されます。 感度では、2 四分位範囲が追加されます。 感度が高いほど閾値は低くなり、グローバル外れ値として検出される近傍距離が短くなることに注意してください。

グローバル外れ値の箱ひげ図ルール

近傍距離を示す青い箱ひげ図に低、中、および高感度の閾値が示されています。

ローカルの空間的外れ値の検出

異常であったり、他から離れている位置の特定は、多くの場合、一般的であったりクラスター化している位置の特定よりも重要です。 例として、詐欺の可能性のある金融取引の調査が挙げられます。この種の取引は、取引の一般的な空間パターンから外れた異常な場所でしばしば発生します。

このような必要性にもかかわらず、外れ値の特定を試みるほとんどの手法では、まずクラスターを特定してから、残りのフィーチャを空間的外れ値と推測できるものとして使用するというやり方に重点が置かれています。 たとえば、密度ベースのクラスター分析 ツールは、さまざまなアプローチで空間的クラスターを定義し特定するのには長けていますが、このツールによる外れ値の特定は、クラスターの基準を満たさず、ノイズ フィーチャとして二値的に指定されたフィーチャでしかありません。 したがって、クラスタリング アプローチのみを使用して空間的外れ値を特定することには少なくとも 2 つの短所があります。 1 つ目は、設計上、クラスタリング手法では、外れ値ではなく、クラスターの定義と特定に重点が置かれている点です。 2 つ目は、多くの場合、外れ値の指定が二値的な手法で行われ、観測値が外れ値である度合いについての許容値や定量的レベルが存在しない点です。

ローカル外れ値係数 (LOF) は、外れ値の特定に重点を置いて、他のすべてからフィーチャが離れている度合いの計測値を提供することで、こうした短所に対処します。 さらに、このアプローチでは、ローカルな密度パターンを使用して、フィーチャの近傍の密度を、付近にあるその他のフィーチャの近傍に対して比較します。 これにより、分析範囲全体のコンテキストで異常であるグローバルな外れ値 (ポイント) と、ごく近い周辺のコンテキストで異常であるローカルな外れ値 (ポイント) を区別できるようになります。 ローカルな外れ値に注目すると、前述の取引履歴シナリオのように、詳細な調査を要する複雑なローカル現象を明らかにするのに役立ちます。

ローカルの空間的外れ値の検出条件の定義

このツールで空間的外れ値を計測して特定するには、フィーチャごとに評価された 近傍数 パラメーターの値と、分析範囲での 外れ値と考えられる位置の割合 パラメーターの値が必要です。これらの基準は、LOF 計算時の近傍のサイズおよび外れ値とインライアーの指定の閾値を決定する際に重要です。

  • 近傍数 パラメーターは、フィーチャごとの近傍を設定します。 LOF 計算では、この近傍を使って到達可能性距離とローカル到達可能性密度を計算します。これが、あるフィーチャがすぐ近くにあるフィーチャから空間的にどれだけ離れているかを推定するための比較の基準となります。

  • 外れ値と考えられる位置の割合 パラメーターは、フィーチャが外れ値かインライアーかを指定する閾値を設定します。 この閾値は、入力データのすべてのフィーチャについて計算された LOF 値を使用して、外れ値として指定される LOF の最大値を持つフィーチャの割合を設定します。

可能であれば、専門知識として、次の例に示すようにこれらのパラメーターの値の設定を支援することをおすすめします:

  • 輸送エンジニアは、交差点での衝突数が体系的な安全性の問題を示していることについて固有の専門知識を備えている場合、空間的外れ値の検出時に評価される近傍数としてこの値を使用することができます。

  • 献血活動のコーディネーターは、献血ボランティア候補のリストを持っています。 コーディネーターには、献血活動の場所への移動時間を補完するために 10 パーセントの特に遠方のボランティアにインセンティブを与えるための予算があるので、外れ値と見なされる場所の割合として 10 パーセントを使用して、献血活動の場所や献血活動に対するインセンティブを計画するのに役立てます。

さらに、近傍数 および 外れ値と考えられる位置の割合 パラメーターの値が不明な場合や、これらのパラメーターのデータドリブンな値を調べたい場合には、このツールでデータの空間分布を使用してパラメーター値を検索することができます。 この手法の詳細については、下記の「データドリブン パラメーターの選択」セクションで詳しく説明します。

ローカル外れ値係数

ローカル外れ値係数の計算は、空間的外れ値を特定して説明するための重要なメカニズムです。 その特徴は、近傍の確定、到達可能性距離の検索、ローカル到達可能性密度の計算、ローカル外れ値係数自体の計算という 4 つの主要な手順にあります。 以下では、それらの手順について説明します。

近傍の確定と到達可能性距離の検索

ローカル近傍は、指定したフィーチャの最小数を使用して位置ごとに確定します。 このアプローチは、一般的に K 近傍と呼ばれます。K とは、現在解析されているフィーチャ周辺の指定されたフィーチャの最小数に相当します。 例として、以下の図に示したフィーチャ A のシナリオでは、近傍数 k は 4 に等しくなります。

フィーチャ A の近傍

フィーチャ A の近傍を形成するフィーチャ 1、2、3、4 を、ここでは B と見なします。

フィーチャの近傍が確定されると、到達可能性距離は、A と B の間の距離か、B から k 番目の最も近い近傍までの距離のどちらか大きい方となります。

\[ \text{ReachabilityDistance}_k(A, B) = \max { \text{KDistance}(B),\ d(A, B) } \]

次の図では、k = 4 のシナリオにおけるポイント A の到達可能性距離を示しています。

フィーチャ A の到達可能性距離

同様に、各フィーチャにはそれぞれ到達可能性距離が K 近傍によって定義されています。

ローカル到達可能性密度の検索

フィーチャごとに到達可能性距離が判明したら、フィーチャの近傍にあるすべてのフィーチャの到達可能性距離の平均を計算します。 この平均は、フィーチャの近傍の空間密度の計測値であるローカル到達可能性密度を決定するために使用されます。 ローカル到達可能性密度の計算は、フィーチャの近傍にあるすべてのフィーチャの平均到達可能性距離の逆数に相当します。

\[ \text{LocalReachabilityDensity}_k(A) = \left( \frac{ \sum_{B \in N_a(A)} \text{ReachabilityDistance}_k(A, B) }{ |N_ak(A)| } \right)^{-1} \]

ローカル到達可能性密度を概念化するもう 1 つの方法は、フィーチャ A の近傍に属する B1 から B4 までのすべてのフィーチャの到達可能性距離を計算することです。以下の図に示します。

近傍ごとの到達可能性距離

次に、距離の合計をフィーチャの数 (この場合は 4) で除算し、その逆数を取ります (合計値で 1 を除算)。

さらに、フィーチャの平均到達可能性距離が増加するとローカル到達可能性密度が下がることを概念化することもできます。 つまり、フィーチャの平均到達可能性距離が減少するとローカル到達可能性密度は上がることになります。

ローカル到達可能性密度の比較

ローカル外れ値係数の計算

すべてのフィーチャに対してローカル到達可能性密度が計算したので、ローカル外れ値係数の計算の最終ステップとして、あるフィーチャのローカル到達可能性密度とその近傍ごとのローカル到達可能性密度の比率を計算します。 これらの比率の平均がローカル外れ値係数です。

\[ \text{LocalOutlierFactor}_k(A) = \frac{ \sum_{B \in N_a(A)}\text{ LocalReachabilityDensity}_k(B) /\text{ LocalReachabilityDensity}_k(A) }{ |N_a(A)| } \]

この係数が、あるフィーチャが空間的外れ値かどうかを検出するのにどう役立つかを概念化するために、フィーチャのローカル到達可能性密度が減少 (つまり、フィーチャの近傍は疎) し、近傍のローカル到達可能性が増加 (つまり、フィーチャの近接フィーチャの近傍はより密)すると、ローカル外れ値係数は増加すると考えてみましょう。このフィーチャの空間密度は低く、その隣接フィーチャの空間密度はそれより高いことから、このフィーチャが他のすべてのフィーチャからより離れているということになります。

このツールは、すべてのフィーチャに対してローカル外れ値係数が計算された後、外れ値のパラメーター値として指定される位置の割合を使用して、フィーチャを外れ値およびインライアーとして指定します。 つまり、適切な割合を選択することが、解析結果を定義および解釈する際の重要な条件の 1 つとなります。

データドリブン パラメーターの選択

近傍数 および 外れ値と考えられる位置の割合 パラメーターは、LOF 計算結果や検出される空間的外れ値に重大な影響を与えます。 これらのパラメーター値は、専門知識に基づいて選択することをおすすめしますが、必ずしもすべての解析問題にこうした基準の明確な値が含まれているとは限りません。

解析実行前の段階では近傍数や外れ値と見なされる場所の割合の論理値がわからない場合やデータドリブンな結果を評価したい場合、このツールでは、入力フィーチャの空間分布に基づいて適切なパラメーターの値を自動検索することができます。 このために、ツールは近傍数パラメーター (k) と外れ値と考えられる位置の割合パラメーター (c とする) の組み合わせを比較することで検索を実行します。これは、外れ値と見なされる位置の数 (n とする) に変換されます。

パラメーターの値のペア \([(c1, k1), (c2, k2), …]\) ごとに、ローカル外れ値係数を計算します。 結果の LOF 値を降順にランク付けし、t 統計値 Tci,kj を使用して、上位 n 個の外れ値の log(LOF) の平均値と次の n 個のインライアー (2 番目に高い LOF) の log(LOF) の平均値を比較します。

最適化されたグリッド検索で、最適な近傍数と LOF 閾値を検索します。

\(c\) ごとに、最適な \(k\) (\(T_{c1,k2}\)\(T_{c2,k3}\)\(T_{c3,k2}\)) を検索します。 次に、その中から最適な \(k\), \(c\) を検索します。

次に進む前に、次の点に留意してください:

  • c の値が与えられると、ツールは t 統計値の有意性を最大化する k を特定します。 つまり、外れ値のグループとインライアーのグループの LOF の差を最大化する最近傍の値です。

  • ツールは、n のサイズに合わせて調整した後、t 統計値を最大化する c の値を特定します。

インライアーと比較した外れ値。

t 検定は、外れ値のグループの平均値とインライアーのグループの平均値の間で実行されます。

検索は、入力ポイントの数によって確定された \(k\)\(c\) の値のドメインで実行され、選択されたパラメーターについてツールが下した各決定は、ツール実行後のメッセージに表示されます。

注意:

多数のフィーチャの入力データセットがある場合、近傍数と LOF 閾値の一部だけがとツールによって確認されます。

注意事項と出力の解釈

このツールの出力を解釈する際、重要な注意事項がいくつかあります:

  • 入力データセットに対して計算された LOF 値は、別のデータセットで計算された LOF 値との比較に使用することはできません。 LOF 計算は、データセットの入力フィーチャの空間分布に依存します。つまり、別個のデータセットに差異が存在すると、計算されるローカル到達可能性密度や LOF 値も異なるものになります。

  • 計算された LOF 結果が、出力フィーチャのポイントとそのポイントに合致する出力予測ラスターのセルとで、異なる可能性があります。 この差異が生じる理由は、そのポイントの近傍には周辺の近傍が含まれるもののそのポイント自体は含まれないのに対し、そのポイントに合致するラスター セルにはそのポイントが近傍の 1 つとして含まれるためです。

  • 外れ値と考えられる位置の割合 パラメーターに渡される値にわずかな差異があっても、外れ値と考えられる位置の割合の出力が同じとなる可能性があります。 これは、フィーチャの空間分布が類似していたために複数のフィーチャの LOF 値が同じになっている場合や、割合に差はあってもわずかな幅だったために同じ LOF 閾値が確定される場合に発生する可能性があります。

    • 10 個のフィーチャがあり、その LOF 計算結果が [0, 1, 2, 3, 4, 5, 9, 9, 9, 9] である単純なデータセットを考えてみましょう。 この例では、外れ値と考えられる位置の割合の値を 10 パーセントとすると、上位 10 パーセントの LOF 値が選択され、これは LOF 閾値 9 に相当します。 同様に、外れ値と考えられる位置の割合の値として 40 パーセントを渡すと、上位 40 パーセントの LOF 値が選択されますが、この場合も、LOF 閾値 9 が設定されます。 そのため、外れ値として指定される外れ値の出力数は、10 パーセントの場合から 40 パーセントの場合まで同じになります。

その他の参照先

ローカルの外れ値要因と最適化パラメーターの詳細については、次の資料をご参照ください:

  • Breunig, M. M., Kriegel, H. P., Ng, R. T., Sander, J. (2000). "LOF: identifying density-based local outliers." Proceedings of the 2000 ACM SIGMOD international conference on Management of data. (pp. 93-104).

  • Xu, Z., Kakde, D., Chaudhuri, A. (2019). "Automatic Hyperparameter Tuning Method for Local Outlier Factor, with Applications to Anomaly Detection." 2019 IEEE International Conference on Big Data (pp. 4201-4207)