コロケーション分析 (Colocation Analysis) (空間統計)

概要

コロケーション指数統計を使用して、ポイント フィーチャの 2 つのカテゴリ間における空間的な関連性 (コロケーション) の局所的なパターンを計測します。

[コロケーション分析 (Colocation Analysis)] ツールの詳細

コロケーション分析 (Colocation Analysis) のダイアグラム

使用法

  • このツールは、ポイント フィーチャのみを受け取ります。解析するカテゴリには、同じデータセットまたは異なる 2 つのデータセットに含まれているカテゴリを使用できます。異なる 2 つのデータセットをカテゴリと見なして使用することもできます。たとえば、多くの種類のレストランがあるポイント データセットを RESTAURANTS カテゴリ、多くの種類の犯罪が含まれるポイント データセットを CRIMES カテゴリとだけ見なして使用することができます。

  • このツールは、[対象カテゴリ] の各フィーチャに対して、[隣接カテゴリ] のフィーチャが、カテゴリの全体的な空間分布と比較して、その近傍により多く/少なく存在するかどうかを判定します。たとえば、カテゴリ A の各フィーチャに対して、結果のローカル コロケーション指数 (LCLQ) の値が 1 である場合、カテゴリ B が近傍として存在する可能性が予想どおりであることを意味します。1 より大きい LCLQ 値は、B が近傍として存在する可能性が (ランダムの場合より) 高いことを意味します。1 より小さい LCLQ 値は、カテゴリ A のフィーチャの近傍としてカテゴリ B のポイントが存在する可能性が (ランダムな分布より) 低いことを意味します。

    メモ:

    この分析のコロケーション リレーションシップは対称ではありません。カテゴリ A をカテゴリ B に対して比較したときに計算したコロケーション指数値は、カテゴリ B をカテゴリ A に対して比較したときに計算したコロケーション指数値と異なります。

    また、近傍にカテゴリ C がある場合、結果のコロケーション指数は、カテゴリ A と B だけが存在する場合と異なります。質問の内容によっては、カテゴリ A と B のみが含まれるようにデータのサブセットを作成することが重要である場合があります。ただし、サブセットを作成すると、存在する他のカテゴリに関する情報は失われます。データのサブセットを選択および作成することは、カテゴリの発生が別のカテゴリの発生にまったく影響を受けないことが確かな場合に重要です。

  • 空間リレーションシップは、[距離バンド][K 最近隣内挿法]、または [近傍タイプ] パラメーターでの空間ウェイト マトリックス ファイルを使用して定義できます。

  • [対象時間フィールド][隣接カテゴリの時間フィールド]、および [時系列リレーションシップ タイプ] パラメーターを指定すると、時空間ウィンドウを使用してデータを解析できます。時空間ウィンドウを使用すると、解析される近傍に含めるフィーチャを制御できます。ターゲット フィーチャの場所とタイム スタンプに関連してすべてのフィーチャ リレーションシップが評価されるため、空間および時間内で互いに近いフィーチャ群が一緒に分析されます。また、ターゲット フィーチャの前後のフィーチャを検索するかどうかを指定したり、期間を作成して、解析されるターゲット フィーチャの前後のフィーチャをその期間中で検索したりこともできます。

  • [順列の数] パラメーターは、p 値の計算に使用されます。順列の数を選択する場合は、精度と処理時間の増加とのバランスを考慮します。デフォルトの順列は 99 ですが、最終的な分析結果では順列の数を増やすことをお勧めします。

  • [グローバル リレーションシップの出力テーブル] パラメーターのパスを指定することで、グローバル コロケーション指数を計算することもできます。このテーブルにはコロケーション指数が含まれているため、データセット内のすべてのカテゴリ間で空間的な関連性の計測値を解析できます。これを使用すると、コロケーション指数が高い他のカテゴリをグローバルに検索できるので、データ内の他のリレーションシップを探索できます。コロケーション指数が高い他のカテゴリが見つかった場合、それらの対象カテゴリでツールをもう一度実行して、そのリレーションシップの局所的な特性を探索するか、または、コロケーション指数が高いカテゴリによって結果に不要なバイアスが入ると考えた場合は、それらのカテゴリを分析から除外してツールをもう一度実行して、分析を拡張することができます。

  • このツールの出力は、それぞれの [入力対象フィーチャ][入力隣接フィーチャ] に対して有意に同位置にあったか孤立していたかをシンボル表示したマップです。このツールは、計算されたローカル コロケーション指数、p 値、シンボル表示に使用される LCLQ ビン、LCLQ タイプなどのフィールドを [出力フィーチャ] に追加します。オプションの [グローバル リレーションシップの出力テーブル] を指定できます。これは、[対象フィールド] パラメーター内のすべてのカテゴリと、[隣接カテゴリを含むフィールド] パラメーターに存在するすべてのカテゴリの間のグローバル コロケーション指数を報告します。

  • このツールは並列処理をサポートしており、デフォルトで利用可能なプロセッサの 50 パーセントを使用します。プロセッサの数を増減するには、並列処理ファクター環境を使用します。

