2017-01-09 5 views
0

У меня есть еженедельные значения данных, извлеченные из трендов google, и я хочу применить временные ряды в R для прогнозирования будущих значений. Я попытался использовать auto.arima(), но результаты кажутся только одним постоянным значением для всех будущих предсказаний, и если я вручную дам случайные параметры в arima (c (p, d, q)), я получаю различные типы Результаты. Итак, как определить соответствующие значения для моих данных.Параметры R-ARIMA. Как определить параметры аримы (p, d, q)?

data2<-ts(data$Volume) 
[1] 64 74 64 68 100 87 79 72 66 74 58 68 65 71 71 71 63 65 62 58 58 
[22] 58 58 60 56 51 56 52 58 59 58 60 66 67 69 67 80 66 73 73 72 68 
[43] 66 70 69 66 68 67 60 50 36 50 
fit<-auto.arima(data2) 
pred<-predict(fit,n.ahead=30, interaval="prediction", se.fit="FALSE") 
plot(pred) 
pred 

enter image description here

fit<-arima(data2,c(3,1,1) 
pred<-predict(fit,n.ahead=30, interaval="prediction", se.fit="FALSE") 
plot(pred) 
pred 

enter image description here

ответ

0

Этот ответ предполагает, что вы знаете, что параметры (р, ​​д и Q) означают, если нет, то вам нужно сделать некоторое чтение. Теперь в ARIMA-вызове есть два набора параметров: тренд и сезонный.

  1. Сначала выяснить, есть ли ваш данные какая-либо тенденция или сезонность, просто откладывая временные ряды, или используя разлагаются функция
  2. Если у вас есть представление о том, есть ли необходимость для тренда и/или сезонных разностей, вы можете попробовать некоторые значения для параметра d и/или D и визуализировать разную серию, чтобы решить соответствующее значение. Или вы можете сделать ACF в разной серии и остановиться, пока корреляции не начнутся с отрицательного значения.

  3. Теперь сделайте ACF и PACF на разных (стационарных) сериях. Определите, до каких лагов вы хотите сохранить условия AR/MA. Обычно сохранение одного из них в ненулевое значение должно быть в порядке. Как правило, если ACF быстро падает до отрицательных значений, используйте MA, иначе, если он падает постепенно, используйте AR.

0

Он показывает прямую линию, так как ваши данные не коррелируют.

пробег:

pacf(dat2) 

не отставали значения показывают значительную корреляцию и что также показано в приступе, который выбрал auto.arima. Глядя на подмножество данных, которые вы ему дали, не похоже, что ARIMA будет хорошим выбором модели для этих данных.

+0

Я пробовал тест «tbats», показанный онлайн для проверки сезонности, который привел к FALSE, поэтому как прогнозировать такие значения? и является ли функция FORECAST.ETS превосходным вариантом для прогнозирования значений таких данных? –

+0

Я не использовал Excel, поэтому не уверен. Вы можете поместить модель ets в R, если хотите. Единственный способ узнать, хорошо ли он работает, - это проверить его. Если у вас больше данных, чем в настоящее время, попробуйте установить пополам, а затем прогнозировать и сравнивать с фактическими значениями, чтобы увидеть, насколько это хорошо. – Kristofersen

+0

@MayankAgarwal Проверьте эту книгу https://www.otexts.org/book/fpp , Это очень легко понять и дает много примеров R-кода. – Kristofersen

0

Вы должны выбрать наилучшую модель саримы, посмотрев на график ACF и остатков или взяв модель аримы с наименьшим количеством AIC, тогда вы можете прогнозировать с функцией: m = pred (fit, n.ahead =). затем используйте m $ pred для поиска будущих прогнозов и m $ se, чтобы найти верхний и нижний пределы.