利用R语言进行具有周期性的时间序列分析

读取数据并绘制时序图

install.packages("astsa")
library(astsa)
e1x2 <- ts(scan("C:/Users/l/Desktop/e1x2.dat")) #数据导入
plot(e1x2, type="b") #画时序图

在这里插入图片描述

绘制自相关图和偏自相关图

acf(e1x2)
pacf(e1x2)

在这里插入图片描述
通过对相同数据的分析,可尝试S=12为季度周期。

进行季节差分

#计算月度均值
e1x2m = matrix(e1x2, ncol=12,byrow=TRUE)
col.means=apply(e1x2m,2,mean)
plot(col.means,type="b", main="Monthly Means Plot for e1x2", xlab="Month",
ylab="Mean")
diffe12=diff(e1x2,12)#进行季节 s=12 差分
plot(diffe12)
acf2(diffe12,48)

在这里插入图片描述
对每个月的数据进行平均之后,可以看出数据已经没有了周期性。
在这里插入图片描述
在这里插入图片描述

经过S=12的季节差分之后,数据的周期性几乎已经除去。图4中,偏自相关图1阶结尾,而自相关图拖尾,因此可以考虑p=1, q=0。另外,偏自相关图似乎具有以12为周期的拖尾现象,故可以考虑Q=1。总之,可以从模型ARIMA(1,0,0) × \times ×(0,0,1) 12 _{12} 12开始进行参数的尝试。

模型拟合

sarima(e1x2, 1,0,1,0,1,1,12)#****
sarima(e1x2, 1,0,1,1,1,1,12)#12 阶以后小于 0.05***
sarima(e1x2, 1,0,1,1,1,0,12)#**
sarima(e1x2, 1,0,0,0,1,1,12)#***
sarima(e1x2, 1,0,1,1,0,1,12)#****

在这里插入图片描述

通过对残差序列的检验,可知残差已经没有相关性,并且数据分布接近于正态。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值