AutoML での時系列予測のためのラグ特徴量
この記事では、Azure Machine Learning の自動機械学習 (AutoML) によって、時系列回帰モデルの予測を補助するためのラグとローリング ウィンドウの集計特徴量がどのように作成されるのかについて説明します。 AutoML の特徴量では、モデルによる経時的な相関パターンの学習を支援してモデルの正確性を大幅に向上させることができる履歴モデル データが使われます。
AutoML での予測方法についてさらに詳しく知りたい場合は、「AutoML の予測方法の概要」をご覧ください。 AutoML での予測モデルのトレーニング例を調べるには、「SDK と CLI で時系列予測モデルをトレーニングするために、AutoML を設定す」をご覧ください。
AutoML でのラグの特徴量化
AutoML は、予測期間に対応するラグ特徴量を生成します。 このセクションでは、予測期間を 3、目標ラグ次数を 1 として、AutoML でのモデルのラグ特徴量化について説明します。 次の表は、月単位の時系列についてモデル データとラグ特徴量を表したものです。
表 1: 元の時系列
日 | $y_t$ |
---|---|
1/1/2001 | 0 |
2/1/2001 | 10 |
3/1/2001 | 20 |
4/1/2001 | 30 |
5/1/2001 | 40 |
6/1/2001 | 50 |
最初のステップでは、期間 $h=1$ のみに対するラグ特徴量が生成されます。 以降の表では、プロセスが個々の期間を使ってラグの特徴量化を完行う理由を見ていきます。
表 2: 期間 $h=1$ に対するラグ特徴量化
日 | $y_t$ | 出発地 | $y_{t-1}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
6/1/2001 | 50 | 5/1/2001 | 40 | 1 |
AutoML は、表 1 のデータを 1 回の観測で $y_t$ 列だけ下にシフトして、表 2 のデータを生成します。 表 2 から 5 には、ラグ特徴量が発生した日付を示す「起点」列が含まれます。
次のステップでは、予測期間 $h=2$ のみに対するラグ特徴量が生成されます。
表 3: 予測期間 $h=2$ に対するラグ特徴量化
日 | $y_t$ | 出発地 | $y_{t-2}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 11/1/2000 | - | 2 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
AutoML は、表 1 のデータを 2 回の観測で $y_t$ 列だけ下にシフトして、表 3 のデータを生成します。
次のステップでは、予測期間 $h=3$ のみに対するラグ特徴量が生成されます。
表 4: 予測期間 $h=3$ に対するラグ特徴量化
日 | $y_t$ | 出発地 | $y_{t-3}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
最後のステップでは、表 1、2、3 のデータを連結して、行が再配置されます。
表 5: 完了したラグ特徴量化
日 | $y_t$ | 出発地 | $y_{t-1}^{(h)}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
1/1/2001 | 0 | 11/1/2000 | - | 2 |
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 4/1/2001 | 40 | 1 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
表 5 では、ラグが特定の期間に基づいて生成されていることを反映して、ラグ列の名前が $y_{t-1}^{(h)}$ に変更されています。 表 5 は、期間に基づいて作成されたラグを、これまでの表での従来のラグ生成方法にどのように対応させることができるかを示しています。
表 5 は、回帰モデルでの直接予測を可能にするために AutoML によって適用される、学習データのデータ拡張の例です。 構成にラグ特徴量が含まれる場合、AutoML は整数値化した期間特徴量と共に、期間に基づくラグを作成します。 AutoML の予測回帰モデルでは、ARIMA のような再帰的に定義されたモデルとは異なり、$h-1$ での予測に関係なく、期間 $h$ での予測を行うことができます。
ラグ特徴量化に関する考慮事項
モデルのラグ特徴量化に関係していくつかの考慮事項があります。 特定のシナリオに対して実行できるアクションを確認するには、以下のセクションをご覧ください。
データセットのサイズの増加
AutoML は、期間に基づいてラグ特徴量を生成するとき、データセットに新しい "行" を追加します。 新しい行の数は、予測期間に比例します。
計算ノードが小さい場合や、データセットのサイズが既に大きい場合、データセットのサイズの増加により、メモリ不足エラーが発生する可能性があります。 この問題に対処する解決策については、AutoML の予測についてのよくあるご質問 (FAQ) に関する記事をご覧ください。
ラグ次数と予測期間の切り離し
AutoML のラグ戦略では、ラグ次数と予測期間が切り離されます。 予測期間を 7 とし、AutoML でラグ機能を使うものとします。 このシナリオでは、予測期間全体について確実に予測するために、ラグ次数を 7 に設定する必要はありません。 AutoML では期間に対してラグが生成されるため、ラグ次数を 1 に設定できます。 AutoML は、任意の次数のラグが予測期間まで有効になるように、データを拡張します。