Өмнөх лекцэд инфляцыг таамаглах тухай авч үзсэн. Зөвхөн инфляци ч бус, бусад макро хувьсагчдыг зэрэг таамаглах нэг арга нь VAR юм. Нэг хэмжээст авторегрессийн олон хэмжээст өргөтгөл.

1 VAR Model

Vector autoregression (VAR) -г \(y_t\), \(x_t\) цувааны хувьд тодорхойлбол \begin{equation} \begin{array}{ccl} y_{t} & = &\beta_{10}+\beta_{11}y_{t-1}+\cdots+\beta_{1p}y_{t-p}+\gamma_{11}x_{t-1}+\cdots+\gamma_{1p}x_{t-p} +u_{1t}\\ x_t & = &\beta_{20}+\beta_{21}y_{t-1}+\cdots+\beta_{2p}y_{t-p}+\gamma_{21}x_{t-1}+\cdots+\gamma_{2p}x_{t-p}+u_{2t} \end{array} \end{equation}

энд \(\beta\), \(\gamma\)-ууд үл мэдэгдэх параметрүүд (\(n\) хэмжээст вектор процесс нь нийт \(n^2p+n\)параметртэй). 4 ухралттай, 5 хувьсагчийн модел нь 105 коэффиценттэй байна.

Дээрх тэгшитгэлийн системийг вектор хэлбэрт бичвэл

\[\boldsymbol{y_t}=\boldsymbol\mu+\Phi_1 \boldsymbol y_{t-1}+\cdots+\Phi_p \boldsymbol y_{t-p}+\boldsymbol u_t\]

\[\boldsymbol y_t=\left( \begin{array}{c} y_t\\ x_t\\ \end{array} \right), \quad \boldsymbol \mu=\left( \begin{array}{c} \beta_{10}\\ \beta_{20}\\ \end{array} \right) , \quad \boldsymbol u_t=\left( \begin{array}{c} u_{1t}\\ u_{2t}\\ \end{array} \right) , \quad \boldsymbol \Phi_i=\left( \begin{array}{c&c} \beta_{1i}&\gamma_{1i}\\ \beta_{2i}&\gamma_{2_i} \end{array} \right), \quad (i=1,...,p) \] Үүнийг мөн матрицан олон гишүүнт (ө.х элемент бүр нь lag polynomial) ашиглан

\[\Phi (L)\boldsymbol y_t = \boldsymbol \mu + \boldsymbol u_t\] гэж бичиж болно. Энд \[\Phi(L) = I_k-\Phi_1 L-\cdots- \Phi_p L^p\]

Олон хувьсагчийн моделийн хувьд стационарь (векторын элемент бүр стационарь) байх нөхцөл нь AR(1) модельтэй адилхан.

Параметрийн тоо олон болох тусам таарамж (model fit) сайжрах боловч, прогноз мууддаг(overfitting problem). Тэгэхээр оролцох цувааны тоог төдийлэн ихгүй байхаар, мөн аль болох хоорондоо хамааралтай байдлаар сонгох нь зүйтэй.

Жишээлбэл, эдийн засгийн онолд инфляци, богино хугацааны хүү, ажилгүйдэл хамааралтай гэж үздэг учир эдгээр 3 хувьсагч нэг нэгээ таамаглахад хэрэг болно. Тиймд энэ 3 хувьсагчийг нэг моделд оруулж болох юм.

1.1 VAR-ийн статистик үнэлгээ (Estimation and Inference in VAR)

OLSE нь нийцтэй байх учир параметрүүдийг ХБКА-аар үнэлж болно. Мөн их түүвэрт нормал тархалттай учир коэффициентүүдийн тухай таамаглалыг ердийн аргаар шалгаж болно. (\(Wald\) шинжүүр нь \(\chi^2\) асимптотик тархалттай байна.)

1.2 lag order selection

Нэг хувьсагчийн загварийн адилаар мэдээллийн шинжүүрээр тодорхойлно.

\(\widehat{ Var(\boldsymbol u})=\hat\Sigma_u\) бол

\[BIC(p)=\ln(\det(\hat\Sigma_u))+(n^2p+n)\frac{\ln(T)}{T}\] \[AIC(p)=\ln(\det(\hat\Sigma_u))+(n^2p+n)\frac{2}{T}\]

