AutoML の時系列予測におけるラグ特徴量
この記事は、予測回帰モデル用のラグ特徴量とローリング ウィンドウ集約特徴量を作成するための AutoML のメソッドに焦点を当てています。 過去の情報を用いるこのような特徴量は、モデルが時系列での相関パターンを学習することを支援するため、精度を大幅に向上させることができます。 AutoML における予測手法の一般的な情報については、手法の概要に関する記事を参照してください。 AutoML で予測モデルをトレーニングする手順と例については、時系列予測用に AutoML を設定するの記事を参照してください。
ラグ特徴量の例
AutoML は、予測期間に基づいてラグを生成します。 このセクションで紹介する例は、この概念を説明するものです。 ここでは、予測期間を 3、ターゲットのラグ次数を 1 とします。 以下の月次の時系列を考えてみましょう。
Date | $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$ のみのラグ特徴量を生成します。 読み進めると、なぜ各テーブルで個別の期間を使うのかが明らかになります。
Date | $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 |
表 2 は、表 1 の $y_t$ 列を 1 つ下にずらして作成したものです。 ラグ特徴量の起点となる日付を持つ Origin
という列を追加しています。 次に、予測期間 $h=2$ のみのラグ特徴量を生成します。
Date | $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 |
表 3 は、表 1 の $y_t$ 列を 2 つ下にずらして作成したものです。 最後に、予測期間 $h=3$ のみのラグ特徴量を生成します。
Date | $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 を連結し、行を並び替えます。 結果は次の表のようになっています。
Date | $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 |
最後の表では、ラグが特定の期間に基づいて生成されていることを表現するために、ラグ列の名前を $y_{t-1}^{(h)}$ に変更しています。 この表から、期間に基づいて作成されたラグが、前述の表で用いていたラグの生成方法と対応づけられることがわかります。
表 5 は、回帰モデルでの直接予測を可能にするために AutoML によって適用される、学習データのデータ拡張の例です。 構成にラグ特徴量が含まれる場合、AutoML では期間を数値で表した特徴量と、期間に基づいたラグが作成されます。 これにより、AutoML の予測回帰モデルでは、ARIMA のような再帰関係によって定義されたモデルとは異なり、$h-1$ での予測を考慮することなく、期間 $h$ での予測を行うことができます。
Note
期間に基づいてラグ特徴量を生成すると、データセットに新しい "行" が追加されます。 新しい行の数は、予測期間に比例します。 計算ノードが小さい場合やデータセットのサイズがすでに大きい場合、このデータセットのサイズの増加によりメモリ不足のエラーが発生する可能性があります。 この問題の解決策については、よく寄せられる質問に関する記事を参照してください。
このラグ戦略のもう 1 つの結果は、ラグの順序と予測期間が切り離されることです。 たとえば、予測期間に 7 を指定し、AutoML でラグ特徴量を使用する場合、全予測期間の予測を確実にするためにラグの順序を 7 に設定する必要はありません。 AutoML では期間に基づいてラグが生成されるため、ラグの順序を 1 に設定しても、AutoML によって任意の順序のラグが予測期間の間有効であるようにデータが拡張されます。
次のステップ
- 時系列予測モデルをトレーニングするように AutoML を設定する方法の詳細について確認します。
- AutoML での予測に関してよく寄せられる質問を参照します。
- AutoML での時系列予測のカレンダー機能について確認します。
- AutoML が機械学習を使用して予測モデルを構築する方法について確認します。