密度ベースのクラスター分析 (Density-based Clustering) (空間統計)

サマリー

空間分布に基づき周辺ノイズ内でポイント フィーチャのクラスターを検索します。 また、時間を組み込むことで、時空間クラスターを見つけることもできます。

密度ベースのクラスター分析ツールの詳細

密度ベースのクラスター分析ツールの図

使用法

  • このツールは、[入力ポイント フィーチャ] パラメーター値からクラスターを抽出し、周辺ノイズを特定します。

  • 3 つの [クラスター分析手法] パラメーター オプションがあります。 [指定距離 (DBSCAN)] オプションは、指定された検索距離に基づいて最近接にあるポイントのクラスターを検索します。 [自動調整 (HDBSCAN)] オプションは、DBSCAN と同様にポイントのクラスターを検索しますが、クラスターの可能性 (または安定性) に基づきさまざまな密度で、クラスターを考慮したさまざまな距離を使用します。 [マルチスケール (OPTICS)] オプションは、次のポイントへの最短距離に基づいて入力ポイントを並べ替えます。 その後、到達可能プロットが構築され、クラスター、検索距離、および到達可能プロットの特性 (傾斜やピークの高さなど) と見なされる最小のポイントに基づいてクラスターが取得されます。

  • このツールは、各ポイントが分類されるクラスターを示す新しい整数フィールド CLUSTER_ID を持つ出力フィーチャクラスを生成します。 デフォルトのレンダリングは COLOR_ID フィールドに基づきます。 複数のクラスターに、それぞれ色が割り当てられます。 各クラスターが隣接するクラスターと視覚的に区別されるように色が割り当てられ繰り返されます。

  • このツールは、識別されたクラスターの特徴の理解に使用できるメッセージおよびチャートも作成します。 このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで、進行状況バーにポインターを合わせるか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。 ジオプロセシング履歴で、以前に実行した [密度ベースのクラスター分析 (Density-based Clustering)] ツールのメッセージにアクセスすることもできます。 [コンテンツ] ウィンドウでチャートにアクセスできます。

  • 出力メッセージとチャートの詳細およびこのツールが使用するアルゴリズムの詳細は、「密度ベースのクラスター分析 (Density-based Clustering) ツールの詳細」をご参照ください。

  • [クラスター分析手法] パラメーターに [自動調整 (HDBSCAN)] を選択した場合、出力フィーチャクラスには、PROB (ポイントが割り当てられたグループに存在する可能性を示すフィールド、OUTLIERポイントが自身のクラスターの外れ値である可能性を示す (値が高いほど、ポイントは外れ値である可能性が高い) フィールド、およびEXEMPLAR各クラスターの最も原型的または代表的なポイントを示すフィールドも含まれます。

  • [クラスター分析手法] パラメーターに [マルチスケール (OPTICS)] を選択した場合、出力フィーチャクラスには、REACHORDER (分析のために [入力ポイント フィーチャ] 値を並べ替える方法) および REACHDIST (各ポイントと未確認の最近傍との距離) フィールドも含まれます。

  • [クラスター分析手法] パラメーターの [指定距離 (DBSCAN)] および [マルチスケール (OPTICS)] オプションでは、デフォルトの [検索距離] パラメーター値は、上位 1% の中心距離を除く (最も極端な中心距離を除く)、データセットにある最大の中心距離です。

  • [クラスター分析手法] パラメーターの [指定距離 (DBSCAN)] および [マルチスケール (OPTICS)] オプションでは、[時間フィールド] パラメーターに各ポイントの時間を指定できます。 指定した場合、ツールは空間および時間で互いに近いポイントのクラスターを見つけます。 ポイントがクラスターに含まれるほど時間的に近いかどうかを判断するには、[検索時間間隔] パラメーターを指定する必要があります。

    • [指定距離 (DBSCAN)] オプションでは、クラスター メンバーを検索する際、クラスターを形成するには、[検索距離] および [検索時間間隔] 内に [クラスターあたりの最小フィーチャ数] パラメーター値が見つかる必要があります。
    • [マルチスケール (OPTICS)] オプションでは、ポイントが中心距離を計算し、指定した [検索距離] 値の範囲内にあるすべての近隣の距離を検索して、到達可能性距離を計算する際に、そのポイントの [検索時間間隔] 値の範囲外にあるすべてのポイントが除外されます。

  • [時間フィールド] パラメーター値を指定した場合、出力フィーチャクラスには、各時空間クラスターの時間間隔を表示するクラスターあたりの時間間隔チャートが含まれます。 その他に 4 つのフィールド (Mean TimeStart TimeEnd TimeTime Exaggeration) が含まれます。 出力フィーチャクラスは時間対応であるため、時間を Mean Time フィールドに設定し、[タイム スライダー] を使用して各時間のクラスターを視覚化することをお勧めします。 また、フィーチャの標高に Time Exaggeration を設定することで、時空間パターンを 3D シーンで表示することができます。

  • [検索時間間隔] パラメーターは、生成される時空間クラスターの全体的な時間間隔を制御するものではありません。 たとえば、検索時間間隔を 3 日に設定すると、10 日間以上のポイントを含むクラスターが生成されることがあります。 これは、1 つのポイントがクラスターに含まれるかどうかの判断のみに検索時間間隔が使用されるためです。 複数のポイントでクラスターを形成することで、クラスターの全体的な時間間隔が検索時間間隔よりも大きくなることがあります。 これは、各ポイントに対してクラスター内に検索距離よりも近い近接ポイントが存在する限り、空間クラスターが [検索距離] 値よりも大きくなることがあることと同様です。

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

    注意:

    特に分析範囲が 30°を越えて広がる場合、データを投影することが最善策です。 30°を超える場合、弦距離は測地距離の良好な推定値にはなりません。

  • このツールの計算には Z 値が含まれます。 Z 値が存在する場合、結果は 3D になります。

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

パラメーター

ラベル説明データ タイプ
入力ポイント フィーチャ

密度ベースのクラスター分析が実行されるポイント フィーチャ。

Feature Layer
出力フィーチャ

クラスターの結果を取得する出力フィーチャクラス。

Feature Class
クラスター分析方法

クラスターの定義に使用する方法を指定します。

  • 指定距離 (DBSCAN)指定した距離を使用して、密度が低いノイズから密度の濃いクラスターを分離します。 DBSCAN は最速のクラスター分析方法ですが、存在する可能性があるすべてのクラスターを定義するために使用できる明確な距離がある場合にのみ適しています。 これにより、密度が同じクラスターが生成されます。
  • 自動調整 (HDBSCAN)さまざまな距離を使用して、密度が低いノイズからさまざまな密度のクラスターを分離します。 HDBSCAN は、最もデータを使用するクラスター分析方法で、最小のユーザー入力を必要とします。
  • マルチスケール (OPTICS)近接と到達可能プロットとの距離を使用して、ノイズからさまざまな距離のクラスターを分離します。 OPTICS では、検出されたクラスターを最も柔軟に微調整できますが、特に検索距離が大きい場合は計算負荷がかかります。
String
クラスターあたりの最小フィーチャ数

クラスターと見なされる最小ポイント数。 ポイント数が指定した数よりも少ないクラスターはノイズと見なされます。

Long
検索距離
(オプション)

考慮される最大距離。

[クラスター分析手法] パラメーターの [指定距離 (DBSCAN)] オプションでは、[クラスターあたりの最小フィーチャ数] パラメーター値はクラスター メンバーシップのこの距離内にある必要があります。 個別のクラスターは最小のこの距離で分離されます。 ポイントがクラスター内で最近接するポイントからこの距離よりも離れて配置されている場合、クラスターには含められません。

[クラスター分析手法] パラメーターの [マルチスケール (OPTICS)] オプションでは、このパラメーターはオプションで、到達可能プロットの作成時に最大検索距離として使用されます。 OPTICS では、到達可能プロットは、[クラスター感度] パラメーター値と組み合わされ、クラスター メンバーシップを決定します。 距離が指定されていない場合、ツールはすべての距離を検索するため、処理時間が増加します。

空白のままにすると、使用されるデフォルトの距離は、上位 1% の中心距離 (最も極端な中心距離) を除く、データセット内にある最大の中心距離になります。 [時間フィールド] パラメーター値を指定した場合、検索距離にデフォルト値は含まれていないため、値を指定する必要があります。

Linear Unit
クラスター感度

クラスターの密集度を決定する 0 ~ 100 の整数。 100 に近い数字ほど、密度の高いクラスターの数が多くなります。 0 に近い数字ほど、数が少なく密集度の低いクラスターになります。 空白のままにすると、ツールは、それ以上クラスターを追加しても情報が追加されない値を検索する Kullback-Leibler Divergence を使用して、感度の値を検索します。

Long
時間フィールド

データセット内の各レコードのタイム スタンプが格納されるフィールド。 このフィールドは Date タイプである必要があります。 指定した場合、ツールは空間および時間で互いに近いポイントのクラスターを見つけます。 ポイントがクラスターに含まれるほど時間的に近いかどうかを判断するには、[検索時間間隔] パラメーター値を指定する必要があります。

Field
検索時間間隔

ポイントが時空間クラスターを形成しているかどうかの判断に使用される時間間隔。 検索時間間隔は各ポイントの時間の前後にまたがっています。たとえば、あるポイントを中心とした 3 日間の間隔には、そのポイントの時間の 3 日前から 3 日後までのすべてのポイントが含まれます。

  • [クラスター分析手法] パラメーターの [指定距離 (DBSCAN)] オプションでは、[クラスターあたりの最小フィーチャ数] パラメーター値は、クラスターに含まれる検索距離および検索時間間隔の範囲内にある必要があります。
  • [クラスター分析手法] パラメーターの [マルチスケール (OPTICS)] オプションでは、中心距離、近隣の距離、および到達可能性距離を計算する際に、検索時間間隔の範囲外にあるすべてのポイントが除外されます。

検索時間間隔は、生成される時空間クラスターの全体的な時間間隔を制御するものではありません。 各ポイントに対して、クラスター内に検索時間間隔の範囲内にある近接ポイントが存在する限り、クラスター内のポイントの時間間隔が検索時間間隔よりも大きくなることがあります。

Time Unit

arcpy.stats.DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity, time_field, search_time_interval)
名前説明データ タイプ
in_features

