ローカル外れ値分析 (Local Outlier Analysis) (時空間パターン マイニング)

概要

統計的に有意なクラスターおよび外れ値を空間と時間の両方から特定します。このツールは、Anselin Local Moran's I 統計の時空間での実装です。

ローカル外れ値分析 (Local Outlier Analysis) ツールの詳細

ローカル外れ値分析 (Local Outlier Analysis)

使用法

  • このツールでは、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツール、[定義済みの位置から時空間キューブを作成 (Create Space Time Cube From Defined Locations)] ツール、または [多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube From Multidimensional Raster Layer)] ツールによって作成された netCDF ファイルのみを使用できます。

  • 時空間キューブ内のビンは、LOCATION_IDtime_step_IDCOUNT 値、およびキューブの作成時に含まれていた [集計フィールド] または [変数] を保持します。物理的に同じ位置に関連付けられているビンは、同じロケーション ID を共有し、共に時系列を示します。同じ時間ステップ間隔に関連付けられているビンは、同じ時間ステップ ID を共有し、共にタイム スライスを構成します。各ビンのカウント値は、関連付けられた時間ステップ間隔中に、関連付けられた場所で発生したインシデントまたはレコードの数を反映します。

    各ビンはロケーション ID、タイムステップ ID、およびカウントを保持する

  • このツールは、Anselin Local Moran's I 統計の時空間での実装を使用して netCDF[入力時空間キューブ] 内の変数を分析します。

  • 分析対象のすべての場所の時空間分析結果を要約するレンダリングとともに、[出力フィーチャ] が、[コンテンツ] ウィンドウに追加されます。[ポリゴン解析マスク] を指定すると、分析対象の場所は解析マスクの範囲内の場所になります。指定しない場合、分析対象の場所は、1 つ以上の時間ステップ間隔における 1 つ以上のポイントを持つ場所になります。

    データを含むキューブの場所とデータを含まないキューブの場所

  • [出力フィーチャ] に加えて、分析の概要が、ツールの実行中にメッセージとして [ジオプロセシング] ウィンドウの下部に書き込まれます。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタン 別ウィンドウに表示 をクリックするか、メッセージの詳細セクションを展開します。[カタログ] ウィンドウの [ジオプロセシング履歴] を使用して、過去に実行したツールのメッセージにアクセスすることもできます。

  • [ローカル外れ値分析 (Local Outlier Analysis)] ツールは、統計的に有意なクラスターおよび外れ値を空間と時間の両方から特定します。デフォルトの出力カテゴリ定義とこの分析ツールで使用されるアルゴリズムの詳細については、「ローカル外れ値分析 (Local Outlier Analysis) ツールの詳細」をご参照ください。

  • 時空間キューブ内のクラスターと外れ値を特定するために、このツールでは、Anselin Local Moran's I 統計の時空間での実装が使用されます。この統計は、近傍ビンの値に照らし合わせて各ビンの値を考慮します。

  • 各分析対象の近傍に含まれるビンを特定するために、まず、ツールは指定された [空間リレーションシップのコンセプト] 内の近傍ビンを見つけます。次に、それらのビンごとに、以前の N 個の時間ステップから同じ場所のビンを含めます。ここで、N は指定する [近傍時間のステップ] です。

  • [空間リレーションシップのコンセプト] パラメーターの選択には、解析対象のフィーチャ間の固有のリレーションシップが反映されている必要があります。フィーチャの空間相互作用をより現実的にモデリングできればできるほど、結果はより正確になります。推奨事項については「空間リレーションシップのコンセプトの選択: ベスト プラクティス」で説明しています。

  • デフォルトの [空間リレーションシップのコンセプト][固定距離] です。ビンの重心が [近傍距離] 内にあり、時間間隔が指定の [近傍時間のステップ] 内にある場合、そのビンは近傍であると見なされます。[近傍距離] の値を指定しない場合は、ポイント データの空間分布に基づいて近傍距離が計算されます。[近傍時間のステップ] の値を指定しない場合は、デフォルト値が使用されます。デフォルトは、1 時間ステップ間隔です。

  • [近傍数] パラメーターは、[固定距離] オプションの [近傍距離] をオーバーライドするか、[隣接エッジのみ] オプションと [隣接エッジ コーナー] オプションの近傍検索範囲を広げることができます。このような場合、[近傍数] は最小数として使用されます。たとえば、[固定距離][近傍距離] に「10」マイルを指定し、[近傍数] パラメーターに「3」を指定した場合、空間近傍を検索するために [近傍距離] の値を増やす必要がある場合でも、すべてのビンが受け取る空間近傍の最小数は 3 になります。近傍距離は、最小 [近傍数] を満たすことができないビンについてのみ拡大されます。隣接オプションでも同様に、この隣接近傍数よりも少ない近傍数を持つビンに対して、中心点との近接度に基づいて追加の近傍が選択されます。

  • [近傍時間のステップ] の値は、分析対象の近傍に含める時間ステップ間隔の数です。たとえば、キューブの時間ステップ間隔が 3 か月の場合に、[近傍時間のステップ]2 を指定すると、指定した [空間リレーションシップのコンセプト] 内のすべてのビン カウントと、直前の 2 つの時間ステップ間隔のすべての関連ビン (9 か月の時間間隔をカバー) が分析対象の近傍に含められます。

  • 順列を使用すると、分析する値の実際の空間分布が検出される可能性がどれくらいあるかを判断できます。順列を実行するごとに、各ビンの周囲の近傍値がランダムに並べ替えられ、Local Moran's I 値が算出されます。この計算結果が値の基準分布になり、観測値がランダム分布の中から検出される確率を求めるために実際の観測対象の Moran's I と比較されます。順列の数はデフォルトで 499 に設定されていますが、順列の数を増やすと、ランダム標本分布が広範になり、これに伴って疑似 p 値の精度も上がります。

  • [順列の数] パラメーターを 0 に設定すると、疑似 p 値ではなく、標準の p 値が返されます。

  • このツールで順列を使用すると、複数の CPU (またはマルチコア CPU) を使用しているシステムでパフォーマンスが向上するという利点があります。デフォルトでは、このツールは使用可能なプロセッサの 50% を使用して実行されますが、並列処理ファクター環境を使用して、使用される CPU の数を増減できます。処理速度の向上が最も顕著に見られるのは、大規模な時空間キューブを使用している場合または多数の順列を使用してこのツールを実行する場合です。

  • [ポリゴン解析マスク] フィーチャ レイヤーは、分析範囲を定義する 1 つ以上のポリゴンを含むことができます。これらのポリゴンは、ポイント フィーチャが発生する可能性がある場所を示すとともに、ポイントが発生する可能性のないエリアを除外する必要があります。たとえば、空き巣の傾向を分析する場合は、[ポリゴン解析マスク] を使用して、大きな湖、地域の公園、または家が建っていない他のエリアを除外することができます。

  • [ポリゴン解析マスク] は、[入力時空間キューブ] の範囲と交差するため、キューブのディメンションを拡張しません。

  • 分析範囲の設定に使用している [ポリゴン解析マスク] が最初にキューブを作成したときに使用された入力フィーチャの範囲を超えるエリアをカバーする場合、その [ポリゴン解析マスク]範囲環境として使用してキューブを再作成してください。これにより、その [ポリゴン解析マスク] でカバーされるすべてのエリアが [ローカル外れ値分析 (Local Outlier Analysis)] ツールに含まれるようになります。[ポリゴン解析マスク] をキューブの作成時の範囲環境設定として使用すると、キューブの範囲が [ポリゴン解析マスク] の範囲と一致するようになります。

  • このツールにより、時空間キューブ内の場所ごとに、次の属性が設定された出力フィーチャクラスが新規に作成されます。これらのフィールドを出力のカスタム視覚化に使用できます。その他の分析結果の詳細については、「ローカル外れ値分析 (Local Outlier Analysis) ツールの詳細」をご参照ください。
    • Number of Outliers
    • Percentage of Outliers
    • Number of Low Clusters
    • Percentage of Low Clusters
    • Number of Low Outliers
    • Percentage of Low Outliers
    • Number of High Clusters
    • Percentage of High Clusters
    • Number of High Outliers
    • Percentage of High Outliers
    • No Spatial Neighbors を含むロケーション
    • Outlier in the Most Recent Time Step を含むロケーション
    • Cluster Outlier Type
    • その他の要約統計量
  • Cluster Outlier Type には、95% の信頼度のある統計的に有意なクラスターと外れ値が常に表示されます。このフィールドに表示されるのは、統計的に有意なビンの値だけです。この統計的有意性は、FDR (False Discovery Rate) 補正を表します。

  • [出力フィーチャクラス] のデフォルトのレンダリングには、CO_TYPE フィールドに基づいて、これまで統計的に有意であった場所が表示されます。つまり、統計的に有意な高 - 高クラスター、高 - 低外れ値、低 - 高外れ値、低 - 低クラスターの一部であった場所または時間の経過に伴って複数のタイプとして分類された場所が表示されます。
  • 各場所に 1 つ以上の時間近傍を確保するために、最初のタイム スライスでは Local Moran's インデックスの計算が行われません。ただし、最初のタイム スライス内にあるビンの値は、グローバル平均の計算に含められます。

  • [ローカル外れ値分析 (Local Outlier Analysis)] を実行すると、分析結果が netCDF[入力時空間キューブ] に戻されます。高い値と低い値の両方のクラスター分布を評価し、これらのクラスターの中から空間的な外れ値と時間的な外れ値を特定するために、各ビンが近接ビンに照らし合わせて分析されます。この分析の結果は、時空間キューブ内の各ビンの Local Moran's I インデックス、疑似 p 値 (順列を使用していない場合は標準の p 値)、クラスター タイプまたは外れ値タイプ (CO_TYPE) です。

    [入力時空間キューブ] に追加される変数の概要を次に示します。

    変数名詳細ディメンション

    OUTLIER_{ANALYSIS_VARIABLE}_INDEX

    算出された Local Moran's I インデックス。

    3 次元: 時空間キューブ内のビンごとに 1 つの Local Moran's I インデックス値。

    OUTLIER_{ANALYSIS_VARIABLE}_PVALUE

    Anselin Local Moran's I 統計の疑似 p 値または p 値。この値から、Local Moran's I 値の統計的有意性が評価されます。

    3 次元: 時空間キューブ内のビンごとに 1 つの疑似 p 値または p 値

    OUTLIER_{ANALYSIS_VARIABLE}_TYPE

    統計的に有意な高い値のクラスター (高 - 高)、統計的に有意な低い値のクラスター (低 - 低)、高い値が主に低い値に取り囲まれている外れ値 (高 - 低)、低い値が主に高い値に取り囲まれている外れ値 (低 - 高) を区別する結果カテゴリ タイプ。

    3 次元: 時空間キューブ内のビンごとに 1 つのクラスターまたは外れ値。ビンは FDR 補正に基づきます。

    OUTLIER_{ANALYSIS_VARIABLE}

    _HAS_SPATIAL_NEIGHBORS

    空間近傍のある場所と時間近傍にのみ依存している場所を示します。

    2 次元: 場所ごとに 1 つの分類。空間近傍のない場所の分析では、時間近傍にのみ基づいて計算が行われます。

