通过R语言实现平稳时间序列的建模--基础(ARMA模型)

本文详细介绍了如何使用R语言进行平稳时间序列的建模,包括序列的平稳性检验、ARMA模型的选择与参数估计、模型检验与优化,以及预测。通过单位根检验和自相关图确定序列平稳性,利用arima函数进行参数估计,并通过残差检验验证模型显著性。
摘要由CSDN通过智能技术生成

目录

1. 建模流程

2. 序列平稳性检验和纯随机性检验

2.1 图检验

2.2 单位根检验

3. 模型选择

​ 

4. 参数估计

5. 模型检验

5.1 模型显著性检验

5.2 参数显著性检验

6. 模型优化

6.1 AIC准则

6.2 BIC准则

7. 预测


1. 建模流程

1.1 序列平稳性检验+纯随机性检验

1.2 模型选择

1.3 参数估计

1.4 模型检验

1.5 模型优化

1.6 预测

2. 序列平稳性检验和纯随机性检验

2.1 图检验

主要适用于趋势或者周期比较明显的序列,具有一定主观性。

(1)绘制时序图与自相关图:

x<-read.csv("C:/Users/M/Desktop/4.9.csv") #读入csv数据
dwelling<-ts(x,start = c(1971,9),frequency = 12)#构造时间序列变量 
#start:指定序列起始时间,如start=c(1990,2)即1990年2月;start=1990即1990年。
#frequency:指定学列每年读入的数据频率,如frequency=12即每年读入12个数据,月度数据;frequency=4即读入季度数据;诸如此类。

plot(dwelling) #输出时序图

acf(dwelling,lag.max=12,plot=T)
#acf(变量名,延迟阶数,选择输出自相关图或者自相关系数)
#lag.max:若缺省该参数,系统会根据序列长度自动指定延迟阶数。
#plot:系统默认参数为plot = Ture,即只输出自相关图不输出自相关系数;plot=False,只输出自相关系数。
acf(time)$acf #查看具体的自相关系数

 从时序图可见该序列没有明显的趋势和周期,从自相关图可见该序列除了延迟1~4阶外,其他自相关系数均在两倍标准差内,可以认为该序列具有短期相关性。因此判断该序列为平稳序列。

(2)纯随机检验

纯随机序列序列没有建模的必要,因为序列值之间无相关性,历史数据对未来数据无影响。

用Box.test 函数进行纯随机性检验:

Box.test(dwelling,lag=6,type="Ljung-Box") #延迟6阶
Box.test(dwelling,lag=12,type="Ljung-Box") #延迟12阶
#lag: 缺省该参数时,默认输出之后1阶的检验统计量结果
#type:选择检验统计量的类型,默认为type="Box-Pierce",输出白噪声检验的Q统计量;type="Ljung-Box"输出LB统计量

#输出情况如下
> Box.test(dwelling,lag=6,type="Ljung-Box") #延迟6阶

	Box-Ljung test

data:  dwelling
X-squared = 215.96, df = 6, p-value < 2.2e-16

> Box.test(dwelling,lag=12,type="Ljung-Box") #延迟12阶

	Box-Ljung test

data:  dwelling
X-squared = 329.2, df = 12, p-value < 2.2e-16

白噪声检验显示延迟为6、12阶时p值均远远小于显著性水平0.05,因此显著拒绝序列为纯随机系列的原假设。因此判断该序列为非纯随机序列。

2.2 单位根检验

2.2.1 DF检验

仅适用于最简单的1阶模型AR(1)的平稳性检验。

调用aTSA中的的adf.test 函数进行DF检验:

install.packages("aTSA")
library(aTSA)
adf.test(dwelling,nlag=2) 
#nlag:最高延迟阶数,若nlag=1即输出自回归0阶延迟平稳性检验结果;若nlag=2即输出自回归0至1阶延迟平稳性检验结果。

#输出结果
> adf.test(dwelling,nlag=2)
Augmented Dickey-Fuller Test 
alternative: stationary 
 
Type 1: no drift no trend 
     lag   ADF p.value
[1,]   
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值