Прогнозирование значений с использованием модели Арима для периодов, которые не опережают конец ряда

Я создаю модель Аримы с помощью внешнего регрессора. Предположим, у меня есть n наблюдений. Функция predict.Arimaиз пакета forecastпросто делает прогнозы для n + 1 наблюдений.

Мне нужно сделать прогноз для n значения (последнего значения ряда ), изменив значение внешнего регрессора, т. е. мне нужно предсказать значение n наблюдение с заданным значением внешнего регрессора.

library(forecast)
set.seed(123)
aux <- 1:24
covari <- aux + rnorm(24,0,2)
vari <- ts(aux * runif(24,0,3), start=c(2010,1), freq=12)

mod <- auto.arima(vari, xreg=covari)

predict(mod, newxreg=20)

Этот код генерирует модель и показывает, как генерировать прогноз. Я могу управлять количеством периодов вперед, устанавливая параметр n.ahead.

predict(mod, newxreg=runif(4,15,25), n.ahead=4)

Этот код будет генерировать прогнозы для следующих 4 значений ряда.

Мне нужен n.ahead=-1, то есть прогноз значения внутри ряда, но с другим внешним регрессором.

Если я использую только один внешний регрессор, задача не усложняется, потому что, поскольку это аддитивная модель, я могу просто добавить разницу наблюдаемого значения xreg к нужному значению, умноженному на коэффициент xreg. Однако это становится более сложным, если количество внешних регрессоров увеличивается.

Есть ли способ предсказать значения, которые не опережают конец ряда модели Арима?

5
задан João Daniel 24 April 2012 в 19:51
поделиться