要實現以下的幾個步驟,數據集已經有了,請高手們可以介紹下相關的函數嗎?
halfyear_vector=data.frame(hsi_ir_h_ts,cenlhkl_ir_h_ts,m2_h_ts,ue_h_ts,cpi_h_ts,exp_h_ts,gdp_h_ts)
halfyear_vector=ts(halfyear_vector,start=c(1995,1),frequency=2)
halfyear_vector
plot(halfyear_vector,plot.type="single",lty=1:7,col=1:7)
title("key indicators")
legend("topleft",c("hsi_ir_h_ts","cenlhkl_ir_h_ts","m2_h_ts","ue_h_ts","cpi_h_ts","exp_h_ts","gdp_h_ts"),lty=1:7,col=1:7)
#穩定性檢驗
for (i in 1:7)
{
print(kpss.test(halfyear_vector[,i],null="Level"))
print(kpss.test(halfyear_vector[,i],null="Trend"))
print(kpss.test(diff(halfyear_vector[,i]),null="Level"))
print(kpss.test(diff(halfyear_vector[,i]),null="Trend"))
}
#需求壹:進行ADF檢驗
#格蘭傑因果檢驗
granger.test(halfyear_vector,p=7)
#需求二:進行指標***線性判斷
#需求三:進行VAR階數判斷
#VAR模型擬合
halfyear_VAR=VAR(halfyear_vector,p=3,type="both")
halfyear_VAR
#需求四:價模型的穩定性、自相關性,異方差檢驗
#需求五:導出VAR模型
#VAR模型預測
halfyear_VAR_Predict=predict(halfyear_VAR,n.head=1,ci=0.9999)
plot(halfyear_VAR_Predict)
#需求六:計算95%,99%,99.9%分位數的預測取值
------------
DM小菜鳥
本帖最後由 DM小菜鳥 於 2015-2-26 15:27 編輯
1. 用tseries包裏面的adf.test()
2. 可以計算X矩陣的秩qr(X)$rank,如果不是滿秩的,說明其中有Xi可以用其他的X的線性組合表示;也可以計算條件數kappa(X),k<100,說明***線性程度小,如果100<k<1000,有較強的多重***線性,k>1000,存在嚴重的多重***線性。可以進行逐步回歸,用step()命令,比如妳壹開始的模型是fm,step(fm)就可以了
3. adf.test()裏面就可以設滯後項的判斷,adf.test(x, alternative = c("stationary", "explosive"),
k = trunc((length(x)-1)^(1/3)))
AIC準則——
計算AIC統計量,模型的殘差平方和(SS)除以樣本容量(n),再取對數,加上2倍的解釋變量個數(k)除以樣本容量.
AIC=log(SS/n)+2*k/n
尋找某壹k值是AIC達到極小值,則k就是最優滯後階數。
SC準則——
SC=log(SS/n)+log(n)*k/n
4. R裏有兩種檢驗方法是常用的,LiMcLeod{portes}可以進行多元的Portmanteau Q檢驗。。。protest{portes}可以進行壹元的Portmanteau Q檢驗,把函數中的參數SquaredQ=T
還可以把序列平方之後再檢驗自相關性。。。也相當於進行了異方差檢驗。。。
自相關檢驗可以通過ACF圖,函數是acf{stats},或者單位根檢驗ur.df{urca}進行ADF檢驗或者ur.pp{urca}進行PP檢驗,或者進行白噪聲檢驗Box.test{stats},相當於檢驗了序列的二階自相關性。。。
{}裏面的是package的名字