季节性ARIMA模型【R语言】
季节性的ARIMA模型可以预测含有季节性,趋势性的时间序列。他的形式如下
这里m是每一季节的周期值。季节项与非季节项的模型非常相近。但是季节项中包含了季节周期性。例如对于ARIMA(1,1,1)(1,1,1)4模型能够写成:
ACF与PACF
对于AR与MA模型的季节项,我们将会在ACF和PACF的lags上看到差异。例如,ARIMA(0,0,0)(0,0,1)12模型,我们将会在ACF的lag12处看到一个spike(长钉,即非零显著的形象描述),而在其他地方看不到spike。PACF将会在具有周期性的位置出现指数衰减,即lags 12,24,36…类似的,一个ARIMA(0,0,0)(1,0,0)12模型则会显示出在ACF图的周期性位置显示出指数衰减,而在PACF图中的lag12处看到一个spike。我以中国人民大学统计学院易丹辉教授在时间序列课堂上给出的数据book19为例进行分析,这里用到的软件是R,课上易丹辉教授用的是EViews6.0。
R程序:
data=read.csv("~/Downloads/Book19.csv") #读取本地csv文件
data=ts(data[,2],frequency=12,start=c(1990,1)) #[,2]是只读取第2列数据,start是在数据上增加起始时间,frequency是增加周期,ts为转换成ts格式。
library(forecast) #载入程序包forecast,如果提示之前没有安装,则用install.package(“forecast”)进行安装,再载入forecast包。
tsdisplay(data,xlab=“year”,ylab=“Retail index”) #显示自相关系数ACF,偏自相关系数PACF,与数据原始图像。
data_d1=diff(data,1)
从上图可以看出自相关系数呈现拖尾性,即序列Yt与之前的时刻有强烈的相关性,而且相关项的范围是比较大的,说明序列本身有趋势,为了消除这种趋势我们取每一项与前一项的差。
tsdisplay(data_d1,xlab=“year”,ylab=“Retail index”)
可以看出来,趋势基本消除了。序列较平稳。而PACF在季节性周期lags12处有spike,因此进一步做季节差分。
data_d1D1=diff(data_diff1,12)
tsdisplay(data_d1D1,xlab=“year”,ylab=“Retail index”)
所以对于非季节项,我们只做了一阶非季节差分,故d=1,从PACF看出p=2或3,从ACF看出q=1
对于季节项,我们也只做了一阶季节差分,故D=1,再看在lag12,24处看是否有spike,从PACF看出P=1,从ACF看出Q=1
从而选择模型一共有:Arima(2,1,1)(1,1,1)[12]和Arima(3,1,1)(1,1,1)[12]
fit1 <- Arima(data, order=c(2,1,1),seasonal=c(1,1,1))
fit1 #显示AICc=1110.09
tsdisplay(residuals(fit1)) #显示残差
fit2 <- Arima(data, order=c(3,1,1),seasonal=c(1,1,1))
fit2 #显示 AICc=1112.3
tsdisplay(residuals(fit1)) #显示残差
plot(forecast(fit1,h=12)) #选择AICc值小的,输出我们最终的预测结果~
还有一个更加傻瓜的做法就是使用auto.arima函数自动定p,d,q,P,D,Q等参数。
arima1<-auto.arima(data,trace=T)
如下图:
with drift代表有趋势,所以最终模型可以加上d=1去除趋势。
最终的模型可以是:
Arima(2,1,0)(1,1,0)[12]
其AICc=1107.86
plot(forecast(Arima(data,order=c(2,1,0),seasonal=c(1,1,0)),h=12))
这个结果是各个模型中AICc最小的。
季节性ARIMA模型【R语言】相关推荐
- 时间序列模型R语言实现-批量建模,预测(ARIMA, 随机森林)
时间序列预测首先要确定预测的内容. 本文预测共享单车的日租借量 使用的是每日数据 预测的时间范围是需要提前一个月.半年还是一年?根据预测范围,会使用到不同的模型. 首先安装加载本文所需要的包 inst ...
- r语言adf检验结果怎么看_从AR模型到VAR模型——R语言实现
一.自回归模型(AR模型) 1.1 概念 自回归模型(英语:Autoregressive model,简称AR模型),是统计上一种处理时间序列的方法,用同一变量例如的之前各期,亦即至来预测本期的表现, ...
- Multinomial Logit Model (MNL) 模型R语言nnet包multinom函数实现实例
最近做项目涉及到要使用multinomial logit model (MNL) 模型.看了一堆文献讲mnl, 但是没有给什么具体能上手的实例,就算有也是一笔带过,打算找一些使用R 语言来实现mnl模 ...
- 应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言
在上一篇文章(http://t.csdn.cn/Lp2Nj)中,我们用到的数据是一个既含有季节效应又含有长期趋势效应的简单序列,为什么说它简单呢,是因为这种序列的季节效应.趋势效应和随机波动彼此之间很 ...
- R语言ARIMA集成模型预测时间序列分析
全文链接:http://tecdat.cn/?p=18493 本文我们使用4个时间序列模型对每周的温度序列建模.第一个是通过auto.arima获得的,然后两个是SARIMA模型,最后一个是Buys- ...
- 【视频】Python和R语言使用指数加权平均(EWMA),ARIMA自回归移动平均模型预测时间序列...
原文链接:http://tecdat.cn/?p=21773 时间序列(从现在起称为TS)被认为是数据科学领域中鲜为人知的技能之一(点击文末"阅读原文"获取完整代码数据). 视频: ...
- R时间序列分析|SP500股指的ARIMA模型预测与残差ARCH效应分析
R时间序列分析|S&P500股指的ARIMA模型预测与残差ARCH效应分析 前言 一.数据及分析目的 二.数据探索 三.ARIMA模型构建 四.残差分析 五.模型预测 前言 由于R语言对新手并 ...
- R语言 - seasonal ARIMA与带傅里叶修正项的ARIMA预测及比较
最近接触到了带傅里叶修正项的ARIMA模型(ARIMA with fourier modification, 以下简称FARIMA),学校里面虽然上过一些时间序列,知道time series deco ...
- R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...
- R语言VaR市场风险计算方法与回测、用LOGIT逻辑回归、PROBIT模型信用风险与分类模型...
全文链接:http://tecdat.cn/?p=27530 市场风险指的是由金融市场中资产的价格下跌或价格波动增加所导致的可能损失. 相关视频 市场风险包含两种类型:相对风险和绝对风险.绝对风险关 ...
最新文章
- 浅谈TCP的窗口字段
- [转]Linux 进程间通信:共享内存
- https协议及与http协议的比较
- 关于SUID、SGID、Sticky
- Struts2之类型转换
- SpaceVim 语言模块 dart
- 使用Camel在Amazon上构建分布式工作流应用程序
- C#调试WebService
- TIG:一款威胁情报收集小工具
- HRESULT:0x80029C4A错误
- pc端生成支付宝支付二维码
- UE4家装系统工程源码/内含模型/材质/模型拖拽
- Linux下的多线程編程
- 吐故“钠”新,看钠离子电池如何引导行业新风向
- JS实现页面HTML内容以另存为的文件形式下载保存
- Web报表系统葡萄城报表:B/S 报表软件
- Mysqldump参数解析大全
- Kylin V3 麒麟Linux V3 工作站安装中文输入法(五笔)
- MOOC网神经网络与深度学习TensorFlow实践3——数字图像处理、TensorFlow基础
- VOC2007数据标签格式转COCO2017格式