1.3 VAR–ийн төрөл

Causal analysis буюу шалтгааны анализид ашиглагддаг VAR моделийг structural VAR гэдэг бөгөөд анх эдийн засагт ашигласан нь Sims (1980) “Macroeconomics and Reality” (2011 онд Нобелийн шагнал хүртжээ). Энэ талаар нэмэлт материалаас уншина уу.

Прогнозид ашиглах бол reduced form модел хангалттай.

1.4 Granger Causality test

Granger Causality: \(y_t\)-ийн прогнозид \(x_t\)-ийн өнгөрсөн утгууд оролцож байвал \(x\) нь \(y\)-ийн Гренжэр шалтгаан.

Test: VAR моделийн хувьд \(y_t\)-ийн тэгшитгэлд \(x_t\) коэффициентүүд бүгд нэгэн зэрэг тэг гэсэн таамаглал шалгахыг Granger Causality Test гэнэ. \[y_{t} = \beta_{10}+\beta_{11}y_{t-1}+\cdots+\beta_{1p}y_{t-p}+\gamma_{11}x_{t-1}+\cdots+\gamma_{1p}x_{t-p} +u_{1t}\] тэгшитгэлд \[H_0:\gamma_{11}=\ldots=\gamma_{1p}=0\] Үүнийг дээрхи таамаглалын F тест эсвэл Wald тест ашиглан шалгана.

2 Жишээ

Өмнөх лекцийн датаг ашиглан

\[\boldsymbol y= \left( \begin{array}{c} \Delta Inf_t\\ Unemp_t\\ \end{array} \right)\] цувааг VAR моделд тохируулан прогноз хийж үзье. 1980-аад оны үед Филиппсийн муруйд бүтцийн өөрчлөлт гарсан тул 1982:1-2004:4 хугацааны өгөгдлийг ашиглана (Бүтцийн өөрчлөлттэй үед прогноз хийхэд бүтцийн өөрчлөлт гарснаас хойшхи өгөгдлийг ашиглана.)

library(dplyr)
library(vars)
load("macro.Rdata")
macro <- filter(macro, year>=1982)
macro_ts <- ts(data=macro[, -1:-3], start=c(1982, 01) ,freq=4)

var_result <- VAR(macro_ts, p=4) # fitting VAR(4)
summary(var_result)
## 
## VAR Estimation Results:
## ========================= 
## Endogenous variables: d_inf, unemp 
## Deterministic variables: const 
## Sample size: 88 
## Log Likelihood: -107.319 
## Roots of the characteristic polynomial:
## 0.8014 0.7061 0.7061 0.6876 0.5589 0.5589 0.2869 0.1628
## Call:
## VAR(y = macro_ts, p = 4)
## 
## 
## Estimation results for equation d_inf: 
## ====================================== 
## d_inf = d_inf.l1 + unemp.l1 + d_inf.l2 + unemp.l2 + d_inf.l3 + unemp.l3 + d_inf.l4 + unemp.l4 + const 
## 
##          Estimate Std. Error t value Pr(>|t|)    
## d_inf.l1 -0.60453    0.10497  -5.759 1.55e-07 ***
## unemp.l1 -3.20378    0.72683  -4.408 3.25e-05 ***
## d_inf.l2 -0.56901    0.11704  -4.862 5.81e-06 ***
## unemp.l2  2.65372    1.20403   2.204  0.03043 *  
## d_inf.l3 -0.13415    0.11292  -1.188  0.23839    
## unemp.l3  2.17572    1.23776   1.758  0.08266 .  
## d_inf.l4 -0.18256    0.09878  -1.848  0.06831 .  
## unemp.l4 -1.85091    0.69079  -2.679  0.00897 ** 
## const     1.23418    0.64529   1.913  0.05942 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Residual standard error: 1.24 on 79 degrees of freedom
## Multiple R-Squared: 0.4479,  Adjusted R-squared: 0.3919 
## F-statistic:  8.01 on 8 and 79 DF,  p-value: 7.591e-08 
## 
## 
## Estimation results for equation unemp: 
## ====================================== 
## unemp = d_inf.l1 + unemp.l1 + d_inf.l2 + unemp.l2 + d_inf.l3 + unemp.l3 + d_inf.l4 + unemp.l4 + const 
## 
##           Estimate Std. Error t value Pr(>|t|)    
## d_inf.l1 -0.003137   0.015206  -0.206  0.83708    
## unemp.l1  1.345848   0.105292  12.782  < 2e-16 ***
## d_inf.l2  0.003128   0.016954   0.184  0.85411    
## unemp.l2 -0.203422   0.174422  -1.166  0.24702    
## d_inf.l3  0.004637   0.016358   0.283  0.77754    
## unemp.l3 -0.292666   0.179308  -1.632  0.10662    
## d_inf.l4  0.010601   0.014309   0.741  0.46098    
## unemp.l4  0.085520   0.100071   0.855  0.39536    
## const     0.359695   0.093480   3.848  0.00024 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Residual standard error: 0.1797 on 79 degrees of freedom
## Multiple R-Squared: 0.9827,  Adjusted R-squared: 0.9809 
## F-statistic: 560.6 on 8 and 79 DF,  p-value: < 2.2e-16 
## 
## 
## 
## Covariance matrix of residuals:
##        d_inf    unemp
## d_inf  1.538 -0.03000
## unemp -0.030  0.03228
## 
## Correlation matrix of residuals:
##         d_inf   unemp
## d_inf  1.0000 -0.1346
## unemp -0.1346  1.0000
Эхний тэгшитгэл \begin{equation} \begin{split} \widehat{\Delta Inf_t} & = 1.23 -0.60 \Delta Inf_{t-1}-0.57 \Delta Inf_{t-2}-0.13\Delta Inf_{t-3}-0.18\Delta Inf_{t-4}\\ & -3.20 Unemp_{t-1}+2.65Unemp_{t-2}+ 2.17Unemp_{t-3}-1.85Unemp_{t-4} \end{split} \end{equation}

