空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I)) (空間統計)

概要

Global Moran's I 統計を使用してフィーチャの位置と属性値に基づいて、空間的自己相関を計測します。

[空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] ツールの詳細

[空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] の図

使用法

  • [空間的自己相関分析 (Spatial Autocorrelation)] ツールは、Moran's I インデックス、期待されるインデックス、分散、Z スコア、p 値の 5 つの値を返します。これらの値は、ツールの実行中に [ジオプロセシング] ウィンドウの下部にメッセージとして書き込まれ、モデルまたはスクリプトでの潜在的な用途のために、出力値として渡されます。このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで進行状況バーにカーソルを合わせるか、ポップアップ ボタンをクリックするか、メッセージの詳細セクションを展開します。ジオプロセシング履歴を介して、以前に実行したツールのメッセージと詳細にアクセスすることもできます。必要に応じて、このツールを使用して、結果の概要図を持つ HTML レポート ファイルを作成できます。レポートへのパスは、ツールの実行パラメーターを要約するメッセージに含まれています。このパスをクリックして、レポート ファイルを開きます。

  • このツールは、フィーチャの集合と関連付けられた属性に対して、明示的なパターンがクラスタリングするか、分散するか、不規則かを評価します。Z スコアまたは p 値が統計的に有意であると、正の Moran's I インデックス値はクラスタリング傾向を示し、負の Moran's I インデックスは分散傾向を示します。

  • このツールは、帰無仮説を否定できるかどうかを示す Z スコアと p 値を計算します。この場合、帰無仮説は、フィーチャの値は空間的に相関していないというものです。
  • Z スコアp 値は、帰無仮説を棄却すべきかどうかを判断するための統計的な有意性を示す尺度です。このツールの場合、帰無仮説は、フィーチャに関連付けられた値はランダムに分布しているというものです。
  • 入力フィールドにはさまざまな値を含めなくてはなりません。この統計計算では、分析する変数に変異が存在する必要があります。たとえば、入力値がすべて 1 の場合、解は存在しません。このツールを使用してインシデント データの空間パターンを分析する場合は、インシデント データの集約を検討してください。[最適化ホット スポット分析 (Optimized Hot Spot Analysis)] を使用して、インシデント データの空間パターンを分析することもできます。

    メモ:

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

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

    注意:

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

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

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

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

    • 固定距離バンド

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

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

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

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

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

    • FIXED_DISTANCE_BAND

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

    • INVERSE_DISTANCE もしくは INVERSE_DISTANCE_SQUARED

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

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

      逆距離オプション (INVERSE_DISTANCEINVERSE_DISTANCE_SQUARED、および ZONE_OF_INDIFFERENCE) では、ゼロ除算を回避するために、一致する 2 つのポイントにウェイト 1 が与えられます。これによりフィーチャが分析から除外されないことが保証されます。

  • Python では、このツールの派生出力には、Moran's I インデックス値、Z スコア、p 値、HTML レポート ファイルが含まれます。たとえば、ツールの Result オブジェクトを MoranResult という変数に割り当てると、MoranResult[0] は Moran's I インデックス値、MoranResult[1] は Z スコア、MoranResult[2] は p 値、MoranResult[3] は HTML レポート ファイルのファイル パスをそれぞれ格納します。[レポートの生成] パラメーターを使用して HTML レポート ファイルを出力しない場合、最後の派生出力は空の文字列になります。

  • 3 次元リレーションシップや時空間リレーションシップなど、[空間リレーションシップのコンセプト] パラメーターの追加オプションは、[空間ウェイト マトリックスの生成 (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 形式の空間ウェイト マトリックス ファイルになります。

  • メモ:

    このツールを実行すると、メモリ不足が発生する可能性があります。これは一般に、[空間リレーションシップのコンセプト][距離バンドまたは距離の閾値] を選択したときに、フィーチャが非常に大量の近傍フィーチャを持つ結果となって発生します。一般に、すべてのフィーチャが数千個の近傍を持つような空間リレーションシップを定義しようとは思いません。すべてのフィーチャが少なくとも 1 つ近傍を持ち、ほぼすべてのフィーチャが少なくとも 8 つの近傍を持つことが理想です。

  • ポリゴン フィーチャの場合は、ほぼ常に [標準化] パラメーターに [行] を選択することができます。[行の標準化] を行うと、解析対象の変数の実際の空間分布を反映するのではなく、各フィーチャの近傍の数が集約方式またはサンプリング プロセスの関数になるときに、偏りが緩和されます。

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

  • 注意:

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

構文

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

空間的自己相関が計算されるフィーチャクラスです。

Feature Layer
Input_Field

空間的自己相関の評価時に使用される数値フィールドです。

Field
Generate_Report
(オプション)
  • NO_REPORT概要図を作成しません。これがデフォルトです。
  • GENERATE_REPORT概要図が HTML ファイルとして作成されます。
Boolean
Conceptualization_of_Spatial_Relationships

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

  • INVERSE_DISTANCE遠くにあるフィーチャよりも、近くのフィーチャの方が、ターゲット フィーチャの計算に大きく影響します。
  • INVERSE_DISTANCE_SQUAREDこれは INVERSE_DISTANCE と同じですが、傾斜が急なため、影響度がより急速に低下する点と、ターゲット フィーチャに最も近いフィーチャだけがそのフィーチャの計算に大きな影響を与える点が異なります。
  • FIXED_DISTANCE_BAND各フィーチャは、隣接フィーチャのコンテキスト内で解析されます。指定した臨界距離 (Distance_Band_or_Threshold) 内の隣接フィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離の外にある隣接フィーチャは、ウェイト 0 を受け取り、ターゲット フィーチャの計算に影響を与えません。
  • ZONE_OF_INDIFFERENCEターゲット フィーチャの指定した臨界距離 (Distance_Band_or_Threshold) 内のフィーチャは、ウェイト 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
(オプション)

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

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

このパラメーターは、ポリゴン隣接 (CONTIGUITY_EDGES_ONLY または CONTIGUITY_EDGES_CORNERS) または GET_SPATIAL_WEIGHTS_FROM_FILE の空間コンセプトを選択した場合、効果がありません。

Double
Weights_Matrix_File
(オプション)

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

File
number_of_neighbors
(オプション)

分析に含める近傍の数を指定する整数。

Long

派生した出力

名前説明データ タイプ
Index

Moran インデックス値。

Double
ZScore

Z スコア

Double
PValue

p 値

Double
Report_File

結果の概要図を持つ HTML ファイル。

File

コードのサンプル

SpatialAutocorrelation (空間的自己相関分析) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、SpatialAutocorrelation (欠損値の補完) ツールの使用方法を示しています。

import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual","NO_REPORT", 
                                   "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN DISTANCE", 
                                   "NONE", "#","euclidean6Neighs.swm")
SpatialAutocorrelation (空間的自己相関分析) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、SpatialAutocorrelation (欠損値の補完) ツールの使用方法を示しています。

# Analyze the growth of regional per capita incomes in US
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression
# Import system modules
import arcpy
# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\Data"
try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace
    # Growth as a function of {log of starting income, dummy for South
    # counties, interaction term for South counties, population density}
    # Process: Ordinary Least Squares... 
    ols = arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")
    # Create Spatial Weights Matrix (Can be based off input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("USCounties.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 
                        
    # Calculate Moran's I Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "euclidean6Neighs.swm")
except:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

環境

出力座標系

フィーチャ ジオメトリは分析に先立って出力座標系に投影されます。すべての数学的演算は、出力座標系の空間参照に基づいて実行されます。[出力データの座標系] が度、分、および秒に基づく場合、測地距離は弦距離を使用して推定されます。

ライセンス情報

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

関連トピック