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