\(\bar{R}^2=0.39\)

Хоёр дахь тэгшитгэл

\begin{equation} \begin{split} \widehat{Unemp_t} & = 0.36 -0.003 \Delta Inf_{t-1}+0.003 \Delta Inf_{t-2}-0.004\Delta Inf_{t-3}+0.010\Delta Inf_{t-4}\\ &+ 1.34 Unemp_{t-1}-0.20Unemp_{t-2}-0.29Unemp_{t-3}-0.08Unemp_{t-4} \end{split} \end{equation}

\(\bar{R}^2=0.982\)

2.1 Granger Causality

F тест статистик 5.96-ийг \(F_\alpha(4, 158)\)-тай харьцуулна(158=88*2-18), \(p\) утга 0.001-с бага \(\Rightarrow\) тэг таамаглал няцаагдах учир \(Unemp\) нь \(\Delta Inf\)-ийн Гренжэр шалтгаан болно. \(F\) тархалтын квантилийг дараахи функцаар олж болно.

pf(0.95, 4, 158)
## [1] 0.5632122
causality(var_result, c("unemp"))
## $Granger
## 
##  Granger causality H0: unemp do not Granger-cause d_inf
## 
## data:  VAR object var_result
## F-Test = 5.9607, df1 = 4, df2 = 158, p-value = 0.0001711
## 
## 
## $Instant
## 
##  H0: No instantaneous causality between: unemp and d_inf
## 
## data:  VAR object var_result
## Chi-squared = 1.5667, df = 1, p-value = 0.2107
causality(var_result, c("d_inf"))
## $Granger
## 
##  Granger causality H0: d_inf do not Granger-cause unemp
## 
## data:  VAR object var_result
## F-Test = 0.15635, df1 = 4, df2 = 158, p-value = 0.9599
## 
## 
## $Instant
## 
##  H0: No instantaneous causality between: d_inf and unemp
## 
## data:  VAR object var_result
## Chi-squared = 1.5667, df = 1, p-value = 0.2107

2.2 Прогноз

library(forecast)
forecast(var_result, h=1)
fcst <- forecast(var_result)
plot(fcst, xlab="Year")
## d_inf 
##         Point Forecast    Lo 80    Hi 80     Lo 95    Hi 95
## 2005 Q1     -0.3332719 -1.92273 1.256187 -2.764139 2.097595
## 
## unemp 
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2005 Q1       5.441536 5.211279 5.671793 5.089388 5.793684

