ラベル | 説明 | データ タイプ |
入力時系列データ | 将来の時間ステップを予測するために使用する変数を含む netCDF キューブ。 このファイルは、.nc ファイル拡張子が付加され、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツール、[定義済みのロケーションから時空間キューブを作成 (Create Space Time Cube From Defined Locations)] ツール、または [多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube from Multidimensional Raster Layer)] ツールで作成されている必要があります。 | File |
モデル定義 | 予測の実行に使用されるトレーニング済みディープ ラーニング モデル ファイル (.dlpk または .emd)。 [時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] ツールを使用してモデルをトレーニングできます。 | File |
出力フィーチャ | 時空間キューブ内のすべてのロケーションの出力フィーチャクラスで、予測される値がフィールドとして格納されます。 レイヤーには最終的な時間ステップの予測が表示され、時系列と、各場所の予測を示すポップアップ チャートが含まれます。 | Feature Class |
予測する時間ステップ数 | 解析変数の予測に使用される、時間ステップ数を指定する正の整数。 デフォルト値は 2 です。 この値は、ワンステップ予測では、入力時空間キューブの合計時間ステップ数の 50% より大きくできません。複数ステップ予測では、[時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] ツールの [シーケンス長] パラメーター値の 50% より大きくできません。 | Long |
説明変数の照合 (オプション) |
予測セットからトレーニング セットへのフィールド名のマッピング。 このパラメーターは、トレーニング セットと予測セットのフィールド名が異なる場合に使用します。 値は、入力時系列データのフィールド名と一致する予測データセット内のフィールド名です。 | Value Table |
出力キューブ (オプション) | 入力時空間キューブの値を含み、予測された時間ステップが追加された、出力時空間キューブ (.nc ファイル)。 [時空間キューブを 3D で視覚化 (Visualize Space Time Cube in 3D)] ツールを使用して、観測および予測されたすべての値を同時に参照できます。 | File |
外れ値オプション (オプション) | 統計的に有意な時系列外れ値が特定されるかどうかを指定します。
| String |
信頼度 (オプション) | 時系列外れ値のテストで使用する信頼度を指定します。
| String |
外れ値の最大数 | 各場所で外れ値を宣言できる時間ステップの最大数。 デフォルト値は、入力時空間キューブの時間ステップ数の 5 パーセント (端数切り捨て) に相当します (1 以上の値が必ず使用されます)。 この値は、時間ステップ数の 20 パーセントを超えることはできません。 | Long |
サマリー
[時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] でトレーニングされたディープ ラーニング ベースの時系列予測モデルを使用して時空間キューブの各位置の値を予測します。
使用法
ArcGIS AllSource に Python の適切なディープ ラーニング フレームワーク パッケージをインストールする必要があります。
入力は Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) です。これは、[時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] ツールを使用して作成できます。
このツールでは、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツール、[定義済みのロケーションから時空間キューブを作成 (Create Space Time Cube From Defined Locations)] ツール、[多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube From Multidimensional Raster Layer)] ツール、および [時空間キューブのサブセット (Subset Space Time Cube)] ツールによって作成された netCDF データを使用できます。
このツールでは、ディープ ラーニング ベースの時系列予測モデルを使用します。 ディープ ラーニング モデルは学習能力が高く、複雑なトレンドに従う時系列に最適であり、シンプルな数学関数ではモデル化が困難です。 ただし、そのような複雑なトレンドの学習に大量のトレーニング データを必要とし、トレーニングと推測により多くの計算リソースを使用します。 このツールの使用には GPU が推奨されています。
[外れ値オプション] パラメーターを使用して、各場所における時系列値の統計的に有意な外れ値を検出できます。
GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。
このツールでは、各位置の時系列データでトレーニングされた単一のグローバル予測モデルを使用します。
[出力フィーチャ] パラメーター値は [コンテンツ] ウィンドウに追加され、最適な保存済みモデルの予測された時間ステップに基づいてレンダリングされます。
このツールは、予測結果の理解と視覚化に使用できるジオプロセシング メッセージとポップアップ チャートを作成します。 このメッセージには、時空間キューブの構造についての情報と、RMSE 値の統計の要約が含まれています。 [マップ操作] ナビゲーション ツールを使用してフィーチャをクリックすると、そのロケーションの時空間キューブ、適合値、予測値などの値を表示した [ポップアップ] ウィンドウに、ライン チャートが表示されます。
このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。
パラメーター
arcpy.geoai.ForecastUsingTimeSeriesModel(in_cube, in_model_definition, out_features, number_of_timesteps_to_forecast, {match_explanatory_variables}, {out_cube}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
名前 | 説明 | データ タイプ |
in_cube | 将来の時間ステップを予測するために使用する変数を含む netCDF キューブ。 このファイルは、.nc ファイル拡張子が付加され、[ポイントの集約による時空間キューブの作成 (Create Space Time Cube By Aggregating Points)] ツール、[定義済みのロケーションから時空間キューブを作成 (Create Space Time Cube From Defined Locations)] ツール、または [多次元ラスター レイヤーから時空間キューブを作成 (Create Space Time Cube from Multidimensional Raster Layer)] ツールで作成されている必要があります。 | File |
in_model_definition | 予測の実行に使用されるトレーニング済みディープ ラーニング モデル ファイル (.dlpk または .emd)。 [時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] ツールを使用してモデルをトレーニングできます。 | File |
out_features | 時空間キューブ内のすべてのロケーションの出力フィーチャクラスで、予測される値がフィールドとして格納されます。 レイヤーには最終的な時間ステップの予測が表示され、時系列と、各場所の予測を示すポップアップ チャートが含まれます。 | Feature Class |
number_of_timesteps_to_forecast | 解析変数の予測に使用される、時間ステップ数を指定する正の整数。 デフォルト値は 2 です。 この値は、ワンステップ予測では、入力時空間キューブの合計時間ステップ数の 50% より大きくできません。複数ステップ予測では、[時系列予測モデルのトレーニング (Train Time Series Forecasting Model)] ツールの sequence_length パラメーター値の 50% より大きくできません。 | Long |
match_explanatory_variables [match_explanatory_variables,...] (オプション) |
予測セットからトレーニング セットへのフィールド名のマッピング。 このパラメーターは、トレーニング セットと予測セットのフィールド名が異なる場合に使用します。 値は、入力時系列データのフィールド名と一致する予測データセット内のフィールド名です。 | Value Table |
out_cube (オプション) | 入力時空間キューブの値を含み、予測された時間ステップが追加された、出力時空間キューブ (.nc ファイル)。 [時空間キューブを 3D で視覚化 (Visualize Space Time Cube in 3D)] ツールを使用して、観測および予測されたすべての値を同時に参照できます。 | File |
outlier_option (オプション) | 統計的に有意な時系列外れ値が特定されるかどうかを指定します。
| String |
level_of_confidence (オプション) | 時系列外れ値のテストで使用する信頼度を指定します。
| String |
maximum_number_of_outliers | 各場所で外れ値を宣言できる時間ステップの最大数。 デフォルト値は、入力時空間キューブの時間ステップ数の 5 パーセント (端数切り捨て) に相当します (1 以上の値が必ず使用されます)。 この値は、時間ステップ数の 20 パーセントを超えることはできません。 | Long |
コードのサンプル
この例では、ForecastUsingTimeSeriesModel 関数を使用する方法を示します。
# Description: Forecast a time series model on space-time cube data with the trained model
# obtained by the TrainTimeSeriesForecastingModel function.
# Import system modules
import arcpy
import os
# Set local variables
datapath = "path_to_data_for_forecasting"
out_path = "path_to_gdb_for_forecasting"
model_path = os.path.join(out_path, "model.dlpk")
in_cube = os.path.join(datapath, "test_data")
output_features = os.path.join(out_path, "forecasted_feature.gdb", "forecasted")
# Run Forecast Using Time Series Model
r = arcpy.geoai.ForecastUsingTimeSeriesModel(
in_cube,
model_path,
output_features,
number_of_timesteps_to_forecast=2,
match_explanatory_variables=None
)