简单的Arima模型自动最优拟合与预测

2023-11-11

昨天用R折腾了一个简单的时间序列数据Arima自动拟合与预测。过程不复杂,但由于用得不多,为了防止忘记,撰文记录。

打开R,安装一个叫做"Forecast"的包。每次开启R后,使用之前用 
library('forecast') 
加载该包。

这里我用传说中的Airline Model数据。载入数据,转换成TS格式 
airdata<-read.table('airline.dat') 
airts<-ts(airdata,start=1949,frequency=12)

然后用forecast包中的auto.arima自动拟合Arima模型。 
arima1<-auto.arima(airts,trace=T) 
显示的结果如下: 
ARIMA(2,0,2)(1,1,1)[12] with drift : 974.1468 
ARIMA(0,0,0)(0,1,0)[12] with drift : 1077.823 
ARIMA(1,0,0)(1,1,0)[12] with drift : 974.92 
ARIMA(0,0,1)(0,1,1)[12] with drift : 1022.198 
ARIMA(2,0,2)(0,1,1)[12] with drift : 967.1033 
ARIMA(2,0,2)(0,1,0)[12] with drift : 966.755 
ARIMA(1,0,2)(0,1,0)[12] with drift : 964.3004 
ARIMA(1,0,1)(0,1,0)[12] with drift : 963.9208 
ARIMA(1,0,1)(0,1,0)[12] : 971.225 
ARIMA(1,0,1)(1,1,0)[12] with drift : 972.4003 
ARIMA(1,0,1)(0,1,1)[12] with drift : 963.9781 
ARIMA(1,0,1)(1,1,1)[12] with drift : 971.7862 
ARIMA(0,0,1)(0,1,0)[12] with drift : 1022.291 
ARIMA(2,0,1)(0,1,0)[12] with drift : 965.183 
ARIMA(1,0,0)(0,1,0)[12] with drift : 966.9728

Best model: ARIMA(1,0,1)(0,1,0)[12] with drift

结果是一个AR(1),MA(1)和季节差分一次的Arima模型。Arima模型自动拟合的关键就是定阶,以前用的办法是EACF(extended (sample) autocorrelation function)来定阶,不过现在一般用AIC,AICc,BIC等统计量来定阶。例如上面的974.1468 等就是该模型的AIC 

然后可以预测了。 
airfore<-forecast(arima1,h=30,fan=T) 
预测了30个月,另外计算了置信区间50到99的预测值。 
plot(airfore) 
最后绘图。如果需要获取其中的预测数据,可以用: airefore$mean 获取。 
air.jpg

