R語言向量自迴歸模型(VAR)及其實現

原文連接 http://tecdat.cn/?p=6916

澳大利亞在2008 - 2009年全球金融危機期間發生了這種狀況。澳大利亞政府發佈了一攬子刺激計劃,其中包括2008年12月的現金支付,恰逢聖誕節支出。所以,零售商報告銷售強勁,經濟受到刺激。所以,收入增長了。測試

VAR面臨的批評是他們是理論上的; 也就是說,它們不是創建在一些經濟學理論的基礎上,這些理論強加了方程式的理論結構。假設每一個變量都影響系統中的每一個其餘變量,這使得估計係數的直接解釋變得困難。儘管如此,VAR在幾種狀況下都頗有用:spa

  1. 預測相關變量的集合,不須要明確的解釋;
  2. 測試一個變量是否有助於預測另外一個變量(格蘭傑因果關係檢驗的基礎);
  3. 脈衝響應分析,其中分析了一個變量對另外一個變量的忽然但暫時的變化的響應;
  4. 預測偏差方差分解,其中每一個變量的預測方差的比例歸因於其餘變量的影響。

示例:用於預測美國消費的VAR模型code

VARselect(uschange[,1:2], lag.max=8,
type="const")[["selection"]]
#> AIC(n) HQ(n) SC(n) FPE(n)
#> 5 1 1 5

R輸出顯示由vars包中可用的每一個信息標準選擇的滯後長度。由AIC選擇的VAR(5)與BIC選擇的VAR(1)之間存在很大差別。所以,咱們首先擬合由BIC選擇的VAR(1)。blog

var1 <- VAR(uschange[,1:2], p=1, type="const")
serial.test(var1, lags.pt=10, type="PT.asymptotic")
var2 <- VAR(uschange[,1:2], p=2, type="const")
serial.test(var2, lags.pt=10, type="PT.asymptotic")

與單變量ARIMA方法相似,咱們使用Portmanteau測試24測試殘差是不相關的。VAR(1)和VAR(2)都具備一些殘餘序列相關性,所以咱們擬合VAR(3)。rem

var3 <- VAR(uschange[,1:2], p=3, type="const")
serial.test(var3, lags.pt=10, type="PT.asymptotic")
#>
#> Portmanteau Test (asymptotic)
#>
#> data: Residuals of VAR object var3
#> Chi-squared = 34, df = 28, p-value = 0.2

該模型的殘差經過了串聯相關的測試。VAR(3)生成的預測如圖所示。get

forecast(var3) %>%
autoplot() + xlab("Year")

相關文章
相關標籤/搜索