當前位置:編程學習大全網 - 編程語言 - 如何用R做向量自回歸模型

如何用R做向量自回歸模型

請問如何用R做向量自回歸模型(VAR)

要實現以下的幾個步驟,數據集已經有了,請高手們可以介紹下相關的函數嗎?

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的名字

  • 上一篇:MATLAB算編程語言嗎?
  • 下一篇:UE4是什麽材質的?(UE4基礎資料介紹)
  • copyright 2024編程學習大全網