ラベル | 説明 | データ タイプ |
入力フィーチャ | クラスターを作成するフィーチャクラスまたはフィーチャ レイヤー。 | Feature Layer |
出力フィーチャ | 作成された出力フィーチャクラス。すべてのフィーチャ、指定した分析フィールド、および各フィーチャが属しているクラスターを示すフィールドが含まれています。 | Feature Class |
分析フィールド | クラスターを別のクラスターと区別するために使用するフィールドのリスト。 | Field |
クラスター分析方法 (オプション) | 使用するクラスター アルゴリズムを指定します。 [K-means] オプションと [K-medoids] オプションでは、ほとんどの場合に似た結果が生成されます。 ただし、[K-medoids] の方が [入力フィーチャ] パラメーター値のノイズと外れ値に対して強固です。 [K-means] は通常、[K-medoids] よりも処理速度が速いため、大規模なデータセットに適しています。
| String |
初期化方法 (オプション) | クラスターを拡大する初期シードの取得方法を指定します。 たとえば、クラスター数を 3 と指定すると、分析は 3 つのシードで開始されます。
| String |
初期化フィールド (オプション) | シード フィーチャを識別する数値フィールド。 このフィールドが 1 であるフィーチャがクラスターの拡大の始点として使用されます。 シードはクラスターを生成するため、少なくとも 2 つのシード フィーチャを指定する必要があります。 | Field |
クラスター数 (オプション) | 作成されるクラスターの数。 このパラメーターを空白にすると、ツールは 2 ~ 30 のクラスターを持つクラスタリング ソリューションの疑似 F 統計量を計算することで、クラスターの最適数を評価します。 このパラメーターは、初期化フィールドでシード ロケーションが指定されている場合には無効になります。 | Long |
クラスター数の評価用出力テーブル (オプション) | テーブルには、クラスタリング ソリューション 2 ~ 30 の疑似 F 統計量が含まれ、計算を行ってクラスターの最適数を評価します。 このテーブルから作成されたチャートには、[コンテンツ] ウィンドウのスタンドアロン テーブル セクションでアクセスできます。 | Table |
図
使用法
-
このツールは、分析で使用されるフィールドに加え、新しい整数フィールド CLUSTER_ID も使用して出力フィーチャクラスを生成します。 デフォルトのレンダリングは CLUSTER_ID フィールドに基づき、各フィーチャがメンバーとなるクラスターを指定します。 たとえば、クラスター数を 3 に設定した場合、各レコードの CLUSTER_ID フィールドの値は 1、2、3 のいずれかになります。 出力フィーチャクラスには、IS_SEED というバイナリ フィーチャも含まれます。 IS_SEED フィールドには、クラスターを開始する始点として使用されたフィーチャが示されます。 IS_SEED フィールドのゼロ以外の値の数は、[クラスター数] パラメーターに入力した値と一致します。
[入力フィーチャ] パラメーターには、ポイント、ライン、またはポリゴンを指定できます。
-
このツールは、特定されたクラスターの特徴を理解するために役立つメッセージやチャートを作成します。 このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで進行状況バーにカーソルを合わせるか、ポップアップ ボタンをクリックするか、[詳細の表示] セクションを展開します。 ジオプロセシング履歴を介して、以前に実行した [多変量クラスター分析 (Multivariate Clustering)] ツールのメッセージにアクセスすることもできます。 [コンテンツ] ウィンドウからチャートにアクセスします。
-
出力されたメッセージとチャートの詳細については、「多変量クラスター分析の仕組み」をご参照ください。
-
[分析フィールド] パラメーターのフィールドは数値である必要があり、多様な値を含んでいる必要があります。 変化のないフィールド (つまり、どのレコードも値が同じかよく似ている) は解析から排除されますが、[出力フィーチャ] パラメーター値には含まれます。 [多変量クラスター分析 (Multivariate Clustering)] ツールでは、カテゴリ フィールドがダミー変数 (あるカテゴリに属するすべてのフィーチャは値 1、それ以外のすべてのフィーチャはゼロ) として表される場合にカテゴリ フィールドを使用できます。
-
[多変量クラスター分析 (Multivariate Clustering)] ツールは、非空間クラスターを作成します。 一部のアプリケーションでは、作成したクラスターに隣接または近接要件を適用できます。 その場合は、[空間的に制限された多変量クラスター分析 (Spatially Constrained Multivariate Clustering)] ツールを使用し、空間的に隣接したクラスターを作成します。
-
このツールのベスト プラクティスとして、[分析フィールド] パラメーターに単一の変数を指定して開始し、その後、必要に応じて変数を追加します。 分析フィールドの数が少ないほうが、結果の解析が容易になります。 また、フィールドの数が少ないと、どの変数が最適な区別を実行するか判断しやすくなります。
-
[初期化方法] パラメーターには、[最適化シード ロケーション]、[ユーザー定義シード ロケーション]、[ランダム シード ロケーション] の 3 つのオプションがあります。 シードは、個々のクラスターを開始するときに使用されるフィーチャです。 たとえば、[クラスター数] パラメーターに 3 を入力した場合、分析は 3 つのシード フィーチャで開始されます。 デフォルトのオプションである [最適化シード ロケーション] では、最初のシードはランダムに選択され、データ空間内で互いに遠く離れているフィーチャを表すシードが選択されていきます (属性値)。 データ空間内で互いに異なる領域を補足する初期シードを選択すると、パフォーマンスが向上します。 それぞれのクラスターで表現したい個別の特性が、特定のフィーチャによって反映されている場合があります。 その場合、シード フィールドを作成して個別のフィーチャを識別することで、それらのロケーションを指定できます。 作成するシード フィールドには、初期シード フィーチャ以外ではすべてゼロを指定する必要があります。初期シード フィーチャには、値 1 を指定する必要があります。 次に、[初期化方法] パラメーターに [ユーザー定義シード ロケーション] オプションを選択します。 ある種の感度分析を実行して、同じクラスター内で常に見つかるフィーチャを確認したい場合は、[初期化方法] パラメーターに [ランダム シード ロケーション] オプションを選択します。 このオプションでは、シード フィーチャがランダムに選択されます。
注意:
ランダム シードを使用する場合は、乱数ジェネレーター環境設定で乱数ジェネレーターの実行を開始できるシードを選択することもできます。 ただし、このツールでは常に、乱数ジェネレーターとしてメルセンヌ ツイスター値が使用されます。
-
[初期化フィールド] パラメーターの値が 1 の場合、それはシードとして解釈されます。 シード ロケーションを指定する場合、[クラスター数] パラメーターは無効になります。ツールは [初期化フィールド] パラメーターにゼロ以外のエントリがある限り、クラスターの数を特定します。
-
データに最適な [クラスター数] パラメーター値がわからない場合は、クラスター数をいろいろと変えて試行し、クラスターの差別化に最適な数を見出すことが必要な場合があります。 [クラスター数] パラメーターを空白のままにすると、ツールは 2 ~ 30 クラスターのクラスター分析ソリューションについて疑似 F 統計量を計算し、クラスターの最適数を評価します。クラスターの最適数は、メッセージ ウィンドウに表示されます。 オプションの [クラスター数の評価用出力テーブル] パラメーター値を指定すると、2 ~ 30 のクラスターを含むソリューションの疑似 F 統計値を示すチャートが作成されます。 疑似 F 統計値が最大となるソリューションでは、同じクラスターに属するフィーチャ同士の相似性、違うクラスターに属するフィーチャ同士の相違性が両方とも最大になります。 [クラスター数] パラメーター値に対して他の基準がない場合は、疑似 F 統計値が最大になる値を、クラスター数として採用してください。
-
このツールでは、フィーチャをクラスターに区分するのに k-means または k-medoids のいずれかが使用されます。 [初期化方法] パラメーターで [ランダム シード ロケーション] を選択すると、アルゴリズムはヒューリスティクスを組み込み、ツールを実行するたびに異なる結果を返すことがあります (同じデータとツール パラメーターを使用している場合も同様)。 これは、クラスターの出発点とする初期シード フィーチャを見つける過程にランダムな要素があるためです。 このヒューリスティック ソリューションにより、クラスターの最適数を特定する作業が複雑になり、疑似 F 統計量はツールを実行するたびに違う結果を出すことがあります (初期シード フィーチャが異なるため)。 ただし、データに個別パターンが存在するときは、個々の実行によって得られるソリューションの一貫性が高くなります。 したがって、クラスターの最適数を特定するために、ツールは 2 ~ 30 の各クラスターに対して 10 倍もの解析を行い、その中から上位 10 個の疑似 F 統計値を使用します。
[K-means] オプションと [K-medoids] オプションでは、ほとんどの場合に似た結果が生成されます。 ただし、[K-medoids] の方が [入力フィーチャ] パラメーター値のノイズと外れ値に対して強固です。 [K-means] は通常、[K-medoids] よりも処理速度が速いため、大規模なデータセットに適しています。
-
一連のフィーチャに割り当てられるクラスター番号は実行するたびに変わる可能性があります。 たとえば、所得変数に基づいてフィーチャを 2 つのクラスターに分割すると、解析の初回実行時に、高所得フィーチャがクラスター 2、低所得フィーチャがクラスター 1 とラベル付けされることがあります。 同じ解析を 2 回目に実行すると、高所得フィーチャがクラスター 1 となる場合があります。解析を実行するごとに、中所得フィーチャ群の一部が高所得クラスターと低所得クラスターの間を行ったり来たりする可能性があります。
パラメーター
arcpy.stats.MultivariateClustering(in_features, output_features, analysis_fields, {clustering_method}, {initialization_method}, {initialization_field}, {number_of_clusters}, {output_table})
名前 | 説明 | データ タイプ |
in_features | クラスターを作成するフィーチャクラスまたはフィーチャ レイヤー。 | Feature Layer |
output_features | 作成された出力フィーチャクラス。すべてのフィーチャ、指定した分析フィールド、および各フィーチャが属しているクラスターを示すフィールドが含まれています。 | Feature Class |
analysis_fields [analysis_field,...] | クラスターを別のクラスターと区別するために使用するフィールドのリスト。 | Field |
clustering_method (オプション) | 使用するクラスター アルゴリズムを指定します。 K_MEANS オプションと K_MEDOIDS では、ほとんどの場合に似た結果が生成されます。 ただし、K_MEDOIDS の方が in_features パラメーター値のノイズと外れ値に対して強固です。 K_MEANSは通常、K_MEDOIDS よりも処理速度が速いため、大規模なデータセットに適しています。
| String |
initialization_method (オプション) | クラスターを拡大する初期シードの取得方法を指定します。 たとえば、クラスター数を 3 と指定すると、分析は 3 つのシードで開始されます。
| String |
initialization_field (オプション) | シード フィーチャを識別する数値フィールド。 このフィールドが 1 であるフィーチャがクラスターの拡大の始点として使用されます。 シードはクラスターを生成するため、少なくとも 2 つのシード フィーチャを指定する必要があります。 | Field |
number_of_clusters (オプション) | 作成されるクラスターの数。 このパラメーターを空白にすると、ツールは 2 ~ 30 のクラスターを持つクラスタリング ソリューションの疑似 F 統計量を計算することで、クラスターの最適数を評価します。 このパラメーターは、初期化フィールドでシード ロケーションが指定されている場合には無効になります。 | Long |
output_table (オプション) | テーブルには、クラスタリング ソリューション 2 ~ 30 の疑似 F 統計量が含まれ、計算を行ってクラスターの最適数を評価します。 このテーブルから作成されたチャートには、[コンテンツ] ウィンドウのスタンドアロン テーブル セクションでアクセスできます。 | Table |
コードのサンプル
次の Python ウィンドウ スクリプトは、MultivariateClustering 関数の使用方法を示しています。
import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.MultivariateClustering_stats("District_Vandalism", "outVandalism",
["TOTPOP", "VACANT_CY", "UNEMP"], "K_MEANS",
"OPTIMIZED_SEED_LOCATIONS", None, "5")
次のスタンドアロン Python スクリプトは、MultivariateClustering 関数の使用方法を示しています。
# Clustering Vandalism data in a metropolitan area
# using the Multivariate Clustering Tool
# Import system modules
import arcpy
# Set environment property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
try:
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"C:\GA"
# Join the 911 Call Point feature class to the Block Group Polygon feature
# class
# Process: Spatial Join
fieldMappings = arcpy.FieldMappings()
fieldMappings.addTable("ReportingDistricts.shp")
fieldMappings.addTable("Vandalism2006.shp")
sj = arcpy.SpatialJoin_analysis("ReportingDistricts.shp",
"Vandalism2006.shp", "Dist_Vand.shp",
"JOIN_ONE_TO_ONE","KEEP_ALL", fieldMappings,
"COMPLETELY_CONTAINS")
# Use the Multivariate Clustering tool to create groups based on different
# variables or analysis fields
# Process: Cluster Similar Features
ga = arcpy.MultivariateClustering_stats("District_Vandalism", "outVandalism",
["Join_Count", "TOTPOP", "VACANT_CY", "UNEMP"],
"K_MEANS", "OPTIMIZED_SEED_LOCATIONS",
None, 5)
# Use Summary Statistic tool to get the Mean of variables used to group
# Process: Summary Statistics
SumStat = arcpy.Statistics_analysis("outVandalism", "outSS",
[["Join_Count", "MEAN"],
["VACANT_CY", "MEAN"],
["TOTPOP_CY", "MEAN"],
["UNEMP_CY", "MEAN"]],
"GSF_CLUSTER")
except arcpy.ExecuteError:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
環境
ライセンス情報
- Basic: Yes
- Standard: Yes
- Advanced: Yes