Je travaille sur un modèle de prévision basé sur ANN pour une série temporelle financière. J'utilise la validation croisée 5 fois et les performances moyennes sont ainsi. Les performances sur le dernier pli (l'itération où le dernier segment est omis de la formation et utilisé pour la validation) sont meilleures que la moyenne.
Est-ce une coïncidence / dépend des données, ou les performances de validation sur le dernier pli sont-elles généralement meilleures? (probablement parce que la formation avec toutes les données précédentes est plus liée aux données suivantes dans les séries chronologiques)
Cela ressemble un peu à une question étrange, mais j'espère quand même quelques réponses. Merci d'avance :)
Réponses:
Avec les séries chronologiques, vous ne pouvez pas tester un modèle de prévision via la validation croisée de la manière habituelle car vous utilisez ensuite les observations futures pour prédire le passé. Vous devez utiliser uniquement les observations passées pour prédire l'avenir. L'équivalent de la série chronologique de LOO CV consiste à utiliser une origine de prévision glissante à la place. J'ai écrit à ce sujet dans ce billet de blog . Je ne sais pas si le CV k-fold a un équivalent de série temporelle directe.
la source
Dans Sci-Kit Learn Python Kit, ils ont quelque chose appelé "TimeSeriesSplit" qui ressemble essentiellement à l'ensemble d'échantillons de formation / test que vous obtiendriez d'une optimisation de marche avant. Rob avait raison, vous ne pouvez pas utiliser les futurs points de données pour vous entraîner pour les anciens ensembles de tests .... donc la meilleure façon de procéder à une validation croisée est de diviser vos ensembles d'entraînement en autant de "plis" que possible tout en conservant l'ensemble de test "Walking Forward" . La conséquence est que chaque entraînement successif définit un surensemble de ceux qui l'ont précédé, et chaque test définit des données de plus en plus récentes pour garder une longueur d'avance sur la "marche en avant".
la source