平稳序列的预测和拟合之模型优化
生活随笔
收集整理的這篇文章主要介紹了
平稳序列的预测和拟合之模型优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
前提
準則
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達到最小的模型為相對最優模型。
總結
以上是生活随笔為你收集整理的平稳序列的预测和拟合之模型优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue.js上传头像插件_一个基于vue
- 下一篇: 量化信噪比 非均匀量化_达尔优EM910