サマリー
Global Moran's I 統計を使用してフィーチャの位置と属性値に基づいて、空間的自己相関を計測します。
[結果] ウィンドウからツールのこのツールの結果 (オプションのレポート ファイルを含む) にアクセスできます。バックグラウンド処理を無効にすると、結果は [進行状況] ダイアログ ボックスにも書き込まれます。
[空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] ツールの詳細
図
使用法
[空間的自己相関分析 (Spatial Autocorrelation)] ツールは、Moran's I インデックス、期待されるインデックス、分散、Z スコア、p 値の 5 つの値を返します。これらの値は、[結果] ウィンドウからアクセス可能であり、モデルまたはスクリプトでの潜在的な用途のために、出力値としても渡されます。オプションとして、このツールは結果の概要図を持つ HTML ファイルを作成します。[結果] ウィンドウで HTML ファイルをダブルクリックすると、デフォルトのインターネット ブラウザーに HTML ファイルが開きます。[結果] ウィンドウでメッセージ エントリを右クリックして [表示] を選択すると、[メッセージ] ダイアログ ボックスに結果が表示されます。このツールをフォアグラウンド処理で実行すると、出力値が進捗ダイアログ ボックスにも表示されます。
このツールは、フィーチャの集合と関連付けられた属性に対して、明示的なパターンがクラスタリングするか、分散するか、不規則かを評価します。Z スコアまたは p 値が統計的に有意であると、正の Moran's I インデックス値はクラスタリング傾向を示し、負の Moran's I インデックスは分散傾向を示します。
- このツールは、帰無仮説を否定できるかどうかを示す Z スコアと p 値を計算します。この場合、帰無仮説は、フィーチャが分析範囲にランダムに分布しているというものです。
- Z スコアと p 値は、帰無仮説を棄却すべきかどうかを判断するための統計的な有意性を示す尺度です。このツールの場合、帰無仮説は、フィーチャに関連付けられた値はランダムに分布しているというものです。
入力フィールドにはさまざまな値を含めなくてはなりません。この統計計算では、分析する変数に変異が存在する必要があります。たとえば、入力値がすべて 1 の場合、解は存在しません。このツールを使用してインシデント データの空間パターンを分析する場合は、インシデント データの集約を検討してください。[最適化ホット スポット分析 (Optimized Hot Spot Analysis)] を使用して、インシデント データの空間パターンを分析することもできます。
[入力フィーチャクラス] が投影されていない場合 (つまり、座標が、度、分、および秒で与えられた場合)、または出力座標系が地理座標系に設定された場合、弦の測定値を使用して距離が計算されます。弦距離の測定値が使用されるのは、少なくとも互いに約 30° の範囲内のポイントに対して、すばやく算出され、実際の測地距離に非常に近い推定値が得られるという理由からです。弦距離は、短回転楕円体に基づいています。地球の表面上の 2 点が与えられた場合、2 点間の弦の距離は、3 次元の地球内部を通過して 2 点を接続するラインの長さになります。弦距離は、メートル単位でレポートされます。
弦距離を解析で使用するときに、[距離バンドまたは距離の閾値] パラメーターを指定する場合、メートル単位で指定する必要があります。
ArcGIS 10.2.1 より前は、選択したパラメーターおよび環境設定によって、地理座標 (度、分、秒) を使用して計算が実行される場合、警告メッセージが表示されていました。この警告は、距離の計算を正確に行うために、投影座標系にデータを投影変換することを薦めるメッセージでした。このツールは、10.2.1 以降、地理座標計算が必要なときに、必ず弦距離を計算するようになりました。
このツールでは、必要に応じて結果を要約している HTML ファイルを作成することもできます。HTML ファイルは、[カタログ] ウィンドウに自動的に表示されません。HTML ファイルをカタログに表示するには、ArcCatalog アプリケーションを開き、[カスタマイズ] メニュー オプションを選択し、[ArcCatalog オプション] をクリックし、[ファイル タイプ] タブを選択します。[新規タイプ] ボタンをクリックし、[ファイル拡張子] に [HTML] を指定します。
ライン フィーチャとポリゴン フィーチャの場合は、距離の計算にフィーチャの重心が使用されます。マルチポイント、ポリライン、または複数のパートを持つポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。
[空間リレーションシップのコンセプト] パラメーターの選択には、解析対象のフィーチャ間の固有のリレーションシップが反映されている必要があります。フィーチャの空間相互作用をより現実的にモデリングできればできるほど、結果はより正確になります。推奨事項については「空間リレーションシップのコンセプトの選択: ベスト プラクティス」で説明しています。次に、別のヒントをいくつか紹介します。
- FIXED_DISTANCE_BAND
デフォルトの [距離バンドまたは距離の閾値] は各フィーチャが少なくとも 1 つ近傍フィーチャを持つことを保証します。これは重要なことです。ただし、多くの場合このデフォルトは解析に使用する最も適切な距離ではありません。分析で適切な尺度 (距離バンド) を選択する詳細については、「固定距離バンドの値の選択」で説明しています。
- INVERSE_DISTANCE または INVERSE_DISTANCE_SQUARED
[距離バンドまたは距離の閾値] パラメーターにゼロを入力すると、すべてのフィーチャが他のすべてのフィーチャの近隣フィーチャと見なされます。このパラメーターを空白のままにしておくと、デフォルトの距離が適用されます。
距離のウェイトが 1 未満の場合は、反転したときに不安定になります。そのため、距離の 1 単位未満に分割されたフィーチャのウェイトは、1 に設定されます。
逆距離オプション (INVERSE_DISTANCE、INVERSE_DISTANCE_SQUARED、または ZONE_OF_INDIFFERENCE) では、ゼロ除算を回避するために、一致する 2 つのポイントにウェイト 1 が与えられます。これによりフィーチャが分析から除外されないことが保証されます。
- FIXED_DISTANCE_BAND
時空間リレーションシップなど、[空間リレーションシップのコンセプト] パラメーターの追加オプションは、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] または [ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights)] ツールを使用したときに利用できます。これらの追加オプションを利用するには、これらのいずれかのツールを使用して、解析の前に空間ウェイト マトリックス ファイルを生成します。[空間リレーションシップのコンセプト] パラメーターの場合は、GET_SPATIAL_WEIGHTS_FROM_FILE を選択し、[ウェイト マトリックス ファイル] パラメーターの場合は、作成した空間ウェイト ファイルへのパスを指定します。
マップ レイヤーを使用して、入力フィーチャクラスを指定できます。解析対象として指定したレイヤーの中で何らかのフィーチャが選択されている場合、選択されているフィーチャだけが解析の対象となります。
ウェイト マトリックス ファイルに .swm 拡張子を付けると、このツールは [ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights)] または [ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights)] ツールを使用して作成された空間ウェイト マトリックス ファイルであると想定します。それ以外の場合、このツールは ASCII 形式の空間ウェイト マトリックス ファイルであると想定します。場合によっては、使用する空間ウェイト マトリックス ファイルのタイプに応じて振舞いが変わります。
- ASCII 形式の空間ウェイト マトリックス ファイル:
- ウェイトはそのまま使用されます。フィーチャ対フィーチャのリレーションシップがない場合は、ゼロとして扱われます。
- ウェイトについて行の標準化を行うと、選択セットの解析で正しい結果は得られません。選択セットで解析を実行する必要があるときは、ASCII データをテーブルに読み込み、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールで CONVERT_TABLE オプションを使用して、ASCII 空間ウェイト ファイルを SWM ファイルに変換します。
- SWM 形式の空間ウェイト マトリックス ファイル:
- ウェイトについて行の標準化を行うと、ウェイトは選択セットに対して再標準化されます。そうでない場合、ウェイトは、そのまま使用されます。
- ASCII 形式の空間ウェイト マトリックス ファイル:
ASCII 形式の空間ウェイト マトリックス ファイルで解析を実行すると、多くのメモリが消費されます。5,000 を超えるフィーチャの解析で、ASCII 形式の空間ウェイト マトリックス ファイルを SWM 形式ファイルに変換する場合を考えます。まず、ASCII ウェイトを Excel などに読み込んで表形式にします。次に、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを、[空間リレーションシップのコンセプト] パラメーターに CONVERT_TABLE を使用して、実行します。出力は、SWM 形式の空間ウェイト マトリックス ファイルになります。
ポリゴン フィーチャの場合は、ほぼ常に [標準化] パラメーターに ROW を選択することができます。[行の標準化] を行うと、解析対象の変数の実際の空間分布を反映するのではなく、各フィーチャの近傍の数が集約方式またはサンプリング プロセスの関数になるときに、偏りが緩和されます。
このツールのパラメーターの詳細については、「空間関係のモデリング」のヘルプ トピックをご参照ください。
構文
SpatialAutocorrelation_stats (Input_Feature_Class, Input_Field, {Generate_Report}, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File})
パラメーター | 説明 | データ タイプ |
Input_Feature_Class | 空間的自己相関が計算されるフィーチャクラスです。 | Feature Layer |
Input_Field | 空間的自己相関の評価時に使用される数値フィールドです。 | Field |
Generate_Report (オプション) |
| Boolean |
Conceptualization_of_Spatial_Relationships | フィーチャ間の空間リレーションシップをどのよう定義するかを指定します。
| String |
Distance_Method | 各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。
| String |
Standardization | 行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性があるときです。
| 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 |
コードのサンプル
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 スクリプト)
次のスタンドアロン 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())
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい