向量自回归模型简称VAR模型,是一种常用的计量经济模型,1980年由克里斯托弗·西姆斯(Christopher Sims)提出。VAR模型是用模型中所有当期变量对所有变量的若干滞后变量进行回归。VAR模型用来估计联合内生变量的动态关系,而不带有任何事先约束条件。它是AR模型的推广,此模型目前已得到广泛应用。 向量自回归(VAR)是基于数据的统计性质建立模型,VAR模型把系统中每一个内生变量作为系统中所有内生变量的滞后值的函数来构造模型,从而将单变量自回归模型推广到由多元时间序列变量组成的“向量”自回归模型。VAR模型是处理多个相关经济指标的分析与预测最容易操作的模型之一,并且在一定的条件下,多元MA和ARMA模型也可转化成VAR模型,因此近年来VAR模型受到越来越多的经济工作者的重视。
image.png
利用 2005 年 8 月汇率改革后消费者价格指数(CPI)和人民币名义有效汇率(NEER)的月度数据建立两变量 VAR 模型来分析人民币汇率变动与CPI之间的动态关系。
实验准备
> data
> data
> data
> colnames(data)
> data
> data
> CPI
> NEER
> length(CPI)
[1] 137
> length(NEER)
[1] 137
可以看到数据长度为 137,即包含了 137 个月度 CPI 和 NEER 数据。
下面绘制两个变量的时序图,观察消费者价格指数和名义汇率的波动情况。
> CPI.ts
> NEER.ts
> par(mfrow=c(2,1))
> plot(CPI.ts, type="l", xlab="Date", ylab="CPI")
> plot(NEER.ts, type="l", xlab="Date", ylab="NEER")
image.png
可以看到消费者价格指数(CPI)的波动幅度较大,而名义有效汇率波动较小但明显呈现一个波动上升的趋势,两个变量序列大致是不平稳的。
平稳性检验
在拟合 VAR 模型之前,需要对变量进行平稳性检验,如果要拟合的内生变量都是平稳的或者同阶单整的才可进行 VAR 模型的拟合。但在平稳性检验之前需要先项两变量取对数,以消除时间序列的异方差的影响。
> lncpi
> lnneer
进行平稳性检验本实验选择 urca 包中的 ur.df 函数进行单位根检验,若存在单位根则序列不平稳;反之,不存在单位根则序列平稳。
> library(urca)
> urt.lncpi
> urt.lnneer
> summary(urt.lncpi)
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression trend
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-0.028676 -0.003311 0.000381 0.003035 0.043118
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.047e-01 1.477e-01 2.063 0.0411 *
z.lag.1 -6.555e-02 3.185e-02 -2.058 0.0416 *
tt -1.443e-05 1.678e-05 -0.860 0.3912
z.diff.lag -1.178e-01 8.627e-02 -1.365 0.1745
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.007505 on 131 degrees of freedom
Multiple R-squared: 0.05455, Adjusted R-squared: 0.0329
F-statistic: 2.519 on 3 and 131 DF, p-value: 0.06084
Value of test-statistic is: -2.0578 1.5223 2.2719
Critical values for test statistics:
1pct 5pct 10pct
tau3 -3.99 -3.43 -3.13
phi2 6.22 4.75 4.07
phi3 8.43 6.49 5.47
> summary(urt.lnneer)
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression trend
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-0.038574 -0.007164 -0.000990 0.009182 0.033482
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.4429099 0.1380821 3.208 0.00168 **
z.lag.1 -0.0995380 0.0312008 -3.190 0.00178 **
tt 0.0003157 0.0001058 2.983 0.00341 **
z.diff.lag 0.4099249 0.0810914 5.055 1.42e-06 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Resi