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

サマリー

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 値はシェープファイルに大きい負の値として格納されます。この場合、予期しない結果につながることがあります。 詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力フィーチャクラス

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

Feature Layer
入力フィールド

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

Field
レポートの生成
(オプション)

結果の概要図を .html ファイルとして作成するかどうかを指定します。

  • オン - 概要図が作成されません。
  • オフ - 概要図を作成しません。 これがデフォルトです。
Boolean
空間リレーションシップのコンセプト

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

  • 逆距離遠くにあるフィーチャよりも、近くのフィーチャの方が、ターゲット フィーチャの計算に大きく影響します。
  • 逆距離の二乗これは [逆距離] と同じですが、傾斜が急なため、影響度がより急速に低下する点と、ターゲット フィーチャに最も近いフィーチャだけがそのフィーチャの計算に大きな影響を与える点が異なります。
  • 固定距離バンド各フィーチャは、隣接フィーチャのコンテキスト内で解析されます。 指定した臨界距離 ([距離バンドまたは距離の閾値]) 内の隣接フィーチャは、加重 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。 臨界距離の外にある隣接フィーチャは、加重 0 を受け取り、ターゲット フィーチャの計算に影響を与えません。
  • 無関心領域ターゲット フィーチャの指定した臨界距離 ([距離バンドまたは距離の閾値]) 内のフィーチャは、加重 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。 臨界距離を超えると、加重 (および隣接フィーチャがターゲット フィーチャの計算に与える影響) は距離に伴って減少します。
  • K 近傍最も近い K 個のフィーチャが分析に含められます。 分析に含める隣接フィーチャの数 (K) は、[近傍数] パラメーターで指定します。
  • 隣接エッジのみ境界またはオーバーラップを共有する隣接ポリゴンだけが、ターゲットのポリゴン フィーチャの計算に影響を与えます。
  • 隣接エッジ コーナー境界、ノード、またはオーバーラップを共有するポリゴン フィーチャはターゲットのポリゴン フィーチャの計算に影響を与えます。
  • 空間加重をファイルから取得空間リレーションシップは、指定した空間加重ファイルで定義されます。 空間加重ファイルへのパスは、[加重マトリックス ファイル] パラメーターに指定します。
String
距離方法

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

  • ユークリッド2 つのポイント間の直線距離 (最短距離) が使用されます。
  • マンハッタン直角の軸 (街区) に沿って計測した 2 つのポイント間の距離が使用されます。 X 座標と Y 座標の間の (絶対) 距離を合計して計算します。
String
標準化

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

  • なし空間加重の標準化は適用されません。
  • 空間加重が標準化されます。それぞれの加重をその行の合計 (すべての隣接フィーチャの加重の合計) で割ります。 これがデフォルトです。
String
距離バンドまたは距離の閾値
(オプション)

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

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

このパラメーターは、ポリゴン隣接 ([隣接エッジのみ] または [隣接エッジ コーナー]) または [空間加重をファイルから取得] の空間コンセプトを選択した場合、効果がありません。

Double
加重マトリックス ファイル
(オプション)

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

File
近傍数
(オプション)

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

Long

派生した出力

ラベル説明データ タイプ
インデックス

Moran インデックス値。

Double
ZScore

Z スコア

Double
PValue

p 値

Double
レポート ファイル

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

File

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
(オプション)

結果の概要図を .html ファイルとして作成するかどうかを指定します。

  • NO_REPORT概要図を作成しません。 これがデフォルトです。
  • GENERATE_REPORT概要図が作成されません。
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.stats.SpatialAutocorrelation("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 U.S.
# 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.stats.OrdinaryLeastSquares("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")

    # Create Spatial Weights Matrix (can be based on input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.stats.GenerateSpatialWeightsMatrix("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.stats.SpatialAutocorrelation("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 the error message.
    print(arcpy.GetMessages())

環境

特殊なケース

出力座標系

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

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック