Tengo experiencia previa con validación cruzada K-fold 'normal' para el ajuste del modelo y estoy un poco confundido por la aplicación en modelos de series temporales.
Tengo entendido que para los modelos de series temporales, el corolario de la validación cruzada es el procedimiento de "origen progresivo" descrito por Hyndman . Esto tiene mucho sentido para mí y el siguiente código demuestra el uso de la tsCVfunción en R, del blog de Hydman , para mostrar cómo los errores difieren de CV frente a todo el conjunto de datos de una sola 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
Ahora, en el enlace de arriba, menciona que el parámetro de deriva se vuelve a estimar en cada nuevo origen de pronóstico. En el CV 'normal', tendría una cuadrícula de parámetros que evaluaría en cada pliegue para poder obtener un promedio para determinar los mejores parámetros a utilizar. Luego usaría esos 'mejores' parámetros para ajustar el conjunto de entrenamiento completo y lo usaría como mi modelo final para evaluar mi conjunto de pruebas previamente presentado. Tenga en cuenta que esta es una validación cruzada anidada, por lo que no estoy entrenando en mi conjunto de pruebas en ningún momento.
Esto claramente no es el caso con el procedimiento 'rodando hacia adelante origen', donde los parámetros están optimizados para cada pliegue (al menos para los métodos R como bats, tbats, auto.arima, etc.). ¿Me equivoco al pensar en este método en términos de ajuste de parámetros del modelo o cómo elegiría los parámetros del modelo de serie temporal para establecer el modelo final que se utilizaría? ¿O el ajuste de parámetros no considera un problema con los modelos de series temporales en los que la optimización parece ser parte del ajuste del modelo y el resultado del CV es simplemente decir qué tan bien se desempeña cada modelo en general? ¿Y que el modelo final construido con la mayoría de los datos al final es el modelo que usaría?
Me doy cuenta de que esto se puede reformular en una pregunta aún más simple. Después de la validación cruzada ('origen progresivo'), ¿acabo de usar el último modelo construido (con el superconjunto más grande como modelo ajustado final? ¿O qué se sugiere?