covariance matrix r语言_时间序列分析

2023-11-12

这是关于时间序列的第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吧:

第一步:时间序列数据集

  1. 如果没有数据的话,可以创建数据集:使用以下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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

covariance matrix r语言_时间序列分析 的相关文章

  • 十大最佳虚拟化软件

    正如该术语在计算术语中暗示的那样 虚拟化涉及到创建虚拟操作系统 网络平台和存储设备 当今世界 需要复杂的计算机系统来帮助管理大型企业 虚拟化帮助计算机系统和网络管理员使用相同的硬件运行并行操作系统进程 这意味着硬件和软件集成的有效使用 它还
  • centos 查看内核 版本

    查看系统内核版本 方法一 root multiview cat proc version Linux version 3 10 0 693 el7 x86 64 builder kbuilder dev centos org gcc ver
  • Linux下C语言使用openssl库进行MD5校验

    作者 无脑仔的小明 出处 http www cnblogs com wunaozai 我们以一个字符串为例 新建一个文件filename txt 在文件内写入hello 然后在Linux下可以使用命令md5sum filename txt计
  • 2.3mnist手写数字识别之网络结构精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列)

    2 3mnist手写数字识别之网络结构精讲 百度架构师手把手带你零基础实践深度学习原版笔记系列 目录 2 3mnist手写数字识别之网络结构精讲 百度架构师手把手带你零基础实践深度学习原版笔记系列 概述 经典的全连接神经网络 卷积神经网络
  • [SQL]SQL server 常用代码

    判断数据库是否存在 USE eshop 选取数据库 GO IF EXISTS SELECT FROM sysdatabases WHERE name eshop 判断eshop是否存在 DROP DATABASE eshop 删除 GO 新
  • Cisco路由器 VOIP 配置

    Cisco路由器VOIP 配置解析 在企业网络中推广IP语音技术有很多优点 例如可以控制数据流量 保证语音质量 充分利用企业租用的数据线路资源 节省传统的长途话费等等 企业使用IP语音技术 可以将语音 数据和多媒体通信融合在一个集成的网络中
  • 玩转Mixly – 2、Arduino AVR编程 之 输入输出

    以下内容源自Mixly官方技术文档 https mixly readthedocs io zh CN latest Arduino AVR 01Input Output html 输入 输出 输入 输出所包含的指令主要分为四部分 控制管脚的
  • CSS 轻松搞定标签(元素)居中问题

    在CSS里 标签位置居中一直是困扰Web前端的难题 在本文中 我对这类问题进行了探究和给出了几点建议 供读者参考 1 行内标签 1 1 水平居中 在父级标签中使用 text align center 效果 1 2 垂直居中 如果是单行 则为
  • 工业级路由器和家用路由器的区别_5G工业级路由器有哪些优势

    一 5G工业级路由器比4G工业级路由器强在哪 对于消费者而言 5G的价值在于它拥有比4G LTE更快的速度 峰值速率可达几十Gbps 例如你可以在一秒钟内下载一部高清电影 而4G LTE可能要10分钟 5G网关 5G路由 因而 和4G工业级
  • Mysql中行转列和列转行

    一 行转列 即将原本同一列下多行的不同内容作为多个字段 输出对应内容 建表语句 DROP TABLE IF EXISTS tb score CREATE TABLE tb score id INT 11 NOT NULL auto incr
  • C语言的关键字,字符和ASCII码

    关键字的介绍 C语言的关键字有 1 数据类型关键字 2 控制语句关键字 3 存储类型关键字 4 其他关键字 数据类型关键字有12个 char 声明字符型变量或函数 double 声明双精度变量或函数 enum 声明枚举类型 float 声明
  • 10-11

    函数 函数体内部的语句在执行时 一旦执行到return时 函数就执行完毕 并将结果返回 因此 函数内部通过条件判断和循环可以实现非常复杂的逻辑 如果没有return语句 函数执行完毕后也会返回结果 只是结果为undefined 定义方法一
  • ROS笔记 URDF及rviz可视化及遇到的问题

    在学习http gazebosim org tutorials tut ros urdf中遇到一些问题 因为版本不同出现错误 GazeboRosControlPlugin missing while using DefaultRobotHW
  • FIO 磁盘性能测试

    FIO 磁盘性能测试 fio 是一个开源压力测试工具 主要用来测试硬盘 io 性能 这个工具的可定制性非常强 可以根据测试者的想法进行各种混合 io 测试 它支持 13 种不同类型 io 引擎 libaio sync mmap posixa
  • 系统设计感悟

    author skate time 2012 07 26 系统设计感悟 总结以往教训 以后再设计系统时注意点 首先考虑 系统不同的服务对象的定位 比如优先级等 系统的考核指标定位 性能 稳定 扩展伸缩 再次设计系统时必须考虑 1 控制表的数
  • C++语言入门3(定义整数与整数输入)

    关于整数 c 是一个对定义要求很严格的语言 对于数的定义也有很多种 比如整数 浮点数 整数不言而喻 不含有小数点 关于整数的定义也有很多种 最常用的无疑是int 我们定义整数一般选择的是int int可以表示的整数范围可以达到2 32 1
  • ESP32调试笔记

    1 现象 上电后一直复位 rst 0x3 SW RESET boot 0x13 SPI FAST FLASH BOOT 原因 Flash烧录时 ota data和app0位置错了 解决 把ota data和app0位置烧录正确即可 位置从分
  • 【vue3总结知识点——精简一】

    vue3总结知识点 认识vue3 Composition API setup 执行时机 setup 包含的生命周期 ref获取页面数据 reactive reactive与ref的异同 比较Vue2与Vue3的响应式 vue2的响应式 Vu
  • 组合数打表模板

    组合数打表模板 组合数打表模板 适用于N lt 3000c i j 表示从i个中选j个的选法 1 2 3 4 5 6 7 8 9 10 11 12 long long C N N const int mod 1e9 5 void get C