有图为证,预测效果还不错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单的Arima模型自动最优拟合与预测 的相关文章

  • 如何替换 randomForest r 包中的引导步骤

    首先是一些背景信息 这在 stats stackexchange 上可能更有趣 在我的数据分析中 我尝试比较不同机器学习方法在时间序列数据上的性能 回归 而不是分类 例如 我训练了一个 Boosting 训练模型 并将其与随机森林训练模型
  • C++ 函数作为模板参数与参数传递

    在 C 中 有两种将一个函数传递给另一个函数的方法 这两种方法看起来是等效的 include
  • ruby 中的无效函数

    为什么这个功能无效呢 def request method get resource meta strip true end 意外的 期待关键字 结束 谢谢你 在 Ruby 中 不能用可选参数包围必需参数 使用 def request re
  • R 使用值列表作为色标

    我想将变量的值表示为 R 中散点中的点的颜色 x lt rnorm 100 5 y lt rnorm 100 5 plot x y 在这里 我想使用一个变量作为着色的输入 但如果我尝试 plot x y col x 我得到了一些奇怪的东西
  • 为什么在 jQuery 中调用函数需要包装在方法中?

    假设我有一个函数 function myFunction 我想从事件处理程序中调用它 为什么这个结构不调用我的函数 window resize myFunction 但这确实有效 window resize function myFunct
  • 创建线程-传递参数

    我正在尝试创建多个线程 每个线程计算素数 我正在尝试使用线程创建将第二个参数传递给函数 它不断抛出错误 void compute prime void arg void arg2 这是我的 main 和创建线程 max prime 之后的
  • 更改 R 中函数的默认参数

    我正在跟进这个答案 https stackoverflow com a 62946040 7223434 我想知道是否有办法设置参数的默认值rug to FALSE和论证multiline to TRUE在生成的图中library effe
  • 使用函数更改指针包含的地址

    如果我声明了一个指针p as int p 在主模块中 我可以更改包含的地址p通过分配p a where a是另一个已经声明的整型变量 我现在想通过使用以下函数来更改地址 void change adrs int q int newad q
  • 使用取消嵌套函数插入 - 跳过序列列中的数字

    我正在尝试在插入中使用 unnest 功能 这样做时 序列号会为每个插入跳过一个数字 请帮我解决这个问题 mydb d tab1 Table public tab1 Column Type Modifiers id integer not
  • 将绘图对象存储在列表中

    I asked this https stackoverflow com questions 1816480 generating names iteratively in r for storing plots昨天关于在对象中存储绘图的问
  • 使用Boost获取成员函数的数量和参数类型? (升压::function_traits)

    对于普通的普通函数来说 它工作得很好 下面的代码工作得很好 它只打印应该的内容 int cdecl int char 2 int char include
  • 使用 pandas 在不同轴上绘制条形图和时间序列图

    我有一个 pandas 数据框 它是从具有以下结构的 csv 文件中读取的 Date Latitude Longitude Brand Pump AKI Trip Miles Total Miles Gallons MPG PPG Tota
  • excel vba 将 system.collections.hashmap 导入模块

    从我的内心微软 Excel 2010安装我已经打开了Visual Basic 编辑器 选项卡开发工具 gt Visual Basic 在 的里面Visual Basic 编辑器我右键单击进入项目窗口并创建了一个module 插入 gt 模块
  • Python 中函数未定义错误

    我试图在 python 中定义一个基本函数 但当我运行一个简单的测试程序时 我总是收到以下错误 gt gt gt pyth test 1 2 Traceback most recent call last File
  • 如何列出运行时函数的所有调用?

    有什么办法可以list 在VS中显示 写入文件 所有来电者 对象 函数 一个函数的当程序运行时 可能使用调试器 我需要record 所有通话 包括来电者 一个函数的从计划启动到终止 简单扫描源代码或二进制文件不做这份工作因为该程序可以作为服
  • Bash 函数中的返回值

    我正在使用 bash 脚本 我想执行一个函数来打印返回值 function fun1 return 34 function fun2 local res fun1 echo res 当我执行时fun2 它不打印 34 为什么会这样呢 虽然
  • 将 void* 作为函数调用而不声明函数指针

    我已经搜索过 但找不到任何结果 我的术语可能有问题 所以如果以前有人问过这个问题 请原谅我 我想知道是否有一种简单的方法可以调用void 作为 C 中的函数 无需首先声明函数指针 然后为函数指针分配地址 IE 假设要调用的函数是类型void
  • 条形图中的并排条形

    这是基于这个帖子 https stackoverflow com questions 26913954 make barplot in ggplot2 with summary statistics noredirect 1 comment
  • GridSearchCV:每次函数完成循环时打印一些表达式

    假设你有一些功能function在Python中通过循环工作 例如 它可以是一个计算某个数学表达式的函数 例如x 2 对于数组中的所有元素 例如 1 2 100 显然这是一个玩具示例 是否可以编写这样的代码 每次function经过一个循环
  • 将数据发送到 parse.com 并更新 Angular $scope

    我正在将数据发送到 parse com 上的类 我想运行此函数并更新 scope无需重新加载视图 创建一个Programme运行下面的函数工作正常 但是有时在创建新程序后不会更新视图 并且需要刷新页面 当调用整个函数时 如底部所示 getP

