R прогнозирование данных о доходах с высокой сезонностью

#r #forecasting

#r #прогнозирование

Вопрос:

У меня есть данные о ежедневных доходах за три года. В год наблюдается довольно постоянный рост данных, но данные носят сезонный характер с огромными пиками в 4 квартале (черная пятница, безумие перед Рождеством и т. Д.) И в целом за неделю (высокий доход в понедельник, все меньше и меньше в течение недели, самый низкий в субботу, начинает расти по воскресеньям).

Вместо того, чтобы использовать скучную электронную таблицу с линейным прогнозированием, мне нужен R-скрипт, который вводит ежедневные данные за три года и применяет алгоритм для прогнозирования ежедневного прогноза доходов на следующие 6 месяцев. Я бы хотел, чтобы входные данные представляли собой просто CSV-файл с датами и номерами доходов.

Я слышал, что ARIMA хороша, но мой друг-экономист, который видел мои данные, считает, что прогнозирование с использованием фильтров Калмана даст очень хорошие результаты.

Может ли кто-нибудь опубликовать сценарий, чтобы показать мне, как применять алгоритм ARIMA или алгоритм фильтра Калмана для прогнозирования моих данных? Спасибо!

Комментарии:

1. Это не вопрос программирования. Это также очень специфично для вашей ситуации, и вы просите, чтобы кто-то выполнил вашу работу бесплатно.

2. Я не думаю, что кто-нибудь здесь может ответить, как показать математику о том, как можно выполнить простой фильтр Калмана. Если бы я знал ответ, я бы не спрашивал.

3. Точно. Математика ! = программирование. Спросите на математическом форуме или заплатите репетитору.

Ответ №1:

Хотя у R, безусловно, есть инструменты для реализации этих анализов, они являются мощными инструментами, и, вероятно, было бы лучше, если бы вы прочитали о них и о том, как они работают … (Современная прикладная статистика Венейблса и Рипли в S может быть разумной отправной точкой, хотя я не знаю, обсуждаются ли в ней фильтры Калмана). Тем временем:

 ??arima
??kalman
?arima
?KalmanLike
 

Или, установив sos пакет:

 library("sos")
findFn("arima forecast")
findFn("kalman forecast")
 

Или просто погуглите «фильтр Калмана R» (!!) — я сделал и обнаружил, что первые 8 (!) просмотров выглядели очень полезными (9-е было введением в фильтры Калмана в MATLAB 🙂 )

Другие могут думать иначе, но я, как правило, потрачу больше усилий, помогая кому-то провести анализ, когда увижу, что они пытались справиться с этим самостоятельно…

Ответ №2:

Это должно быть решено с помощью регрессии. У вас будет 6 фиктивных переменных для воздействий дня недели. У вас будет 11 ежемесячных фиктивных переменных для сезонности. У вас будут фиктивные переменные для каждого из праздников.