2015-04-29 2 views
-1

Я работаю над предсказанием в R, используя модели временных рядов. Я использовал функцию auto.arima, чтобы найти модель для моего набора данных (который является объектом ts). fit<-auto.arima(data) я могу затем построить результаты прогнозирования для 20 следующих дат с помощью функции прогноза:Проблемы с Arima.sim в R

plot(forecast(fit,h=20)) 

Однако я хотел бы добавить внешние переменные, и я не могу это сделать, используя прогноз, потому что это своего рода черный ящик для меня, поскольку я новичок в R. Итак, я попытался имитировать его с помощью функции arima.sim и возникла проблема: КАК ИНИЦИАЛИЗИРОВАТЬ ЭТУ ФУНКЦИЮ? Я получил модель, установив model=as.list(coef(fit)), но другие параметры все еще неясны для меня. Я прошел через сотни страниц, в том числе в stackoverflow, но никто, кажется, действительно не знает, что происходит. Как это рассчитывается? Как и почему n.start (период ожога) должен иметь длину ma + ar, а не только длину max (ar, ma)? Что именно начинается.иннов? Я думал, что понял, когда есть только часть AR, но я не могу воспроизвести результаты с помощью фильтра AR + MA. Я понимаю, что start.innov представляет ошибки между отфильтрованным нулевым сигналом и истинным сигналом, верно ли это? Подобно этому, если вы хотите иметь ар 2-го порядка с начальными условиями (а1, а2) вам необходимо установить

start.innov[1]=a1-ar1*0-ar2*0=a1 

start.innov[2]=a2-ar1*start.innov[1] 

и Innov к rep(0,20), но что делать, когда сталкиваются с функцией Arima, как вы установите INNOV чтобы получить то же самое бордюры, что и прогноз? спасибо за помощь !!!

+1

Формируйте свой вопрос, чтобы стать читаемым? – HaveNoDisplayName

+0

Извините, это на самом деле мой первый пост на Stack, так что ошибка начинающего! – jean

+0

пожалуйста, помогите мне с моим вопросом: [Мне нужна помощь, мне нужно моделировать ARIMA в R] [1] [1]: https://stackoverflow.com/questions/32918632/i- need-help-i-need-simulate-a-arima-in-r –

ответ

1

Вы, кажется, путаетесь между моделированием и симуляцией. Вы также ошибаетесь в отношении auto.arima().

auto.arima() Разрешить экзогенные переменные через аргумент xreg. Прочтите файл справки. Вы можете включить экзогенные переменные для будущих периодов, используя forecast.Arima(). Снова прочитайте файл справки.

Непонятно, почему вы здесь ссылаетесь на arima.sim(). Он предназначен для моделирования процессов ARIMA, а не для моделирования или прогнозирования.

+0

Спасибо, сэр за ваш быстрый ответ, я не знал, как включить внешние переменные с прогнозом.arima, поэтому я попытался сделать это вручную с помощью аримы. sim, что приятно, потому что это может дать вам лучшее понимание того, что сделано. Я не путаюсь между моделированием и симуляцией, я запутался в том, как вы прогнозируете использование модели, которая у вас есть (как работает прогноз). – jean

+0

Мое понимание - когда у вас есть модель вашего сигнала (например, с auto.arima), вы используете последние значения вашего сигнала и последние ошибки и фильтруете его, используя фильтр arima, чтобы получить следующее значение, а затем снова. Я был бы так рад, если бы вы могли помочь мне сделать это с помощью arima.sim или объяснить мне, как вы это делаете с прогнозом. Но ваши функции аримы, похоже, действительно работают, спасибо вам за вашу работу в R! – jean

+0

Скажите, пожалуйста, если мое понимание полностью отключено или нет! Тем временем я собираюсь использовать прогноз.Арима, но я хотел бы сделать это с помощью arima.sim тоже. – jean