利用arima函数 对平稳序列拟合自回归模型AR,移动平均模型MA,自回归移动平均模型ARMA。按照如下步骤:

  1. 模型识别(定阶)
  2. 参数估计
  3. 模型检验
  4. 模型优化
  5. 预测

选择合适的模型拟合1950-2008我国邮路及农村投递线路每年新增里程序列

  1. 模型识别

首先,读取数据,绘制时序图,并做纯随机性检验

a<-read.table("E:/R/data/file8.csv",sep=",",header = T)
x<-ts(a$kilometer,start = 1950)
plot(x)
for(i in 1:2) print(Box.test(x,type = "Ljung-Box",lag=6*i))

从时序图可以看出,序列平稳,纯随机性检验的结果显示序列不是纯随机序列。

然后绘制自相关图和偏自相关图,输入:

acf(x)
pacf(x)

自相关图显示:除了延迟1~3阶的自相关系数在两倍标准差以外,其他各阶自相关系数都在两倍标准差之内,且自相关系数衰减的过程呈现类似正旋波动的形态,这是自相关系数拖尾的一种典型。

偏自相关图显示:除了延迟1~2阶的偏自相关系数在两倍标准差之外,其他各阶偏自相关系数都在两倍标准差之内,且偏自相关系数衰减的过程非常迅速,因此偏自相关系数2阶结尾。

根据以上特点,可以初步确定模型为AR(2)

        2.参数估计

调用arima函数完成参数估计,命令格式为:

arima(x,order=,include.mean=,method=)

  其中:x:要拟合的序列名

        order:指定模型的阶数,order=c(p,d,q)

        include.mean:是否包含常数项

  1. include.mean=T,需要拟合常数项(默认)
  2. include.mean=F,不需要拟合常数项

        method:指定参数估计得方法

  1. method="CSS",条件最小二乘
  2. method="ML"极大似然估计
  3. method="CSS-ML"两种方法混合

本例采用极大似然估计法,输入:

a<-read.table("E:/R/data/file8.csv",sep=",",header = T)
x<-ts(a$kilometer,start=1950)
x.fit<-arima(x,order = c(2,0,0),method = "ML")
x.fit

得出模型为:

     

或者等价写作:

   

        3 .模型检验

包括对模型的显著性检验和对参数的显著性检验

  1. 对模型的显著性检验,即使检验参差序列是否为纯随机序列,用Box.test函数即可完成,输入:
for(i in 1:2) print(Box.test(x.fit$residual,lag=6*i))

从输出结果显示,p值较大,不能拒绝原假设,即参差序列为白噪声序列,因此,本模型为显著的

2.参数的显著性检验,即检验本模型中常数项μ和系数φ1,φ2是否显著,R不提供t检验的结果,但可根据参数估计值和标准差,计算t统计量的值,再调用t分布的p值函数pt计算相应的p值。在本例中,检验常数项的显著性,可输入:

t0=11.0223/3.0906

pt(t0,df=56,lower.tail = F)

输出p值:0.0003748601

可见,常数项是显著的,同理可以检验系数也是显著的

        4.模型优化

如果有两个或以上模型都是显著,则可以比较这些模型的信息量AIC,AICC,BIC,按最小信息量准则来选择最优模型信息量为524.46

,本例模型AIC

        5.模型预测

下载并调用forecast程序包,可用forecast函数进行预测,命令格式为:

forecast(object,h=,level=)

其中:object:拟合信息文件名

h:预测期数

level:置信区间置信水平,默认给出80%和95%的置信区间

在本例中,要预测未来5年的序列值,可输入:

library(forecast)
x.fore<-forecast(x.fit,h=5)
x.fore
plot(x.fore)

则可观察预测图

也可个性化输出预测图

L1<-x.fore$fitted-1.96*sqrt(x.fit$sigma2)
U1<-x.fore$fitted+1.96*sqrt(x.fit$sigma2)
L2<-ts(x.fore$lower[,2],start = 2009)
U2<-ts(x.fore$upper[,2],start = 2009)
c1<-min(x,L1,L2)
c2<-max(x,L2,U2)
plot(x,type = "p",pch=8,xlim = c(1950,2013),ylim = c(c1,c2))
lines(x.fore$fitted,col=2,lwd=2)
lines(x.fore$mean,col=2,lwd=2)
lines(L1,col=4,lty=2)
lines(L2,col=4,lty=2)
lines(U1,col=4,lty=2)
lines(U2,col=4,lty=2)

