Modèle final issu de la validation croisée des séries chronologiques


10

J'ai une expérience antérieure avec la validation croisée `` normale '' pour le réglage de modèle et je suis légèrement confus par l'application dans les modèles de séries chronologiques.

Je crois comprendre que pour les modèles de séries chronologiques, le corollaire de la validation croisée est la procédure d '«origine ascendante» décrite par Hyndman . Cela a beaucoup de sens pour moi et le code ci-dessous montre l'utilisation de la tsCVfonction dans R, du blog d' Hydman , pour montrer comment les erreurs diffèrent de CV par rapport à l'ensemble de données en une seule fois.

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

Maintenant, dans ce lien ci-dessus, il indique que le paramètre de dérive est réestimé à chaque nouvelle origine de prévision. Dans un CV «normal», j'aurais une grille de paramètres que j'évaluerais pour chaque pli afin de pouvoir obtenir une moyenne pour déterminer les meilleurs paramètres à utiliser. J'utiliserais ensuite ces «meilleurs» paramètres pour s'adapter à l'ensemble d'entraînement complet et l'utiliser comme mon modèle final pour évaluer sur mon ensemble de test précédemment détenu. Remarque: il s'agit d' une validation croisée imbriquée, donc je ne m'entraîne à aucun moment sur mon jeu de tests.

Ceci est clairement pas le cas de la procédure « d'origine roulant vers l' avant » , où les paramètres sont optimisés pour chaque fois (au moins pour les procédés de R tels que bats, tbats, auto.arima, etc.). Suis-je dans l'erreur de penser à cette méthode en termes de réglage des paramètres du modèle ou comment choisir les paramètres du modèle de série chronologique à définir pour le modèle final qui serait utilisé? Ou le réglage des paramètres n'est-il pas considéré comme un problème avec les modèles de séries chronologiques où l'optimisation semble faire partie de l'ajustement du modèle et le résultat du CV est simplement de dire dans quelle mesure chaque modèle fonctionne globalement? Et que le modèle final construit avec la majorité des données à la fin est le modèle que j'utiliserais?

Je sais que cela peut être reformulé en une question encore plus simple. Après la validation croisée («origine évolutive»), dois-je simplement utiliser le dernier modèle construit (avec le plus grand sur-ensemble comme modèle ajusté final? Ou qu'est-ce qui est suggéré?


Avant la fonction tsCV, j'ai créé une fonction similaire qui n'a pas recyclé ni réestimé quoi que ce soit lors de la validation croisée. Curieux de savoir si ce que j'ai fait était mal ou non.
DataJack

Réponses:


1

Vous pouvez combiner l'origine en aval avec la validation croisée k-fold (aka backtesting avec validation croisée). Déterminez les plis à l'avance une fois, et à chaque fois que vous roulez, parcourez les k plis, entraînez-vous sur k-1 et testez sur k. L'union de tous les plis de test retenus vous donne une couverture complète de l'ensemble de données à ce moment-là, et les plis de train couvrent le jeu de données k-1 fois à ce moment-là, que vous pouvez agréger de la manière appropriée (par exemple, moyenne ). Ensuite, notez le train et testez séparément comme vous le feriez normalement pour obtenir les scores de train / test séparés à ce moment-là.

Lors de l'optimisation des paramètres, créez d'abord un ensemble d'exclusion distinct, puis effectuez la validation croisée décrite uniquement sur les données restantes. Pour chaque paramètre à optimiser, vous devez décider si ce paramètre est indépendant du temps (afin que vous puissiez effectuer l'optimisation sur tous les temps de roulement) ou dépendant du temps (de sorte que le paramètre est optimisé séparément à chaque fois). Dans ce dernier cas, vous pouvez représenter le paramètre en fonction du temps (éventuellement linéaire), puis optimiser à tout moment les coefficients indépendants du temps de cette fonction.


0

Si vous optimisiez les paramètres pour les données de test, vous ajusteriez partiellement vos données aux données de test au lieu des données d'entraînement. Vous voulez savoir quelle méthode est préférable aux données retenues et non, par exemple, à quel gamma doit être défini dans un modèle Holt Winters.


Vous avez raison, mais votre commentaire me fait réaliser que je n'ai pas dit que cette situation serait une validation croisée imbriquée, de sorte que les modèles ne sont pas formés sur l'ensemble de test de maintien. Je parle à la fois du réglage des paramètres en lui-même (par exemple, une seule méthode) et de la sélection des modèles / réglages imbriqués.
cdeterman

Disons que j'ai terminé la validation croisée et que Holt Winters a gagné, dois-je remonter le sur l'ensemble de données complet pour obtenir le gamma pour le modèle final?
cdeterman
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.