ホット スポット分析(Hot Spot Analysis (Getis-Ord Gi*)) (空間統計)
サマリ
1 組のウェイト付きフィーチャに対して、Getis-Ord Gi* 統計値を使用して、統計的に有意なホット スポットとコールド スポットを特定します。
図
使用法
-
このツールは、統計的に有意な高い値および低い値の空間クラスタ(ホット スポットとコールド スポット)を特定します。入力フィーチャクラスの各フィーチャの Z スコアと p 値を持つ新しい出力フィーチャクラスを作成します。また、Z スコアと p 値のフィールド名も、カスタム モデルやスクリプトで使用できるように、派生出力値として返します。
-
Z スコアと p 値は、フィーチャごとに帰無仮説を棄却すべきかどうかを判断する統計的有意性の尺度です。実際には、観察された高い値または低い値の空間クラスタ化が、ランダム分布で同じ値に期待されるものより顕著かどうかを示します。
-
フィーチャの Z スコアが高く p 値が小さいことは、高い値の空間クラスタ化を示します。Z スコアが負の低い値で p 値が小さいことは、低い値の空間クラスタ化を示します。Z スコアが高く(または低く)なるほど、クラスタ化の程度は高くなります。Z スコアがゼロに近いことは、明白な空間クラスタ化がないことを示します。
-
Z スコアは、ランダム化帰無仮説計算に基づいています。Z スコアについての詳細は、「Z スコアと p 値」をご参照ください。
-
ユークリッドまたはマンハッタン距離に基づく計算では、距離を正確に計測するために投影変換されたデータが必要です。
-
ライン フィーチャとポリゴン フィーチャの場合は、距離の計算にフィーチャの重心が使用されます。マルチポイント、ポリライン、または複数のパートを持つポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。
-
入力フィールドにはさまざまな値を含まなくてはいけません。この統計計算では、分析する変数に変異が存在する必要があります。たとえば、入力値がすべて 1 の場合、解は存在しません。このツールを使用してインシデント データの空間パターンを分析する場合は、インシデント データの集約を検討してください。
-
[空間リレーションシップのコンセプト] パラメータの選択には、解析対象のフィーチャ間の固有のリレーションシップが反映されている必要があります。フィーチャがスペース内で他のフィーチャとどのように相互作用するかを現実的にモデル化できるほど、結果も正確になります。これらの推奨事項をご検討ください。次に、別のヒントをいくつか紹介します。
-
FIXED_DISTANCE_BAND
[距離バンドまたは距離の閾値] パラメータのデフォルト値は、各フィーチャに 1 つ以上の隣接フィーチャが存在することを保証します。このことは重要ですが、多くの場合このデフォルトは解析に使用する最も適切な距離ではありません。
[距離バンドまたは距離の閾値] パラメータの詳細については、ここをクリックしてください。
- INVERSE_DISTANCE または INVERSE_DISTANCE_SQUARED
[距離バンドまたは距離の閾値] パラメータに 0 を入力すると、すべてのフィーチャが他のすべてのフィーチャの近隣フィーチャと見なされます。このパラメータを空白のままにしておくと、デフォルトの距離の閾値が適用されます。
距離のウェイトが 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」または「.swm」拡張子を付けると、このツールは [空間ウェイト マトリックスの生成(Generate Spatial Weights Matrix)] または [ネットワーク空間ウェイトの作成(Generate Network Spatial Weights)] ツールを使用して作成された空間ウェイト マトリックス ファイルであると想定します。それ以外の場合、ツールは ASCII 形式の空間ウェイト マトリックス ファイルであると想定します。場合によっては、使用する空間ウェイト マトリックス ファイルのタイプに応じて振舞いが変わります。
- ASCII 形式の空間ウェイト マトリックス ファイル:
- ウェイトはそのまま使用されます。フィーチャ対フィーチャのリレーションシップがない場合は、ゼロとして扱われます。
- [セルフ ポテンシャル フィールド] でフィールドを指定するか、セルフ ポテンシャル ウェイトを明示的に含めない限り、セルフ ポテンシャルのデフォルトのウェイトはゼロです。
- ウェイトについて行の標準化を行うと、選択セットの解析で正しい結果は得られません。選択セットで解析を実行する必要があるときは、ASCII データをテーブルに読み込み、[空間ウェイト マトリックスの生成(Generate Spatial Weights Matrix)] ツールで CONVERT_TABLE オプションを使用して、ASCII 空間ウェイト ファイルを SWM ファイルに変換します。
- SWM 形式の空間ウェイト マトリックス ファイル:
- ウェイトについて行の標準化を行うと、ウェイトは選択セットに対して再標準化されます。そうでない場合、ウェイトは、そのまま使用されます。
- [セルフ ポテンシャル フィールド] でフィールドを指定しない限り、セルフ ポテンシャルのデフォルトのウェイトは 1 です。
- ASCII 形式の空間ウェイト マトリックス ファイル:
ASCII 形式の空間ウェイト マトリックス ファイルで解析を実行すると、多くのメモリが消費されます。5000 を超えるフィーチャの解析で、ASCII 形式の空間ウェイト マトリックス ファイルを *.swm 形式ファイルに変換する場合を考えます。まず、ASCII ウェイトを Excel などに読み込んで表形式にします。次に、[空間ウェイト マトリックスの作成(Generate Spatial Weights Matrix)] ツールを、[空間リレーションシップのコンセプト] パラメータに CONVERT_TABLE を使用して、実行します。出力は、*.swm 形式の空間ウェイト マトリックス ファイルになります。
-
このツールを ArcMap で実行すると、出力フィーチャクラスは自動的にコンテンツ ウィンドウに追加され、Z スコア フィールドにはデフォルトのレンダリングが適用されます。適用されるホットからコールドまでのレンダリングは、<ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers にあるレイヤ ファイルによって定義されます。必要に応じて、テンプレート レイヤ シンボルをインポートすれば、デフォルトのレンダリングを再適用できます。
The Output Feature Class includes a SOURCE_ID field which allows you to Join it to the Input Feature Class, if needed.
-
このツールのパラメータの詳細については、「空間関係のモデリング」のヘルプ トピックをご参照ください。
シェープファイルを使用するときは、Null 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、Null 値がゼロとして格納または解釈される場合があります。これにより、予想外の結果になる可能性があります。「ジオプロセシングでのシェープファイル出力の注意事項」もご参照ください。
Prior to ArcGIS 10.0, the output feature class was a duplicate of the input feature class with the z-score and p-value results fields added. After ArcGIS 10.0, the output feature class only includes the z-score and p-value fields as well as the fields input for the analysis. To join other input fields to the output feature class, use the SOURCE_ID field to join the fields using tools in the Joins toolset.
構文
パラメータ | 説明 | データ タイプ |
Input_Feature_Class |
ホット スポット分析が実行されるフィーチャクラス。 | Feature Layer |
Input_Field |
評価対象となる数値カウントフィールドです(被害者数、犯罪件数、就業者数など)。 | Field |
Output_Feature_Class |
Z スコアと p 値の結果を受け取る出力フィーチャクラスです。 | Feature Class |
Conceptualization_of_Spatial_Relationships |
フィーチャ間の空間リレーションシップをどのようにコンセプト化するかを指定します。
| String |
Distance_Method |
各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。
| String |
Standardization |
行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性があるときです。
| String |
Distance_Band_or_Threshold_Distance |
[INVERSE_DISTANCE] オプションおよび [FIXED_DISTANCE_BAND] オプションの場合、ここで閾値を指定します。ターゲット フィーチャに対して指定したカットオフの外側のフィーチャは、そのフィーチャの解析では除外されます。[ZONE_OF_INDIFFERENCE] オプションの場合、ここで指定した閾値内にあるフィーチャの影響は等しく考慮され、閾値外にあるフィーチャの影響は距離に伴って減少します。入力する値は、出力座標系の値に一致している必要があります。 空間リレーションシップの逆距離のコンセプトの場合、値 0 は閾値の距離が適用されないことを示します。このパラメータを空白のままにすると、デフォルトの閾値が計算され、適用されます。このデフォルト値はユークリッド距離であり、すべてのフィーチャに 1 つ以上の隣接フィーチャがあることが保証されます。 空間コンセプトとして [POLYGON_CONTIGUITY] または [GET_SPATIAL_WEIGHTS_FROM_FILE] を選択した場合、このパラメータは効力を持ちません。 | Double |
Self_Potential_Field (オプション) |
セルフ ポテンシャルを表すフィールドです。セルフ ポテンシャルとは、フィーチャとそれ自身との間の距離またはウェイトです。 | Field |
Weights_Matrix_File (オプション) |
フィーチャ間の空間リレーションシップを指定する空間ウェイトが含まれたファイルへのパス。 | File |
コードのサンプル
次の Python ウィンドウ スクリプトは HotSpotAnalysis(ホット スポット分析)ツールを使用する方法を示しています。
import arcpy arcpy.env.workspace = "C:/data" arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp","GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", "NONE","#", "#", "euclidean6Neighs.swm")
次のスタンドアロン Python スクリプトは HotSpotAnalysis(ホット スポット分析)ツールを使用する方法を示しています。
# Analyze the spatial distribution of 911 calls in a metropolitan area # using the Hot-Spot Analysis Tool (Local Gi*) # Import system modules import arcpy # Set geoprocessor object property to overwrite existing output, by default arcpy.gp.overwriteOutput = True # Local variables... workspace = "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 # 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", "#", 0, 0, 0) 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]", "VB") # Create Spatial Weights Matrix for Calculations # Process: Generate Spatial Weights Matrix... swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID", "euclidean6Neighs.swm", "K_NEAREST_NEIGHBORS", "#", "#", "#", 6, "NO_STANDARDIZATION") # Hot Spot Analysis of 911 Calls # Process: Hot Spot Analysis (Getis-Ord Gi*) hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp", "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()
環境
- 出力データの座標系
フィーチャ ジオメトリは、分析に先立って出力座標系に投影されます。そのため、[距離バンドまたは距離の閾値] パラメータで入力する値は、出力座標系で指定する値と一致する必要があります。すべての数学的演算は、出力座標系の空間参照に基づいて実行されます。