个人站长适合做什么网站,做外贸主页网站用什么的空间好点,windows8 网站建站命令,网站开发速成培训机构这是关于时间序列的第N篇文章#xff0c;本文将介绍ARIMAX模型#xff0c;简单来说就是在ARIMA的基础上增加一个外生变量。ARIMAX和ARIMA相比在理论上没有太多新的内容#xff0c;所以本文直接介绍在R里怎么一步一步跑ARIMAX。在阅读这篇文章前#xff0c;需要对ARIMA有一定…这是关于时间序列的第N篇文章本文将介绍ARIMAX模型简单来说就是在ARIMA的基础上增加一个外生变量。ARIMAX和ARIMA相比在理论上没有太多新的内容所以本文直接介绍在R里怎么一步一步跑ARIMAX。在阅读这篇文章前需要对ARIMA有一定了解传送门在这里0100时间序列分析|AR(p),MA(q), ARIMA入门及R中实践zhuanlan.zhihu.com0100时间序列分析|ARIMA模型分步骤解析及R中实践zhuanlan.zhihu.com那么直接进入正题来ARIMAX吧~先举一个直观的需要用ARIMAX的例子假设你在经营一家游乐园你有过去三年游乐园的daily attendance数据以及daily events数据想要预测未来的daily attendance。其中input data就是历史的daily attendance和daily events output是未来的daily attendance。 如果用ARIMA的话那么input变量只能是历史的daily attendance, 而想要将历史的daily events也作为一个因变量的话就可以用ARIMAX模型。假设下面咱们要解决的就是这个问题步骤很简单来看下R中要怎么一步一步run code吧第一步时间序列数据集如果没有数据的话可以创建数据集使用以下code建立一个ARIMA(1,1,1)的时间序列数据historical_attendance arima.sim(list(order c(1,1,1), ar 0.9, ma -0.4, n 200)2. 如果已有数据的话记得将你的数据转化为时间序列数据historical_attendance ts(data$historical_attendance, frequency 365.25/7, start decimal_date(ymd(2015-06-27)))第二步把外生变量转变为matrix格式这步极其重要 我当时不知道要对外生变量进行格式转化卡了很久找不到BUG,最后做code review的时候老板一眼就看出了问题所在。xreg as.matrix(data$historical_events)第三步跑ARIMAX模型如果你数据量比较大的话这步要跑好久。我大概300数据量跑了一小时多。arimax - auto.arima(historical_attendance,xreg xreg,seasonal.testch, parallelTRUE,num.cores8,stepwiseFALSE,approximationFALSE)第四步做预测做预测前记得把test集中的外生变量也转化为matrix格式xreg_next as.matrix(data$future_events)
fcast_arimax - forecast(arimax, h10,xreg xreg_next)
第五步做一下可视化画个图什么的。只要掌握了ARIMAARIMAX就很简单的。对ARIMA不熟的 一定要把这篇先看懂哦0100时间序列分析|ARIMA模型分步骤解析及R中实践zhuanlan.zhihu.comPS: 我将开始频繁更新时间序列的各种模型了包括模型本身的讲解和在R中怎么写code。已更新的有指数平滑ETS, 自回归AR, 移动平均MAARMA, ARIMA, ARIMAX,TABTS。接下来会更新的模型包括TABTSTSAR, LSTM等欢迎关注专栏一锅数据汤zhuanlan.zhihu.com