В книге Роба Хайндмана Роб описывает использование tsCV для оценки точности прогнозов моделей, возвращаемых auto.arima и ets.
Это скорее концептуальный вопрос, но я изучил базовый код 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. Может кто-нибудь объяснить, почему это нормально?