構文

arcpy.stats.ColocationAnalysis(input_type, in_features_of_interest, output_features, {field_of_interest}, {time_field_of_interest}, {category_of_interest}, {input_feature_for_comparison}, {field_for_comparison}, {time_field_for_comparison}, {category_for_comparison}, neighborhood_type, {number_of_neighbors}, {distance_band}, {weights_matrix_file}, {temporal_relationship_type}, {time_step_interval}, {number_of_permutations}, {local_weighting_scheme}, {output_table})
パラメーター説明データ タイプ
input_type

in_features_of_interest パラメーター値の取得元が、指定したカテゴリがある同じデータセット、指定したカテゴリがある異なるデータセット、独自のカテゴリとして扱う異なるデータセット (たとえば、すべてのポイントがチーターを表す 1 つ目のデータセットと、すべてのポイントがガゼルを表す 2 つ目のデータセット) のどれであるかを指定します。

  • SINGLE_DATASET解析されるカテゴリは、1 つのデータセットのフィールド内に存在します。
  • TWO_DATASETS解析されるカテゴリは、異なるデータセットのフィールド内に存在します。
  • DATASETS_WITHOUT_CATEGORIES2 つのカテゴリを表す 2 つの異なるデータセットが解析されます。
String
in_features_of_interest

代表的なカテゴリのポイントを含むフィーチャクラス。

Feature Layer
output_features

すべての in_features パラメーター値と、ローカル コロケーション指数スコアと p 値を格納するフィールドが含まれる出力フィーチャクラス。

Feature Class
field_of_interest
(オプション)

解析するカテゴリが含まれるフィールド。

Field
time_field_of_interest
(オプション)

時空間ウィンドウを使用してポイントを解析するために、各フィーチャのタイム スタンプをオプションで格納する日付フィールド。時空間的に互いに近いフィーチャは近傍と見なされ、一緒に解析されます。

Field
category_of_interest
(オプション)

分析のベース カテゴリ。ツールは、それぞれの category_of_interest 値について、ベース カテゴリが neighboring_category パラメーター値に引き寄せられる度合い、または同じ位置にある度合いを識別します。

String
input_feature_for_comparison
(オプション)

比較されるカテゴリのポイントが含まれる入力フィーチャクラス。

Feature Layer
field_for_comparison
(オプション)

比較されるカテゴリが含まれる input_feature_for_comparison パラメーターのフィールド。

Field
time_field_for_comparison
(オプション)

時空間ウィンドウを使用してポイントを解析するために、各フィーチャのタイム スタンプを格納する日付フィールド。時空間的に互いに近いフィーチャは近傍と見なされ、一緒に解析されます。

Field
category_for_comparison
(オプション)

