выбор запаздывающих предикторов с TSLM с использованием AICc

Я пытаюсь определить предикторы с запаздыванием, которые нужно включить в мою модель временных рядов. Поэтому я установил TSLM с задержкой до 3 независимой переменной.

lag_models <- data_train %>% model(
    ts_lag_0 = TSLM(Y ~ X)
  , ts_lag_1 = TSLM(Y ~ X + lag_X_01)
  , ts_lag_2 = TSLM(Y ~ X + lag_X_01 + lag_X_02)
  , ts_lag_3 = TSLM(Y ~ X + lag_X_01 + lag_X_02 + lag_X_03)
 )

data_train содержит данные перекрестной проверки.

lag_models %>% glance()

Запустив приведенный выше код, я получаю AIC, AICc, BIC и т. Д. С помощью модели предиктора с задержкой по.id. Мне интересно, можно ли получить эти метрики по модели только по модели без использования group_by() и summarize().

Огромное спасибо.

1 ответ

Решение

При использовании перекрестной проверки вы оцениваете модель для каждого сгиба / среза данных. В результате вы получите набор сводной статистики (AIC, AICc, BIC и т. Д.) Для каждой оценочной модели. Если бы вы объединяли их с помощью group_by() и summarize(), вы бы объединяли сводную информацию из моделей с разными данными ответа - это не рекомендуется, поскольку информационный критерий не сопоставим, когда данные ответа различаются.

Если вы хотите сравнить производительность каждой из моделей с помощью перекрестной проверки, вы можете использовать меры точности вне выборки с помощью precision (). Примеры использования fable для перекрестной оценки точности можно найти на https://otexts.com/fpp3/tscv.html

Другие вопросы по тегам