Tenho experiência anterior com validação cruzada 'normal' dobra K para ajuste de modelo e estou um pouco confuso com o aplicativo em modelos de séries temporais.
Entendo que, para modelos de séries temporais, o corolário da validação cruzada é o procedimento de 'origem progressiva' descrito por Hyndman . Isso faz bastante sentido para mim e o código abaixo demonstra o uso da tsCV
função no R, no blog de Hydman , para mostrar como os erros diferem do CV versus o conjunto de dados inteiro de uma só vez.
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
Agora, nesse link acima, ele menciona que o parâmetro deriva é re-estimado em cada nova origem de previsão. No CV 'normal', eu teria uma grade de parâmetros que avaliaria em cada dobra, para obter uma média para determinar os melhores parâmetros a serem usados. Eu usaria esses 'melhores' parâmetros para ajustar-se ao conjunto completo de treinamento e o usaria como meu modelo final para avaliar meu conjunto de testes realizado anteriormente. Observe que isso é validação cruzada aninhada, portanto não estou treinando no meu conjunto de testes em nenhum momento.
Isto claramente não é o caso com o procedimento de 'origem rolar para a frente', onde os parâmetros são optimizados para cada dobra (pelo menos para os métodos como R bats
, tbats
, auto.arima
, etc.). Estou enganado ao pensar sobre esse método em termos de ajuste de parâmetros do modelo ou como escolheria os parâmetros do modelo de série temporal para definir o modelo final que seria usado? Ou o ajuste de parâmetros não considera um problema nos modelos de séries temporais em que a otimização parece fazer parte do ajuste do modelo e o resultado do CV é apenas dizer o desempenho geral de cada modelo? E que o modelo final construído com a maioria dos dados no final é o modelo que eu usaria?
Sei que isso pode ser reformulado em uma pergunta ainda mais simples. Após a validação cruzada ('rolling forward origin'), apenas uso o último modelo construído (com o maior superconjunto como o modelo final ajustado? Ou o que é sugerido?