24.1 VAR(1)模型
多个资产收益率的联合模型中最常用的是向量自回归
(Vector Autoregression, VAR)模型。
称
即VAR(1),若有
其中
文献中经常假定
则这时
记
24.2 模型结构和格兰杰因果性
考虑
模型变成
如果
则
这时两个序列分别服从单独的一元AR(1)模型;
如果
则
称这样的分离的序列为非耦合的。
如果
这时两个序列之间有相互反馈关系。
如果
模型变成
这时
但
可以将
在统计学文献中,
如果
称式(24.3)的
之间有传递函数(transfer function)关系。
传递函数模型是VARMA的一种特殊形式,
在控制工程中非常有用,
可以通过调整
在计量经济学文献中,
此模型意味着两个序列之间存在格兰杰因果关系,
但
(Granger 1969)提出了因果关系的概念,
适用于解释VAR模型的结果。
考虑一个二元序列
的超前
可以分别用VAR模型和每个分量的一元模型来进行预测。
如果
则称
这是因为
这里预测精度用预测的均方误差来度量。
当然,
令
即
令
考虑(24.2)的二元VAR(1)模型。
考虑基于
其预测误差为
其中对
考虑基于
其预测误差为
如果
即使用截止到
均方误差比不利用第一个分量序列的均方误差小,
则称
回到二元VAR(1)模型(24.2),
如果
则
预测
序列
预测
所以序列
事实上,对(24.3),
不妨设
这时
又
而
即
另一方面,
所以
如果
则序列
而序列
如果新息
则
这时两个序列存在即期(同期,瞬时)格兰格因果关系,
这种即期因果关系是双向的。
注意,
这样定义的格兰格因果性依赖于VAR(1)模型(24.1)这样的模型形式(称为简化形式),
如果改变模型的形式(比如改为下面的结构形式),
可能就不会在
更多分量的VAR(1)可以有更灵活的格兰格因果关系。
比如三元的模型,
如果
则:
r2t 和r3t 都不是r1t 的格兰格原因;r1t 是r2t 的格兰格原因,
但r3t 不是r2t 的格兰格原因;r1t 和r2t 都是r3t 的格兰格原因。
如果
关系可能多种多样。
24.3 VAR的简化形式和结构形式
式(24.1)的系数矩阵
度量了
如果
则两个分量
在计量经济文献中式(24.1)中的VAR(1)
模型称为简化形式(reduced form)的模型,
因为该模型没有清楚地表现出分量序列之间的同步线性相依性。
可以利用矩阵变换对(24.1)进行变换,
得到显式地表现同步关系的模型。
对
存在Cholesky分解
其中
定义
则
其中
上式表明
将式(24.1)两边同时左乘
得
记
设
则模型(24.4)的最后一个方程(第
对
因为
所以式(24.5)明确表示了
在计量经济文献中式(24.5)称为
的一个结构方程(structural form)。
对
可以对VAR模型各个方程的次序进行重排,
比如,
将第
再用前面的方法得到关于
因此,
式(24.1)的简化形式等价于式(24.5)的结构形式。
在时间序列分析中通常使用简化形式,因为
- 简化形式更容易估计;
- 在预测时,同步形式无法使用。
例2.1
为了说明从简化形式到结构方程的变换,
考虑如下的二元VAR(1)模型:
对
其中
在简化形式的VAR(1)模型两边同时左乘
得
其中第二个方程为
此方程明确表现了
方程中也有
对
为了给出
将简化形式的两个方程对换位置,
得(注意
此
在调换次序的VAR(1)模型的两边同时左乘
其中第二个方程为
这个方程明确地表现了
○○○○○
利用R计算
<- function(A){
ldl.decomp <- chol(A)
R <- diag(diag(R))
D <- solve(t(solve(D, R)))
Linv <- D^2
G
list(Linv=Linv, G=G)
}
例如
<- rbind(c(2,1), c(1,1)); Sigma Sigma
## [,1] [,2]
## [1,] 2 1
## [2,] 1 1
## $Linv
## [,1] [,2]
## [1,] 1.0 0
## [2,] -0.5 1
##
## $G
## [,1] [,2]
## [1,] 2 0.0
## [2,] 0 0.5
<- rbind(c(1,1), c(1,2)); Sigma Sigma
## [,1] [,2]
## [1,] 1 1
## [2,] 1 2
## $Linv
## [,1] [,2]
## [1,] 1 0
## [2,] -1 1
##
## $G
## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
24.4 VAR(1)模型的平稳性条件和矩
设(24.1)式中的VAR(1)模型的
在方程两边取期望得
由
得
在式(24.1)中代入
则模型(24.1)可以写成
记中心化的
则VAR(1)模型(24.1)变成
将(24.6)递归得
其中
这相当于一元时间序列的Wold表示。
由(24.7)可以推出:
- 因为
{at} 序列不相关,
所以Cov(at,rt−l)=0 (l>0 时)。
因此可以将at 称为序列{rt} 在t
时刻的一个扰动或者新息(innovation)。
一般定义新息为at=rt−E(rt|Ft−1)
或at=rt−L(rt|Ht−1) ,
L(⋅|⋅) 表示均方误差最小线性预测,
Ht−1 表示由{rt−1,rt−2,…} 张成的Hilbert空间。
平稳的VAR(1)中ait 是用
rt−1,rt−2,… 对rit 作最优线性预测的预测误差。 - 在(24.7)两边同时右乘
aTt 后取期望,
得Cov(rt,at)=Σ 。 - 对VAR(1)模型(24.1)导出的Wold表示(24.7),
rt 按系数矩阵Φj 依赖于过去的新息at−j 。
为了使得(24.7)收敛,
需要j→∞ 时Φj→0 ,
这当且仅当Φ 的所有特征值的模都小于1。
如果存在模大于或等于1的特征值,
则j→∞ 时Φj 发散或者不收敛到0 矩阵。
仿照一元情形的特征多项式的讨论,
因为特征值的模小于1当且仅当
|λI−Φ| 的根的模都小于1,
而|λI−Φ|=λk|I−Φλ−1| ,
记z=λ−1 ,
称关于z 的多项式|P(z)|=|I−Φz| 为模型的(逆序)特征多项式,
则式(24.7)收敛的充分必要条件是特征多项式|P(z)| 的根都在单位圆外。
这个条件称为VAR(1)模型的平稳性条件。
当且仅当平稳性条件成立时,
模型(24.1)存在满足
at 与rt−1,rt−2,… 不相关条件的平稳解。 - 利用推移算子和特征多项式可以将模型(24.1)写成
P(B)rt=ϕ0+at 。 - 利用Wold表示(24.7)式还可得
考虑VAR(1)模型的互协方差阵和互相关阵。
将式(24.6)两边乘以
得互协方差阵
这个结果是一元时间序列AR(1)模型性质的推广。
通过递推可得
其中
设
则VAR(1)模型的互相关阵为
其中
(
递推得
例2.2
考虑二元VAR(1)模型
计算
abs(eigen(rbind(c(0.2, 0.3), c(-0.6, 1.1)))$value)
## [1] 0.8 0.5
特征值的绝对值都小于1。
模型是平稳的。
注意
但不影响平稳性。
多元弱平稳一定也是一元弱平稳的。
24.5 VAR(1)模型的边缘模型
对VAR(1)模型(24.1)的如上的Wold表示,
同时也将
表示成了一元的无穷阶MA,但其中的新息是多元的。
利用这种思想,将分量的一元模型可以写成一元ARMA模型。
设矩阵
令
其中
记为
有
VAR(1)的Wold表示相当于
利用伴随矩阵可得
其中
这样,分量
模型中的MA部分涉及到多元的新息,
但是可以设法转换成一元的新息。
例2.3
考虑例2.2中的模型。
这时
于是
所以分量
令
易见
且其ACF在
所以
从而分量
一般地,
由于方程左右可能有公共根,
所以模型阶数可能会降低。
24.6 VAR(p)模型
称
如果
其中
其
利用向后推移算子(滞后算子)
记
这是一个从复数
称一元多项式函数
利用矩阵推移函数
如果
则在下式的逆矩阵存在的条件下
中心化
这时模型(24.9)变成
称VAR(
如果特征多项式
当VAR(
有如下的Wold表示的平稳解:
其中
对
由上述Wold表示可知,
对平稳解
Cov(rt,at)=Σ=Var(at) ;Cov(rt−l,at)=0 (l>0 )。
互协方差阵满足如下递推关系
这个性质称为VAR(
是一元AR(
用CCM表示为
其中
事实上,VAR(
然后可以用VAR(1)模型的结果去研究VAR(
令
则
是关于
其充分必要条件是
计算可知这相当于要求用行列式表示的
但是,
因为计算
而求
所以为了判断一个VAR(
可以生成
如果
或
即有单位根,
则
各个分量之间还有可能存在协整关系,
可以用VECM(向量误差修正模型)建模,
参见25。
对VAR(
系数矩阵
比如
如果所有
但存在
则
24.7 估计和定阶
VAR模型建模也基本遵循定阶、模型估计和模型检验这样的反复尝试过程。
一元的PACF可以推广到多元情形用以辅助定阶。
考虑如下的阶数递进的VAR模型:
模型参数可以对每个方程分别用OLS(最小二乘)方法估计,
在多元统计分析文献中称为多元线性估计,
参见(Johnson and Wichern 1998)。
对于(24.13)的第
令
残差为
当
其中
残差的方差阵估计为
(参见(Tsay 2014) 节2.5.1 P.34。)
为了定阶,
可以对
对
使用检验统计量
在一些正则性条件下当
计算右侧p值。
一般地,
可以通过(24.13)的第
取检验统计量
在
计算右侧p值。
另一种定阶方法是利用AIC或其它类似的信息准则。
设
可以用最大似然(ML)方法估计模型,
对于VAR模型,
最小二乘估计
与条件最大似然估计等价,
但误差项方差阵
VAR(
取最终的阶
其中
类似的信息准则还有
HQ准则是Hannan和Quinn(1979)提出的。
这些准则的选择结果不受量纲的影响,
对数据乘以常数
结果会使得
24.7.1 英、加、美GDP的VAR建模
考虑英国、加拿大、美国GDP的季度增长率,
时间从1980年第二季度到2011年第二季度。
数据经过季节调整,
来自圣路易斯联邦储备银行的数据库。
GDP是以本国货币百亿为单位,
增长率表示为GDP的对数的差分。
读入数据,计算对数增长率:
<- read_table("q-gdp-ukcaus.txt") da
##
## -- Column specification --------------------------------------------------------
## cols(
## year = col_double(),
## mon = col_double(),
## uk = col_double(),
## ca = col_double(),
## us = col_double()
## )
<- ts(as.matrix(da[,c("uk", "ca", "us")]),
ts.gdp3 start=c(1980,1), frequency=4)
<- diff(log(ts.gdp3))*100 ts.gdp3r
三个国家的季度GDP对数增长率的时间序列图:
plot(as.xts(ts.gdp3r), type="l",
multi.panel=TRUE, theme="white",
main="英国、加拿大、美国GDP的季度增长率(%)",
major.ticks="years",
grid.ticks.on = "years")
图24.1: 英国、加拿大、美国GDP的季度增长率
利用MTS包的VAR()
函数估计VAR(1)模型:
library(MTS, quietly = TRUE)
<- coredata(as.xts(ts.gdp3r))
Z <- MTS::VAR(Z, 1) m1.gdp3r
## Constant term:
## Estimates: 0.1713324 0.1182869 0.2785892
## Std.Error: 0.06790162 0.07193106 0.07877173
## AR coefficient matrix
## AR( 1 )-matrix
## [,1] [,2] [,3]
## [1,] 0.434 0.189 0.0373
## [2,] 0.185 0.245 0.3917
## [3,] 0.322 0.182 0.1674
## standard error
## [,1] [,2] [,3]
## [1,] 0.0811 0.0827 0.0872
## [2,] 0.0859 0.0877 0.0923
## [3,] 0.0940 0.0960 0.1011
##
## Residuals cov-mtx:
## [,1] [,2] [,3]
## [1,] 0.28933472 0.01965508 0.06619853
## [2,] 0.01965508 0.32469319 0.16862723
## [3,] 0.06619853 0.16862723 0.38938665
##
## det(SSE) = 0.02721916
## AIC = -3.459834
## BIC = -3.256196
## HQ = -3.377107
估计VAR(2)模型:
<- coredata(as.xts(ts.gdp3r))
Z <- MTS::VAR(Z, 2) m2.gdp3r
## Constant term:
## Estimates: 0.1258163 0.1231581 0.2895581
## Std.Error: 0.07266338 0.07382941 0.0816888
## AR coefficient matrix
## AR( 1 )-matrix
## [,1] [,2] [,3]
## [1,] 0.393 0.103 0.0521
## [2,] 0.351 0.338 0.4691
## [3,] 0.491 0.240 0.2356
## standard error
## [,1] [,2] [,3]
## [1,] 0.0934 0.0984 0.0911
## [2,] 0.0949 0.1000 0.0926
## [3,] 0.1050 0.1106 0.1024
## AR( 2 )-matrix
## [,1] [,2] [,3]
## [1,] 0.0566 0.106 0.01889
## [2,] -0.1914 -0.175 -0.00868
## [3,] -0.3120 -0.131 0.08531
## standard error
## [,1] [,2] [,3]
## [1,] 0.0924 0.0876 0.0938
## [2,] 0.0939 0.0890 0.0953
## [3,] 0.1038 0.0984 0.1055
##
## Residuals cov-mtx:
## [,1] [,2] [,3]
## [1,] 0.28244420 0.02654091 0.07435286
## [2,] 0.02654091 0.29158166 0.13948786
## [3,] 0.07435286 0.13948786 0.35696571
##
## det(SSE) = 0.02258974
## AIC = -3.502259
## BIC = -3.094982
## HQ = -3.336804
VAR(1)的AIC为
VAR(2)占优。
设
得到的模型VAR(2)模型可以写成
结果中也包括系数的标准误差,可以看出有些系数是不显著的。
比如,三个序列的次序为英国、加拿大、美国,
说明英国的GDP季度增长率不受加拿大和美国的过去值的影响,
或者粗略地说,
加拿大和美国的GDP季度增长率不是英国的GDP季度增长率的格兰格原因。
更严格的分析应该进行假设检验。
利用MTS包的VARorder函数可以计算VAR定阶的
library(MTS, quietly = TRUE)
<- coredata(as.xts(ts.gdp3r))
Z <- VARorder(Z/100) m3.gdp3r
## selected order: aic = 2
## selected order: bic = 1
## selected order: hq = 1
## Summary table:
## p AIC BIC HQ M(p) p-value
## [1,] 0 -30.9560 -30.9560 -30.9560 0.0000 0.0000
## [2,] 1 -31.8830 -31.6794 -31.8003 115.1329 0.0000
## [3,] 2 -31.9643 -31.5570 -31.7988 23.5389 0.0051
## [4,] 3 -31.9236 -31.3127 -31.6754 10.4864 0.3126
## [5,] 4 -31.8971 -31.0826 -31.5662 11.5767 0.2382
## [6,] 5 -31.7818 -30.7636 -31.3682 2.7406 0.9737
## [7,] 6 -31.7112 -30.4893 -31.2148 6.7822 0.6598
## [8,] 7 -31.6180 -30.1925 -31.0389 4.5469 0.8719
## [9,] 8 -31.7570 -30.1279 -31.0952 24.4833 0.0036
## [10,] 9 -31.6897 -29.8569 -30.9451 6.4007 0.6992
## [11,] 10 -31.5994 -29.5630 -30.7721 4.3226 0.8889
## [12,] 11 -31.6036 -29.3636 -30.6936 11.4922 0.2435
## [13,] 12 -31.6183 -29.1746 -30.6255 11.8168 0.2238
## [14,] 13 -31.6718 -29.0245 -30.5964 14.1266 0.1179
从AIC比较来看,应该取
从检验来看,
从
但
所以应该取
○○○○○
还可以用vars包的VAR()
函数估计。
估计VAR(1):
<- coredata(as.xts(ts.gdp3r))
da1 <- vars::VAR(da1, p=1)
var1 summary(var1)
##
## VAR Estimation Results:
## =========================
## Endogenous variables: uk, ca, us
## Deterministic variables: const
## Sample size: 124
## Log Likelihood: -304.407
## Roots of the characteristic polynomial:
## 0.7091 0.08735 0.05004
## Call:
## vars::VAR(y = da1, p = 1)
##
##
## Estimation results for equation uk:
## ===================================
## uk = uk.l1 + ca.l1 + us.l1 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.43435 0.08106 5.358 4.12e-07 ***
## ca.l1 0.18888 0.08275 2.282 0.0242 *
## us.l1 0.03727 0.08716 0.428 0.6697
## const 0.17133 0.06790 2.523 0.0129 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.5468 on 120 degrees of freedom
## Multiple R-Squared: 0.3687, Adjusted R-squared: 0.3529
## F-statistic: 23.36 on 3 and 120 DF, p-value: 5.596e-12
##
##
## Estimation results for equation ca:
## ===================================
## ca = uk.l1 + ca.l1 + us.l1 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.18499 0.08587 2.154 0.0332 *
## ca.l1 0.24475 0.08766 2.792 0.0061 **
## us.l1 0.39166 0.09233 4.242 4.38e-05 ***
## const 0.11829 0.07193 1.644 0.1027
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.5792 on 120 degrees of freedom
## Multiple R-Squared: 0.4685, Adjusted R-squared: 0.4552
## F-statistic: 35.26 on 3 and 120 DF, p-value: < 2.2e-16
##
##
## Estimation results for equation us:
## ===================================
## us = uk.l1 + ca.l1 + us.l1 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.32153 0.09404 3.419 0.000859 ***
## ca.l1 0.18196 0.09600 1.895 0.060438 .
## us.l1 0.16740 0.10111 1.656 0.100410
## const 0.27859 0.07877 3.537 0.000577 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.6343 on 120 degrees of freedom
## Multiple R-Squared: 0.3044, Adjusted R-squared: 0.287
## F-statistic: 17.5 on 3 and 120 DF, p-value: 1.725e-09
##
##
##
## Covariance matrix of residuals:
## uk ca us
## uk 0.29898 0.02031 0.06841
## ca 0.02031 0.33552 0.17425
## us 0.06841 0.17425 0.40237
##
## Correlation matrix of residuals:
## uk ca us
## uk 1.00000 0.06413 0.1972
## ca 0.06413 1.00000 0.4742
## us 0.19722 0.47424 1.0000
与MTS::VAR()
的输出格式不同,vars::VAR()
对每个分量单独输出其方程,
好处是用我们熟悉的格式显示估计值、标准误差、检验统计量和p值。
得到的模型与MTS::VAR()
结果相同,
白噪声方差估计略有差别。
用AIC自动选择阶,指定ic="AIC"
和lag.max=5
:
<- coredata(as.xts(ts.gdp3r))
da1 <- vars::VAR(da1, ic="AIC", lag.max=5)
var2 summary(var2)
##
## VAR Estimation Results:
## =========================
## Endogenous variables: uk, ca, us
## Deterministic variables: const
## Sample size: 121
## Log Likelihood: -252.647
## Roots of the characteristic polynomial:
## 0.785 0.7516 0.7516 0.7336 0.7336 0.6144 0.6144 0.5679 0.5679 0.5165 0.5122 0.5122
## Call:
## vars::VAR(y = da1, lag.max = 5, ic = "AIC")
##
##
## Estimation results for equation uk:
## ===================================
## uk = uk.l1 + ca.l1 + us.l1 + uk.l2 + ca.l2 + us.l2 + uk.l3 + ca.l3 + us.l3 + uk.l4 + ca.l4 + us.l4 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.515685 0.095298 5.411 3.8e-07 ***
## ca.l1 0.071863 0.094459 0.761 0.44844
## us.l1 0.063904 0.088668 0.721 0.47264
## uk.l2 -0.050370 0.101228 -0.498 0.61979
## ca.l2 0.160043 0.098620 1.623 0.10754
## us.l2 -0.001984 0.095495 -0.021 0.98346
## uk.l3 0.052363 0.102949 0.509 0.61205
## ca.l3 -0.278830 0.098341 -2.835 0.00547 **
## us.l3 0.141145 0.093728 1.506 0.13501
## uk.l4 0.040130 0.091050 0.441 0.66028
## ca.l4 0.261731 0.086947 3.010 0.00325 **
## us.l4 -0.246485 0.088234 -2.794 0.00617 **
## const 0.147957 0.074786 1.978 0.05043 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.5013 on 108 degrees of freedom
## Multiple R-Squared: 0.478, Adjusted R-squared: 0.42
## F-statistic: 8.242 on 12 and 108 DF, p-value: 7.84e-11
##
##
## Estimation results for equation ca:
## ===================================
## ca = uk.l1 + ca.l1 + us.l1 + uk.l2 + ca.l2 + us.l2 + uk.l3 + ca.l3 + us.l3 + uk.l4 + ca.l4 + us.l4 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.37782 0.10199 3.705 0.000336 ***
## ca.l1 0.31603 0.10109 3.126 0.002276 **
## us.l1 0.40963 0.09489 4.317 3.52e-05 ***
## uk.l2 -0.17399 0.10834 -1.606 0.111193
## ca.l2 -0.25407 0.10554 -2.407 0.017771 *
## us.l2 0.06295 0.10220 0.616 0.539247
## uk.l3 0.09615 0.11018 0.873 0.384757
## ca.l3 0.12035 0.10525 1.143 0.255362
## us.l3 0.01366 0.10031 0.136 0.891925
## uk.l4 0.07470 0.09744 0.767 0.445006
## ca.l4 -0.09031 0.09305 -0.971 0.333959
## us.l4 -0.09781 0.09443 -1.036 0.302622
## const 0.07757 0.08004 0.969 0.334593
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.5365 on 108 degrees of freedom
## Multiple R-Squared: 0.5661, Adjusted R-squared: 0.5179
## F-statistic: 11.74 on 12 and 108 DF, p-value: 8.189e-15
##
##
## Estimation results for equation us:
## ===================================
## us = uk.l1 + ca.l1 + us.l1 + uk.l2 + ca.l2 + us.l2 + uk.l3 + ca.l3 + us.l3 + uk.l4 + ca.l4 + us.l4 + const
##
## Estimate Std. Error t value Pr(>|t|)
## uk.l1 0.51905 0.10938 4.745 6.41e-06 ***
## ca.l1 0.17304 0.10841 1.596 0.1134
## us.l1 0.15039 0.10177 1.478 0.1424
## uk.l2 -0.21784 0.11618 -1.875 0.0635 .
## ca.l2 -0.15931 0.11319 -1.407 0.1622
## us.l2 0.22561 0.10960 2.058 0.0420 *
## uk.l3 0.04783 0.11816 0.405 0.6864
## ca.l3 -0.07856 0.11287 -0.696 0.4879
## us.l3 0.07384 0.10758 0.686 0.4939
## uk.l4 0.15409 0.10450 1.475 0.1433
## ca.l4 -0.15182 0.09979 -1.521 0.1311
## us.l4 -0.05350 0.10127 -0.528 0.5984
## const 0.23868 0.08584 2.781 0.0064 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.5754 on 108 degrees of freedom
## Multiple R-Squared: 0.4531, Adjusted R-squared: 0.3923
## F-statistic: 7.457 on 12 and 108 DF, p-value: 7.522e-10
##
##
##
## Covariance matrix of residuals:
## uk ca us
## uk 0.25130 0.04912 0.1001
## ca 0.04912 0.28783 0.1084
## us 0.10009 0.10840 0.3310
##
## Correlation matrix of residuals:
## uk ca us
## uk 1.0000 0.1826 0.3470
## ca 0.1826 1.0000 0.3512
## us 0.3470 0.3512 1.0000
结果选择了4阶模型,
与MTS::VARorder()
结果不同。
vars包的SVAR()
函数可以用来估计VAR的结构形式,
但其定义不同于我们教材的定义。
○○○○○
24.8 模型检验
可以计算模型残差,
对残差进行多元白噪声检验(多元混成检验)。
残差的多元混成检验因为使用了估计的参数,
所以统计量的自由度会减少
这是系数矩阵
如果系数矩阵中某些参数固定为0,
应按无约束的参数个数计算要扣除的自由度。
在MTS包的mq()
函数中用adj=
指定需要减少的自由度。
例3.2
对例3.1的三个国家的GDP季度增速建模,
VAR(2)模型的残差的多元混成检验程序如下:
<- m2.gdp3r$residuals
resi ::mq(resi, adj=3^2 * 2) MTS
## Ljung-Box Statistics:
## m Q(m) df p-value
## [1,] 1.000 0.816 -9.000 1.00
## [2,] 2.000 3.978 0.000 1.00
## [3,] 3.000 16.665 9.000 0.05
## [4,] 4.000 35.122 18.000 0.01
## [5,] 5.000 38.189 27.000 0.07
## [6,] 6.000 41.239 36.000 0.25
## [7,] 7.000 47.621 45.000 0.37
## [8,] 8.000 61.677 54.000 0.22
## [9,] 9.000 67.366 63.000 0.33
## [10,] 10.000 76.930 72.000 0.32
## [11,] 11.000 81.567 81.000 0.46
## [12,] 12.000 93.112 90.000 0.39
## [13,] 13.000 105.327 99.000 0.31
## [14,] 14.000 116.279 108.000 0.28
## [15,] 15.000 128.974 117.000 0.21
## [16,] 16.000 134.704 126.000 0.28
## [17,] 17.000 138.552 135.000 0.40
## [18,] 18.000 146.256 144.000 0.43
## [19,] 19.000 162.418 153.000 0.29
## [20,] 20.000 171.948 162.000 0.28
## [21,] 21.000 174.913 171.000 0.40
## [22,] 22.000 182.056 180.000 0.44
## [23,] 23.000 190.276 189.000 0.46
## [24,] 24.000 202.141 198.000 0.41
检验结果只有在滞后4显著,
基本可以认为模型是充分的。
对残差还可以进行异方差等检验。
24.9 模型简化
当VAR中分量个数
模型有许多参数,
系数矩阵中参数个数为
如果没有先验知识要求参数非零,
可以将不显著的参数约束为零再估计。
模型简化没有公认的最优做法。
一种办法是计算参数估计值与标准误差的比值,
称为t比值,
将t比值绝对值小于1.645(相当于0.10检验水平)或者小于1.96(相当于0.05检验水平)的系数设置为零。
MTS包的refVAR()
函数输入无约束的VAR建模结果,
以及thres=1.645
或thres=1.96
这样的t比值界限,
生成设置部分系数为零的约束估计结果,
得到精简的模型。
可以通过AIC比较完全模型和约束模型。
例3.3
对三个国家的GDP对数增长率的VAR(2)模型进行化简。
library(MTS, quietly = TRUE)
<- coredata(as.xts(ts.gdp3r))
Z cat("================ Full model:\n")
## ================ Full model:
## Constant term:
## Estimates: 0.1258163 0.1231581 0.2895581
## Std.Error: 0.07266338 0.07382941 0.0816888
## AR coefficient matrix
## AR( 1 )-matrix
## [,1] [,2] [,3]
## [1,] 0.393 0.103 0.0521
## [2,] 0.351 0.338 0.4691
## [3,] 0.491 0.240 0.2356
## standard error
## [,1] [,2] [,3]
## [1,] 0.0934 0.0984 0.0911
## [2,] 0.0949 0.1000 0.0926
## [3,] 0.1050 0.1106 0.1024
## AR( 2 )-matrix
## [,1] [,2] [,3]
## [1,] 0.0566 0.106 0.01889
## [2,] -0.1914 -0.175 -0.00868
## [3,] -0.3120 -0.131 0.08531
## standard error
## [,1] [,2] [,3]
## [1,] 0.0924 0.0876 0.0938
## [2,] 0.0939 0.0890 0.0953
## [3,] 0.1038 0.0984 0.1055
##
## Residuals cov-mtx:
## [,1] [,2] [,3]
## [1,] 0.28244420 0.02654091 0.07435286
## [2,] 0.02654091 0.29158166 0.13948786
## [3,] 0.07435286 0.13948786 0.35696571
##
## det(SSE) = 0.02258974
## AIC = -3.502259
## BIC = -3.094982
## HQ = -3.336804
cat("\n\n================ Restricted model:\n")
##
##
## ================ Restricted model:
<- refVAR(mods1.gdp3r, thres=1.96) mods2.gdp3r
## Constant term:
## Estimates: 0.1628247 0 0.2827525
## Std.Error: 0.06814101 0 0.07972864
## AR coefficient matrix
## AR( 1 )-matrix
## [,1] [,2] [,3]
## [1,] 0.467 0.207 0.000
## [2,] 0.334 0.270 0.496
## [3,] 0.468 0.225 0.232
## standard error
## [,1] [,2] [,3]
## [1,] 0.0790 0.0686 0.0000
## [2,] 0.0921 0.0875 0.0913
## [3,] 0.1027 0.0963 0.1023
## AR( 2 )-matrix
## [,1] [,2] [,3]
## [1,] 0.000 0 0
## [2,] -0.197 0 0
## [3,] -0.301 0 0
## standard error
## [,1] [,2] [,3]
## [1,] 0.0000 0 0
## [2,] 0.0921 0 0
## [3,] 0.1008 0 0
##
## Residuals cov-mtx:
## [,1] [,2] [,3]
## [1,] 0.29003669 0.01803456 0.07055856
## [2,] 0.01803456 0.30802503 0.14598345
## [3,] 0.07055856 0.14598345 0.36268779
##
## det(SSE) = 0.02494104
## AIC = -3.531241
## BIC = -3.304976
## HQ = -3.439321
无约束的VAR(2)的AIC值为
约束10个参数为零的VAR(2)的AIC值为
所以约束模型较优。
约束模型为
对这个简化的模型的检验,
可以提取残差后用MTS::mq()
函数检验,
这时自由度缩减个数由原来的
减少到9个,
因为模型中约束了9个参数等于零。
MTS包还提供了一个MTSdiag()
函数,
输入模型结果和adj=
自由度缩减个数,
作残差的CCM估计表、图和残差的多元混成检验:
library(MTS, quietly = TRUE)
MTSdiag(mods2.gdp3r, adj=9)
## [1] "Covariance matrix:"
## uk ca us
## uk 0.2924 0.0182 0.0711
## ca 0.0182 0.3084 0.1472
## us 0.0711 0.1472 0.3657
## CCM at lag: 0
## [,1] [,2] [,3]
## [1,] 1.0000 0.0605 0.218
## [2,] 0.0605 1.0000 0.438
## [3,] 0.2175 0.4382 1.000
## Simplified matrix:
## CCM at lag: 1
## . . .
## . . .
## . . .
## CCM at lag: 2
## . . .
## . . .
## . . .
## CCM at lag: 3
## . . .
## . . .
## . . .
## CCM at lag: 4
## . . -
## . . .
## . . .
## CCM at lag: 5
## . . .
## . . .
## . . .
## CCM at lag: 6
## . . .
## . . .
## . . .
## CCM at lag: 7
## . . .
## . . .
## . . .
## CCM at lag: 8
## . . .
## . . .
## . . .
## CCM at lag: 9
## . . .
## . . .
## . . .
## CCM at lag: 10
## . . .
## . . .
## . . .
## CCM at lag: 11
## . . .
## . . .
## . . .
## CCM at lag: 12
## . . .
## . . .
## . . .
## CCM at lag: 13
## . - .
## . . .
## . . .
## CCM at lag: 14
## . - .
## . . .
## . . .
## CCM at lag: 15
## . + .
## . . .
## . . .
## CCM at lag: 16
## . . .
## . . .
## . . .
## CCM at lag: 17
## . . .
## . . .
## . . .
## CCM at lag: 18
## . . .
## . . .
## . . .
## CCM at lag: 19
## . . .
## . . +
## . . .
## CCM at lag: 20
## . . .
## . . .
## . . .
## CCM at lag: 21
## . . .
## . . .
## . . .
## CCM at lag: 22
## . . .
## . . .
## . . .
## CCM at lag: 23
## . . .
## . . .
## . . .
## CCM at lag: 24
## . . .
## . . .
## . . .
## Hit Enter for p-value plot of individual ccm:
## Hit Enter to compute MQ-statistics:
##
## Ljung-Box Statistics:
## m Q(m) df p-value
## [1,] 1.00 1.78 0.00 1.00
## [2,] 2.00 12.41 9.00 0.19
## [3,] 3.00 22.60 18.00 0.21
## [4,] 4.00 37.71 27.00 0.08
## [5,] 5.00 41.65 36.00 0.24
## [6,] 6.00 44.95 45.00 0.47
## [7,] 7.00 51.50 54.00 0.57
## [8,] 8.00 64.87 63.00 0.41
## [9,] 9.00 72.50 72.00 0.46
## [10,] 10.00 81.58 81.00 0.46
## [11,] 11.00 86.12 90.00 0.60
## [12,] 12.00 98.08 99.00 0.51
## [13,] 13.00 112.31 108.00 0.37
## [14,] 14.00 121.89 117.00 0.36
## [15,] 15.00 134.58 126.00 0.28
## [16,] 16.00 139.16 135.00 0.39
## [17,] 17.00 145.85 144.00 0.44
## [18,] 18.00 152.56 153.00 0.49
## [19,] 19.00 165.91 162.00 0.40
## [20,] 20.00 175.22 171.00 0.40
## [21,] 21.00 180.56 180.00 0.47
## [22,] 22.00 187.40 189.00 0.52
## [23,] 23.00 193.78 198.00 0.57
## [24,] 24.00 204.65 207.00 0.53
## Hit Enter to obtain residual plots:
从残差的CCM和多元混成检验结果来看,
约束的模型是充分的。
注:蔡教授的多元金融时间序列专著中,
残差混成检验时调整的自由度是
没有讲得很清楚。
在§2.7.2(P.52)说明要调整的自由度是
但是在§2.7.3(P.57)的例子中,
调整后的自由度为
这里扣除的12个自由度加上约束的9个零参数,
是21个参数,包括了
从简化模型可以得到三国的GDP季度对数增长率服从如下的模型:
残差的相关阵为:
残差的相关阵计算程序:
cor(mods2.gdp3r$residuals)
## [,1] [,2] [,3]
## [1,] 1.00000000 0.06054285 0.2175489
## [2,] 0.06054285 1.00000000 0.4382489
## [3,] 0.21754885 0.43824891 1.0000000
24.10 基于VAR模型的格兰杰因果性检验
如果模型可以简化为某些代表格兰杰因果性的系数等于零,
则可以据此进行格兰杰因果性的检验。
在二元的VAR(1)模型中,
如果约束
则
为了比较无约束与约束的模型,
使用对数似然比检验,
得到的统计量在约束参数等于零的零假设下渐近服从卡方分布。
MTS包中GrangerTest()
函数执行格兰杰因果性检验,
默认第一个分量为单向的格兰杰原因,
可以用locInput=
序号指定哪一个或者哪几个分量作为原因。
用基于VAR的方法检验格兰杰因果性,
局限是各分量也必须平稳,
不支持协整模型。
例3.4
检验美国的GDP季度增长率是不是英国和加拿大的增长率的单向格兰杰原因。
library(MTS, quietly = TRUE, warn.conflicts=FALSE)
<- coredata(as.xts(ts.gdp3r))
Z GrangerTest(Z, p=2, locInput=3)
## Number of targeted zero parameters: 4
## Chi-square test for Granger Causality and p-value: 27.2262 1.789152e-05
美国是第3个分量,
零假设为
即预报
结果p值小于0.05,
拒绝
说明美国的GDP季度增长率不是英国和加拿大的增长率的单向格兰杰原因,
即英国和加拿大也是美国的格兰杰原因。
对加拿大进行检验:
GrangerTest(Z, p=2, locInput=2)
## Number of targeted zero parameters: 4
## Chi-square test for Granger Causality and p-value: 48.83871 6.309173e-10
检验结果显著,
加拿大不是美国、英国的单向格兰格原因,
即美国和英国是加拿大的格兰杰原因。
对英国进行检验:
GrangerTest(Z, p=2, locInput=1)
## Number of targeted zero parameters: 4
## Chi-square test for Granger Causality and p-value: 8.948851 0.06239076
## Constant term:
## Estimates: 0.2104448 0.1231581 0.2895581
## Std.Error: 0.06685632 0.07382941 0.0816888
## AR coefficient matrix
## AR( 1 )-matrix
## [,1] [,2] [,3]
## [1,] 0.473 0.000 0.000
## [2,] 0.351 0.338 0.469
## [3,] 0.491 0.240 0.236
## standard error
## [,1] [,2] [,3]
## [1,] 0.0899 0.000 0.0000
## [2,] 0.0949 0.100 0.0926
## [3,] 0.1050 0.111 0.1024
## AR( 2 )-matrix
## [,1] [,2] [,3]
## [1,] 0.151 0.000 0.00000
## [2,] -0.191 -0.175 -0.00868
## [3,] -0.312 -0.131 0.08531
## standard error
## [,1] [,2] [,3]
## [1,] 0.0859 0.0000 0.0000
## [2,] 0.0939 0.0890 0.0953
## [3,] 0.1038 0.0984 0.1055
##
## Residuals cov-mtx:
## [,1] [,2] [,3]
## [1,] 0.30423344 0.02654091 0.07435286
## [2,] 0.02654091 0.29158166 0.13948786
## [3,] 0.07435286 0.13948786 0.35696571
##
## det(SSE) = 0.02443371
## AIC = -3.487791
## BIC = -3.17102
## HQ = -3.359104
综合以上三个结果,
第三个检验说明在0.05水平下加拿大和美国不是英国的格兰杰原因,
而前两个检验说明英国是美国和加拿大的格兰杰原因,
所以可以认为英国是美国和加拿大单向的格兰杰原因。
第三个检验结果中还给出了约束系数等于零的模型估计结果。
24.11 预测
若VAR(
满足平稳性条件,
设
用
则
基于
预测为
当
当
若记
则超前
可见超前多步预测可以递推地计算。
对于满足平稳性条件的VAR(
可以证明
即VAR(
均值回归速度由特征多项式
根越接近单位圆,均值回归越慢。
为了研究预测误差方差阵,
最好利用VAR的无穷阶MA表示。
类似一元情形,
VAR(
其中
系数矩阵
易见
从而
当
这一点与均值回归性质吻合。
如果模型是从数据中估计得到的,
则点预测仍利用相同的公式,
将估计参数代入即可:
预测误差的估计还要考虑到参数估计带来的误差,
比较复杂,参见(Tsay 2014) §2.9.2。
MTS包的VARpred()
函数可以从VAR的建模结果计算点预测值,
不考虑参数估计误差的预测标准误差(Standard errors of predictions),
考虑参数估计误差的预测标准误差(Root mean squared errors of predictions)。
例3.5
例3.1中建立的三个国家的GDP增速的VAR(2)模型是基于1980年第二季度到2011年第二季度的数据,
用建立的模型进行超前1到8步预测。
第一个预测对应2011年第三季度,
最后一个预测对应2013年第二季度。
library(MTS, quietly = TRUE)
VARpred(m2.gdp3r, 8)
## orig 125
## Forecasts at origin: 125
## uk ca us
## [1,] 0.3129 0.05166 0.1660
## [2,] 0.2647 0.31687 0.4889
## [3,] 0.3143 0.48231 0.5205
## [4,] 0.3839 0.53053 0.5998
## [5,] 0.4412 0.56978 0.6297
## [6,] 0.4799 0.59478 0.6530
## [7,] 0.5068 0.60967 0.6630
## [8,] 0.5247 0.61689 0.6688
## Standard Errors of predictions:
## [,1] [,2] [,3]
## [1,] 0.5315 0.5400 0.5975
## [2,] 0.5804 0.7165 0.7077
## [3,] 0.6202 0.7672 0.7345
## [4,] 0.6484 0.7785 0.7442
## [5,] 0.6629 0.7824 0.7475
## [6,] 0.6692 0.7838 0.7484
## [7,] 0.6719 0.7842 0.7486
## [8,] 0.6729 0.7843 0.7487
## Root mean square errors of predictions:
## [,1] [,2] [,3]
## [1,] 0.5461 0.5549 0.6140
## [2,] 0.6001 0.7799 0.7499
## [3,] 0.6365 0.7879 0.7456
## [4,] 0.6601 0.7832 0.7484
## [5,] 0.6689 0.7841 0.7488
## [6,] 0.6719 0.7844 0.7488
## [7,] 0.6730 0.7844 0.7487
## [8,] 0.6734 0.7844 0.7487
多步预测会趋近到序列均值,计算序列均值:
<- coredata(as.xts(ts.gdp3r))
Z colMeans(Z)
## uk ca us
## 0.5223092 0.6153672 0.6473996
可以看出在超前8步时的点预测值很接近于序列的均值。
不管是不考虑参数估计误差的标准误差(Standard errors of predictions)
还是考虑参数估计误差的标准误差(Root mean squared errors of predictions),
超前
计算序列的样本标准差:
<- coredata(as.xts(ts.gdp3r))
Z apply(Z, 2, sd)
## uk ca us
## 0.7086442 0.7851955 0.7872912
输出中的标准误差或者根均方误差可以用来计算预测区间。
比如,
计算美国GDP季度对数增长率超前2步预测区间,
即2011年第四季度的预测区间,
在95%置信度下可计算为
后一个区间用到的标准误差包含了参数估计误差带来的额外误差估计。
24.12 脉冲响应函数
回忆一元ARMA模型的Wold表示:
其中
称为
当
又称为
这里函数自变量为滞后
易见
所以
“脉冲响应”这个名词是假想取输入
其它的
输入序列是一个脉冲,
这个脉冲在
所以
前面给出了VAR模型的无穷阶MA表示(24.14):
称
等价地,
以
记
考虑
为此,设
设
设
这样来考虑
也可以认为是
这时
所以
记
称
全部的响应的累积值
称为总乘数或长期效应。
可以作
称为脉冲响应函数图;
以及
称为累积响应函数图。
例3.6
对例3.2中建立的简化的VAR(2)模型作脉冲响应函数图和累积响应图。
三个分量两两的图形共
library(MTS, quietly = TRUE)
VARMAirf(Phi = mods2.gdp3r$Phi,
Sigma = mods2.gdp3r$Sig,
orth=FALSE)
## Press return to continue
在脉冲响应的9幅图中,
右上角的图是
代表美国(分量3)的数据的一个冲击对英国(分量1)的延迟的影响。
○○○○○
这样的脉冲响应有一些问题。
由于新息
改变
所以原始的脉冲响应
用数学解释,
改变
可以看成是求
利用无穷阶MA表示(24.14),
因为
所以(以
其中
其关系可以用线性回归
表示,
因此
有
所以
还涉及
可以利用Cholesky分解使得新息正交化(分量间不相关)。
对
其中
定义正交化的新息
则
从而
令
(24.14)可以用正交化的新息
因为
可得
称系数矩阵
称沿
的带正交新息
正交化以后,
可以表示
这样的三角分解的缺点是结果依赖于
对脉冲函数的理解与
特别地,
例3.7
对例3.2中建立的简化的VAR(2)模型作正交化的脉冲响应函数图和累积响应图。
library(MTS, quietly = TRUE)
VARMAirf(Phi = mods2.gdp3r$Phi,
Sigma = mods2.gdp3r$Sig,
orth=TRUE)
## Press return to continue
这三个分量的新息的即期相关不大,
所以正交化的脉冲响应与原始的表现相近。
○○○○○
韭菜热线原创版权所有,发布者:风生水起,转载请注明出处:https://www.9crx.com/74791.html