ラベル | 説明 | データ タイプ |
入力時空間キューブ | 解析対象の変数を含む時空間キューブ。 時空間キューブのファイル拡張子は「*.nc」です。時空間キューブは、時空間パターン マイニング ツールボックスのさまざまなツールを使用して作成されます。 | File |
分析変数 | 各ロケーションの時系列値を含む時空間キューブの数値変数。 | String |
出力フィーチャ | 変化ポイント検出の結果を含む出力フィーチャクラス。 レイヤーには、各ロケーションで検出された変化ポイントの数が表示され、時系列値、変化ポイント、および各セグメントの平均または標準偏差の推定を示すポップアップ ライン チャートが含まれます。 | Feature Class |
変化タイプ (オプション) | 検出される変化のタイプを指定します。 各オプションは、各セグメントで一定と見なされている時系列の統計的特性を指定します。 値は、時系列の変化ポイントごとに新しい定数値に変化します。
| String |
方法 (オプション) | 変化ポイントの数を自動的に検出するか、すべてのロケーションで使用する変化ポイントの数を定義するかを指定します。
| String |
変化ポイントの数 (オプション) | 各ロケーションで検出される変化ポイントの数。 デフォルトは 1 です。 | Long |
検出感度 (オプション) | 検出の感度を定義する 0 ~ 1 の数値。 値が大きいほど、各ロケーションで検出される変化ポイントの数が多くなります。 デフォルトは 0.5 です。 | Double |
セグメントの最小長 (オプション) | 各セグメント内の時間ステップの最小数。 変化ポイントは、各時系列をセグメントに分割し、各セグメントは少なくともこの数の時間ステップを持つようにします。 平均値、標準偏差、カウントの変化の場合、デフォルトは 1 です (この場合、すべての時間ステップを変化ポイントにできます)。 傾斜 (リニア トレンド) の変化の場合、ラインのフィッティングに少なくとも 2 つの値が必要であるため、デフォルトは 2 です。 値は、時系列の時間ステップ数の半分より小さい必要があります。 | Long |
サマリー
時系列の統計的特性が時空間キューブの各ロケーションで変化したときの時間ステップを検出します。
ツールでは、連続変数の平均値、標準偏差、またはリニア トレンドの変化や、カウント変数の平均値の変化を検出することができます。 各ロケーションの変化ポイントの数はツールによって判断するか、すべてのロケーションで使用する変化ポイントの数を定義することができます。 変化ポイントは、各時系列をセグメントに分割し、各セグメントの値の平均値、標準偏差、またはリニア トレンドが類似した値になるようにします。 変化ポイントは、新しい各セグメントの最初の時間ステップとして定義されるため、変化ポイントの数はセグメントの数よりも常に 1 つ少なくなります。
図
使用法
[方法] パラメーターが [変化ポイントの数を自動検出] に設定されている場合、[検出感度] パラメーターを使用して検出の感度を制御します。 感度の値が高いほど、各ロケーションでの変化ポイントが多くなります。 感度の選択は分析結果に大きく影響するため、複数の値を試して結果を比較することをお勧めします。
カウントを表す分析変数の場合、カウントの平均値の変化を検出するには、多くの場合、[変化タイプ] パラメーターの [カウント] オプションが最も適しています。 ただし、[平均シフト] オプションも、カウント データに対して同等以上の良い結果をもたらす場合があります。 これは、カウント変化タイプのモデルが、セグメントの分散がセグメントの平均値に等しいポアソン分布に各セグメントの値が従うことを前提としているためです。 一方、平均シフト変化タイプでは、各セグメントの値が正規分布することを前提としているため、平均値は値の分散よりも大きくなったり小さくなったりします。
ポアソン分布では、ほとんどのカウントが平均値の平方根の 2 倍以内に収まります。 たとえば、平均値が 100 のポアソン分布の場合、約 95% のカウントが 80 〜 120 に分布します (2 x sqrt(100) = 20)。 平均値が 1,000,000 のポアソン分布の場合、ほとんどのカウントは 998,000 〜 1,002,000 に分布します (1,000,000 の平方根は 1,000 のため)。 平均値が 1,000,000 のような大きな値の場合、カウントの分布範囲は比較的狭く、ほとんどのカウントが平均値の 0.2% 以内に収まります。 一方、平均値が 100 のような小さな値の場合、平均値から最大 20% の変動が生じます。 平均値と比較して、ポアソン分布で想定されるよりもカウントの値が変動する場合、多くの時間ステップが変化ポイントとして検出される可能性があります。 これは、カウントが大きい場合には顕著です。 この場合、平均シフトを検出することをお勧めします。
このツールでは、時空間パターン マイニング ツールボックスのさまざまなツールで作成された netCDF ファイルを使用できます。
[出力フィーチャ] パラメーター値は、最初と最後の変化ポイントの日付のフィールドとともに [コンテンツ] ウィンドウに追加され、各ロケーションで検出された変化ポイントの数に基づいてレンダリングされます。 フィーチャのポップアップには、時系列値、変化ポイント、および各変化ポイント間のセグメントの平均または標準偏差の推定を示すライン チャートが含まれます。
[出力フィーチャ] パラメーター値のレイヤー時間は、最初の変化ポイントの日付に基づいています。 タイム スライダーを使用して、最初の変化ポイントの日付に基づいてロケーションをフィルター処理できます。 レイヤー時間は、レイヤー プロパティで最後の変化ポイントの日付に変更できます。
入力時空間キューブは分析結果で更新され、[表示テーマ] パラメーターの [時系列の変化ポイント] オプションを指定した [時空間キューブを 3D で視覚化 (Visualize Space Time Cube in 3D)] ツールで、結果の 3D 表示に使用できます。 この出力には、時空間キューブの時間ステップごとに 1 つのフィーチャが含まれる、時間ステップが変化ポイントであるかどうかを示すフィールドと、セグメントの平均または標準偏差の推定も含まれます。 時空間キューブを [時空間キューブを 2D で視覚化 (Visualize Space Time Cube in 2D)] ツールで使用すると、変化ポイント検出の出力フィーチャクラスが再作成されます。
このツールは、異なるプロセシング コアで別々のロケーションを解析する並列処理をサポートしており、デフォルトで利用可能なプロセッサの 50 パーセントを使用します。 プロセッサの数を増減するには、並列処理ファクター環境を使用します。
パラメーター
arcpy.stpm.ChangePointDetection(in_cube, analysis_variable, output_features, {change_type}, {method}, {num_change_points}, {sensitivity}, {min_seg_len})
名前 | 説明 | データ タイプ |
in_cube | 解析対象の変数を含む時空間キューブ。 時空間キューブのファイル拡張子は「*.nc」です。時空間キューブは、時空間パターン マイニング ツールボックスのさまざまなツールを使用して作成されます。 | File |
analysis_variable | 各ロケーションの時系列値を含む時空間キューブの数値変数。 | String |
output_features | 変化ポイント検出の結果を含む出力フィーチャクラス。 レイヤーには、各ロケーションで検出された変化ポイントの数が表示され、時系列値、変化ポイント、および各セグメントの平均または標準偏差の推定を示すポップアップ ライン チャートが含まれます。 | Feature Class |
change_type (オプション) | 検出される変化のタイプを指定します。 各オプションは、各セグメントで一定と見なされている時系列の統計的特性を指定します。 値は、時系列の変化ポイントごとに新しい定数値に変化します。
| String |
method (オプション) | 変化ポイントの数を自動的に検出するか、すべてのロケーションで使用する変化ポイントの数を定義するかを指定します。
| String |
num_change_points (オプション) | 各ロケーションで検出される変化ポイントの数。 デフォルトは 1 です。 | Long |
sensitivity (オプション) | 検出の感度を定義する 0 ~ 1 の数値。 値が大きいほど、各ロケーションで検出される変化ポイントの数が多くなります。 デフォルトは 0.5 です。 | Double |
min_seg_len (オプション) | 各セグメント内の時間ステップの最小数。 変化ポイントは、各時系列をセグメントに分割し、各セグメントは少なくともこの数の時間ステップを持つようにします。 平均値、標準偏差、カウントの変化の場合、デフォルトは 1 です (この場合、すべての時間ステップを変化ポイントにできます)。 傾斜 (リニア トレンド) の変化の場合、ラインのフィッティングに少なくとも 2 つの値が必要であるため、デフォルトは 2 です。 値は、時系列の時間ステップ数の半分より小さい必要があります。 | Long |
コードのサンプル
次の Python スクリプトは、ChangePointDetection 関数の使用方法を示しています。
import arcpy
arcpy.env.workspace = "C:/Analysis"
# Automatically detect changes in population counts
arcpy.stpm.ChangePointDetection("Population.nc", "Pop_NONE_ZEROS",
"Analysis.gdb/Population_Change_Points",
"COUNT", "AUTO_DETECT", "", 0.5, 1)
次の Python スクリプトは、ChangePointDetection 関数の使用方法を示しています。
# Detect changes in air temperature.
# Import system modules.
import arcpy
# Set property to overwrite existing output.
arcpy.env.overwriteOutput = True
# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Detect the largest mean shift of temperature measurements.
arcpy.stpm.ChangePointDetection("Air_Temp.nc", "MAX_DEGREES_F",
"Analysis.gdb/Temperature_Change_Points",
"MEAN", "DEFINED_NUMBER", 1, "", 3)
# Create a feature class visualizing the change point results in a 3D scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("Air_Temp.nc", "Pop_NONE_ZEROS",
"VALUE", "Analysis.gdb/ForecastsFC")
ライセンス情報
- Basic: Yes
- Standard: Yes
- Advanced: Yes