主要内容

var2vec

将VAR模型转换为VEC模型

描述

如果a中的任何一个时间序列<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">向量自回归(VAR)模型协整,则VAR模型是非平稳的。可以通过将VAR模型转换为a来确定误差修正系数<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">矢量误差修正(VEC)模型.平均而言,误差修正系数矩阵决定了时间序列如何对偏离其长期平均值的偏差做出反应。误差修正系数的阶数决定了模型中存在多少协整关系。

因为<一个href="//www.tatmou.com/es/es/es/help/econ/varm.estimate.html">估计适用于估计简化形式的VAR模型,您可以使用var2vec

例子

[<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-VEC" class="intrnllnk">VEC,<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-C" class="intrnllnk">C= var2vec(<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-VAR" class="intrnllnk">VAR返回系数矩阵(VEC)和误差修正系数矩阵(C)的向量误差修正模型等价于带系数矩阵的向量自回归模型(VAR).如果输入向量自回归模型中的滞后数为p,则输出向量纠错模型中的滞后数为p- 1。

例子

全部折叠

考虑将下面的VAR(3)模型转换为VEC(2)模型。

y t 0 5 1 - 2 + 0 5 4 0 8 6 - 0 4 3. 1 8 3. 0 3. 2 0 3. 4 - 2 2 6 - 1 3. 1 3. 5 8 y t - 1 + 0 1 4 - 0 1 2 0 0 5 0 1 4 0 0 7 0 1 0 0 0 7 0 1 6 0 0 7 y t - 3. + ε t

指定系数矩阵( 一个 1 一个 2 , 一个 3. )的VAR(3)模型项 y t - 1 y t - 2 , y t - 3.

A1 = [0.54 0.86 -0.43;1.83 0.32 0.34;-2.26 -1.31 3.58];A2 = 0 (3);A3 = [0.14 -0.12 0.05;0.14 0.07 0.10;0.07 0.16 0.07];

将矩阵打包到三维单元向量的独立单元中。把A1进入第一个单元格,A2进入第二个单元格,然后A3进入第三单元格。

Var = {a1 a2 a3};

计算的系数矩阵 Δ y t - 1 而且 Δ y t - 2 ,等效VEC(2)模型的误差修正系数矩阵。

[VEC,C] = var2vec(VAR);大小(VEC)
ans =1×21 2

输入参数的矩阵单元数组的规范表明VAR(3)模型是表示为差分方程的简化模型。VAR {1}的系数 y t - 1 ,后续元素对应后续滞后。

VEC是3 × 3系数矩阵的1 × 2单元向量,用于等效于VAR(3)模型的VEC(2)。由于VAR(3)模型是简化形式,等效的VEC模型也是。也就是说,VEC {1}的系数 Δ y t - 1 ,后续元素对应后续滞后。的定位VEC对应的方向VAR

显示VEC(2)模型系数。

B1 = vec {1}
B1 =3×3-0.1400 0.1200 -0.0500 -0.1400 -0.0700 -0.1000 -0.0700 -0.1600 -0.0700
B2 = vec {2}
B2 =3×3-0.1400 0.1200 -0.0500 -0.1400 -0.0700 -0.1000 -0.0700 -0.1600 -0.0700
C
C =3×3-0.3200 0.7400 -0.3800 1.9700 -0.6100 0.4400 -2.1900 -1.1500 2.6500

由于模型之间的常数偏移量是等效的,因此得到的VEC(2)模型为

Δ y t 0 5 1 - 2 + - 0 1 4 0 1 2 - 0 0 5 - 0 1 4 - 0 0 7 - 0 1 0 - 0 0 7 - 0 1 6 - 0 0 7 Δ y t - 1 + - 0 1 4 0 1 2 - 0 0 5 - 0 1 4 - 0 0 7 - 0 1 0 - 0 0 7 - 0 1 6 - 0 0 7 Δ y t - 2 + - 0 3. 2 0 7 4 - 0 3. 8 1 9 7 - 0 6 1 0 4 4 - 2 1 9 - 1 1 5 2 6 5 y t - 1 + ε t

考虑将下面的结构VAR(2)模型转换为结构VEC(1)模型。

0 5 4 - 2 2 6 1 8 3. 0 8 6 y t 0 3. 2 - 0 4 3. - 1 3. 1 0 3. 4 y t - 1 + 0 0 7 0 0 7 - 0 0 1 - 0 0 2 y t - 2 + ε t

指定自回归系数矩阵 一个 0 一个 1 , 一个 2

A0 = [0.54 -2.26;1.83 - 0.86);A1 = [0.32 -0.43 -1.31 0.34];A2 = [0.07 0.07 -0.01 -0.02];

将矩阵打包到三维单元向量的独立单元中。把A0进入第一个单元格,A1进入第二个单元格,然后A2进入第三单元格。对所有非零滞后项对应的系数求负。

VARCoeff = {A0;a1;a2};

在VAR(2)模型中创建一个包含自回归项的滞后算子多项式。

VAR = LagOp(VARCoeff)
VAR = 2- d滞后算子多项式:-----------------------------系数:[3个非零系数的滞后索引单元阵列]滞后:[0 1 2]度:2维:2

VAR是一个LagOp滞后算子多项式。VAR用滞后运算符符号指定VAR(2)模型,如此方程中所示

一个 0 - 一个 1 l - 一个 2 l 2 y t ε t

l 是滞后运算符。如果你展开这个量,解出 y t ,则得到差分方程表示的VAR(2)模型。

计算的系数矩阵 Δ y t 而且 Δ y t ,等效VEC(1)模型的误差修正系数矩阵。

[vc,C] = var2vec(VAR)
VEC = 2- d滞后算子多项式:-----------------------------系数:[2个非零系数的滞后索引单元阵列]滞后:[0 1]度:1维数:2
C =2×2-0.1500 1.9000 -3.1500 -0.5400

VAR.Coefficients {0} 一个 0 的系数矩阵 y t .的后续元素VAR.Coefficients与随后的滞后相对应VAR.Lags

VEC是VEC(1)等效于VAR(2)模型。由于VAR(2)模型是结构性的,等效的VEC(1)模型也是结构性的。也就是说,矢量。Coefficients{0}的系数 Δ y t ,随后的元素对应于随后的滞后矢量。滞后

用差分方程符号显示VEC模型系数。

B0 = vec。Coefficients{0}
B0 =2×20.5400 -2.2600 1.8300 0.8600
B1 = -vec。Coefficients{1}
B1 =2×2-0.0700 -0.0700 0.0100 0.0200
C
C =2×2-0.1500 1.9000 -3.1500 -0.5400

得到的VEC(1)模型为

0 5 4 - 2 2 6 1 8 3. 0 8 6 Δ y t - 0 0 7 - 0 0 7 0 0 1 0 0 2 Δ y t - 1 + - 0 1 5 1 9 - 3. 1 5 - 0 5 4 y t - 1 + ε t

或者,反映滞后运算符多项式VEC在滞后0附近得到差分方程符号系数。

DiffEqnCoeffs =反射(VEC);B = toCellArray(DiffEqnCoeffs);B{1} == b0
ans =2x2逻辑阵列1 1 1 1
B{2} == b1
ans =2x2逻辑阵列1 1 1 1

两种方法产生的系数相同。

近似VEC模型的系数,表示这个平稳和可逆的VARMA(8,4)模型,它是滞后算子形式

1 0 2 - 0 1 0 0 3. 1 - 0 1 5 0 9 - 0 2 5 1 + 0 5 - 0 2 - 0 1 - 0 3. - 0 1 0 1 0 4 - 0 2 - 0 0 5 l 4 + 0 0 5 - 0 0 2 - 0 0 1 - 0 1 - 0 0 1 - 0 0 0 1 0 0 4 - 0 0 2 - 0 0 0 5 l 8 y t 1 0 0 0 1 0 0 0 1 + - 0 0 2 0 0 3. 0 3. 0 0 0 3. 0 0 0 1 0 0 1 0 3. 0 0 1 0 0 1 l 4 ε t

在哪里 y t y 1 t y 2 t y 3. t 而且 ε t ε 1 t ε 2 t ε 3. t

创建包含VAR系数矩阵的单元格向量。从的系数开始 y t ,然后按滞后顺序输入其余的。构造一个向量,表示对应系数的滞后项的程度。

Var0 = {[1 0.2 -0.1;0.03 1 -0.15;0.9 -0.25 1],...[0.5 -0.2 -0.1;-0.1 0.1;0.4 -0.2 -0.05],...[0.05 -0.02 -0.01;-0.1 -0.01 -0.001;0.04 -0.02 -0.005]};var0lag = [0 4 8];

创建包含VMA系数矩阵的单元格向量。从的系数开始 ε t ,然后按滞后顺序输入其余的。构造一个向量,表示对应系数的滞后项的程度。

VMA0 ={眼睛(3),...[-0.02 0.03 0.3;0.003 0.001 0.01;0.3 0.01 0.01]};vma0lag = [0 4];

arma2ma需要LagOp包含结构VAR或VMA模型的输入参数的滞后算子多项式。构建独立的LagOp描述VARMA(8,4)模型的VAR(8)和VMA(4)分量的多项式。

VARLag = LagOp(VAR0,“滞后”, var0Lags);VMALag = LagOp(VMA0,“滞后”, vma0Lags);

VARLag而且VMALagLagOp滞后算子多项式,描述VARMA模型的VAR和VMA分量。

将VARMA(8,4)模型转换为VAR(p)模型,通过获得无限滞后多项式的截断近似的系数。集numLags返回最多12个滞后项。

numlag = 12;VAR = arma2ar(VARLag,VMALag, numlag)
VAR = 3- d滞后算子多项式:-----------------------------系数:[4个非零系数的滞后索引单元阵列]滞后:[0 4 8 12]度:12维:3

VAR是一个LagOP滞后算子多项式。除了对应滞后0、4、8和12的系数外,所有系数都是3 × 3矩阵的零。里面的系数VAR.Coefficients包括原始VARMA(8,4)模型的结构VAR(12)模型近似。

计算与得到的VAR(12)模型等价的VEC(11)模型的系数。

[vc,C] = var2vec(VAR)
VEC = 3- d滞后算子多项式:-----------------------------系数:[12个非零系数的滞后索引单元阵列]滞后:[0 12 3 4 5 6 7 8 9 10 11]度:11维度:3
C =3×3-1.2998 -0.1019 0.5440 0.3831 -0.8937 0.0603 -0.9484 0.5068 -1.0876

VEC是一个LagOp滞后算子多项式,其中包含所得到的VEC(11)模型的系数矩阵矢量。Coefficients矢量。Coefficients{0}的系数 Δ y t Vec {1}的系数 Δ y t - 1 等等。

显示结果VEC模型的非零系数。

lag2Idx = VEC。滞后+ 1;%延迟从0开始。加1转换为索引。VecCoeff = toCellArray(VEC);j = 1:数字(lag2Idx) fprintf('___________ 滞后% d __________\ n ',lag2Idx(j) - 1) fprintf('%8.3f %8.3f \n',VecCoeff{lag2Idx(j)}) fprintf ('__________________________\ n '结束
___________ 落后0 __________
1.000 0.030 0.900 0.200 1.000 -0.250 -0.100 -0.150 1.000
__________________________
___________ 延迟1 __________
-0.300 0.413 -0.048 0.098 0.106 0.257 0.444 -0.090 -0.088
__________________________
___________ 滞后2 __________
-0.300 0.413 -0.048 0.098 0.106 0.257 0.444 -0.090 -0.088
__________________________
___________ 延迟3 __________
-0.300 0.413 -0.048 0.098 0.106 0.257 0.444 -0.090 -0.088
__________________________
___________ 延迟4 __________
-0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116
__________________________
___________ 落后5 __________
-0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116
__________________________
___________ 延迟6 __________
-0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116
__________________________
___________ 延迟7 __________
-0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116
__________________________
___________ 延迟8 __________
-0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002
__________________________
___________ 滞后9 __________
-0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002
__________________________
___________ 延迟10 __________
-0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002
__________________________
___________ 延迟11 __________
-0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002
__________________________

输入参数

全部折叠

VAR (p)模型系数,指定为数值向量,的单元格向量n——- - - - - -n数字矩阵,或者a<一个href="//www.tatmou.com/es/es/es/help/econ/lagop.html">LagOp滞后算子多项式对象。

  • 对于数值向量规范:

    • VAR (p)为单变量时间序列。

    • VAR必须是一个长度p数值向量。

    • VAR (j)包含标量一个j,滞后响应系数yt- - - - - -j

    • 的系数yt一个0)是1

  • 对于单元格向量规范:

    • VAR一定要有长度p,每个单元格包含一个n——- - - - - -n数值矩阵(n> 1)。

    • VAR {j必须包含一个j,滞后项的系数矩阵yt- - - - - -j

    • var2vec假设的系数yt一个0)是n——- - - - - -n的身份。

  • 对于一个LagOp滞后算子多项式规范:

    • VAR.Degree必须p

    • VAR.Coefficients {0}一个0,的系数yt.所有其他元素对应于后续滞后项的系数。例如,VAR.Coefficients {j的系数矩阵是yt- - - - - -jVAR.Lags存储所有非零滞后。

    • 要构造简化形式的模型,请设置VAR.Coefficients {0}眼睛(VAR.Dimension)

例如,考虑转换

1 0 0 1 y t 0.1 0.2 1 0.1 y t 1 + 0.1 0.01 0.2 0.3 y t 2 + ε t

到VEC(1)模型。模型在<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">差分方程的符号.您可以通过输入来转换模型

VEC = var2vec({[0.1 0.2;1 0.1], [-0.1 0.01;0.2 - -0.3]});
VAR(2)模型<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">滞后运算符符号是

1 0 0 1 0.1 0.2 1 0.1 0.1 0.01 0.2 0.3 l y t ε t

滞后响应的系数矩阵与差分方程符号中的相应系数相比为负。得到相同的结果LagOp滞后算子多项式,输入

VAR = LagOp({eye(2), -[0.1 0.2;1 0.1], -[-0.1 0.01;0.2 - -0.3]});VEC = var2vec(VAR);

输出参数

全部折叠

VEC ()不同响应的模型系数,以数值向量的单元格向量返回n——- - - - - -n数字矩阵,或者a<一个href="//www.tatmou.com/es/es/es/help/econ/lagop.html">LagOp滞后算子多项式对象。n为VAR中的时间序列数(p)模型。

VAR而且VEC共享相同的数据类型和方向。

var2vec将VAR (p)模型到VEC(p- 1)模型。那就是:

  • 如果VAR是单元格还是数字向量元素个数(VEC)数值(VAR) - 1

  • 如果VAR是一个LagOp滞后算子多项式,则矢量。学位VAR.Degree - 1

误差修正系数,作为an返回n——- - - - - -n数字矩阵。n为VAR模型中的时间序列数。

更多关于

全部折叠

差分方程的符号

一个VAR (p)或VEC()用差分方程的符号将响应向量的现值及其结构系数矩阵分离到方程左侧。方程右侧包含滞后响应的总和,它们的系数矩阵,当前的创新向量,对于VEC模型,还有误差修正项。

即VAR(p)用差分方程符号表示的模型为

一个 0 y t 一个 + 一个 1 y t 1 + 一个 2 y t 2 + ... + 一个 p y t p + ε t

VEC ()用差分方程表示的模型为

B 0 Δ y t b + B 1 Δ y t 1 + B 2 Δ y t 2 + ... + B Δ y t + C y t 1 + ε t

变量和参数定义请参见<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">VAR模型(p)而且<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">VEC (q)模型.

延迟运算符符号

一个VAR (p)或VEC()用lag-operator符号将所有的响应项放到方程的左边。方程右侧包含模型常数偏移向量,当前的创新,以及对于VEC模型,误差修正项。

即VAR(p)用滞后运算符表示法编写的模型为

一个 l y t 一个 + ε t

在哪里 一个 l 一个 0 一个 1 l 一个 2 l 2 ... 一个 p l p 而且 l j y t y t j

VEC ()用差分方程表示的模型为

B l Δ y t b + C y t 1 + ε t

在哪里 B l B 0 B 1 l B 2 l 2 ... B l

变量和参数定义请参见<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">VAR模型(p)而且<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">VEC (q)模型.

当将延迟运算符符号与<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">差分方程的符号,滞后项的符号是相反的。详情请参见<一个href="//www.tatmou.com/es/es/es/help/econ/stationary-stochastic-process.html" class="a">延迟运算符符号.

VAR (p)模型

一个VAR模型(p)是一个多元自回归时间序列模型,其一般形式为:

一个 0 y t 一个 + 一个 1 y t 1 + 一个 2 y t 2 + ... + 一个 p y t p + ε t

  • yt是一个n-维时间序列。

  • 一个0n——- - - - - -n可逆结构系数矩阵。中的模型简化型一个0n,即n-维单位矩阵。

  • 一个是一个n常量偏移量的-维向量。

  • 一个jn——- - - - - -n系数矩阵yt-jj= 1,…,p

  • εt是一个n-维度创新系列。创新创新序列不相关,且具有均值为0和的多元正态分布n——- - - - - -n协方差矩阵Σ

VEC ()模型

一个VEC (q)模型是一个多元自回归时间序列模型,其一般形式为:

B 0 Δ y t b + B 1 Δ y t 1 + B 2 Δ y t 2 + ... + B Δ y t + C y t 1 + ε t

  • yt是一个n-维时间序列。

  • Δ是第一个差分算子,也就是说,Δytyt- - - - - -yt1

  • B0n——- - - - - -n可逆结构系数矩阵。中的模型简化型B0n,即n-维单位矩阵。

  • b是一个n常量偏移量的-维向量。

  • Bjn——- - - - - -n系数矩阵Δyt-jj= 1,…,

  • εt是一个n-维度创新系列。创新创新序列不相关,且具有均值为0和的多元正态分布n——- - - - - -n协方差矩阵Σ

  • Cn——- - - - - -n误差修正或冲击系数矩阵。

提示

  • 为了适应结构VAR模型,指定输入参数<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-VAR" class="intrnllnk">VAR作为一个<一个href="//www.tatmou.com/es/es/es/help/econ/lagop.html">LagOp滞后算子多项式。

  • 要访问滞后运算符的单元格向量,输出参数的多项式系数<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-VEC" class="intrnllnk">VEC,输入toCellArray (VEC)

  • 来转换输出参数的模型系数<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">滞后运算符符号对模型系数<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">差分方程的符号,输入

    VECDEN = toCellArray(反射(VEC));
    VECDEN细胞载体是否包含p中不同响应项对应的系数矢量。滞后用差分方程表示。第一项是的系数Δyt,第二个元素是的系数Δyt1等等。

  • 考虑转换VAR(p)模型到VEC()模型。若误差修正系数矩阵(<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-C" class="intrnllnk">C):

    • 秩为0,则转换后的VEC模型为稳定的VAR(p- 1)模型方面Δyt

    • 满秩,然后VAR(p)模型是稳定的(即没有单位根)<一个href="//www.tatmou.com/es/es/es/help/econ/var2vec.html" class="intrnllnk">[2].

    • 排名r,使得0 <r<n,则稳定的VEC模型具有r协整关系。

  • 转换后的VEC模型的常数偏移量与VAR模型的常数偏移量相同。

算法

  • var2vec没有对系数施加稳定性要求。为了检查稳定性,使用<一个href="//www.tatmou.com/es/es/es/help/econ/lagop.isstable.html">趋于稳定

    趋于稳定需要一个LagOp滞后运算符多项式作为输入参数。例如,检查是否<一个href="//www.tatmou.com/es/es/help/econ/#buwsole-VAR" class="intrnllnk">VAR的单元格数组n——- - - - - -n数值矩阵,组成一个稳定的时间序列,进入

    varLagOp = LagOp(n) VAR);趋于稳定(varLagOp)

    一个0表明多项式是不稳定的。

参考文献

[1] j.d.汉密尔顿时间序列分析.普林斯顿,新泽西州:普林斯顿大学出版社,1994。

[2] Lutkepohl, H。多重时间序列分析新导论斯普林格出版社,2007年版。

版本历史

在R2015b中引入