フォレストベース予測 (Forest-based Forecast) (時空間パターン マイニング)

サマリー

Leo Breiman と Adele Cutler により開発された教師付き機械学習方法であるランダム フォレスト アルゴリズムを転用してモデルを作成し、時空間キューブの各ロケーションの値を予測します。 フォレスト回帰モデルは、時空間キューブの各ロケーションでタイム ウィンドウを使用してトレーニングされます。

フォレストベース予測ツールの詳細

フォレストベース予測 (Forest-based Forecast) ツールの図
[フォレストベース予測 (Forest-based Forecast)] ツールを使用した予測時系列。

使用法

  • このツールでは、[ポイントの集約による時空間キューブの作成 (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 ファイルを使用できます。

  • 時系列予測ツールセットの他の予測ツールと比較すると、このツールは最も複雑ですが、データに関する前提が最も少なくて済みます。 単純な数学関数でモデル化することが難しい複雑な形状やトレンドを持つ時系列や、他の方法の前提を満たさない場合にお勧めします。 また、時空間キューブに予測対象変数に関連する他の変数がある場合にもお勧めします。 これらの変数を説明変数として含めることで、予測を改善できます。

    さらに、このツールは、さまざまな地理的尺度でモデルを構築できる唯一の予測ツールです。 時空間キューブの各ロケーションで独立した予測モデルを構築するのではなく、このツールを使用すると、トレーニング データとして各ロケーションを使用する単一のグローバルな予測モデルを構築できます。 入力時空間キューブの変数に対する時系列クラスタリングの結果がある場合、クラスターごとに異なる予測モデルを構築することもできます。

  • [モデル尺度] パラメーターを使用して、フォレストベース モデルの推定に使用する尺度を指定できます。 パラメーターには、次の 3 つのオプションがあります。

    • [個々のロケーション] - 時空間キューブのロケーションごとに異なるモデルが個別に推定されます。 これがデフォルトです。
    • [キューブ全体] - トレーニング データとしてすべてのロケーションを使用して 1 つのモデルが推定されます。 共有モデルはすべてのロケーションで将来値を予測するために使用されます。
    • [時系列クラスター] - 時系列クラスタリングの結果のクラスターごとに異なるモデルが個別に推定されます。 時系列クラスタリングの結果を含む変数を [クラスター変数] パラメーターに指定します。 変数で [時系列クラスタリング (Time Series Clustering)] ツールを使用する必要があります。 分析変数など、時系列クラスタリングの結果を含む変数を使用できます。

    さまざまな尺度でのモデルの推定の詳細

  • [位置による予測評価 (Evaluate Forecasts By Location)] ツールを使用して、予測される複数の時空間キューブを比較およびマージできます。 これによって、別々の予測ツールやパラメーターを使用して複数の予測キューブを作成し、予測 RMSE (二乗平均平方根誤差) または検証 RMSE を使用して場所ごとに最適な予測をツールで判定できます。

  • 将来値の予測中に、このツールは異なる目的を果たす 2 つのモデルを構築します。

    • 予測モデル - このモデルは、時空間キューブの値の予測に使用されます。時系列の値を使用してフォレストを構築し、このフォレストを使用して未来の時間ステップの値を予測します。 予測モデルが時空間キューブの値にどの程度適合しているかは、予測 RMSE 値により測定されます。
    • 検証モデル - このモデルは、予測モデルを検証し、値の精度をテストするために使用されます。 [検証で除外する時間ステップの数] パラメーターに 0 を上回る数字が指定された場合、このモデルは包含されている時間ステップを使用して構築され、除外された時間ステップの値の予測に使用されます。 これにより、選択したモデルが値をどれだけ的確に予測できるかを確認できます。 予測される値が除外された値とどの程度適合しているかは、検証 RMSE 値により測定されます。

    予測モデル、検証モデル、RMSE 統計の詳細

  • [出力フィーチャ] パラメーター値は [コンテンツ] ウィンドウに追加され、最終的に予測された時間ステップに基づいてレンダリングされます。

  • このツールは、予測結果の理解と視覚化に使用できるジオプロセシング メッセージとポップアップ チャートを作成します。 メッセージには、時空間キューブの構造と、RMSE 値および季節の長さの統計サマリーに関する情報が含まれます。 [マップ操作] ナビゲーション ツールを使用してフィーチャをクリックすると、そのロケーションの時空間キューブ、適合フォレスト値、予測値、信頼区間などの値を表示した [ポップアップ] ウィンドウに、ライン チャートが表示されます。

  • [その他の変数] パラメーターを使用し、説明変数を含めることで予測を改善できます。 その他の変数を指定した場合、予測モデルは多変量フォレストベース予測になります。 各説明変数は、フォレスト モデルのトレーニングに使用される各タイム ウィンドウ内のタイム ラグ係数に変換されます。 これにより、説明変数と分析変数の間のラグ (遅延) 効果を推定することができます。 たとえば、パンデミック下の入院者数の増加により、14 日後の死亡者数を予測することができるものの、入院者数で直近 3 日間の死亡者数を精度高く予測することはできません。 タイム ラグの数は、[時間ステップ ウィンドウ] パラメーターの値に等しいため、把握したいラグ効果よりもタイム ウィンドウを長くする必要があります。

    [出力重要度テーブル] パラメーターは、各ロケーションで最も重要な係数を表示するテーブルを作成し、タイム ウィンドウ内のタイム ラグ別に並べ替えられたすべてのロケーションで最も重要な係数のカウントを表示する [タイム ラグ重要度] バー チャートを含んでいます。 これにより、分析変数の値を予測するうえで重要だった変数を確認し、その係数が最も重要だった場合に関連付けられたラグを視覚化することができます。 たとえば、入院者数が 14 日後の死亡者数に関連付けられている場合、時間ステップ ウィンドウは少なくとも 14 日が含まれている必要があり、タイム ウィンドウが終了する約 14 日前に発生した多数の入院者数を観察する必要があります。

    各ロケーションで重要と見なされる係数の数は、[重要度の閾値] パラメーターの値によって異なります。 たとえば、15 を指定すると、各ロケーションの係数の上位 15% がテーブルとチャートに含まれるようになります。

  • [外れ値オプション] パラメーターを使用して、各場所における時系列値の統計的に有意な外れ値を検出できます。

    時系列外れ値の検出の詳細

  • [外れ値オプション] パラメーターの [外れ値の特定] オプションを選択した場合は、[時間ステップ ウィンドウ] パラメーターを空のままにして各ロケーションで異なる時間ステップ ウィンドウを評価するのではなく、値を指定することをお勧めします。 フォレスト モデルは各ロケーションで予測モデルをトレーニングするために最初の時間ステップ ウィンドウの時間ステップを使用し、外れ値は残りの時間ステップでのみ検出されます。 トレーニングの際に各ロケーションで異なる数の時間ステップが除外されている場合、時間ステップ単位またはロケーション単位で外れ値の平均、最小、最大などの統計サマリーを出力することは誤解を招く恐れがあります。

  • [その他の変数] パラメーターに説明変数が含まれている場合、または [モデル尺度] パラメーターの [キューブ全体] または [時系列クラスター] オプションが指定されている場合、[予測方法] パラメーターでは [値によってモデルを構築] オプションのみを使用できます。 また、これらのオプションのいずれかを使用すると、処理時間は増加します。

  • 検証のとき、どの程度の時間ステップを除外するかは重要な選択です。 除外する時間ステップを増やすと、検証モデルを推定する時間ステップが少なくなってしまいます。 ただし、除外する時間ステップが少なすぎると、検証 RMSE は少量のデータを使用して推定されることになり、誤解を招きやすくなります。 検証モデルの評価に十分な時間ステップを維持しながら、できる限り多くの時間ステップを除外することをお勧めします。 また、時空間キューブに十分な時間ステップが存在するなら、最低でも予測に使用する時間ステップと同じ数の時間ステップを検証用に保持することをお勧めします。

パラメーター

ラベル説明データ タイプ
入力時空間キューブ

将来の時間ステップについて予測する変数を含む 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
分析変数

将来の時間ステップについて予測される、netCDF ファイル内の数値変数。

String
出力フィーチャ

時空間キューブ内のすべてのロケーションの出力フィーチャクラスで、予測される値がフィールドとして格納されます。 レイヤーには最終時間ステップの予測と、各ロケーションの時系列、予測、および 90% の信頼区間を示すポップアップ チャートが表示されます。

Feature Class
出力時空間キューブ
(オプション)

入力時空間キューブの値を含み、予測された時間ステップが追加された、新しい時空間キューブ (.nc ファイル)。 [時空間キューブ レイヤーの作成 (Make Space Time Cube Layer)] ツールを使用して、時空間キューブ レイヤーを作成し、観測および予測されるすべての値を同時に表示できます。

File
予測する時間ステップ数
(オプション)

予測する時間ステップ数を指定する正の整数。 この値は、入力時空間キューブの合計時間ステップ数の 50% より大きくできません。 デフォルト値は 1 時間ステップです。

Long
時間ステップ ウィンドウ
(オプション)

モデルをトレーニングする際に使用する、以前の時間ステップの数。 データに季節性 (繰り返しサイクル) がある場合は、1 サイクルに対応する時間ステップの数を入力します。 この値は、入力された時空間キューブの時間ステップ数の 1/3 を上回ることはできません。 個々のロケーションのモデル尺度を使用すると、値を指定しない場合、スペクトル密度関数を使用して、各ロケーションについてタイム ウィンドウが見積もられます。 キューブ全体または時系列クラスターのモデル尺度を使用すると、値を指定しない場合、時間ステップ数の 1/4 が使用されます。

季節性とタイム ウィンドウの選択の詳細

Long
検証から除外する時間ステップ数
(オプション)

各時系列の最後で、検証のため除外する時間ステップ数。 デフォルト値は入力時間ステップ数の 10% (端数切り捨て) で、この値は時間ステップ数の 25% より大きくできません。 値 0 を指定すると、時間ステップは一切除外されません。

Long
ツリーの数
(オプション)

フォレスト モデル内で作成されるツリーの数。 通常、ツリーの数を多くすると、モデル予測の精度は上がりますが、そのモデルでの計算時間が長くなります。 ツリーのデフォルト数は 100 です。この値は最低 1 、最大 1,000 です。

Long
最小リーフ サイズ
(オプション)

リーフを維持するために最低限必要な観測数 (つまり、これ以上分割できないツリー上のターミナル ノード)。 大規模なデータの場合は、この数を増やすと、このツールの実行時間が短くなります。

Long
最大ツリー階層
(オプション)

ツリーの下に作成される分割の最大数。 最大ツリー階層の値を大きくすると、さらに多くの分割が作成されるため、モデルの過剰適合の可能性が高くなります。 値を指定しない場合、モデルが作成したツリーの数と時間ステップ ウィンドウのサイズに基づき、ツールが値を特定します。

Long
ツリーあたりの利用可能なトレーニングの割合 (%)
(オプション)

予測モデルの適合に使用するトレーニング データの割合。 トレーニング データは、タイム ウィンドウを使用して構築された、関連する説明変数と従属変数から成ります。 残りのトレーニング データはすべて、予測モデルのパラメーターの最適化に使用されます。 デフォルトは 100 パーセントです。

Long
予測方法
(オプション)

各ロケーションのフォレスト モデルのトレーニングの際に説明変数と従属変数を表示する方法を指定します。

予測に使用するフォレスト モデルをトレーニングするには、タイム ウィンドウを使用して説明変数と独立変数のセットを作成する必要があります。 このパラメーターを使用して、これらの変数が線形にトレンド除去されるかどうか、従属変数が未加工の値によって表されるか線形回帰モデルの残差によって表されるか、などを指定します。 この線形回帰モデルは、説明変数としてタイム ウィンドウのすべての時間ステップを使用し、従属変数として後続の時間ステップを使用します。 残差は、線形回帰に基づいて予測された値を、従属変数の未加工の値から減算することによって計算されます。

[その他の変数] パラメーターに変数が指定されている場合、または [モデル尺度] パラメーターに [キューブ全体] または [時系列クラスター] オプションが指定されている場合、[値] オプションが使用可能な唯一の予測方法になります。

  • 値によるモデルの構築タイム ウィンドウ内の値はトレンド除去されず、独立変数は未加工の値によって表されます。 その他の変数を指定した場合、またはモデル尺度が個別のロケーションでない場合、これが使用可能な唯一の予測方法になります。これがデフォルトです。
  • トレンド除去後の値によるモデルの構築タイム ウィンドウ内の値は線形にトレンド除去され、独立変数はトレンド除去された値によって表されます。 これがデフォルトです。
  • 残差によるモデルの構築タイム ウィンドウ内の値はトレンド除去されず、独立変数は、タイム ウィンドウ内の値を説明変数として使用した線形回帰モデルの残差によって表されます。
  • トレンド除去後の残差によるモデルの構築タイム ウィンドウ内の値は線形にトレンド除去され、独立変数は、タイム ウィンドウ内のトレンド除去された値を説明変数として使用した線形回帰モデルの残差によって表されます。
String
外れ値オプション
(オプション)

統計的に有意な時系列外れ値が特定されるかどうかを指定します。

  • なし外れ値は特定されません。 これがデフォルトです。
  • 外れ値の特定一般化 ESD 検定を使用して、外れ値が特定されます。
String
信頼度
(オプション)

時系列外れ値のテストで使用する信頼度を指定します。

  • 90%テストに使用される信頼度は 90 パーセントです。 これがデフォルトです。
  • 95%テストに使用される信頼度は 95 パーセントです。
  • 99%テストに使用される信頼度は 99 パーセントです。
String
外れ値の最大数

各場所で外れ値を宣言できる時間ステップの最大数。 デフォルト値は、入力時空間キューブの時間ステップ数の 5 パーセント (端数切り捨て) に相当します (1 以上の値が必ず使用されます)。 この値は、時間ステップ数の 20 パーセントを超えることはできません。

Long
その他の変数
(オプション)

予測を改善するための説明変数として使用される、入力時空間キューブのその他の変数。

String
重要度の閾値 (%)
(オプション)

分析変数の予測に最も重要と見なされる係数の割合。 たとえば、値が 20 の場合、各ロケーションの係数の上位 20% が重要度テーブルに含まれるようになります。 各変数 (分析変数と各説明変数) は、時間ステップ ウィンドウ内の時間ステップごとに 1 回ずつ係数として表されるため、各ロケーションでの係数の数は、タイム ウィンドウの長さに変数の数を掛けたものになります。 係数の数に重要度の閾値を掛けて、各予測モデルの重要な係数の数を決定します。 デフォルト値は 10 で、値は 1 ~ 100 の整数でなければなりません。

Long
出力重要度テーブル
(オプション)

各ロケーションで最も重要な係数が含まれる出力テーブル。 個別のロケーションのモデル尺度では、時空間キューブの各ロケーションにある重要な各係数は、変数名と関連付けられたタイム ラグを含むフィールドが設定されたテーブル内の行として表されます。 キューブ全体または時系列クラスターのモデル尺度では、キューブ全体またはクラスター モデル全体のすべての重要な係数は、行として表されます。テーブルには、タイム ラグで分けられたすべてのロケーションで最も重要な係数を表示するチャートが含まれます。 チャートでは、説明変数と予測対象変数の間のラグ効果を推定および視覚化することができます。

Table
モデル尺度
(オプション)

予測モデルと検証モデルの推定に使用する尺度を指定します。

  • 個々のロケーション異なる予測モデルと検証モデルがロケーションごとに推定されます。 これがデフォルトです。
  • キューブ全体1 つの予測モデルと検証モデルがトレーニング データとしてすべてのロケーションを使用して推定されます。
  • 時系列クラスター予測モデルと検証モデルが時系列クラスタリングの結果のクラスターごとに推定されます。 時系列クラスタリングの結果を含む変数を [クラスター変数] パラメーターに指定します。
String
クラスター変数
(オプション)

時空間キューブのロケーションを領域にグループ化するために使用する変数。さまざまな予測モデルと検証モデルが領域ごとに推定されます。 変数には、使用する時系列クラスタリングの結果が含まれている必要があります。 クラスター変数には、時空間キューブの任意の変数 (分析変数を含む) を指定できます。

String

arcpy.stpm.ForestBasedForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {time_window}, {number_for_validation}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {forecast_approach}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers, {other_variables}, {importance_threshold}, {output_importance_table}, {model_scale}, {cluster_variable})
名前説明データ タイプ
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
analysis_variable

将来の時間ステップについて予測される、netCDF ファイル内の数値変数。

String
output_features

時空間キューブ内のすべてのロケーションの出力フィーチャクラスで、予測される値がフィールドとして格納されます。 レイヤーには最終時間ステップの予測と、各ロケーションの時系列、予測、および 90% の信頼区間を示すポップアップ チャートが表示されます。

Feature Class
output_cube
(オプション)

入力時空間キューブの値を含み、予測された時間ステップが追加された、新しい時空間キューブ (.nc ファイル)。 [時空間キューブ レイヤーの作成 (Make Space Time Cube Layer)] ツールを使用して、時空間キューブ レイヤーを作成し、観測および予測されるすべての値を同時に表示できます。

File
number_of_time_steps_to_forecast
(オプション)

予測する時間ステップ数を指定する正の整数。 この値は、入力時空間キューブの合計時間ステップ数の 50% より大きくできません。 デフォルト値は 1 時間ステップです。

Long
time_window
(オプション)

モデルをトレーニングする際に使用する、以前の時間ステップの数。 データに季節性 (繰り返しサイクル) がある場合は、1 サイクルに対応する時間ステップの数を入力します。 この値は、入力された時空間キューブの時間ステップ数の 1/3 を上回ることはできません。 個々のロケーションのモデル尺度を使用すると、値を指定しない場合、スペクトル密度関数を使用して、各ロケーションについてタイム ウィンドウが見積もられます。 キューブ全体または時系列クラスターのモデル尺度を使用すると、値を指定しない場合、時間ステップ数の 1/4 が使用されます。

Long
number_for_validation
(オプション)

各時系列の最後で、検証のため除外する時間ステップ数。 デフォルト値は入力時間ステップ数の 10% (端数切り捨て) で、この値は時間ステップ数の 25% より大きくできません。 値 0 を指定すると、時間ステップは一切除外されません。

Long
number_of_trees
(オプション)

フォレスト モデル内で作成されるツリーの数。 通常、ツリーの数を多くすると、モデル予測の精度は上がりますが、そのモデルでの計算時間が長くなります。 ツリーのデフォルト数は 100 です。この値は最低 1 、最大 1,000 です。

Long
minimum_leaf_size
(オプション)

リーフを維持するために最低限必要な観測数 (つまり、これ以上分割できないツリー上のターミナル ノード)。 大規模なデータの場合は、この数を増やすと、このツールの実行時間が短くなります。

Long
maximum_depth
(オプション)

ツリーの下に作成される分割の最大数。 最大ツリー階層の値を大きくすると、さらに多くの分割が作成されるため、モデルの過剰適合の可能性が高くなります。 値を指定しない場合、モデルが作成したツリーの数と時間ステップ ウィンドウのサイズに基づき、ツールが値を特定します。

Long
sample_size
(オプション)

予測モデルの適合に使用するトレーニング データの割合。 トレーニング データは、タイム ウィンドウを使用して構築された、関連する説明変数と従属変数から成ります。 残りのトレーニング データはすべて、予測モデルのパラメーターの最適化に使用されます。 デフォルトは 100 パーセントです。

フォレスト予測モデルのトレーニングの詳細

Long
forecast_approach
(オプション)

各ロケーションのフォレスト モデルのトレーニングの際に説明変数と従属変数を表示する方法を指定します。

予測に使用するフォレスト モデルをトレーニングするには、タイム ウィンドウを使用して説明変数と独立変数のセットを作成する必要があります。 このパラメーターを使用して、これらの変数が線形にトレンド除去されるかどうか、従属変数が未加工の値によって表されるか線形回帰モデルの残差によって表されるか、などを指定します。 この線形回帰モデルは、説明変数としてタイム ウィンドウのすべての時間ステップを使用し、従属変数として後続の時間ステップを使用します。 残差は、線形回帰に基づいて予測された値を、従属変数の未加工の値から減算することによって計算されます。

[その他の変数] パラメーターに変数が指定されている場合、または [モデル尺度] パラメーターに [キューブ全体] または [時系列クラスター] オプションが指定されている場合、[値] オプションが使用可能な唯一の予測方法になります。

予測方法パラメーターの詳細

  • VALUEタイム ウィンドウ内の値はトレンド除去されず、独立変数は未加工の値によって表されます。 その他の変数を指定した場合、またはモデル尺度が個別のロケーションでない場合、これが使用可能な唯一の予測方法になります。これがデフォルトです。
  • VALUE_DETRENDタイム ウィンドウ内の値は線形にトレンド除去され、独立変数はトレンド除去された値によって表されます。 これがデフォルトです。
  • RESIDUALタイム ウィンドウ内の値はトレンド除去されず、独立変数は、タイム ウィンドウ内の値を説明変数として使用した線形回帰モデルの残差によって表されます。
  • RESIDUAL_DETRENDタイム ウィンドウ内の値は線形にトレンド除去され、独立変数は、タイム ウィンドウ内のトレンド除去された値を説明変数として使用した線形回帰モデルの残差によって表されます。
String
outlier_option
(オプション)

統計的に有意な時系列外れ値が特定されるかどうかを指定します。

  • NONE外れ値は特定されません。 これがデフォルトです。
  • IDENTIFY一般化 ESD 検定を使用して、外れ値が特定されます。
String
level_of_confidence
(オプション)

時系列外れ値のテストで使用する信頼度を指定します。

  • 90%テストに使用される信頼度は 90 パーセントです。 これがデフォルトです。
  • 95%テストに使用される信頼度は 95 パーセントです。
  • 99%テストに使用される信頼度は 99 パーセントです。
String
maximum_number_of_outliers

各場所で外れ値を宣言できる時間ステップの最大数。 デフォルト値は、入力時空間キューブの時間ステップ数の 5 パーセント (端数切り捨て) に相当します (1 以上の値が必ず使用されます)。 この値は、時間ステップ数の 20 パーセントを超えることはできません。

Long
other_variables
[other_variables,...]
(オプション)

予測を改善するための説明変数として使用される、入力時空間キューブのその他の変数。

String
importance_threshold
(オプション)

分析変数の予測に最も重要と見なされる係数の割合。 たとえば、値が 20 の場合、各ロケーションの係数の上位 20% が重要度テーブルに含まれるようになります。 各変数 (分析変数と各説明変数) は、時間ステップ ウィンドウ内の時間ステップごとに 1 回ずつ係数として表されるため、各ロケーションでの係数の数は、タイム ウィンドウの長さに変数の数を掛けたものになります。 係数の数に重要度の閾値を掛けて、各予測モデルの重要な係数の数を決定します。 デフォルト値は 10 で、値は 1 ~ 100 の整数でなければなりません。

Long
output_importance_table
(オプション)

各ロケーションで最も重要な係数が含まれる出力テーブル。 個別のロケーションのモデル尺度では、時空間キューブの各ロケーションにある重要な各係数は、変数名と関連付けられたタイム ラグを含むフィールドが設定されたテーブル内の行として表されます。 キューブ全体または時系列クラスターのモデル尺度では、キューブ全体またはクラスター モデル全体のすべての重要な係数は、行として表されます。テーブルには、タイム ラグで分けられたすべてのロケーションで最も重要な係数を表示するチャートが含まれます。 チャートでは、説明変数と予測対象変数の間のラグ効果を推定および視覚化することができます。

Table
model_scale
(オプション)

予測モデルと検証モデルの推定に使用する尺度を指定します。

  • INDIVIDUAL_LOCATION異なる予測モデルと検証モデルがロケーションごとに推定されます。 これがデフォルトです。
  • ENTIRE_CUBE1 つの予測モデルと検証モデルがトレーニング データとしてすべてのロケーションを使用して推定されます。
  • TIME_SERIES_CLUSTER予測モデルと検証モデルが時系列クラスタリングの結果のクラスターごとに推定されます。 時系列クラスタリングの結果を含む変数を cluster_variable パラメーターに指定します。
String
cluster_variable
(オプション)

時空間キューブのロケーションを領域にグループ化するために使用する変数。さまざまな予測モデルと検証モデルが領域ごとに推定されます。 変数には、使用する時系列クラスタリングの結果が含まれている必要があります。 クラスター変数には、時空間キューブの任意の変数 (分析変数を含む) を指定できます。

String

コードのサンプル

ForestBasedForecast の例 1 (Python ウィンドウ)

次の Python スクリプトは、ForestBasedForecast 関数の使用方法を示しています。


# Forecast four time steps using a random forest with detrending.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS", 
           "Analysis.gdb/Forecasts", "outForecastCube.nc", 4, 3, 
           5, 100, "", "", 100, "VALUE_DETREND", "", "", "", "",
           "", "", "INDIVIDUAL_LOCATION")
