В книге Роба Хиндмана Роб описывает использование tsCV для оценки точности прогноза моделей, возвращаемых auto.arima и т. Д.
Это скорее концептуальный вопрос, но я изучил базовый код для tsCVи увидел это:
for (i in seq_len(n - 1)) {
fc <- try(suppressWarnings(forecastfunction(subset(y,
start = ifelse(is.null(window), 1L, ifelse(i - window >=
0L, i - window + 1L, stop("small window"))),
end = i), h = h, ...)), silent = TRUE)
if (!is.element("try-error", class(fc))) {
e[i, ] <- y[i + (1:h)] - fc$mean
}
}
Таким образом, это означает, что для каждой итерации в перекрестной проверке прогноза будет оцениваться новый ets / auto.arima.По моему мнению, я не вижу, как это оценивает точность прогноза конкретной ARIMA или модели сглаживания, поскольку модель, оцененная в момент времени (t-1), будет отличаться от окончательной модели, выбранной в момент времени t.Может кто-нибудь объяснить, почему это нормально?