は、今までに作ったdataを利用し、4つの戦略で予測を行っています。
直訳となり申し訳ないですが、以下の通りです
-
マルチアウトプットモデル
自然に複数の出力を生成するモデルを使用します。線形回帰やニューラルネットワークはどちらも複数の出力を生成できます。この戦略はシンプルで効率的ですが、使用したいすべてのアルゴリズムに適用できるわけではありません。例えば、XGBoostはこれを行うことができません。 -
直接戦略
期間の各ステップごとに別々のモデルをトレーニングします:1ステップ先を予測するモデル、2ステップ先を予測するモデルなど。1ステップ先の予測は2ステップ先の予測とは異なる問題であるため、各ステップごとに異なるモデルを使用することが役立ちます。欠点は、多くのモデルをトレーニングすることが計算的に高価であることです。 -
再帰戦略
単一の1ステップモデルをトレーニングし、その予測を次のステップのラグ特徴量として使用します。再帰的な方法では、モデルの1ステップ予測をそのモデルにフィードバックして次の予測ステップのラグ特徴量として使用します。1つのモデルだけをトレーニングする必要がありますが、エラーがステップごとに伝播するため、長期間の予測は不正確になる可能性があります。 -
DirRec戦略
直接戦略と再帰戦略の組み合わせ:各ステップごとにモデルをトレーニングし、前のステップの予測を新しいラグ特徴量として使用します。ステップごとに、各モデルは追加のラグ入力を取得します。各モデルが常に最新のラグ特徴量セットを持っているため、DirRec戦略は直接戦略よりも連続依存性を捉えることができますが、再帰戦略のようにエラー伝播の影響を受ける可能性もあります。
となります。多くの方法があり、データの種類によってどれを選ぶべきかは変わると思います。はじめに試すおすすめは再帰戦略です。長期間になれば予測に誤差が増えていき、心許ないですが他の方法でも結局長期予測は難しいこと、モデルが1つなので改善サイクルが行いやすいことが理由となります。
このあと全てのモデルについてcodeがありますが、特に難しい関数を使用しておらず、見たらすぐに理解できるものではないかと思います。