平均最近隣距離分析 (Average Nearest Neighbor) (空間統計)

概要

各フィーチャと最近隣のフィーチャとの間の平均距離に基づき、最近隣距離インデックスを計算します。

[平均最近隣距離分析 (Average Nearest Neighbor)] の詳細

平均最近隣距離分析の図

使用法

  • [平均最近隣距離分析] ツールは、観測された平均距離、期待される平均距離、最近隣距離インデックス、Z スコア、p 値という 5 つの値を返します。これらの値は、ツールの実行中に [ジオプロセシング] ウィンドウの下部にメッセージとして書き込まれ、モデルまたはスクリプトでの潜在的な用途のために、出力値として渡されます。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。ジオプロセシング履歴を介して、以前に実行したツールのメッセージにアクセスすることもできます。オプションとして、このツールは結果の概要図を持つ HTML レポート ファイルを作成します。レポートへのパスは、ツールの実行パラメーターを要約するメッセージに含まれています。このパスをクリックすると、レポート ファイルが開きます。

    メッセージとレポートへのアクセス

  • Z スコアと p 値の結果は、帰無仮説を棄却すべきかどうかを判断するための統計的な有意性を示す尺度です。ただし、この方法の統計的な有意性は、分析範囲のサイズによる影響を強く受けます (下記を参照)。平均最近隣距離の統計の場合、フィーチャがランダムに分布しているという帰無仮説になります。

  • 最近隣距離指数は、期待される平均距離に対する観測された平均距離の比率で表現されます。期待される距離は、仮説であるランダムな分布における近隣間の平均距離です。指数が 1 未満の場合はパターンがクラスターであることを示し、指数が 1 を上回る場合は分散または競合に向かう傾向にあることを示します。

  • 平均最近隣距離分析手法は、面積値の影響を非常に大きく受けます ([解析範囲] パラメーター値を少し変えるだけで Z スコアと p 値の結果が大きく変わってしまうことがあります)。このため、[平均最近隣距離分析 (Average Nearest Neighbor)] ツールを使用すると、固定された分析範囲内のフィーチャ間の比較を非常に効果的に行うことができます。下図は、同一のフィーチャ分布でも、指定された分析範囲によって分散されたりクラスタリングされたりする典型的な例です。

    分析範囲のサイズによって分布はクラスタリングされたり分散されたりする

  • [解析範囲] パラメーターの値を指定しない場合は、入力フィーチャを取り囲む最小外接矩形が面積になります。範囲とは違って、最小限の領域を囲む四角形は必ずしも X 軸、Y 軸と並行ではありません。

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

    注意:

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

  • 弦距離を解析で使用するときに、[解析範囲] パラメーターを指定する場合、メートル単位で指定する必要があります。

  • 入力フィーチャによっては、無効 (面積ゼロ) な最小外接矩形になってしまう特殊なケースがあります。この場合は、入力フィーチャの XY 許容値から導出される小さな値を使用して最小外接矩形が作成されます。たとえば、すべてのフィーチャが同じ場所にある (つまり、すべてが同一の X 座標と Y 座標を有する) 場合、1 つの位置を取り囲む非常に小さな矩形ポリゴンの面積が計算式に使用されます。別の例を挙げると、すべてのフィーチャが完全に整列する (直線上の 3 点など) ことがあります。この場合は、フィーチャを取り囲む非常に小さな幅を持つ矩形ポリゴンの面積が計算に使用されます。[平均最近隣距離分析 (Average Nearest Neighbor)] ツールを使用するときは、どの場合も [解析範囲] の値を指定すると最も効果的です。

  • このツールは、ポリゴンやライン データについて使用することもできますが、イベント、インシデント、またはその他の固定ポイント フィーチャ データについての使用が最適です。ラインおよびポリゴン フィーチャの場合は、各フィーチャの真のジオメトリ重心が計算に使用されます。マルチポイント、ポリライン、またはマルチパートを伴うポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。

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

  • 注意:

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

構文

arcpy.stats.AverageNearestNeighbor(Input_Feature_Class, Distance_Method, {Generate_Report}, {Area})
パラメーター説明データ タイプ
Input_Feature_Class

フィーチャクラス (一般的にポイント フィーチャクラス) については、平均最近隣距離が計算されます。

Feature Layer
Distance_Method

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

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

このツールが結果の概要図を作成するかどうかを指定します。

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

分析範囲のサイズを示す数値。デフォルト値は、すべてのフィーチャ (または選択したフィーチャ) を取り囲む最小外接矩形の面積です。出力データの座標系と同じ単位にする必要があります。

Double

派生した出力

名前説明データ タイプ
NNRatio

最近隣距離インデックスの値。

Double
NNZScore

Z スコア

Double
PValue

p 値

Double
NNExpected

期待される平均距離。

Double
NNObserved

観測された平均距離。

Double
Report_File

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

File

コードのサンプル

AverageNearestNeighbor (平均最近隣距離分析) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.AverageNearestNeighbor_stats("burglaries.shp", "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
AverageNearestNeighbor (平均最近隣距離分析) の例 2 (スタンドアロン スクリプト)

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

# Analyze crime data to determine if spatial patterns are statistically significant
 
# Import system modules
import arcpy
 
# Local variables...
workspace = "C:/data"
crime_data = "burglaries.shp"
 
try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace
 
    # Obtain Nearest Neighbor Ratio and z-score
    # Process: Average Nearest Neighbor...
    nn_output = arcpy.AverageNearestNeighbor_stats(crime_data, "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
    
    # Create list of Average Nearest Neighbor output values by splitting the result object
    print("The nearest neighbor index is: " + nn_output[0])
    print("The z-score of the nearest neighbor index is: " + nn_output[1])
    print("The p-value of the nearest neighbor index is: " + nn_output[2])
    print("The expected mean distance is: " + nn_output[3])
    print("The observed mean distance is: " + nn_output[4])
    print("The path of the HTML report: " + nn_output[5])
 
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

環境

出力座標系

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

ライセンス情報

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

関連トピック