covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践
这是关于时间序列的第N篇文章,本文将介绍ARIMAX模型,简单来说就是在ARIMA的基础上增加一个外生变量。ARIMAX和ARIMA相比在理论上没有太多新的内容,所以本文直接介绍在R里怎么一步一步跑ARIMAX。
在阅读这篇文章前,需要对ARIMA有一定了解,传送门在这里:
0100:时间序列分析|AR(p),MA(q), ARIMA入门及R中实践zhuanlan.zhihu.com
0100:时间序列分析|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.test="ch", parallel=TRUE,num.cores=8,stepwise=FALSE,approximation=FALSE)
第四步:做预测
做预测前,记得把test集中的外生变量也转化为matrix格式
xreg_next = as.matrix(data$future_events)
fcast_arimax <- forecast(arimax, h=10,xreg = xreg_next)
第五步:做一下可视化,画个图什么的。
只要掌握了ARIMA,ARIMAX就很简单的。对ARIMA不熟的, 一定要把这篇先看懂哦:
0100:时间序列分析|ARIMA模型分步骤解析及R中实践zhuanlan.zhihu.com
PS: 我将开始频繁更新时间序列的各种模型了,包括模型本身的讲解和在R中怎么写code。
已更新的有:指数平滑ETS, 自回归AR, 移动平均MA,ARMA, ARIMA, ARIMAX,TABTS。
接下来会更新的模型包括:TABTS,TSAR, LSTM等
欢迎关注专栏:
一锅数据汤zhuanlan.zhihu.com
covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践相关推荐
- arima 数据预处理_时间序列分析|ARIMA模型分步骤解析及R中实践
你是否想要做时间序列分析,但却不知道代码怎么写? 你是否不清楚时间序列分析各种模型该在什么情况下使用? 本文将针对以上两个问题,带你入门时间序列分析~ 等等! 不止'入门' 读完这篇,你立即就能在R中 ...
- R语言ggplot2可视化:可视化饼图分面图并在图中添加数据标签
R语言ggplot2可视化:可视化饼图分面图并在图中添加数据标签 目录 R语言ggplot2可视化:可视化饼图分面图并在图中添加数据标签
- R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等
R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录
- R 语言做时间序列分析的实例(模式识别、拟合、检验、预测)
文章目录 一.准备工作 1.数据准备 2.基本概念 二.数据处理 1.模式识别 2.参数估计 3.诊断性检验 1 残差序列 2 Ljung-Box 检验 4.预测 一.准备工作 1.数据准备 所使用的 ...
- 基于R语言的时间序列分析预测
数据来源: R语言自带 Nile 数据集(尼罗河流量) 分析工具:R-3.5.0 & Rstudio-1.1.453 #清理环境,加载包 rm(list=ls()) library(forec ...
- 二元置信椭圆r语言_一般加性模型的简介、应用举例及R语言操作
一般加性模型的简介.应用及R语言操作举例前文在"平滑回归举例"中,提到当未知自变量和响应变量间的关系,难以选择合适的参数模型描述二者间的响应状态,或者期望探索二者可能的响应曲线形式 ...
- python时间序列分析航空旅人_时间序列分析-ARIMA模型(python)
时间序列概念:在生产和科学研究中,对某一个或者一组变量 进行观察测量,将在一系列时刻 所得到的离散数字组成的序列集合,称之为时间序列.时间序列分析是根据系统观察得到的时间序列数据,通过曲线拟合和参数估 ...
- python arima模型_时间序列分析 ARIMA模型 Python(2)
最近做了一个时间序列分析的项目.时间序列分析不同于以前的项目--看一下相关的库怎么用,就可以快速上线应用.它是非常需要你的基础知识的,Hamilton关于<时间序列分析>方面的知识,写了厚 ...
- R语言作图好看的秘籍:RColorBrewer调色板详解
朋友们说我作图的配色还可以,这其实不是我的功劳,是因为 R 语言有许多非常优秀的调色板,本文就介绍一个非常流行的,我也经常在用的调色板 R 包:RColorBrewer. 安装 install.pac ...
最新文章
- Kubernetes的未来是虚拟机?
- [数据结构]-散列表(哈希表)
- Matlab优化函数中options选项的修改
- css 中 的作用
- hdu 3549 Flow Problem(最大流模板题)
- C# 面向对象三大特性:封装、继承、多态
- java线程工作原型_深度解析Java内存的原型及工作原理
- 面向对象 VS 面向过程
- Java基础提升高级API
- Linux eBPF:bcc 用法和原理初探之 kprobes 注入
- MyBatis-Plus分页查询——Page
- CSS中设置height:100%无效的解决方案
- 【Java篇】 Java小游戏中加入背景音乐
- Arcgis使用DEM数据计算坡度
- 新版犀牛书该不该入手?
- C++ SHFileOperation实现文件、文件夹拷贝、删除、重命名
- 74ls390设计任意进制计数器_《设计任意进制计数器》的实验报告
- js获取当前农历时间
- RCNN到faster RCNN 简介
- Android开发是简单的「能写应用就行」吗?复习指南
热门文章
- pm2 start 带参数_3款有海景天窗的国产SUV,最适合带女朋友看星星,首付3万拿下...
- pythonhelloworld实例_Python基于Tkinter的HelloWorld入门实例
- android 抓取webview中的所有图片_如何一键提取PDF文档中的所有图片?
- cygwin 编译 android vlc,Cygwin 编译 VLC 问题
- linux dns 内网ip,Ubuntu中ip地址、网关、网络号、DNS等解释
- java中怎么获取配置文件的值_java如何获取配置文件的值
- linux课堂笔记(3)
- 一秒执行一次_《一秒钟》:一贯的粗旷式抓大放小,张艺谋的自命题作业总是要观众自己再做一遍...
- java 流式_Java开发笔记(七十二)Java8新增的流式处理
- linux的sonar安装,Linux安装sonar