分析の隣接カテゴリ。ツールは、category_of_interest パラメーター値が category_for_comparison 値に引き寄せられる度合い、または孤立する度合いを識別します。

String
neighborhood_type

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

  • DISTANCE_BAND各フィーチャは、隣接フィーチャのコンテキスト内で解析されます。distance_band パラメーターで指定された臨界距離内の隣接フィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離の外にある隣接フィーチャは、ウェイト 0 を受け取り、ターゲット フィーチャの計算に影響を与えません。
  • K_NEAREST_NEIGHBORS最も近い K 個のフィーチャが近傍として分析に含められます。近傍数は、number_of_neighbors パラメーターで指定します。分析における近傍の影響は、最も遠い近傍までの距離に基づいて加重されます。これがデフォルトです。
  • GET_SPATIAL_WEIGHTS_FROM_FILEinput_type として SINGLE_DATASET を使用する場合、空間リレーションシップは、指定した空間ウェイト マトリックス ファイルによって定義されます。分析における近傍の影響は、最も遠い近傍までの距離に基づいて加重されます。空間ウェイト ファイルへのパスは、weights_matrix_file パラメーターに指定します。
String
number_of_neighbors
(オプション)

カテゴリ間のローカル リレーションシップのテストに使用される各フィーチャの周囲の近傍数。値を指定しない場合は、デフォルトの 8 が使用されます。指定する値は、フィーチャ間の関係を検出できるほど大きく、局所的なパターンを識別できるほど小さい必要があります。

Long
distance_band
(オプション)

近傍サイズは、各フィーチャに対して定数または固定距離です。この距離内にあるすべてのフィーチャが、カテゴリ間のローカル リレーションシップのテストに使用されます。値が指定されない場合、使用される距離は、各フィーチャが少なくとも 8 つの近傍を持つ平均距離になります。

Linear Unit
weights_matrix_file
(オプション)

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

File
temporal_relationship_type
(オプション)

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

  • BEFOREin_features_of_interest 値に対して、タイム ウィンドウを前に拡張します。隣接フィーチャは、分析に含める対象フィーチャの日付/タイム スタンプより前の日付/タイム スタンプを持つ必要があります。これがデフォルトです。
  • AFTERin_features_of_interest 値に対して、タイム ウィンドウを後に拡張します。隣接フィーチャは、分析に含める対象フィーチャの日付/タイム スタンプより後の日付/タイム スタンプを持つ必要があります。
  • SPANin_features_of_interest 値に対して、タイム ウィンドウを前後に拡張します。対象フィーチャの日付/タイム スタンプから time_step_interval 値内で前後の日付/タイム スタンプを持つ隣接フィーチャが分析に含められます。たとえば、time_step_interval パラメーターが 1 週間に設定されている場合、ウィンドウはターゲット フィーチャの 1 週間前と 1 週間後に拡張されます。
String
time_step_interval
(オプション)

タイム ウィンドウを構成する時間単位数を表す計測値の整数と単位。

Time Unit
number_of_permutations
(オプション)

基準分布の作成に使用される順列の数。順列の数を選択する場合は、精度と処理時間の増加とのバランスを考慮します。速度と精度の優先度を選択します。有効性と精度が高い結果ほど、計算に時間がかかります。

  • 99解析は 99 の順列を使用します。順列の数が 99 の場合、許容最小疑似 p 値は 0.02 で、その他すべての疑似 p 値は、この値の倍になります。これがデフォルトです。
  • 199解析は 199 の順列を使用します。順列の数が 199 の場合、許容最小疑似 p 値は 0.01 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 499解析は 499 の順列を使用します。順列の数が 499 の場合、許容最小疑似 p 値は 0.004 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 999解析は 999 の順列を使用します。順列の数が 999 の場合、許容最小疑似 p 値は 0.002 で、その他すべての疑似 p 値は、この値の偶数倍になります。
  • 9999解析は 9,999 の順列を使用します。順列の数が 9,999 の場合、許容最小疑似 p 値は 0.0002 で、その他すべての疑似 p 値は、この値の偶数倍になります。