構文

arcpy.stpm.LocalOutlierAnalysis(in_cube, analysis_variable, output_features, {neighborhood_distance}, neighborhood_time_step, {number_of_permutations}, {polygon_mask}, {conceptualization_of_spatial_relationships}, {number_of_neighbors}, {define_global_window})
パラメーター説明データ タイプ
in_cube

分析対象の netCDF キューブ。このファイルは (*.nc) 拡張子が付加され、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツールまたは [定義済みのフィーチャから時空間キューブを作成 (Create Space Time Cube From Defined Features)] ツールによって作成されている必要があります。

File
analysis_variable

分析対象の netCDF ファイル内の数値変数。

String
output_features

統計的に有意なクラスターまたは外れ値と見なされた場所を含む出力フィーチャクラス。

Feature Class
neighborhood_distance
(オプション)

分析対象の近傍の空間範囲。この値は、ローカル時空間クラスタリングを評価する場合に一緒に分析されるフィーチャを決定します。

Linear Unit
neighborhood_time_step

分析対象の近傍に含める時間ステップの間隔の数。この値は、ローカル時空間クラスタリングを評価する場合に一緒に分析されるフィーチャを決定します。

Long
number_of_permutations
(オプション)

疑似 p 値を算出する場合のランダムな順列の数。デフォルトの順列の数は 499 です。順列の数を 0 に設定すると、標準の p 値が算出されます。

  • 0順列が使用されていないため、標準の p 値が算出されます。
  • 99順列の数が 99 の場合、許容最小疑似 p 値は 0.01 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 199順列の数が 199 の場合、許容最小疑似 p 値は 0.005 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 499順列の数が 499 の場合、許容最小疑似 p 値は 0.002 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 999順列の数が 999 の場合、許容最小疑似 p 値は 0.001 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 9999順列の数が 9999 の場合、許容最小疑似 p 値は 0.0001 で、その他すべての疑似 p 値は、この値の偶数倍になります。