密度ベースのクラスター分析が実行されるポイント フィーチャ。

Feature Layer
output_features

クラスターの結果を取得する出力フィーチャクラス。

Feature Class
cluster_method

クラスターの定義に使用する方法を指定します。

  • DBSCAN指定した距離を使用して、密度が低いノイズから密度の濃いクラスターを分離します。 DBSCAN は最速のクラスター分析方法ですが、存在する可能性があるすべてのクラスターを定義するために使用できる明確な距離がある場合にのみ適しています。 これにより、密度が同じクラスターが生成されます。
  • HDBSCANさまざまな距離を使用して、密度が低いノイズからさまざまな密度のクラスターを分離します。 HDBSCAN は、最もデータを使用するクラスター分析方法で、最小のユーザー入力を必要とします。
  • OPTICS近接と到達可能プロットとの距離を使用して、ノイズからさまざまな距離のクラスターを分離します。 OPTICS では、検出されたクラスターを最も柔軟に微調整できますが、特に検索距離が大きい場合は計算負荷がかかります。
String
min_features_cluster

クラスターと見なされる最小ポイント数。 ポイント数が指定した数よりも少ないクラスターはノイズと見なされます。

Long
search_distance
(オプション)

考慮される最大距離。

cluster_method パラメーターの DBSCAN オプションでは、min_features_cluster パラメーター値はクラスター メンバーシップのこの距離内にある必要があります。 個別のクラスターは最小のこの距離で分離されます。 ポイントがクラスター内で最近接するポイントからこの距離よりも離れて配置されている場合、クラスターには含められません。

