R语言时间序列分析常用步骤
常用步骤代码:
#载入数据
d <- WWWusage
x <- ts(d,start = 1) # 其实WWWusage本身就是时间序列格式的,这里是为了提醒大家记得ts
plot(x)#差分并观察
x.dif <- diff(x,1,2)
plot(x.dif)
#差分序列ADF检验
library(tseries)
adf.test(x.dif) # p越小越好
#确定差分阶数d#序列纯随机性检验
for(i in 1:2)print(Box.test(x.dif, lag=6*i))
#p大,拒绝序列为白噪声的假设,说明序列有规律可提取,有研究价值,可继续建模#判断p、q
acf(x.dif)
pacf(x.dif)
#根据auto.arima辅助判断
library(forecast)
auto.arima(x.dif) # AIC 实际值越小越好
x.fit <- arima(x.dif,order = c(2,0,0));x.fit
#多对比几次结果#AIC是赤池统计量,当增加了一个变量后,如果这个变量对模型有足够的解释力,就会使赤池统计量变小
#AIC的值为负的时候也是越小越好,也就说是实际值而不是绝对值越小越好,比如-2与-1.9,就选-2那个
#AIC和BIC是似然函数和乘法函数的线性组合,不同之处在于惩罚力度不同。都是越小越好
#loglik是对数似然,模型比较时越大越好#残差白噪声检测,考察拟合效果,p越大,说明残差纯随机性越显著,信息充分提取
for(i in 1:2) print(Box.test(x.fit$residuals,lag = 6*i))#通过检测的模型进行预测
library(zoo)
library(forecast)
x.fore <- forecast(x.fit,h = 10) #预测未来10期
plot(x.fore)
x.fore
模型阶数判定:
以datasets包自带WWWusage数据为例,2阶差分后拟合模型,AIC实际值(不是绝对值)越小越好,实验如下:
win.graph();par(mfrow=c(1,2));acf(x.dif);pacf(x.dif)
结合acf图和pacf图,结果似乎是p=2,q=2最佳,但对比AIC值却不是如此:
结果表明对x <- ts(WWWusage)来说,arima(2,2,0)的拟合效果最好,AIC值为511.46。
为什么偏自相关图判断的结果不是拟合效果最好的呢?希望哪位老师同学可以指点我,谢谢!
我的微信:1961812312
更新:
之前没有对p,q作为组合代入模型寻找最小aic值,
在下一篇文章中,分析了36种组合的结果,找到aic值最小的结果为p=5,q=5,aic值为509.8135
但还是与自相关图和偏自相关图结果给出的建议不一样,这一点还是希望有老师同学指点一下!
参考文献:
https://people.duke.edu/~rnau/411arim.htm
https://bbs.pinggu.org/forum.php?mod=viewthread&action=printable&tid=226732
https://bbs.pinggu.org/thread-3226868-1-1.html
https://www.zybuluo.com/evilking/note/851533
wikimirror
感谢上帝的恩典。
另:根据ARIMA模型得到公式结果,可以参考wiki和Google的镜像资料代入得出。
更新:
R语言时间序列分析-根据aic值选择arima模型
更新2:
对于之前的问题,当(偏)自相关图给出的模型不是AIC值最优的模型时,应该选择哪一个?答案如下:
从ACF和PACF图上定性判断有时不准确,建议以量化的标准(AIC值)为准。不放心也可以再多比较一下其他指标,包括:BIC值,两个模型的残差随机性检验,最佳子集等
——网友何劼
感谢网友@没有那把剑、@ 何劼
R语言时间序列分析常用步骤相关推荐
- R语言时间序列分析-根据aic值选择arima模型
在上一篇中,探讨了R语言时间序列分析常用步骤,如何比对AIC值判断最优模型?代码和解释如下: #WWWusage是datasets包自带的每分钟通过服务器连接到因特网的用户数的长度为100的时间序列数 ...
- R语言时间序列分析之ARIMA模型预测
R语言时间序列分析之ARIMA模型预测 今天学习ARIMA预测时间序列. 指数平滑法对于预测来说是非常有帮助的,而且它对时间序列上面连续的值之间相关性没有要求.但是,如果你想使用指数平滑法计算出预测区 ...
- 基于R语言时间序列分析所有指令[2021]
文章主要是总结一学期所学,基本覆盖了所有常见的指令,足够完成arima模型的数据选择到模型预测. 时间序列应用广泛,不能仅仅局限于理论学习,代码实践更为重要. 往期文章链接: 基于 ARIM ...
- R语言时间序列分析小例
复习心烦,偶遇大作业,故摸鱼 作业题目 自由选取一组数据(可以是R 自带的数据集.或者其它来源,鼓励选取一些有趣的课题进行数据分析),利用我们这学期所学知识建立恰当模型(ARIMA.GARCH 等), ...
- r软件时间序列分析论文_高度比较的时间序列分析-一篇论文评论
r软件时间序列分析论文 数据科学 , 机器学习 (Data Science, Machine Learning) In machine learning with time series, using ...
- R语言-时间日期函数
R语言时间日期函数 1. 返回当前日期时间,有两种方式: Sys.time() date() 举例 format(Sys.time(), "%a %b %d %X %Y %Z")# ...
- 时间序列分析及应用r语言pdf_R语言时间序列分析(十一):指数平滑法
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...
- r语言结构方程模型可视化_R语言时间序列分析(二):ts对象及其可视化
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...
- R语言之数据处理常用包
dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口:tidyr包的作者是Hadley ...
- 语言在msin函数验证_R语言时间序列分析(七):模型准确度估计
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...
最新文章
- 技术05期:五分钟教你读懂卷积神经网络【CNN】
- ABAP常用字符串操作
- Silverlight C# 游戏开发:面向对象在游戏中的实例(一)
- 【安卓开发】AndroidStudio项目提交到github最详细步骤
- HTML、 CSS、 JavaScript三者的关系
- 改变变压器联接方式可消除某些特定次数的谐波_电工牛人10年经验,总结的4电工常用接线方法41例,电机、变压器、接触器..都有...
- Domino Web开发规则之一:Notes命名规范
- linux冒险岛服务端,冒险岛V118单机版一键端,开放全职业 带GM工具和命令
- sdut 1299最长上升子序列
- svn locked 怎么解决
- 电箱吉他与原声吉他的区别在哪里?初学者应该选哪个呢?
- Dockerfile MAINTAINER和LABEL指令 语法解析
- 计算机系英文简历常用的词汇,计算机专业英文简历词汇
- c语言猜单词游戏实验报告,猜单词游戏c语言源程序.doc
- c语言while if嵌套,C语言循环嵌套详解
- 计算机网络实验路由器,计算机网络路由器配置实验.doc
- 求1到100之间的素数
- 五分钟带你了解面向对象的四大基本特征
- 【web前端面试宝典】经典10问(上篇)
- 单片机c语言数字频率计的课程设计,基于单片机的简易数字频率计设计报告(最终版)最新版...
热门文章
- n-3000系列串口服务器,串口转网络,网络转串口
- coreldraw铺花纹_Coreldraw绘图实例教程,教你cdr环形花边绘制方法
- 计算机网络应用基础试题6,计算机网络应用基础期末试卷试题2
- 经典莱斯康混响插件LX480 Complete限时43%OFF
- Android查看应用签名
- 极通EWEBS远程接入软件
- 一键修改QQ运动刷步助手 V3.0
- wordpress添加媒体_如何在WordPress中添加BMI计算器(逐步)
- Grids for mac(强大的Instagram客户端工具)
- IMX6之SPI接口驱动测试