Long
polygon_mask
(オプション)

分析範囲を定義する 1 つ以上のポリゴンを含むポリゴン フィーチャ レイヤー。たとえば、分析対象から大きな湖を除外する場合にポリゴン解析マスクを使用します。このマスクの範囲外の in_cube で定義されたビンは、解析に含められません。

このパラメーターはグリッド キューブに対してのみ利用できます。

Feature Layer
conceptualization_of_spatial_relationships
(オプション)

ビン間の空間リレーションシップをどのよう定義するかを指定します。

  • FIXED_DISTANCE各ビンは、隣接ビンのコンテキスト内で解析されます。指定した臨界距離 (neighborhood_distance) 内の隣接ビンは、ウェイト 1 を受け取り、ターゲット ビンの計算に影響を与えます。臨界距離の外にある隣接ビンは、ウェイト 0 を受け取り、ターゲット ビンの計算に影響を与えません。
  • K_NEAREST_NEIGHBORS最も近い K 個のビンがターゲット ビンの分析に含められます。K は指定した数値パラメーターです。
  • CONTIGUITY_EDGES_ONLYエッジを共有する隣接ビンだけが、ターゲット ポリゴン ビンの計算に影響を与えます。
  • CONTIGUITY_EDGES_CORNERSエッジを共有するか、ノードを共有するビンが、ターゲット ポリゴン ビンの計算に影響を与えます。
