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

概要

空間分布に基づき周辺ノイズ内でポイント フィーチャのクラスターを検索します。

[密度ベースのクラスター分析 (Density-based Clustering)] ツールの詳細

[密度ベースのクラスター分析 (Density-based Clustering)] ダイアグラム

使用法

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

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

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

  • このツールは、識別されたクラスターの特徴を理解するのに役立つメッセージおよびチャートも作成します。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。ジオプロセシング履歴を介して、以前に実行した [密度ベースのクラスター分析 (Density-based Clustering)] ツールのメッセージにアクセスすることもできます。作成されたチャートには、[コンテンツ] ウィンドウからアクセスできます。

  • 出力メッセージとチャートの詳細およびこのツールのアルゴリズムの詳細は、「密度ベースのクラスター分析の機能」をご参照ください。

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

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

  • [指定距離 (DBSCAN)][マルチスケール (OPTICS)] では、デフォルトの [検索距離] は、上位 1% の主要距離を除く (最も極端な主要距離を除く)、データセットにある最大の主要距離です。

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

    注意:

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

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

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

構文

DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity)
パラメーター説明データ タイプ
in_features

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

Feature Layer
output_features

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

Feature Class
cluster_method

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

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

クラスターと見なされるフィーチャの最小数。フィーチャ数が指定した数よりも少ないクラスターはノイズと見なされます。

Long
search_distance
(オプション)

考慮する最大距離。

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

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

空白のままにすると、使用されるデフォルトの距離は、上位 1% の主要距離を除く (最も極端な主要距離を除く)、データセット内にある最大の主要距離になります。

Linear Unit
cluster_sensitivity

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

Long

コードのサンプル

DensityBasedClustering (密度ベースのクラスター分析) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)

次のスタンドアロン Python スクリプトは、DensityBasedClustering ツールの使用方法を示しています。

# Clustering crime incidents in a downtown area using the Density-based Clustering tool
# 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)

ライセンス情報

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

関連トピック