クラスター/外れ値分析 (Cluster and Outlier Analysis (Anselin Local Moran's I)) (空間統計)

概要

加重された一連のフィーチャを指定すれば、Anselin Local Moran's I 統計で、統計的に有意なホット スポット、コールド スポット、および空間的な外れ値を特定できます。

クラスター/外れ値分析 (Cluster and Outlier Analysis (Anselin Local Moran's I)) ツールの詳細

[クラスター/外れ値分析 (Cluster and Outlier Analysis)] の図

使用法

  • このツールを使用すると、[入力フィーチャクラス] にある各フィーチャについて、Local Moran's I インデックス、Z スコア、疑似 p 値、クラスター/外れ値タイプ (COType) の各属性を持つ新しい [出力フィーチャクラス] が作成されます。

  • Z スコアと p 値は、フィーチャごとに帰無仮説を棄却すべきかどうかを判断する統計的有意性の尺度です。実際、この尺度は、見かけの類似性 (高いまたは低い値の空間クラスター) や相違 (空間的な外れ値) が、ランダムな分布で期待されるよりも顕著であるかどうかを示しています。出力フィーチャクラスの p 値と Z スコアは、FDR (False Discovery Rate) 補正を反映しません。

  • フィーチャの Z 値が高い正の値である場合は、周囲のフィーチャの値が同様である (高い値または低い値) ことを示しています。[出力フィーチャクラス]COType フィールドは、高い値を持つ統計的に有意なクラスターの場合には HH になり、低い値を持つ統計的に有意なクラスターの場合には LL になります。

  • フィーチャの Z スコアが低い負の値 (-3.96 未満など) である場合は、統計的に有意な空間データの外れ値であることを示しています。[出力フィーチャクラス]COType フィールドは、高い値を持つフィーチャが低い値を持つフィーチャに取り囲まれている場合には HL になり、低い値を持つフィーチャが高い値を持つフィーチャに取り囲まれている場合には LH になります。

  • [COType] フィールドは常に、95 % の信頼度で統計的に有意なクラスターおよび外れ値を示します。統計的に有意なフィーチャのみで、COType フィールドに値が含まれます。オプションの [FDR (False Discovery Rate) 補正の適用] パラメーターのチェックボックスをオンにすると、統計的な有意性は、補正された 95 % の信頼度を使用します。

  • [出力フィーチャクラス] のデフォルトのレンダリングは、COType フィールドの値を使用します。

  • このツールの出力には、[入力フィールド] の値をチャート化するヒストグラムと Moran 散布図も含まれます。これらのチャートには、[コンテンツ] ウィンドウの [出力フィーチャクラス] の下でアクセスできます。

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

  • [順列の数] パラメーターを 0 に設定すると、疑似 p 値ではなく、標準の p 値が返されます。Z スコアは、無作為化帰無仮説計算に基づいています。Z スコアと p 値の詳細については、「Z スコアとは、 p 値とは」をご参照ください。

  • [入力フィーチャクラス] が投影されていない場合 (つまり、座標が、度、分、および秒で与えられた場合)、または出力座標系地理座標系に設定された場合、弦の測定値を使用して距離が計算されます。弦距離の測定値が使用されるのは、少なくとも互いに約 30° の範囲内のポイントに対して、すばやく算出され、実際の測地距離に非常に近い推定値が得られるという理由からです。弦距離は、扁平回転楕円体に基づいています。地球の表面上の 2 点が与えられた場合、2 点間の弦の距離は、3 次元の地球内部を通過して 2 点を接続するラインの長さになります。弦距離は、メートル単位でレポートされます。

    注意:

    分析範囲が 30°を越えて広がる場合、必ずデータを投影してください。30°を超える場合、弦距離は測地距離の良好な推定値にはなりません。

  • 弦距離を解析で使用するときに、[距離バンドまたは距離の閾値] パラメーターを指定する場合、メートル単位で指定する必要があります。

  • ライン フィーチャとポリゴン フィーチャの場合は、距離の計算にフィーチャの重心が使用されます。マルチポイント、ポリライン、または複数のパートを持つポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。

  • 入力フィールドにはさまざまな値を含めなくてはなりません。この統計計算では、分析する変数に変異が存在する必要があります。たとえば、入力値がすべて 1 の場合、解は存在しません。このツールを使用してインシデント データの空間パターンを分析する場合は、インシデント データの集約を検討してください。[最適化ホット スポット分析 (Optimized Hot Spot Analysis)] ツールを使用して、インシデント データの空間パターンを分析することもできます。

    メモ:

    インシデント データは、イベント (犯罪、交通事故など) またはオブジェクト (樹木、店舗など) を表すポイントです。これらのポイントでは、各ポイントに関連付けられて測定される属性ではなく、インシデント データの有無に焦点が当てられます。

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

    • 固定距離バンド

      [距離バンドまたは距離の閾値] を使用します。これは、各フィーチャが少なくとも 1 つ近傍フィーチャを持つことを保証します。これは重要なことですが、多くの場合このデフォルトは解析に使用する最も適切な距離ではありません。分析で適切な尺度 (距離バンド) を選択する詳細については、「固定距離バンドの値の選択」で説明しています。

    • [逆距離] または [距離の逆二乗]

      [距離バンドまたは距離の閾値] パラメーターにゼロを入力すると、すべてのフィーチャが他のすべてのフィーチャの近隣フィーチャと見なされます。このパラメーターを空白のままにしておくと、デフォルトの距離が適用されます。

      距離のウェイトが 1 未満の場合は、反転したときに不安定になります。そのため、距離の 1 単位未満に分割されたフィーチャのウェイトは、1 に設定されます。

      逆距離系のオプション ([逆距離][距離の逆二乗]、または [無関心領域]) の場合、一致する 2 つのポイントは、ゼロ除算を避けるためにウェイトが 1 になります。これによりフィーチャが分析から除外されないことが保証されます。

  • 時空間リレーションシップなど、[空間リレーションシップのコンセプト] パラメーターの追加オプションは、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを使用したときに利用できます。これらの追加オプションを利用するには、解析を実行する前に空間ウェイト マトリックス ファイルを作成します。[空間リレーションシップのコンセプト] パラメーターでは、[空間ウェイトをファイルから取得] を選択し、[ウェイト マトリックス ファイル] パラメーターでは、作成した空間ウェイト ファイルへのパスを指定します。

  • 時空間クラスター分析については、「時空間分析」のドキュメントをご参照ください。

  • マップ レイヤーを使用して、入力フィーチャクラスを指定できます。解析対象として指定したレイヤーの中で何らかのフィーチャが選択されている場合、選択されているフィーチャだけが解析の対象となります。

  • ウェイト マトリックス ファイルに「.swm」拡張子を付けると、このツールは [空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを使用して生成された空間ウェイト マトリックス ファイルを想定します。それ以外の場合、ツールは ASCII 形式の空間ウェイト マトリックス ファイルを想定します。場合によっては、使用する空間ウェイト マトリックス ファイルのタイプに応じて振舞いが変わります。

    • ASCII 形式の空間ウェイト マトリックス ファイル:
      • ウェイトはそのまま使用されます。フィーチャ対フィーチャのリレーションシップがない場合は、ゼロとして扱われます。
      • ウェイトについて行の標準化を行うと、選択セットの解析で正しい結果は得られません。選択セットで解析を実行する必要があるときは、ASCII データをテーブルに読み込み、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールで [変換テーブル] オプションを使用して、ASCII 空間ウェイト ファイルを SWM ファイルに変換します。
    • SWM 形式の空間ウェイト マトリックス ファイル:
      • ウェイトについて行の標準化を行うと、ウェイトは選択セットに対して再標準化されます。そうでない場合、ウェイトは、そのまま使用されます。

  • ASCII 形式の空間ウェイト マトリックス ファイルで解析を実行すると、多くのメモリが消費されます。5,000 を超えるフィーチャの解析で、ASCII 形式の空間ウェイト マトリックス ファイルを SWM 形式ファイルに変換する場合を考えます。まず、ASCII ウェイトを Excel などに読み込んで表形式にします。次に、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを、[空間リレーションシップのコンセプト] パラメーターに [変換テーブル] を使用して、実行します。出力は、SWM 形式の空間ウェイト マトリックス ファイルになります。

  • 出力フィーチャクラスは自動的にコンテンツ ウィンドウに追加され、COType フィールドにはデフォルトのレンダリングが適用されます。適用されるレンダリングは、<ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers にあるレイヤー ファイルによって定義されます。必要に応じて、[レイヤーのシンボル情報を適用 (Apply Symbology From Layer)] ツールを使用して、デフォルトのレンダリングを再適用できます。

  • [出力フィーチャクラス] には、必要に応じて [入力フィーチャクラス]結合できる SOURCE_ID フィールドがあります。

  • このツールのパラメーターの詳細については、「空間関係のモデリング」のヘルプ トピックをご参照ください。

  • 注意:

    シェープファイルを使用するときは、NULL 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、NULL 値がゼロとして格納または解釈される場合があります。場合によっては、NULL 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。

  • Python スクリプトでこのツールを使用すると、実行されたツールから返される結果のオブジェクトの出力は次のようになります。

    位置説明データ タイプ

    0

    出力フィーチャクラス

    フィーチャ クラス

    1

    インデックス フィールド名

    フィールド

    2

    Z スコア フィールド名

    フィールド

    3

    確率フィールド名

    フィールド

    4

    COType フィールド名

    フィールド

    5

    ソース ID のフィールド名

    フィールド

構文

arcpy.stats.ClustersOutliers(Input_Feature_Class, Input_Field, Output_Feature_Class, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File}, {Apply_False_Discovery_Rate__FDR__Correction}, {Number_of_Permutations}, {number_of_neighbors})
パラメーター説明データ タイプ
Input_Feature_Class

クラスター/外れ値分析の対象となるフィーチャクラス。

Feature Layer
Input_Field

評価する数値フィールド。

Field
Output_Feature_Class

結果のフィールドを取得するための出力フィーチャクラス。

Feature Class
Conceptualization_of_Spatial_Relationships

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

  • INVERSE_DISTANCE遠くにあるフィーチャよりも、近くのフィーチャの方が、ターゲット フィーチャの計算に大きく影響します。
  • INVERSE_DISTANCE_SQUAREDINVERSE_DISTANCE と同じですが、傾斜が急なため、影響度がより急速に低下する点と、ターゲット フィーチャに最も近いフィーチャだけがそのフィーチャの計算に大きな影響を与える点が異なります。
  • FIXED_DISTANCE_BAND各フィーチャは、隣接フィーチャのコンテキスト内で解析されます。指定した臨界距離 (Distance_Band_or_Threshold_Distance) 内の隣接フィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離の外にある隣接フィーチャは、ウェイト 0 を受け取り、ターゲット フィーチャの計算に影響を与えません。
  • ZONE_OF_INDIFFERENCEターゲット フィーチャの指定した臨界距離 (Distance_Band_or_Threshold_Distance) 内のフィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離を超えると、ウェイト (および隣接フィーチャがターゲット フィーチャの計算に与える影響) は距離に伴って減少します。
  • K_NEAREST_NEIGHBORS最も近い K 個のフィーチャが分析に含められます。隣接フィーチャの数 (K) は、number_of_neighbors パラメーターで指定します。
  • CONTIGUITY_EDGES_ONLY境界またはオーバーラップを共有する隣接ポリゴンだけが、ターゲットのポリゴン フィーチャの計算に影響を与えます。
  • CONTIGUITY_EDGES_CORNERS境界、ノード、またはオーバーラップを共有するポリゴン フィーチャはターゲットのポリゴン フィーチャの計算に影響を与えます。
  • GET_SPATIAL_WEIGHTS_FROM_FILE空間リレーションシップは、指定した空間ウェイト ファイルで定義されます。空間ウェイト ファイルへのパスは、Weights_Matrix_File パラメーターに指定します。
String
Distance_Method

各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。

  • EUCLIDEAN_DISTANCE2 つのポイント間の直線距離 (最短距離)。
  • MANHATTAN_DISTANCE直角の軸 (街区) に沿って計測した 2 つのポイント間の距離。X 座標と Y 座標の間の (絶対) 距離を合計して計算します。
String
Standardization

行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性があるときです。

  • NONE空間ウェイトの標準化は適用されません。
  • ROW空間ウェイトが標準化されます。それぞれのウェイトをその行の合計 (すべての隣接フィーチャのウェイトの合計) で割ります。
String
Distance_Band_or_Threshold_Distance
(オプション)

[距離の逆二乗] オプションおよび [固定距離バンド] オプションの場合、ここで閾値を指定します。ターゲット フィーチャに対して指定したカットオフの外側のフィーチャは、そのフィーチャの解析では除外されます。[無関心領域] オプションの場合、ここで指定した閾値内にあるフィーチャの影響は等しく考慮され、閾値外にあるフィーチャの影響は距離に伴って減少します。入力する距離値は、出力座標系の値に一致している必要があります。

空間リレーションシップの逆距離のコンセプトの場合、値 0 は閾値の距離が適用されないことを示します。このパラメーターを空白のままにすると、デフォルトの閾値が計算され、適用されます。このデフォルト値はユークリッド距離であり、すべてのフィーチャに 1 つ以上の隣接フィーチャがあることが保証されます。

空間コンセプトとして [隣接ポリゴン] または [空間ウェイトをファイルから取得] を選択した場合、このパラメーターは効力を持ちません。

Double
Weights_Matrix_File
(オプション)

フィーチャ間の空間リレーションシップ、および潜在的に時系列のリレーションシップを定義するウェイトが含まれたファイルへのパス。

File
Apply_False_Discovery_Rate__FDR__Correction
(オプション)
  • APPLY_FDR統計的な有意性は、95 % の信頼度で False Discovery Rate 補正に基づきます。
  • NO_FDR0.05 未満の p 値を持つフィーチャが COType フィールドに表示され、95 % の信頼度で統計的に有意なクラスターまたは外れ値を反映します (デフォルト)。
Boolean
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
number_of_neighbors
(オプション)

分析に含める近傍の数。

Long

派生した出力

名前説明データ タイプ
Index_Field_Name

インデックス フィールド名。

フィールド
ZScore_Field_Name

Z スコア フィールド名。

フィールド
Probability_Field

確率フィールド名。

フィールド
Cluster_Outlier_Type

クラスター/外れ値のフィールド名。

フィールド
Source_ID

ソース ID のフィールド名。

フィールド

コードのサンプル

ClustersOutliers (クラスター/外れ値分析) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "c:/data/911calls"
arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT","911ClusterOutlier.shp",
                             "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", 
                             "NONE","#", "euclidean6Neighs.swm","NO_FDR", 499)
ClustersOutliers (クラスター/外れ値分析) の例 2 (スタンドアロン スクリプト)

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

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Cluster-Outlier Analysis Tool (Anselin's Local Moran's I)
# Import system modules
import arcpy
# Set property to overwrite outputs if they already exist
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\Data\911Calls"
try:
    # Set the current workspace 
    #  (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace
    # Copy the input feature class and integrate the points to snap
    # together at 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp")
    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     														"NON_NULLABLE", "NON_REQUIRED", "#",
                     														"911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "!FID!", "PYTHON")
    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        																											"euclidean6Neighs.swm",
                       																											 "K_NEAREST_NEIGHBORS",
                       															 												"#", "#", "#", 6) 
    # Cluster/Outlier Analysis of 911 Calls
    # Process: Local Moran's I
    clusters = arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT", 
                      																				  "911ClusterOutlier.shp", 
                        																				"GET_SPATIAL_WEIGHTS_FROM_FILE",
                        																				"EUCLIDEAN_DISTANCE", "NONE",
                       							 													"#", "euclidean6Neighs.swm", "NO_FDR", "499")
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

環境

出力座標系

フィーチャ ジオメトリが分析の前に [出力データの座標系] に投影されます。したがって、[距離バンドまたは距離の閾値] パラメーターに入力された値は、[出力データの座標系] で指定されている値と一致する必要があります。数学的演算はすべて、[出力データの座標系] の空間参照に基づいて行われます。[出力データの座標系] が度、分、および秒に基づく場合、測地距離はメートル単位の弦の距離を使用して推定されます。

乱数ジェネレーター

使用される乱数ジェネレーターのタイプは常にメルセンヌ ツイスターです。

ライセンス情報

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

関連トピック