cluster_method パラメーターの OPTICS オプションでは、このパラメーターはオプションで、到達可能プロットの作成時に最大検索距離として使用されます。 OPTICS では、到達可能プロットは、cluster_sensitivity パラメーター値と組み合わされ、クラスター メンバーシップを決定します。 距離が指定されていない場合、ツールはすべての距離を検索するため、処理時間が増加します。

空白のままにすると、使用されるデフォルトの距離は、上位 1% の中心距離 (最も極端な中心距離) を除く、データセット内にある最大の中心距離になります。 time_field パラメーター値を指定した場合、検索距離にデフォルト値は含まれていないため、値を指定する必要があります。

Linear Unit
cluster_sensitivity

クラスターの密集度を決定する 0 ~ 100 の整数。 100 に近い数字ほど、密度の高いクラスターの数が多くなります。 0 に近い数字ほど、数が少なく密集度の低いクラスターになります。 空白のままにすると、ツールは、それ以上クラスターを追加しても情報が追加されない値を検索する Kullback-Leibler Divergence を使用して、感度の値を検索します。

Long
time_field

データセット内の各レコードのタイム スタンプが格納されるフィールド。 このフィールドは Date タイプである必要があります。 指定した場合、ツールは空間および時間で互いに近いポイントのクラスターを見つけます。 ポイントがクラスターに含まれるほど時間的に近いかどうかを判断するには、search_time_interval パラメーターを指定する必要があります。