随机推荐

  • MFC创建内存映射文件示例

    该实例是在程序的exe路径下 实现读取 写入内存映射文件功能 头文件 ifdef GERNERAL PRODUCTDATA EXP define GERNERAL PRODUCTDATA API declspec dllexport els
  • window中如何用命令行新建文件夹和文件

    1 新建文件夹 D gt mkdir test 通过mkdir 文件夹名 回车即可用命令行工具新建文件夹 2 新建文件 cd test文件目录下 D gt test type nul 文件名 回车即可创建新的文件
  • Element UI的table表格中实现复选框勾选

    需求 在table中实现勾选多行复选框的内容 点击提交按钮 选择的复选框与表格内容对应
  • Matlab 常用快捷键

    MATLAB Numpy函数对照表 http mathesaurus sourceforge net matlab python xref pdf 常见快捷键 Ctrl R 注释代码 Ctrl T 取消注释代码 Ctrl 或 先将光标移动到
  • stm32——PWM实现呼吸灯效果

    使用pwm点亮led 实现呼吸灯效果 led为什么可以越来越亮 越来越暗 由不同的占空比决定 占空比由CCRx决定 1 芯片手册查看引脚pwm通道 2 cubeMX sys设置串口 RCC设置时钟来源 配置时钟 配置io口的pwm输出 三
  • 华为机顶盒系统时间同步服务器,华为悦盒主时间同步服务器地址

    华为悦盒主时间同步服务器地址 内容精选 换一换 华为云存储容灾服务 简称SDRS 提供了虚拟机级别的容灾保护 当主站点故障的时候 虚拟机可以在备站点迅速恢复 以确保业务的联系性 来自 产品 边缘节点既可以是物理机 也可以是虚拟机 边缘节点需
  • Linux下C/C++语言gdb调试方法

    1 gdb参数列表 启动程序准备调试 gdb your proceduce 或者先输入gdb 然后输入 file your proceduce 然后使用run或者r命令开始程序的执行 也可以使用 run parameter将参数传递给该程序
  • 核酸检测安排

    题目描述 在系统 网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查 每名采样员的效率不同 采样效率为N人 小时 由于外界变化 采样员的效率会以M人 小时为粒度发生变化 M为采样效率浮动粒度 M N 10 输入保证N 10 的结
  • 软件测试工程师(4k~6k)的工作怎么找?转行IT人特别是应届生得好好看看这篇文章了...

    前言 作为一个入行软件测试10多年的老兵来说 最初我的工作也不是做软件测试的 只是一个偶然后机会可以转到这个行业 所以就豪不犹豫的转到这个行业 虽然前期会感觉有点压力 毕竟没有真正的做过 但是只要在工作中保持积极乐观的态度 多问 多学 多实
  • C语言数据结构篇——用栈实现四则运算

    作者名 Demo不是emo 主页面链接 主页传送门创作初心 舞台再大 你不上台 永远是观众 没人会关心你努不努力 摔的痛不痛 他们只会看你最后站在什么位置 然后羡慕或鄙夷座右铭 不要让时代的悲哀成为你的悲哀专研方向 网络安全 数据结构 每日
  • 【RocketMQ】NameServer总结

    NameServer是一个注册中心 提供服务注册和服务发现的功能 NameServer可以集群部署 集群中每个节点都是对等的关系 没有像ZooKeeper那样在集群中选举出一个Master节点 节点之间互不通信 服务注册 Broker启动的
  • “左三圈右三圈”,莫言开收割机 收割大批网友喜爱

    昨晚十点 莫言公众号如期更新 半夜就有网友在朋友圈里奔走相告 莫言为大家表演开联合收割机啦 看完莫言紧张又努力开收割机的视频 网友直呼 莫言老师抓紧方向盘使劲转动的样子太可爱了 爱了 爱了 在大家的印象中 莫言是深邃而丰腴的大作家 但这个视
  • [STM32F1]STM32上的DWT与延时实现

    对于做单片机程序开发来说 定时管理的需求非常普遍 不管是 系统滴答定时器systick计数器延时或者是通过外设定时器timer的向上向下等计数来延时 甚至在精度要求不高的地方还可以通过变量自加判断来延时 这都是一种延时管理实现的方法 但是对
  • java并发的概念

    1 并发的概念 并发 concurrency 指在同一时刻只能有一条指令执行 但多个进程指令被快速的轮换执行 使得在宏观上具有多个进程同时执行的效果 但在微观上并不是同时执行的 只是把时间分成若干段 使多个进程快速交替的执行 2 并行的概念
  • Ubuntu配置中文环境

    用了一段时间的英文开发了想起来要不换中文试试 所以闲暇之余配置了一个中文 做了一个小记录 这个是英文的环境下面的界面 在安装前简称系统的网络 和源是否正常 检查网络ping www baidu com 检查源 cat etc apt sou
  • 老板的思维模式:投资与浪费

    有人说 人生最大的投资 不是房子 不是股票 是人 是跟什么人交往 跟随什么人 交什么样的朋友 其实就是你投资什么人 而这是对人生影响最大的 钱不会给你机会 股票不会 房子也不会 只有人会给你机会 当你需要帮助的时候 只有跟你要好的人会帮你
  • 企业运维实践-如何在K8S集群环境Gitlab+Jenkins+Jmeter+Grafana技术中实现自动化分布压力测试数据展示...

    关注 WeiyiGeek 公众号 设为 特别关注 每天带你玩转网络安全运维 应用开发 物联网IOT学习 本章目录 0x00 前言简述 0x01 安装配置 在 Windows 中安装 Apache jmeter 工具 以二进制方式安装Helm
  • STM32 定时器

    include timer h include led h 本程序只供学习使用 未经作者许可 不得用于其它任何用途 Mini STM32开发板 通用定时器 驱动代码 正点原子 ALIENTEK 技术论坛 www openedv com 修改
  • 关于char类型变量输入与输出的区别

    笔者前几天看到了一个小项目 请输入一个小写字母 输出对应的大写字母 乍一看挺简单 可实际操作却难倒了我 直到我打开看了老师的视频之后 我才恍然大悟 char的输入其实输入的永远是数字 没有单纯的字符 与此同时char的输出却有两种形式 c对
  • covariance matrix r语言_时间序列分析

    这是关于时间序列的第N篇文章 本文将介绍ARIMAX模型 简单来说就是在ARIMA的基础上增加一个外生变量 ARIMAX和ARIMA相比在理论上没有太多新的内容 所以本文直接介绍在R里怎么一步一步跑ARIMAX 在阅读这篇文章前 需要对AR