ラベル | 説明 | データ タイプ |
入力フィーチャ | クラスターを作成するフィーチャクラスまたはフィーチャ レイヤー。 | Feature Layer |
出力フィーチャ | 新規に作成された出力フィーチャクラス。すべてのフィーチャ、指定した分析フィールド、および各フィーチャが属しているクラスターを示すフィールドが含まれています。 | Feature Class |
分析フィールド | クラスターを別のクラスターと区別するために使用するフィールドのリスト。 | Field |
クラスター分析方法
(オプション) | 使用するクラスター アルゴリズム。[k-means] がデフォルトです。 [k-means] と [k-medoids] はいずれもよく使用されているクラスター アルゴリズムであり、ほとんどの場合に似た結果が生成されます。ただし、[k-medoids] の方が [入力フィーチャ] のノイズと外れ値に対して強固です。[k-means] は通常、[k-medoids] よりも処理速度が速いため、大規模なデータセットに適しています。
| String |
初期化方法 (オプション) | クラスターを拡大する初期シードの取得方法を指定します。たとえば、クラスター数を 3 と指定すると、分析は 3 つのシードで開始されます。
| String |
初期化フィールド (オプション) | シード フィーチャを識別する数値フィールド。このフィールドが 1 であるフィーチャがクラスターの拡大の始点として使用されます。その他すべてのフィーチャにはゼロが含まれます。 | 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) の仕組み」をご参照ください。
-
[分析フィールド] は数値である必要があり、多様な値を含んでいる必要があります。変化のないフィールド (つまり、どのレコードも値が同じかよく似ている) は解析から排除されますが、[出力フィーチャ] には含まれます。[多変量クラスター分析 (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_MEANS] と [K_MEDOIDS] はいずれもよく使用されているクラスター アルゴリズムであり、ほとんどの場合に似た結果が生成されます。ただし、[K_MEDOIDS] の方が [in_features] のノイズと外れ値に対して強固です。[K_MEANS] は通常、[K_MEDOIDS] よりも処理速度が速いため、大規模なデータセットに適しています。
| String |
initialization_method (オプション) | クラスターを拡大する初期シードの取得方法を指定します。たとえば、クラスター数を 3 と指定すると、分析は 3 つのシードで開始されます。
| String |
initialization_field (オプション) | シード フィーチャを識別する数値フィールド。このフィールドが 1 であるフィーチャがクラスターの拡大の始点として使用されます。その他すべてのフィーチャにはゼロが含まれます。 | 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