Мой вопрос включает функцию simulate.Arima()
в прогнозировании. У меня есть функция ARIMA с сезонностью, отличной от нуля разницей и внешними регрессорами (фиктивные переменные для праздников). Вот пример воспроизводимости:Будущее моделирование с внешними регрессиями с использованием имитации.Arima()
y <- ts(c(3,5,10,13,4,15,13,17,20,24,26,27))
dummy <- data.frame(dummy=c(0,0,0,0,1,0,0,0,0,0,0,0))
arima.1 <- arima(y, order=c(1,1,0), xreg=dummy)
future.dummy <- data.frame(dummy=c(0,0,1,0,0,0,0,0,0,0,0,0))
n <- nrow(future.dummy)
sim.1 <- simulate(arima.1, nsim=n, xreg=future.dummy)
Когда я выполняю это, появляется сообщение об ошибке. Я заметил, что когда я устанавливаю параметр future=FALSE
, он работает отлично.
Мой вопрос: Моделирует ли Арима, чтобы вы не запускали будущую симуляцию с новыми внешними регрессорами? Другими словами, вы должны выбрать между
- прогнозирования будущего без внешних регрессоров или
- имитирующих небудущее данных с различными внешними регрессоров?
И если это так, то это возможно разработать обходные пути, работающего под управлением simulate()
на predict.Arima
объекта? У меня отличная от нуля степень различия, поэтому важно, чтобы я мог смотреть в будущее. Спасибо за любую информацию, которая может быть предоставлена.
Используйте функцию 'Arima()' вместо 'arima()', и все должно быть хорошо. –
Спасибо. Кстати, большой поклонник.Всегда круто, чтобы ответить на ваш вопрос автором самой функции. Это кажется такой легкой ошибкой. Можете ли вы рассмотреть вопрос о добавлении простой однострочной оговорки на странице справки 'simulate()'? – sph21