Указанный период прогноза не ограничивает прогноз - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь построить модель ARIMA из 10-летнего временного ряда и использовать ее для прогнозирования будущего года.Чтобы протестировать свою модель, я тренируюсь на данных за 9 лет, прогнозирую данные за 1 год и сравниваю прогнозные значения с фактическими значениями для этого года.

Проблема : Я говорю прогнозу () ограничить период его прогнозирования 365, то есть 1 годом.Но когда я строю график, он выдает 9 лет или «h =» примерно 3285. Почему это происходит?

##The time series is 3650 daily observations of rainfall
x <- ts(x$obs, start=c(2007, 10), end=c(2017, 9), frequency = 365)

##create training set - first 9 years of observations
x_train <- subset(x, start = 1, end = 3285)

##test set - last year of observations
x_test <- subset(x, start = 3286, end = 3650)

##fit the model
x_train_fit <- auto.arima(x_train, seasonal=FALSE, xreg=fourier(x_train, K=1))

##forecast using the model 
x_fcast_test <- forecast(x_train_fit,h=365, xreg=fourier(x_train, K=1))
plot(x_fcast_test, col="black") 
lines(x_test,col="red")

enter image description here

Обновление: Ниже приведен правильный ответ Роба Хиндмана.Число периодов прогноза будет установлено равным количеству строк xreg, потому что это используется в пользу h =, когда используется xreg, поэтому мой h = не использовался.Следовательно, передача всего обучающего набора в качестве exreg создала прогноз, равный по длине обучающему набору.

x_fcast_test <- forecast(x_train_fit,h=365, xreg=fourier(x_test, K=1))
plot(x_fcast_test, col="black") 
lines(x_test,col="red")

enter image description here

1 Ответ

0 голосов
/ 02 декабря 2018

Всегда стоит прочитать предоставленные справочные файлы.В этом случае:

h: количество периодов для прогнозирования.Если используется xreg, h игнорируется, а количество периодов прогноза устанавливается равным количеству строк xreg.

Вы передали данные обучения в аргументе xregТаким образом, вы получаете столько прогнозов, сколько и наблюдений.

Предположительно, вы намеревались использовать тестовые данные для аргумента xreg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...