ARIMA模型——平稳时间序列分析相关推荐

  1. Python通过ARIMA模型进行时间序列分析预测

    ARIMA模型预测 时间序列分析预测就是在已有的和时间有关的数据序列的基础上构建其数据模型并预测其未来的数据,例如航空公司的一年内每日乘客数量.某个地区的人流量,这些数据往往具有周期性的规律.如下图所 ...

  2. python arima模型_时间序列分析 ARIMA模型 Python(2)

    最近做了一个时间序列分析的项目.时间序列分析不同于以前的项目--看一下相关的库怎么用,就可以快速上线应用.它是非常需要你的基础知识的,Hamilton关于<时间序列分析>方面的知识,写了厚 ...

  3. arima模型_时间序列分析(R)‖ARIMA模型预测实例

    背景 十九大报告,对教育方面做出了详细说明.近年来,随着研究生招生规模的逐渐扩大,报名参加硕士研究生考试的人数也逐年增加.大多数关于研究生的文章是以研究生的现状.研究生的教育.研究生的就业等方面为主题 ...

  4. R语言ARIMA集成模型预测时间序列分析

    全文链接:http://tecdat.cn/?p=18493 本文我们使用4个时间序列模型对每周的温度序列建模.第一个是通过auto.arima获得的,然后两个是SARIMA模型,最后一个是Buys- ...

  5. 【机器学习】数据挖掘实战:金融贷款分类模型和时间序列分析

    今天给大家带来一个企业级数据挖掘实战项目,金融贷款分类模型和时间序列分析,文章较长,建议收藏! 如果本文对你有所帮助,记得文末点赞和在看,也可分享给你需要的朋友- 项目背景 银行和其他金融贷款机构经常 ...

  6. 2.3-非平稳时间序列分析

    时间序列分析 第三节 非平稳时间序列分析 一般,我们得到的序列都是非平稳序列. 这便要求我们对其进行处理. 非平稳序列变为平稳序列(利用差分运算) ARIMA模型的拟合 3.1 非平稳序列变为平稳序列 ...

  7. 《协整理论与波动模型-金融时间序列分析及应用(第二版)》

    内容详实的教科书,不过看起来比较累,能用数学公式的就没用汉字,估计作者是为了社会主义节省纸张吧. 不是我这个水平现在看的,先Mark后续需要深入再翻看 <协整理论与波动模型:金融时间序列分析及应 ...

  8. 时间序列模型matlab_平稳时间序列分析01---AR模型

    引言 根据Wold分解定理,任意一个离散平稳时间序列都可以分解为一个确定性平稳序列和一个随机性平稳序列之和.且确定性序列可以表达为历史序列值的线性函数,而随机性序列可以表达为历史新息(历史纯随机波动) ...

  9. arma模型 java_时间序列分析之 ARIMA 模型的JAVA实现

    最近要用ARIMA模型预测用户的数量变化,所以调研了一下ARIMA模型,最后用JAVA实现了ARIMA算法. 一.ARIMA原理 ARIMA的原理主要参考的是ARIMA原理. 二.JAVA实现 弄懂了 ...

最新文章

  1. 一图看懂《中关村人工智能产业培育行动计划》
  2. OGG 同步报错 - TCP/IP error 111 (Connection refused)
  3. 云栖大会的最后,阿里巴巴数据安全放了个大招!
  4. ES6数组新增的几个方法
  5. java 编写方法和属性,编写一个关于教师的JAVA-BEAN,要求实现其基本属性如年龄,性别等的get和set方法...
  6. 核心技术靠化缘是要不来的——自己动手写ORM框架
  7. delphi ascii字符数组_344. 反转字符串
  8. Linux系统更新最新版R语言方法
  9. mp4 拍摄时间如何看_时间不多了,如何备考期末最有效?这些复习技巧,看了你就会了...
  10. VB语言通用基础语句
  11. 《高性能MySQL》之选择优化的数据类型
  12. 国内三大云数据库测试对比
  13. WindowsGhost 还原系统 0xc0000428 错误
  14. 加息对股市影响|加息会有什么后果
  15. 与师生谈人工智能3:精确定义之病
  16. 测试用例的设计-提高测试覆盖率
  17. excel分列 excel按列分为多个工作簿或者excel文件
  18. python自动评论_selenium+python 的微博自动转赞评功能实现
  19. 少儿编程培养孩子逻辑思维
  20. 模式识别——初识模式识别

热门文章

  1. 读写AT24C512的问题
  2. 来自网页消息do.php意思,PHP网页游戏学习之Xnova(ogame)源码解读(五)
  3. NNDL 作业7:第五章课后题
  4. 基于token的登录管理(多设备登录、单设备登录)
  5. 3264位APP地址空间
  6. 1114-字符串逆序
  7. 【计算机网络】数据链路层(三)—— 介质访问控制
  8. 计算增长率,同比写法
  9. Q++模块插件v1.3.8版本更新
  10. r9s可不可以升级到Android7,OPPO R9s直升安卓7.1,OPPO R9s ColorOS 3.0公测