ML.FORECAST
関数
ML.FORECAST
関数は、トレーニングされた時系列モデルに基づいて時系列を予測します。
ML.FORECAST
は、次の列を返します。
time_series_id
: 時系列の識別子。複数の時系列を同時に予測する場合にのみ表示されます。列名と型は、モデル作成クエリで指定されたTIME_SERIES_ID_COL
から継承されます。forecast_timestamp
(TIMESTAMP
)forecast_value
(FLOAT64
)standard_error
(FLOAT64
)confidence_level
(FLOAT64
)prediction_interval_lower_bound
(FLOAT64
)prediction_interval_upper_bound
(FLOAT64
)confidence_interval_lower_bound
(FLOAT64
)(間もなくサポート終了)confidence_interval_upper_bound
(FLOAT64
)(間もなくサポート終了)
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_timestamp
、forecast_value
、standard_error
、confidence_level
、prediction_interval_lower_bound
、prediction_interval_upper_bound
、confidence_interval_lower_bound
、confidence_interval_upper_bound
を出力します。複数の時系列を同時に予測する場合は、追加の出力列 time_series_id
があります。
ML.FORECAST
の出力には次のプロパティがあります。
- 時系列ごとに、出力行は
forecast_timestamp
の日付順に並べ替えられます。 - 入力の型
time_series_timestamp_col
に関係なく、forecast_timestamp
の型は常にTIMESTAMP
です。 forecast_value
はprediction_interval_lower_bound
とprediction_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))