热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

做arma模型步骤_R语言:时间序列ARIMA模型(三)

题记:本文是个人的读书笔记,仅用于学习交流使用,本文将深入研究时间序列技术。01解决什么问题?前面介绍了时间序列的经典分析方

题记:本文是个人的读书笔记,仅用于学习交流使用,本文将深入研究时间序列技术。

01

解决什么问题?

      前面介绍了时间序列的经典分析方法,本节介绍另一个应用广泛的随机序列分析方法,常用的就是ARIMA模型自回归移动平均模型。

02

ARIMA模型

      若是一个平稳时间序列,则该模型是一个具有p阶自回归和q阶移动平均的混合模型,用ARMA(p,q)表示。如果是非平稳时间序列,要进行差分,多一个参数d,表示为ARIMA(p,d,q)。

        关于阶数的识别,可以采用第一节中的一般规则识别。本文采用自动识别模型阶数auto.arima(),之后采用arima()建模。时间序列模型的拟合一般是一下几个步骤:①模型阶数识别;②建模估计参数;③残差检验;④模型预测。

        ①模型阶数识别

       数据集为数据集为某市2006-2008年大气SO2日平均浓度。

death 'death_gz.csv',dth.ts 365,start = c(plot.ts(dth.ts)auto.arima(dth.ts,stepwise=F,approximation=FALSE)#####ARIMA(0,1,4)

       auto.arima()返回最优的拟合模型参数,这该函数默认设置p,d,q的值,根据aic,bic 遍历所有的模型,选择aic最小的为最优模型。计算得出阶数为(0,1,4)最合适。

8f1fb7dbe7cea482fd93546b5b17d7b6.png

         ②建模估计参数

dth.ts.arma dth.ts.arma

ef0b080ee196e50191f46731423180f5.png

    返回的结果coef是模型参数估计值&#xff0c;sigma^2是拟合模型的残差方差值(537.1)&#xff0c;aic为10002.62.这个模型没有回报参数是否具有显著意义&#xff0c;可以手动计算&#xff0c;例如第一个t&#61;(-0.259)/0.03 &#61; -8.63&#xff0c;p <0.05&#xff0c;其他以此类推&#xff0c;所有的系数都有统计学意义。

       ③残差检验

par(mfrow&#61;c(3,1),mar&#61;c(2,3,0.5,1),mgp&#61;c(1.8,0.5,0))plot(resid(dth.ts.arma))acf(resid(dth.ts.arma))pacf(resid(dth.ts.arma))Box.test(resid(dth.ts.arma)) ##p-value &#61; 0.7125

d1fff8655caf79ecd93d6041f13e139b.png

        结果解释

        1.从残差序列图可看出(上图1)&#xff0c;在时间轴的1/3和2/3处比较大。

        2.残差的自相关图(上图2)&#xff0c;已无显著自相关函数。从偏自相关函数图(上图3)&#xff0c;前2个偏自相关函数已无统计学意义&#xff0c;从滞后第3阶起的偏自相关函数中有一些具有统计学意义&#xff0c;不过他们的值都不大(小于0.1)。用Box.test()函数也可以做残差检验&#xff0c;P>0.05&#xff0c;残差没有相关性。

        ④模型预测

dth.ts.arma.for 365) par(mar&#61;c(4,4,1.4,0.5));plot(dth.ts.arma.for,col&#61;&#39;green&#39;)  #将原观测值和预测值画出来lines(dth.ts.arma.for$fitted,col&#61;&#39;blue&#39;) ##将原时间点的回代值画出来U for$lower[,L for$upper[,dth.ts.arma.for$mean[1:20] ###前20天的播报值

     365天的预测值比较平坦&#xff0c;在S02的平均值上。在预测值上下两条向右延伸的平行线为95%和80%的可信区间的上下界值。

74537e84b3ce43850f36d132679a5e7b.png

05

总结

      本文作为时间序列的第三部分&#xff0c;主要介绍ARIMA模型的分析方法&#xff0c;详细介绍aima()函数的使用和模型的预测&#xff0c;模型的检验等。

06

参考文献

  1. 彭晓武等.R软件及其环境流行病学应用.中国环境出版社

  2. Jonathan D.Cryer .时间序列分析及应用.机械工业出版社

  3. Cory Leismester.精通机器学习&#xff1a;基于R.人民邮电出版社

作者介绍&#xff1a;医疗大数据统计分析师,擅长R语言。

欢迎各位在后台留言&#xff0c;恳请斧正&#xff01;

更多阅读&#xff1a;

R语言&#xff1a;时间序列(一)

R语言&#xff1a;时间序列经典分析法(二)




推荐阅读
author-avatar
手机用户2502863351
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有