Long
local_weighting_scheme
(オプション)

空間的な加重を提供するために使用されるカーネル タイプを指定します。カーネルは、各フィーチャと近傍内にある他のフィーチャとの関連性を定義します。

  • BISQUAREフィーチャは、最も遠い近傍または距離バンドのエッジまでの距離に基づいて加重され、指定された近傍の外部にあるフィーチャにはウェイト 0 が割り当てられます。
  • GAUSSIANフィーチャは最も遠いフィーチャまたは距離バンドのエッジまでの距離に基づいて加重されますが、[Bisquare] オプションよりも急速に低下します。指定された近傍の外部にあるフィーチャには、0 のウェイトが割り当てられます。これがデフォルトです。
  • NONE加重方式が適用されず、近傍内のすべてのフィーチャはウェイト 1 が与えられ、同等に寄与します。近傍の外部にあるすべてのフィーチャにはウェイト 0 が与えられます。
String
output_table
(オプション)

[対象フィールド] パラメーター内のすべてのカテゴリと、[隣接カテゴリを含むフィールド] パラメーターに存在するすべてのカテゴリの間のグローバル コロケーション指数を含むテーブルです。このテーブルは、解析するローカル カテゴリの決定に役立ちます。

[入力タイプ] として [カテゴリのないデータセット] パラメーター値を使用する場合、グローバル コロケーション指数がデータセットごとおよび各データセット間で計算されます。

Table

コードのサンプル

ColocationAnalysis (コロケーション分析) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ColocationAnalysis 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Two categories from the same categorical field.
# Find the colocation of elementary schools and middle schools
arcpy.stats.ColocationAnalysis("SINGLE_DATASET", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\School_Colocation", "Facility_Type", None,
                               "Elementary", None, None, None, "Middle", "K_NEAREST_NEIGHBORS",
                               8, None, None, "BEFORE", None, 99, "BISQUARE",
                               r"Outputs.gdb\Global_School_Colocation")
# Categories from different datasets without categories
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("DATASETS_WITHOUT_CATEGORIES", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Schools_Hospitals", None, None, '',
                               r"Colocation.gdb\Hospitals", None, None, '', "DISTANCE_BAND",
                               None, "30 Kilometers", None, "BEFORE", None, 199, "GAUSSIAN",
                               None)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("TWO_DATASETS", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Elementary_Hospitals", "Facility_Type", None,
                               "Elementary", r"Colocation.gdb\Hospitals", None, None, '',
                               "K_NEAREST_NEIGHBORS", 15, None, None, "BEFORE", None, 499,
                               "NONE", None)
ColocationAnalysis (コロケーション分析) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ColocationAnalysis 関数の使用方法を示しています。

# Analyze the spatial relationship (colocation) between elementary school locations and hospital locations
# Two categories from the same categorical field.
# Find the colocation of elementary schools and  middle schools
intype = "SINGLE_DATASET"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\School_Colocation"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = ""
field_neigh = ""
time_field_neigh = ""
cat_neigh = "Middle"
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 8
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 99
weighting_scheme ="BISQUARE"
out_global_tbl = r"Outputs.gdb\Global_School_Colocation"
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from different datasets without categories
# Find the colocation of schools and hospitals
intype = "DATASETS_WITHOUT_CATEGORIES"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Schools_Hospitals"
field_interest = ""
time_field = ""
cat_interest = ""
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "DISTANCE_BAND"
num_neighbors = ""
dist_band = "30 Kilometers"
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 199
weighting_scheme ="GAUSSIAN"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
intype = "TWO_DATASETS"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Elementary_Hospitals"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 15
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 499
weighting_scheme ="NONE"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)

ライセンス情報

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

関連トピック