Skip to content
Last updated

時系列予測

時系列予測は、過去のタイムスタンプ付きデータにモデルをフィッティングして将来の値を予測するタスクです。このノートブックは、FLAMLを使用して時系列モデルをトレーニングし、将来の値を予測します。サポートされているモデルは次のとおりです:

このノートブックは、追加のEDAステップとホールドアウトテストも実行します。

想定される入力テーブル

このノートブックは、トレーニングの入力として次のテーブル形式を想定しています。

tstamp..value
2022/04/21 10:00..50
2022/04/21 10:00..30
2022/04/21 11:00..70
2022/04/21 11:00..30
2022/04/21 12:00..100
2022/04/21 12:00..30

デフォルトでは、tstamp_column="tstamp" および target_column="value" を想定していますが、任意のカラム名を指定することができます。

オプションで、外生変数を提供することができます。例えば、ドラッグストアチェーンの日次店舗売上を予測する場合、exogenous_columns: weather、promotions、store_type を日次売上を説明する補助特徴量として指定することができます。

tstampweatherpromotionsstore_typesales
1960-12-01cloudy2city_large459
1961-01-01sunny1contry_small935
......
...
1965-12-01rainy0city_small886

サンプル出力

forecast_length=30 が指定されている場合、トレーニングデータに対して+30件の追加レコードが予測されます。一方、test_tableが提供されている場合は、テストデータの予測が行われます。test_tableには、少なくともtstamp_column(デフォルト設定では"tstamp")が必要です。target_column(デフォルトでは"value")は、output_tableに付加されます。

tstamp_columnに有効な日時値がない場合は、pesudo_tstampが使用され、それらに加えて結果に追加されます。

tstampvalue
1960-12-010.29304519295692444
1961-01-010.00487339636310935
......
1965-12-010.5266873240470886

予測結果の可視化は次のとおりです:

ワークフローの例

サンプルワークフローはTreasure Boxesのこちらをご覧ください。

+run_ts_forecast: ipynb>: notebook: ts_forecast train_table: ml_datasets.ts_airline tstamp_column: period forecast_length: 30 output_table: ml_test.ts_airline_predicted

パラメータ

パラメータ名コンソール上のパラメータ説明デフォルト値
docker.task_memDocker Task Memタスクのメモリサイズ。契約しているティアに応じて、64g、128g(デフォルト)、256g、384g、または512gの値を指定可能128g
train_tableTrain Tableトレーニングに使用するTDテーブルをdbname.table_name形式で指定-
forecast_lengthForecast Length予測出力の長さ。test_tableまたはforecast_lengthのいずれかが必要-
forecast_freqForecast Freq予測の明示的な頻度。使用可能な値: D - 日次、W - 週次、M - 月次、Q - 四半期、Y - 年次。指定されていない場合、値はデータから推測されます-
test_tableTest Table予測に使用するTDテーブル名。test_tableまたはforecast_lengthのいずれかが必要-
tstamp_columnTstamp Column時系列データをソートするためのタイムスタンプカラムtstamp
target_columnTarget Columnラベルに使用するカラム名value
output_tableOutput Table予測結果をエクスポートするTDテーブル名-
output_modeOutput Modeoutput_tableをエクスポートする際の出力モード: overwrite/replace または append。通常は指定不要で、準リアルタイム予測の場合は"append"を指定overwrite
exogenous_columnsExogenous Columns予測入力として使用できるカラム。train_table内のすべてのカラムを選択する場合は"*"を使用可能-
ignore_columnsIgnore Columns外生変数として無視するカラムtime
estimatorsEstimators時系列予測に使用するエスティメーター。サポートされているエスティメーター: prophet、arima、lgbmprophet,arima,lgbm,xgboost,xgb_limitdepth
time_limitTime Limitトレーニング時間予算のソフトリミット(秒単位)60 * 60
sampling_thresholdSampling Thresholdトレーニングデータのサンプリングに使用する閾値10_000_000
hide_table_contentsHide Table Contentsテーブルコンテンツの表示を抑制false
calibrationCalibrationtrueの場合、出力値が調整されますfalse