String
number_of_neighbors
(オプション)

ターゲット ビンの計算に含める近傍の最小数または正確な数を指定する整数。K_NEAREST_NEIGHBORS の場合、各ビンはここで指定された数の近傍を持つことになります。FIXED_DISTANCE の場合、各ビンはこの数以上の近傍を持つことになります (必要に応じて、この近傍数を満たすために neighborhood_distance が一時的に引き上げられます)。隣接コンセプトの 1 つが選択されると、各ビンにはこの最小近傍数が割り当てられます。この隣接近傍数よりも少ない近傍数を持つビンに対して、フィーチャの中心点との近接度に基づいて近傍が追加されます。

Long
define_global_window
(オプション)

Anselin Local Moran's I 統計情報は、各ビンの近傍から計算されたローカル統計をグローバル値と比較する仕組みになっています。このパラメーターを使用すると、グローバル値の計算に使用するビンを制御できます。

  • ENTIRE_CUBE各近傍は、キューブ全体と比較して分析されます。これがデフォルトです。
  • NEIGHBORHOOD_TIME_STEP各近傍は、指定した [近傍時間のステップ] を含むビンと比較して分析されます。
  • INDIVIDUAL_TIME_STEP各近傍は、同じ時間ステップ内のビンと比較して分析されます。
String

コードのサンプル

LocalOutlierAnalysis (ローカル外れ値分析) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、LocalOutlierAnalysisツールの使用方法を示しています。

# LocalOutlierAnalysis of homicides in a metropolitan area
import arcpy
arcpy.env.workspace = r"C:\STPM"
arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles", 2, 499, "#", "FIXED_DISTANCE", "3", "NEIGHBORHOOD_TIME_STEP")
LocalOutlierAnalysis (ローカル外れ値分析) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python ウィンドウ スクリプトは、LocalOutlierAnalysis ツールの使用方法を示しています。

# Create Space Time Cube by aggregating homicide incidents in a metropolitan area
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\STPM"
try:
    # Set the current workspace (to avoid having to specify the full path to the feature 
    # classes each time)
    arcpy.env.workspace = workspace
    # Create Space Time Cube by aggregating homicide incident data with 3 months and 3 miles settings
    # Process: Create Space Time Cube By Aggregating Points
    cube = arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "MyDate", "#", 
                                          "3 Months", "End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS", "HEXAGON_GRID")
    # Create a polygon that defines where incidents are possible  
    # Process: Minimum Bounding Geometry of homicide incident data
    arcpy.MinimumBoundingGeometry_management("Homicides.shp", "bounding.shp", "CONVEX_HULL",
                                             "ALL", "#", "NO_MBG_FIELDS")
    # Local Outlier Analysis of homicide incident cube using 5 Miles neighborhood 
    # distance and 2 neighborhood time step with 499 permutations to detect outliers
    # Process: Local Outlier Analysis
    loa = arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles",
                                          2, 499, "bounding.shp", "FIXED_DISTANCE")
except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック