Вопрос по forecasting, linear-regression, r, regression, time-series – Прогнозирование временных рядов с использованием R

7

У меня есть следующий код R

library(forecast)
value 

Ваш Ответ

4   ответа
0

Скользящая средняя точнее составлять прогнозы.

Я подозреваю, что эта модель auto.arima очень похожа на скользящую среднюю ... Jochem
Я не знаком с R, но все необходимые формулы уже есть на странице Википедии. Samuel Liew
Можете ли вы привести пример кода для использования скользящей средней? Nandu
17

Поскольку вы определили частоту как 24, я предполагаю, что вы работаете с 24 часами (ежедневно) на цикл и, следовательно, имеете в своем историческом наборе данных приблизительно 2 цикла. Вообще говоря, это ограниченные выборочные данные для запуска прогноза временных рядов. Я бы порекомендовал получить немного больше данных, а затем вы снова можете сделать модель прогнозирования. Чем больше у вас данных, тем лучше они будут отражать сезонность и, следовательно, прогнозировать будущие значения. При ограниченном количестве доступных автоматических алгоритмов, таких как auto.arima, часто по умолчанию используется нечто похожее на скользящие средние. Ваш набор данных заслуживает чего-то лучшего, чем скользящие средние, поскольку в цикле есть некоторая сезонность. Существует ряд алгоритмов прогнозирования, которые могут помочь вам лучше сформировать прямую кривую; могут помочь такие вещи, как Холт-Винтерс или другие методы экспоненциального сглаживания. Тем не менее, auto.arima также является неплохой ставкой (сначала я попробую посмотреть, что я могу с этим сделать).

Получение большего количества данных и выполнение той же самой рутины улучшит Вашу диаграмму. Лично я предпочитаю использоватьforecast надpredict; данные выглядят немного лучше, так же как и график, поскольку он показывает ваши доверительные интервалы. В коде я также немного расширил набор данных, скопировав два периода, чтобы мы получили четыре периода. Смотрите результат ниже:

library(forecast)
value 
Йохем, этот вопрос довольно старый, возможно, в пакетах произошли некоторые изменения, так как ты написал свой ответ. Но когда я пробую ваш код, я все равно получаю простую скользящую среднюю в прогнозе. Эти быстрые линии на вашем графике отсутствуют в моем выводе. Я добавил еще несколько периодов, но это только делает график более плавнымcode sensor2 Aakash Gupta
-3

Я предлагаю посмотреть на пакет ltp наhttps://code.google.com/p/ltp/ Вы также можете посмотреть на веб-интерфейсhttps://github.com/matteoredaelli/predictoR

Ответы, содержащие только ссылки, настоятельно не рекомендуется использовать здесь при переполнении стека. Вместо,это предпочтительнее включить основные части ответа здесь и предоставить ссылку для справки. drs
1

auto.arima () возвращает лучшую модель ARIMA в соответствии со значением AIC, AICc или BIC. На основании вашегозначение' Набор данных, вероятно, выбрал модель ARMA (1,0) или AR (1), которая, как вы можете видеть, имеет тенденцию очень быстро возвращаться к среднему значению. Это всегда будет происходить с моделью AR (1) в долгосрочной перспективе, поэтомуне очень полезно, если вы хотите предсказать больше, чем на пару шагов вперед.

Вы можете посмотреть на подгонку модели другого типа, возможно, проанализировав acf и pacf ваших значений данных. Затем вам нужно будет проверить, подходит ли ваша альтернативная модель для данных.

Похожие вопросы