随机推荐

  • 深度学习之人物年龄预测

    1 年龄检测 论文地址 Age and Gender Classification using Convolutional Neural Networks 论文作者提出了一个简单的类似AlexNet的网络结构 该网络总共学习了8个年龄段 0
  • CentOS中DHCP服务器的搭建

    1 进入网卡配置文件 将网卡的网络修改为静态配置 2 yum y insytall dhcp 3 vi etc dhcp dhcpd conf 4 vi usr share doc dhcp dhcpd conf example 5 cp
  • 支付宝小程序 生成https链接 生成alipays协议链接

    生成https协议链接 const target 返回的页面地址 const online https render alipay com p s medical card online www index html returnUrl e
  • c语言课程设计(学生籍贯管理系统)学完c语言你可以做的案例

    目录 第一章 设计简介及设计方案讨论 1 1背景和意义 1 1 1背景 1 1 2意义 1 2需求分析 1 3使用说明 1 4流程图 1 5设计 1 5 1功能实现 第二章 核心代码讲解 2 1核心代码与分析 2 1 1代码和分析 第三章
  • tensorflow ResNet

    借鉴点 层间残差跳连 引入前方信息 减少梯度消失 使神经网络层数变身成为可能 ResNet 即深度残差网络 由何恺明及其团队提出 是深度学习领域又一具有开创性的 工作 通过对残差结构的运用 ResNet 使得训练数百层的网络成为了可能 从而
  • ROS理论与实践学习汇总(持续更新中······)

    创建工作空间 创建工作空间 mkdir p catkin ws src cd catkin ws src catkin init workspace 初始化 编译工作空间 cd catkin ws catkin make 设置环境变量 so
  • 07黑马QT笔记之信号重载时connect的写法(带参数的信号)

    07黑马QT笔记之信号重载时connect的写法 带参数的信号 1 首先说这个例子要做的事情 一个窗口有两个按钮 分别为按钮1 按钮2 当我按下按钮2时 他会发射两个信号 这两个信号重载 名字一样 所以当我接收这两个信号并处理时 conne
  • Web存储

    1 Web存储 locationStorage 用于永久性保存数据 sessionStorage 用于临时存储数据 关闭页面时 数据丢失 用法 两个对象用法一致 setItem key value 存储数据 getItem key 取数据
  • Java如何制作图片输入验证码

    Java如何制作图片输入验证码 简介 验证码 CAPTCHA 是 Completely Automated Public Turing test to tell Computers and Humans Apart 全自动区分计算机和人类的
  • 树莓派4b串口设置教程(适用于新手)

    树莓派4b串口设置教程 适用于新手 树莓派4b串口配置 适用于新手 本人也是刚刚学习了树莓派 考虑到目前入坑的像我一样的小白比较多 所以我整理了一下前辈们的各种经验 准备针对树莓派4b这款最新的产品 做一个比较详细简单的串口配置介绍 1 基
  • 似然和概率的透彻解析 ------- 最大似然估计(Maximum likelihood estimation)

    似然与概率 在统计学中 似然函数 likelihood function 通常简写为likelihood 似然 是一个非常重要的内容 在非正式场合似然和概率 Probability 几乎是一对同义词 但是在统计学中似然和概率却是两个不同的概
  • Cocos Creator Android打包 apk

    文章目录 1 引言 2 配置打包环境 2 1 下载Java SDK JDK 2 2 下载NDK 3 配置原生发布环境路径 4 打包发布原生平台 5 构建原生工程 6 通过编译器去编译和运行 7 总述 8 结束语 1 引言 今天事情不是很多抽
  • el-select与el-tree结合使用,实现select框下拉使用树形结构选择数据

    使用el select与el tree 实现如下效果 代码如下 注意点 搜索input框的代码一点放在option上面 不要放在option里面 否则一点击搜索框 下拉框就会收起来 不能使用
  • 05-JVM内存分配机制深度剖析

    上一篇 04 JVM对象创建深度剖析 1 对象栈上分配 我们通过JVM内存分配可以知道JAVA中的对象都是在堆上进行分配 当对象没有被引用的时候 需要依靠GC进行回收内存 如果对象数量较多的时候 会给GC带来较大压力 也间接影响了应用的性能
  • react入门必看攻略

    一 react是什么 react是一个用于构建用户界面的 JavaScript 库 二 使用步骤 安装react 1 安装脚手架 npm i create react app g 2 创建项目 create react app 项目名 3
  • JavaScript 全局

    解释 JavaScript 全局属性和方法可用于创建Javascript对象 JavaScript 全局属性 属性 描述 Infinity 代表正的无穷大的数值 NaN 指示某个值是不是数字值 undefined 指示未定义的值 JavaS
  • 宝塔面板解决跨域

    1 找到宝塔面板配置nginx文件的地方 2 增加如下代码 add header Access Control Allow Origin add header Access Control Allow Methods POST PUT GE
  • 使用git查看修改记录

    查看文件中每行代码的最近一次修改人 git blame file name git blame
  • 判断能否被3,5,7整除

    输入一个整数 判断它能否被3 5 7整除 并输出以下信息 1 能同时被3 5 7整除 直接输出3 5 7 每个数中间一个空格 2 能被其中两个数整除 输出两个数 小的在前 大的在后 例如 3 5或者 3 7或者5 7 中间用空格分隔 3 能
  • 简单的Arima模型自动最优拟合与预测

    昨天用R折腾了一个简单的时间序列数据Arima自动拟合与预测 过程不复杂 但由于用得不多 为了防止忘记 撰文记录 打开R 安装一个叫做 Forecast 的包 每次开启R后 使用之前用 library forecast 加载该包 这里我用传