ML.FORECAST 関数

ML.FORECAST 関数

ML.FORECAST 関数は、トレーニングされた時系列モデルに基づいて時系列を予測します。

ML.FORECAST は、次の列を返します。

  • time_series_id: 時系列の識別子。複数の時系列を同時に予測する場合にのみ表示されます。列名と型は、モデル作成クエリで指定された TIME_SERIES_ID_COL から継承されます。
  • forecast_timestampTIMESTAMP
  • forecast_valueFLOAT64
  • standard_errorFLOAT64
  • confidence_levelFLOAT64
  • prediction_interval_lower_boundFLOAT64
  • prediction_interval_upper_boundFLOAT64
  • confidence_interval_lower_boundFLOAT64)(間もなくサポート終了)
  • confidence_interval_upper_boundFLOAT64)(間もなくサポート終了)

ML.FORECAST 構文

ML.FORECAST(MODEL model_name,
           [, STRUCT<horizon INT64, confidence_level FLOAT64> settings])

model_name

model_name は、予測に使用するモデルの名前です。デフォルト プロジェクトを構成していない場合は、`[PROJECT_ID].[DATASET].[MODEL]`(バッククォートを含む)の形式でプロジェクト ID をモデル名の前に追加します(例: `myproject.mydataset.mymodel`)。

horizon

(省略可)Horizon は予測時点の数を表します。Horizon 値は INT64 型で、STRUCT 設定の一部です。デフォルト値は 3 です。最大値は、時系列モデルの CREATE MODEL ステートメントで指定された Horizon 値になります。指定されていない場合は 1,000 です。複数の時系列を同時に予測する場合、このパラメータは各時系列に適用されます。

confidence_level

(省略可)予測間隔に含まれる将来の値の割合。confidence_level 値は FLOAT64 型で、STRUCT 設定の一部です。デフォルト値は 0.95 です。有効な入力範囲は [0, 1] です。

ML.FORECAST の出力

ML.FORECAST は、すべてのケースで列 forecast_timestampforecast_valuestandard_errorconfidence_levelprediction_interval_lower_boundprediction_interval_upper_boundconfidence_interval_lower_boundconfidence_interval_upper_bound を出力します。複数の時系列を同時に予測する場合は、追加の出力列 time_series_id があります。

ML.FORECAST の出力には次のプロパティがあります。

  • 時系列ごとに、出力行は forecast_timestamp の日付順に並べ替えられます。
  • 入力の型 time_series_timestamp_col に関係なく、forecast_timestamp の型は常に TIMESTAMP です。
  • forecast_valueprediction_interval_lower_boundprediction_interval_upper_bound の平均です。
  • confidence_level はユーザー指定の値です。指定しない場合は、デフォルト値が使用されます。これは、すべての行で同じです。

ML.FORECAST の例

次のクエリは、ML.FORECAST を使用し、信頼レベル 0.8 で 30 個の時点を予測します。

SELECT
  *
FROM
  ML.FORECAST(MODEL `mydataset.mymodel`,
              STRUCT(30 AS horizon, 0.8 AS confidence_level))