Field
search_time_interval

ポイントが時空間クラスターを形成しているかどうかの判断に使用される時間間隔。 検索時間間隔は各ポイントの時間の前後にまたがっています。たとえば、あるポイントを中心とした 3 日間の間隔には、そのポイントの時間の 3 日前から 3 日後までのすべてのポイントが含まれます。

  • cluster_method パラメーターの DBSCAN オプションでは、指定した min_features_cluster の値は、クラスターに含まれる検索距離および検索時間間隔の範囲内にある必要があります。
  • cluster_method パラメーターの OPTICS オプションでは、中心距離、近隣の距離、および到達可能性距離を計算する際に、検索時間間隔の範囲外にあるすべてのポイントが除外されます。

検索時間間隔は、生成される時空間クラスターの全体的な時間間隔を制御するものではありません。 各ポイントに対して、クラスター内に検索時間間隔の範囲内にある近接ポイントが存在する限り、クラスター内のポイントの時間間隔が検索時間間隔よりも大きくなることがあります。

Time Unit

コードのサンプル

DensityBasedClustering の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
DensityBasedClustering の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトで、DensityBasedClustering 関数を使用する方法を示します。

# Clustering crime incidents in a downtown area using the DensityBasedClustering
# function

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with the HDBSCAN Cluster Method using a minimum 
# of 15 features per cluster
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)

# Run Density-based Clustering again using OPTICS with a Search Distance and 
# Cluster Sensitivity to create tighter clusters
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_Optics", "OPTICS", 
                                   15, "1200 Meters", 70)
DensityBasedClustering の例 3 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトで、時間とともに DensityBasedClustering 関数を使用する方法を示します。

# The following stand-alone Python script demonstrates how to use 
# the DensityBasedClustering function with time to find space-time clusters.

# Time field and Search time interval only supported by DBSCAN and OPTICS methods

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with DBSCAN Cluster Method, and choose 50 as the minimum
# features per cluster, 200 meter search distance, and 10 minute search time interval
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_DBSCAN_Time", 
                        "DBSCAN",  50, "200 Meters", None, "Pickup_Time", "10 Minutes")

# Run Density-based Clustering with OPTICS Method, and choose 50 as the minimum
# of features per cluster, 200 meter search distance, and 10 minute search time interval. 
# Using 15 as the cluster sensitivity to create a higher number of dense clusters
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_OPTICS_Time", 
                        "OPTICS",  50, "200 Meters", 15, "Pickup_Time", "10 Minutes")

ライセンス情報

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

関連トピック