クラスタ/外れ値分析(Cluster and Outlier Analysis(Anselin Local Moran's I)) (空間統計解析)

ライセンス レベル:BasicStandardAdvanced

サマリ

加重された一連のフィーチャを指定すれば、Anselin Local Moran's I 統計で、統計的に有意なホット スポット、コールド スポット、および空間的な外れ値を特定できます。

[クラスタ/外れ値分析(Anselin Local Moran's I)] ツールの詳細

クラスタ/外れ値分析の図

使用法

構文

ClustersOutliers_stats (Input_Feature_Class, Input_Field, Output_Feature_Class, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File}, {Apply_False_Discovery_Rate__FDR__Correction})
パラメータ説明データ タイプ
Input_Feature_Class

クラスタ/外れ値分析の対象となるフィーチャクラス。

Feature Layer
Input_Field

評価する数値フィールド。

Field
Output_Feature_Class

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

Feature Class
Conceptualization_of_Spatial_Relationships

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

  • INVERSE_DISTANCE遠くにあるフィーチャよりも、近くのフィーチャの方が、ターゲット フィーチャの計算に大きく影響します。
  • INVERSE_DISTANCE_SQUAREDINVERSE_DISTANCE と同じですが、傾斜が急なため、影響度がより急速に低下する点と、ターゲット フィーチャに最も近いフィーチャだけがそのフィーチャの計算に大きな影響を与える点が異なります。
  • FIXED_DISTANCE_BAND各フィーチャは、隣接フィーチャのコンテキスト内で解析されます。指定した臨界距離内の隣接フィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離の外にある隣接フィーチャは、ウェイト 0 を受け取り、ターゲット フィーチャの計算に影響を与えません。
  • ZONE_OF_INDIFFERENCEターゲット フィーチャの指定した臨界距離内のフィーチャは、ウェイト 1 を受け取り、ターゲット フィーチャの計算に影響を与えます。臨界距離を超えると、ウェイト(および隣接フィーチャがターゲット フィーチャの計算に与える影響)は距離に伴って減少します。
  • CONTIGUITY_EDGES_ONLY境界またはオーバーラップを共有する隣接ポリゴンだけが、ターゲットのポリゴン フィーチャの計算に影響を与えます
  • CONTIGUITY_EDGES_CORNERS境界、ノード、またはオーバーラップを共有するポリゴン フィーチャはターゲットのポリゴン フィーチャの計算に影響を与えます
  • GET_SPATIAL_WEIGHTS_FROM_FILE空間リレーションシップは、空間ウェイト ファイルに定義されます。空間ウェイト ファイルへのパスは、[ウェイト マトリックス ファイル] パラメータに指定します。
String
Distance_Method

各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。

  • EUCLIDEAN_DISTANCE2 つのポイント間の直線距離(最短距離)。
  • MANHATTAN_DISTANCE直角の軸(街区)に沿って計測した 2 つのポイント間の距離。X 座標と Y 座標の間の(絶対)距離を合計して計算します。
String
Standardization

行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性があるときです。

  • NONE空間ウェイトの標準化は適用されません。
  • ROW空間ウェイトが標準化されます。それぞれのウェイトをその行の合計(すべての隣接フィーチャのウェイトの合計)で割ります。
String
Distance_Band_or_Threshold_Distance
(オプション)

[INVERSE_DISTANCE] オプションおよび [FIXED_DISTANCE_BAND] オプションの場合、ここで閾値を指定します。ターゲット フィーチャに対して指定したカットオフの外側のフィーチャは、そのフィーチャの解析では除外されます。[ZONE_OF_INDIFFERENCE] オプションの場合、ここで指定した閾値内にあるフィーチャの影響は等しく考慮され、閾値外にあるフィーチャの影響は距離に伴って減少します。入力する距離値は、出力座標系の値に一致している必要があります。

空間リレーションシップの逆距離のコンセプトの場合、値 0 は閾値の距離が適用されないことを示します。このパラメータを空白のままにすると、デフォルトの閾値が計算され、適用されます。このデフォルト値はユークリッド距離であり、すべてのフィーチャに 1 つ以上の隣接フィーチャがあることが保証されます。

空間コンセプトとして [POLYGON_CONTIGUITY] または [GET_SPATIAL_WEIGHTS_FROM_FILE] を選択した場合、このパラメータは効力を持ちません。

Double
Weights_Matrix_File
(オプション)

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

File
Apply_False_Discovery_Rate__FDR__Correction
(オプション)
  • APPLY_FDR統計的な有意性は、95 % の信頼度で False Discovery Rate 補正に基づきます。
  • NO_FDR0.05 未満の p 値を持つフィーチャが [COType] フィールドに表示され、95 % の信頼度で統計的に有意なクラスタまたは外れ値を反映します(デフォルト)。
Boolean

コードのサンプル

ClusterandOutlierAnalysis(クラスタ/外れ値分析)の例 1(Python ウィンドウ)

次の Python ウィンドウのスクリプトは、ClusterandOutlierAnalysis(クラスタ/外れ値分析)ツールの使用方法を示しています。

import arcpy
arcpy.env.workspace = "c:/data/911calls"
arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT","911ClusterOutlier.shp",
                             "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", 
                             "NONE","#", "euclidean6Neighs.swm","NO_FDR")
ClusterandOutlierAnalysis(クラスタ/外れ値分析)の例 2(スタンドアロン Python スクリプト)

次のスタンドアロン Python ウィンドウのスクリプトは、ClusterandOutlierAnalysis(クラスタ/外れ値分析)ツールの使用方法を示しています。

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Cluster-Outlier Analysis Tool (Anselin's Local Moran's I)

# Import system modules
import arcpy

# Set geoprocessor object property to overwrite outputs if they already exist
arcpy.gp.OverwriteOutput = True

# Local variables...
workspace = r"C:\Data\911Calls"

try:
    # Set the current workspace 
    #  (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # Copy the input feature class and integrate the points to snap
    # together at 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
                         "#", 0, 0, 0)

    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")

    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")

    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     "NON_NULLABLE", "NON_REQUIRED", "#",
                     "911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")

    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 

    # Cluster/Outlier Analysis of 911 Calls
    # Process: Local Moran's I
    clusters = arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT", 
                        "911ClusterOutlier.shp", 
                        "GET_SPATIAL_WEIGHTS_FROM_FILE",
                        "EUCLIDEAN_DISTANCE", "NONE",
                        "#", "euclidean6Neighs.swm","NO_FDR")

except:
    # If an error occurred when running the tool, print out the error message.
    print arcpy.GetMessages()

環境

出力データの座標系

フィーチャ ジオメトリが分析の前に [出力データの座標系] に投影されます。したがって、[距離バンドまたは距離の閾値] パラメータに入力された値は、[出力データの座標系] で指定されている値と一致する必要があります。数学的演算はすべて、[出力データの座標系] の空間参照に基づいて行われます。[出力データの座標系] が度、分、および秒に基づく場合、測地距離はメートル単位の弦の距離を使用して推定されます。

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
5/10/2014