\(\widehat{\Delta Inf}_{2005:1|2004:4}=-0.33\) өмнөх семинар дээр ажилласан \(ARDL(4, 4)\)-н прогнозын утгатай ойрхон. \(\widehat{unemp}_{2005:1|2004:4}=5.44\). Жинхэнэ утга нь 5.3.

3 Коинтеграци (Cointegration)

\(I(1)\) цуваануудын шугаман эвлүүлэг голчлон \(I(1)\) ихэнхидээ байдаг боловч, 2 цуваа хоорондоо төстэй үед (албан ёсны хэллэг нь нийтлэг трендтэй-common trend) шугаман эвлүүлэг нь \(I(0)\). Ийм тохиолдолд тэрхүү цуваанууд коинтеграци (cointegrated) боллоо гэнэ. Энэ ойлголтыг Clive Granger зохиосон бөгөөд энэ ажлаараа 2003 онд Нобелийн шагнал авсан.

load("dat.Rdata")

Хэрэв \(x_t\), \(y_t\) цуваанууд коинтеграцилагдсан бол нийтлэг трендийг арилган стационар цуваа үүсгэж болно.

\(x_t\), \(y_t\) нь \(I(1)\) цуваанууд, \(y_t-\theta x_t\) нь \(I(1)\) цуваа байг. Тэгвэл \(\Delta x_t\), \(\Delta y_t\)-г загварчлахдаа \(y_t-\theta x_t\) \(I(1)\)-г нэмэлт регрессор болгон оруулж болно.

\begin{equation} \begin{array}{ccl} \Delta y_{t} & = &\beta_{10}+\beta_{11}\Delta y_{t-1}+\cdots+\beta_{1p}\Delta y_{t-p}+\gamma_{11}\Delta x_{t-1}+\cdots+\gamma_{1p} \Delta x_{t-p} +\alpha_1 (y_t-\theta x_t)+u_{1t}\\ \Delta x_t & = &\beta_{20}+\beta_{21}\Delta y_{t-1}+\cdots+\beta_{2p}\Delta y_{t-p}+\gamma_{21}\Delta x_{t-1}+\cdots+\gamma_{2p}\Delta x_{t-p}+\alpha_2 (y_t-\theta x_t)+u_{2t} \end{array} \end{equation}

\(y_t-\theta x_t\)error correction term гэх бөгөөд дээрх загварыг VECM (vector error correction model) гэдэг.

3.1 Cointegration test

  • cointegration coefficient \(\theta\) мэдэгдэж байвал \(y_t-\theta x_t\)нь нэгж язгууртай эсэхийг шууд шалгаж болно

  • \(\theta\) мэдэгдэхгүй бол \(\theta\)-г үнэлэх хэрэгтэй болно.

\[y_t=\alpha+\theta x_t+\epsilon_t\]-г OLS-р үнэлэн үлдэгдлүүдийн (residuals) хувьд Dickey Fuller тест (drift-тэй) ашиглан нэгжийн язгууртай эсэхийг шалгах аргыг Engle-Granger Cointegration Test гэдэг.

out <- lm(m1~m3, data=dat)
summary(out)
## 
## Call:
## lm(formula = m1 ~ m3, data = dat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.66005 -0.24616 -0.01722  0.25362  2.21451 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.36546    0.06672   5.477 1.35e-07 ***
## m3           1.04420    0.01092  95.624  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4237 on 191 degrees of freedom
## Multiple R-squared:  0.9795, Adjusted R-squared:  0.9794 
## F-statistic:  9144 on 1 and 191 DF,  p-value: < 2.2e-16

\[\widehat{R1year}_t=0.321+1.049R90_t, \quad \bar{R}^2=0.97\]

library(urca)
ur.df(out$residuals, type="none", lags=1) 
## 
## ############################################################### 
## # Augmented Dickey-Fuller Test Unit Root / Cointegration Test # 
## ############################################################### 
## 
## The value of the test statistic is: -6.6056

DF-test statistics is \(-6.60 <-3.96\) so unit root is rejected.

4 Унших материал