概要
統計的に有意なクラスターおよび外れ値を空間と時間の両方から特定します。このツールは、Anselin Local Moran's I 統計の時空間での実装です。
図
使用法
このツールでは、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツールで作成された netCDF ファイルのみを受け入れることができます。
時空間キューブ内のビンは、LOCATION_ID、time_step_ID、COUNT 値、およびキューブの作成時に集計された [サマリー フィールド] を保持します。物理的に同じ位置に関連付けられているビンは、同じロケーション ID を共有し、共に時系列を示します。同じ時間ステップ間隔に関連付けられているビンは、同じ時間ステップ ID を共有し、共にタイム スライスを構成します。各ビンのカウント値は、関連付けられた時間ステップ間隔中に、関連付けられた場所で発生したポイント数を反映します。
このツールは、Anselin Local Moran's I 統計の時空間での実装を使用して netCDF の [入力時空間キューブ] 内の変数を分析します。
分析対象のすべての場所の時空間分析結果を要約するレンダリングとともに、[出力フィーチャ] が、[コンテンツ] ウィンドウに追加されます。[ポリゴン解析マスク] を指定すると、分析対象の場所は解析マスクの範囲内の場所になります。指定しない場合、分析対象の場所は、少なくとも 1 つの時間ステップ間隔における少なくとも 1 つのポイントを持つ場所になります。
[出力フィーチャ] に加えて、分析の概要が、[結果] ウィンドウに書き込まれます。[結果] ウィンドウのメッセージ エントリを右クリックして、[表示] を選択すると、分析の概要が [メッセージ] ダイアログ ボックスに表示されます。進行状況ダイアログ ボックスには、解析サマリーも表示されます。
[ローカル外れ値分析 (Local Outlier Analysis)] ツールは、統計的に有意なクラスターおよび外れ値を空間と時間の両方から特定します。デフォルトの出力カテゴリ定義とこの分析ツールで使用されるアルゴリズムの詳細については、「ローカル外れ値分析 (Local Outlier Analysis) ツールの詳細」をご参照ください。
時空間キューブ内のクラスターと外れ値を特定するために、このツールでは、Anselin Local Moran's I 統計の時空間での実装が使用されます。この統計は、近傍ビンの値に照らし合わせて各ビンの値を考慮します。ビンの重心が [近傍距離] 内にあり、時間間隔が指定の [近傍時間のステップ] 内にある場合、そのビンは近傍であると見なされます。[近傍距離] の値を指定しない場合は、ポイント データの空間分布に基づいて近傍距離が計算されます。[近傍時間のステップ] の値を指定しない場合は、デフォルト値が使用されます。デフォルトは、1 時間ステップ間隔です。
各分析対象の近傍に含まれるビンを特定するために、まず、ツールは指定された [近傍距離] 内の近傍ビンを見つけます。次に、それらのビンごとに、以前の N 個の時間ステップから同じ場所のビンを含めます。ここで、N は指定する [近傍時間のステップ] です。
[近傍時間のステップ] の値は、分析対象の近傍に含める時間ステップ間隔の数です。たとえば、キューブの時間ステップ間隔が 3 か月の場合に、[近傍時間のステップ] に 2 を指定すると、[近傍距離] 内のすべてのビン カウントと、直前の 2 つの時間ステップ間隔のすべての関連ビン (9 か月の時間間隔をカバー) が分析対象の近傍に含められます。
順列を使用すると、分析する値の実際の空間分布が検出される可能性がどれくらいあるかを判断できます。順列を実行するごとに、各ビンの周囲の近傍値がランダムに並べ替えられ、Local Moran's I 値が算出されます。この計算結果が値の基準分布になり、観測値がランダム分布の中から検出される確率を求めるために実際の観測対象の Moran's I と比較されます。順列の数はデフォルトで 499 に設定されていますが、順列の数を増やすと、ランダム標本分布が広範になり、これに伴って疑似 p 値の精度も上がります。
[順列の数] パラメーターを 0 に設定すると、疑似 p 値ではなく、標準の p 値が返されます。
このツールで順列を使用すると、複数の CPU (またはマルチコア CPU) を使用しているシステムでパフォーマンスが向上するという利点があります。このツールでは、デフォルトで許容最大数のうちの半数の CPU が使用されます。処理速度の向上が最も顕著に見られるのは、大規模な時空間キューブを使用している場合または多数の順列を使用してこのツールを実行する場合です。使用する CPU の数を増減するには、並列処理ファクター環境を使用します。
[ポリゴン解析マスク] フィーチャ レイヤーは、分析範囲を定義する 1 つ以上のポリゴンを含むことができます。これらのポリゴンは、ポイント フィーチャが発生する可能性がある場所を示すとともに、ポイントが発生する可能性のないエリアを除外する必要があります。たとえば、空き巣の傾向を分析する場合は、[ポリゴン解析マスク] を使用して、大きな湖、地域の公園、または家が建っていない他のエリアを除外することができます。
[ポリゴン解析マスク] は、[入力時空間キューブ] の範囲と交差するため、キューブのディメンションを拡張しません。
分析範囲の設定に使用している [ポリゴン解析マスク] が最初にキューブを作成したときに使用された入力フィーチャの範囲を超えるエリアをカバーする場合、その [ポリゴン解析マスク] を出力範囲環境として使用してキューブを再作成してください。これにより、その [ポリゴン解析マスク] でカバーされるすべてのエリアが [ローカル外れ値分析 (Local Outlier Analysis)] ツールに含まれるようになります。[ポリゴン解析マスク] をキューブの作成時の出力範囲環境設定として使用すると、キューブの範囲が [ポリゴン解析マスク] の範囲と一致するようになります。
- このツールにより、時空間キューブ内の場所ごとに、次の属性が設定された出力フィーチャクラスが新規に作成されます。これらのフィールドを出力のカスタム視覚化に使用できます。その他の分析結果の詳細については、「ローカル外れ値分析 (Local Outlier Analysis) ツールの詳細」をご参照ください。
- 外れ値の数
- 外れ値のパーセンテージ
- 低クラスターの数
- 低クラスターのパーセンテージ
- 低外れ値の数
- 低外れ値のパーセンテージ
- 高クラスターの数
- 高クラスターのパーセンテージ
- 高外れ値の数
- 高外れ値のパーセンテージ
- [空間近傍なし] の場所
- [直近の時間ステップに含まれる外れ値] のある場所
- クラスター外れ値タイプ
- その他の要約統計量
[クラスター外れ値タイプ] には、95 % の信頼度のある統計的に有意なクラスターと外れ値が常に表示されます。このフィールドに表示されるのは、統計的に有意なビンの値だけです。この統計的有意性は、FDR (False Discovery Rate) 補正を表します。
- [出力フィーチャクラス] のデフォルトのレンダリングには、[CO_TYPE] フィールドに基づいて、これまで統計的に有意であった場所が表示されます。つまり、統計的に有意な高 - 高クラスター、高 - 低外れ値、低 - 高外れ値、低 - 低クラスターの一部であった場所または時間の経過に伴って複数のタイプとして分類された場所が表示されます。
各場所に 1 つ以上の時間近傍を確保するために、最初のタイム スライスでは Local Moran's インデックスの計算が行われません。ただし、最初のタイム スライス内にあるビンの値は、グローバル平均の計算に含められます。
[ローカル外れ値分析 (Local Outlier Analysis)] を実行すると、分析結果が netCDF の [入力時空間キューブ] に戻されます。高い値と低い値の両方のクラスター分布を評価し、これらのクラスターの中から空間的な外れ値と時間的な外れ値を特定するために、各ビンが近接ビンに照らし合わせて分析されます。この分析の結果は、時空間キューブ内の各ビンの Local Moran's I インデックス、疑似 p 値 (順列を使用していない場合は標準の p 値)、クラスター タイプまたは外れ値タイプ (CO_TYPE) です。
[入力時空間キューブ] に追加される変数の概要を、次に示します。
変数名 説明 ディメンション OUTLIER_{ANALYSIS_VARIABLE}_INDEX
算出された Local Moran's I インデックス。
3 次元: 時空間キューブ内のビンごとに 1 つの Local Moran's I インデックス値。
OUTLIER_{ANALYSIS_VARIABLE}_PVALUE
Anselin Local Moran's I 統計の疑似 p 値または p 値。この値から、Local Moran's I 値の統計的有意性が評価されます。
3 次元: 時空間キューブ内のビンごとに 1 つの疑似 p 値または p 値。
OUTLIER_{ANALYSIS_VARIABLE}_TYPE
統計的に有意な高い値のクラスター (高 - 高)、統計的に有意な低い値のクラスター (低 - 低)、高い値が主に低い値に取り囲まれている外れ値 (高 - 低)、低い値が主に高い値に取り囲まれている外れ値 (低 - 高) を区別する結果カテゴリ タイプ。
3 次元: 時空間キューブ内のビンごとに 1 つのクラスターまたは外れ値。ビンは FDR 補正に基づきます。
OUTLIER_{ANALYSIS_VARIABLE}
_HAS_SPATIAL_NEIGHBORS
空間近傍のある場所と時間近傍にのみ依存している場所を示します。
2 次元: 場所ごとに 1 つの分類。空間近傍のない場所の分析では、時間近傍にのみ基づいて計算が行われます。
構文
LocalOutlierAnalysis(in_cube, analysis_variable, output_features, {neighborhood_distance}, neighborhood_time_step, {number_of_permutations}, {polygon_mask})
パラメーター | 説明 | データ タイプ |
in_cube | 分析対象の netCDF キューブ。このファイルは、*.nc 拡張子が付いており、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツールを使用して作成されている必要があります。 | File |
analysis_variable | 分析対象の netCDF ファイル内の数値変数。 | String |
output_features | 統計的に有意なクラスターまたは外れ値と見なされた場所を含む出力フィーチャクラス。 | Feature Class |
neighborhood_distance (オプション) | 分析対象の近傍の空間範囲。この値は、ローカル時空間クラスタリングを評価する場合に一緒に分析されるフィーチャを決定します。 | Linear Unit |
neighborhood_time_step | 分析対象の近傍に含める時間ステップの間隔の数。この値は、ローカル時空間クラスタリングを評価する場合に一緒に分析されるフィーチャを決定します。 | Long |
number_of_permutations (オプション) | 疑似 p 値を算出する場合のランダムな順列の数。デフォルトの順列の数は 499 です。順列の数を 0 に設定すると、標準の p 値が算出されます。
| Long |
polygon_mask (オプション) | 分析範囲を定義する 1 つ以上のポリゴンを含むポリゴン フィーチャ レイヤー。たとえば、分析対象から大きな湖を除外する場合にポリゴン解析マスクを使用します。このマスクの範囲外の [入力時空間キューブ] で定義されたビンは、解析に含められません。 | Feature Layer |
コードのサンプル
LocalOutlierAnalysis (ローカル外れ値分析) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、[ローカル外れ値分析 (Local Outlier Analysis)] ツールの使用方法を示しています。
# LocalOutlierAnalysis of homicides in a metropolitan area
arcpy.env.workspace = r"C:\STPM"
arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles", 2, 499, "#")
LocalOutlierAnalysis (ローカル外れ値分析) の例 2 (スタンドアロン Python スクリプト)
次のスタンドアロン Python ウィンドウ スクリプトは、[ローカル外れ値分析 (Local Outlier Analysis)] ツールの使用方法を示しています。
# Create Space Time Cube by aggregating homicide incidents in a metropolitan area
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\STPM"
try:
# Set the current workspace (to avoid having to specify the full path to the feature
# classes each time)
arcpy.env.workspace = workspace
# Create Space Time Cube by aggregating homicide incident data with 3 months and 3 miles settings
# Process: Create Space Time Cube By Aggregating Points
cube = arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "MyDate", "#",
"3 Months", "End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS", "HEXAGON_GRID")
# Create a polygon that defines where incidents are possible
# Process: Minimum Bounding Geometry of homicide incident data
arcpy.MinimumBoundingGeometry_management("Homicides.shp", "bounding.shp", "CONVEX_HULL",
"ALL", "#", "NO_MBG_FIELDS")
# Local Outlier Analysis of homicide incident cube using 5 Miles neighborhood
# distance and 2 neighborhood time step with 499 permutations to detect outliers
# Process: Local Outlier Analysis
loa = arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles",
2, 499, "bounding.shp")
except:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい