выбор запаздывающих предикторов с 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