平稳序列的预测和拟合之模型检验
目錄
1.模型的顯著性檢驗
R語言實現
例題
2.參數顯著性檢驗
?例題
小結
1.模型的顯著性檢驗
檢驗模型的有效性(對信息的提取是否充分)
判定原則:
? ? ? ? 一個好的擬合模型應該能夠提取幾乎所有的樣本相關信息,即殘差序列應該為白噪聲序列。反之,如果殘差序列為非白噪聲序列,那就意味著殘差序列中還殘留著相關信息未被提取,這就說明擬合模型不夠有效
原假設:殘差序列為白噪聲序列
備擇假設:殘差序列為非白噪聲序列
LB檢驗統計量:
若拒絕原假設,說明擬合模型不顯著;如不能拒絕原假設,認為擬合模型顯著有效。
R語言實現
1、用Box.test()對殘差序列進行白噪聲檢驗
2、用aTSA程序包里的ts.diag()函數
例題
例4-1續(2)檢驗1900-1998年全球7級以上地震發生次數序列擬合模型的顯著性(α =0.05)
代碼如下:
a<-read.table("D:/桌面/4_1.csv",sep=",",header=T) x<-ts(a$number,start=1900) plot(x) #時序圖 library(aTSA) #aTSA導入程序包 adf.test(x) #單位根檢驗 for(i in 1:2)print(Box.test(x,lag=6*i)) acf(x) pacf(x) #參數估計 fit1=arima(x,order=c(1,0,0),method="ML") fit1 #模型顯著性檢驗 ts.diag(fit1)除了最后一句,其他的都在上一篇進行了介紹,在這里就不再介紹了。
圖1是殘差序列的自相關圖,圖2是殘差序列的偏自相關圖,(重點)圖3白噪聲檢驗的p值,圖4是正態性檢驗。
如圖,可知模型擬合顯著有效。
2.參數顯著性檢驗
檢驗每一個未知參數是否顯著非零。刪除不顯著參數使模型結構最精簡
假設條件:
檢驗統計量:
p值小于a,拒絕原假設,認為參數顯著。
R語言arima函數輸出不包含參數檢驗
t值計算:參數估計值除以參數標準差? ?
調用t分布p值函數pt獲取p值
?例題
例4-1續(3)檢驗1900-1998年全球7級以上地震發生次數序列擬合模型參數的顯著性(a = 0.05)
代碼如下:續上面
返回:
如圖,檢驗p值都小于0.05,所以模型擬合參數顯著有效。
下面兩道例題就請大家自己分析吧,代碼已附上
例4-2續(1)確定美國科羅拉多州某一加油站連續57天盈虧序列模型的顯著性檢驗(α =0.05)
b<-read.table("D:/桌面/4_2.csv",sep=",",header=T) y<-ts(b$overshort) plot(y) #時序圖 #library(aTSA) #aTSA導入程序包 adf.test(y) #單位根檢驗 for(i in 1:2)print(Box.test(y,lag=6*i)) acf(y) pacf(y) #參數估計 fit2=arima(x,order=c(0,0,1),method="CSS") fit2 #模型顯著性檢驗 ts.diag(fit2) #參數顯著性檢驗 t<-abs(fit2$coef)/sqrt(diag(fit2$var.coef)) t pt(t,length(y)-length(fit2$coef),lower.tail=F)例4-3續(1)確定1880-1985全球氣表平均溫度改變值序列模型的顯著性檢驗(α =0.05)
c<-read.table("D:/桌面/4_3.csv",sep=",",header=T) z<-ts(c$change,start=1880) plot(z) #時序圖 difz<-diff(z) #計算差分 plot(difz) #差分時序圖 #library(aTSA) #aTSA導入程序包 adf.test(difz) #單位根檢驗 for(i in 1:2)print(Box.test(difz,lag=6*i)) acf(difz) pacf(difz) #參數估計 fit3<-arima(difz,order=c(1,0,1)) fit3 #模型顯著性檢驗 ts.diag(fit3) #參數顯著性檢驗 t<-abs(fit3$coef)/sqrt(diag(fit3$var.coef)) t pt(t,length(difz)-length(fit3$coef),lower.tail=F)小結
1、模型的顯著性檢驗
檢驗殘差序列是否為白噪聲序列可以調用aTSA程序包里的ts.diag函數
2、參數顯著性檢驗
檢驗每一個未知參數是否顯著非零。t檢驗計算t值,用pt函數求p值。
總結
以上是生活随笔為你收集整理的平稳序列的预测和拟合之模型检验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 层次分析法之matlab
- 下一篇: 没有bug队——加贝——Python 4