目录
前提
准则
1、AIC准则
2、SBC (BIC)准则
优化
小结
前提
问题提出:模型通过检验,说明是有效的,但有效的模型不唯一。
下面我们用一个例子来解释一下:
例4-7:试对某次化学反应的70个过程数据序列进行拟合。
d<-read.table("D:/桌面/4_7.csv",sep=",",header=T)
x<-ts(d$x)
plot(x) #时序图
adf.test(x) #平稳性检验
for(i in 1:2)print(Box.test(x,lag=6*i)) #白噪声检验
acf(x) #自相关图
pacf(x)#偏自相关图
返回:我只把结果给大家放在这里,就不一 一给大家解释了,如果不懂,可以看看之前的文章。
接下来我们对上面两个模型进行拟合:
对MA(2)拟合:
fit1<-arima(x,order=c(0,0,2))
fit1
#模型显著性检验
ts.diag(fit1)
#参数显著性检验
t<-abs(fit1$coef)/sqrt(diag(fit1$var.coef))
t
pt(t,length(x)-length(fit1$coef),lower.tail=F)
返回:
对AR(1)拟合:
fit2<-arima(x,order=c(1,0,0))
fit2
#模型显著性检验
ts.diag(fit2)
#参数显著性检验
t<-abs(fit2$coef)/sqrt(diag(fit2$var.coef))
t
pt(t,length(x)-length(fit2$coef),lower.tail=F)
返回:
如图,结果显著
准则
1、AIC准则
最小信息量准则(Akaike Information Criterion)
指导思想:似然函数值越大越好﹔未知参数的个数越少越好
缺陷:在样本容量趋于无穷大时,由AIc准则选择的模型不收敛于真实模型
2、SBC (BIC)准则
Akaike: BIC
Schwartz根据Bayes理论: SBC
AIC或SBC达到最小的模型为相对最优模型。
优化
接下来我们对上述建立的模型进行比较
查看一下上面模型的AIC和BIC
data.frame(AIC(fit1),AIC(fit2),BIC(fit1),BIC(fit2))
返回:
如图可知,AR(1)模型优于MA(2)模型
R中,forecast程序包提供了auto.arima函数,可自动定阶
程序包的安装教程可参考:传送门
对上面例题进行自动定阶
默认是 aic
library(forecast) #调用程序包
auto.arima(x) #自动定阶
返回:
接下来,我们再对模型进行检验:
fit3<-arima(x,order=c(2,0,0))
fit3
#模型显著性检验
ts.diag(fit3)
#参数显著性检验
t<-abs(fit3$coef)/sqrt(diag(fit3$var.coef))
t
pt(t,length(x)-length(fit3$coef),lower.tail=F)
返回:
再用 BIC 进行自动定阶
auto.arima(x,ic="bic") #自动定阶
返回:
自动定阶,只是提供一个参考,不是绝对的,还需待定而估哦!!!
小结
1.AIC准则
2.SBC (BIC)准则
AIC或SBC达到最小的模型为相对最优模型。