У меня есть df с идентификатором, месячной датой и значением этого месяца. Вот пример:
df<-tibble::tribble(
~ID, ~MonthlyDate, ~value,
1L, "2018-09-01", -29.884,
1L, "2018-10-01", 16.143,
1L, "2018-11-01", 3.785,
1L, "2018-12-01", -264,
1L, "2019-01-01", -308,
1L, "2019-02-01", 712,
1L, "2019-03-01", -260,
1L, "2019-04-01", -300,
1L, "2019-05-01", -149,
1L, "2019-06-01", -291,
1L, "2019-07-01", -284,
1L, "2019-08-01", -158,
1L, "2019-09-01", -272,
1L, "2019-10-01", -289,
1L, "2019-11-01", -1.268,
2L, "2016-12-01", -489,
2L, "2017-01-01", 7.606,
2L, "2017-02-01", -458,
2L, "2017-03-01", 8.603,
2L, "2017-04-01", 6.298,
2L, "2017-05-01", 2.598,
2L, "2017-06-01", 9.14,
2L, "2017-07-01", 6.004,
2L, "2017-08-01", 3.684,
2L, "2017-09-01", -1.815,
2L, "2017-10-01", 12.487,
2L, "2017-11-01", -1.288,
2L, "2017-12-01", 3.213,
3L, "2018-01-01", 3.447,
3L, "2018-02-01", 3.986,
3L, "2018-03-01", 8.08201,
3L, "2018-04-01", 2.033,
3L, "2018-05-01", 4.401,
3L, "2018-06-01", 3.482,
3L, "2018-07-01", 4.04,
3L, "2018-08-01", 1.607,
3L, "2018-09-01", 694,
3L, "2018-10-01", 4.026,
3L, "2018-11-01", -176,
3L, "2018-12-01", -41,
3L, "2019-01-01", 815,
3L, "2019-02-01", 1.743,
3L, "2019-03-01", -3.433,
3L, "2019-04-01", 4.167,
3L, "2019-05-01", 3.792,
3L, "2019-06-01", -293,
3L, "2019-07-01", -4.666,
3L, "2019-08-01", 835,
3L, "2019-09-01", 5.434,
3L, "2019-10-01", 4.636,
3L, "2019-11-01", 2.731
)
df
# A tibble: 51 x 3
# ID MonthlyDate value
# <int> <chr> <dbl>
#1 1 2018-09-01 -29.9
#2 1 2018-10-01 16.1
#3 1 2018-11-01 3.78
#4 1 2018-12-01 -264
#5 1 2019-01-01 -308
#6 1 2019-02-01 712
#7 1 2019-03-01 -260
#8 1 2019-04-01 -300
#9 1 2019-05-01 -149
#10 1 2019-06-01 -291
Мне нужно использовать auto.arima () для автоматического выбора модели ARIMA, где вы найдете модель, разделенную идентификатором. Обратите внимание, что не все начинаются или заканчиваются с одной и той же даты. Также мне нужно посмотреть, какая модель выбирается
Я пытался использовать split:
df2<-split(df,df$ID)
, а затем lapply:
lapply(df2,auto.arima())
, но я получил ошибку Ошибка в as.ts (x): аргумент "y" отсутствует, по умолчанию нет Я не знаю, как сгруппировать его по id, затем преобразовать в ts и применить auto.arima. Кто-нибудь знает, как это сделать? спасибо!