读取数据并绘制时序图
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)#****
通过对残差序列的检验,可知残差已经没有相关性,并且数据分布接近于正态。