ForestBasedForecast の例 2 (スタンドアロン スクリプト)

次の Python スクリプトで、ForestBasedForecast 機能を使用して自動車窃盗件数を予測する方法を示します。

# Forecast change in car thefts using a random forest.

# Import system modules.
import arcpy

# Set property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True

# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace

# Forecast three time steps using a random forest based on change.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS","Analysis.gdb/Forecasts",
           "outForecastCube.nc", 4, 3, 5, 100, "", "", 100, "RESIDUAL", "IDENTIFY", 
           "90%", 4, None, 10, None, "INDIVIDUAL_LOCATION")

# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS", "VALUE", 
           "Analysis.gdb/ForecastsFC")
ForestBasedForecast の例 3 (スタンドアロン スクリプト)

次の Python スクリプトは、ForestBasedForecast 関数を使用し、予測を向上させるために他の変数を使用して PM2.5 を予測する方法を示しています。


import arcpy
arcpy.env.workspace = "C:/Analysis"

# Forecast twelve time steps using a random forest.
# Use entire cube model scale and multiple other variables
# Create variable importance table with top 10% of most important variables
arcpy.stpm.ForestBasedForecast("air_quality_cities.nc", "PM25", 
           "Analysis.gdb/PM25_forecast", "PM25_forecast_cube.nc", 12, None,
           30, 100, None, None, 100, "VALUE", "NONE", "90%",15, 
           "CO;HUMIDITY;O3;PRESSURE;TEMPERATURE;WINDSPEED", 10, 
           "Analysis.gdb/pm25_importance", "ENTIRE_CUBE")
ForestBasedForecast の例 4 (スタンドアロン スクリプト)

次の Python スクリプトは、ForestBasedForecast 関数を使用し、人口が類似している郡のクラスターを使用して郡の人口を予測する方法を示します。


import arcpy
arcpy.env.workspace = "C:/Analysis"

# Run time series clustering to cluster counties by population value.
arcpy.stpm.TimeSeriesClustering("USA_County_Population_1969_2019.nc", 
           "POPULATION_SUM_ZEROS",
           "Analysis.gdb/USA_County_Population_TimeSeriesClustering",
           "VALUE", None, None, None, "CREATE_POPUP")

# Run forest-based forecast models on each time series cluster
arcpy.stpm.ForestBasedForecast("USA_County_Population_1969_2019.nc",
          "POPULATION_SUM_ZEROS", 
          "Analysis.gdb/USA_County_Population_ForestBasedForecast", 
          "USA_County_Population_ForestBasedForecast_cube.nc", 20, 
          None, 3, 100, None, None, 100, "VALUE", "NONE", "90%", 1,
          None, 10, None, "TIME_SERIES_CLUSTER", "POPULATION_SUM_ZEROS")