モデル調整のための「通常の」K分割交差検証の経験があり、時系列モデルのアプリケーションに少し混乱しています。
時系列モデルの場合、相互検証の当然の結果は、Hyndmanによって記述された「ローリングフォワードオリジン」手順であることが私の理解です。これは私には十分に理にかなっており、以下のコードtsCV
は、HydmanのブログからのR での関数の使用を示し、エラーがCVとデータセット全体とで一度にどのように異なるかを示しています。
library(fpp)
e <- tsCV(dj, rwf, drift=TRUE, h=1)
sqrt(mean(e^2, na.rm=TRUE))
## [1] 22.68249
sqrt(mean(residuals(rwf(dj, drift=TRUE))^2, na.rm=TRUE))
## [1] 22.49681
さて、上記のリンクでは、ドリフトパラメータが新しい予測の起点ごとに再推定されると述べています。「通常の」CVでは、使用する最適なパラメーターを決定するために平均を取得できるように、各フォールドに対して評価するパラメーターのグリッドを用意します。次に、これらの「最適な」パラメーターを使用して完全なトレーニングセットに適合させ、それを私の最終モデルとして使用して、以前に実施したテストセットを評価します。これは入れ子の交差検証であるため、どの時点でもテストセットのトレーニングは行っていません。
これは明らかに「ローリング・フォワード起源」プロシージャの場合ではないパラメータが各折り目のために最適化された(のようなR法のための少なくともbats
、tbats
、auto.arima
、など)。モデルパラメーターの調整に関してこの方法を誤解しているのでしょうか、または使用される最終モデルに設定する時系列モデルパラメーターをどのように選択するのですか?または、パラメーターの調整は、最適化がモデルのフィッティングの一部であると思われる時系列モデルの問題を考慮せず、CVの結果は、各モデルの全体的なパフォーマンスを示すだけです。そして、最後に大部分のデータを使用して構築された最終的なモデルは、私が使用するモデルですか?
これはもっと簡単な質問に言い換えることができると思います。クロス検証(「ローリングフォワードオリジン」)の後、最後に作成されたモデル(最大のスーパーセットを最終的なフィットモデルとして)を使用するだけですか?または、何を提案しますか?