var2vec

转换VAR模型VEC模型

描述

如果有任何一个时间序列的<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">向量自回归(VAR)模型是协整的,那么VAR模型是不稳定。您可以通过VAR模型转化为确定的误差修正系数<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">矢量纠错(VEC)模型。纠错系数矩阵确定的平均值,时间序列如何响应从它们长期平均水平的偏差。误差修正系数的排名决定了协整关系存在的模型。

因为<一种href="//www.tianjin-qmedu.com/help/econ/varm.estimate.html">估计适用于还原形式估计VAR模型,则可以使用估计的VAR模型转换为它的VEC模型等效var2vec

[<一种href="#buwsole-VEC" class="intrnllnk">VEC,<一种href="#buwsole-C" class="intrnllnk">C] = var2vec(<一种href="#buwsole-VAR" class="intrnllnk">VAR返回系数矩阵(VEC)和误差校正系数矩阵(C)将等同于系数矩阵的向量自回归模型向量误差校正模型的(VAR)。如果滞后于输入矢量自回归模型的数量是p,则在输出向量误差校正模型的滞后的数目是q=p- 1。

例子

全部收缩

考虑转换以下VAR(3)模型的VEC(2)模型。

ÿ Ť = [ 0 1 - 2 ] + [ 0 4 0 8 6 - 0 4 3 1 8 3 0 3 2 0 3 4 - 2 2 6 - 1 3 1 3 8 ] ÿ Ť - 1 + [ 0 1 4 - 0 1 2 0 0 0 1 4 0 0 7 0 1 0 0 0 7 0 1 6 0 0 7 ] ÿ Ť - 3 + ε Ť

指定系数矩阵( 一种 1 一种 2 一种 3 )的VAR(3)模型的术语 ÿ Ť - 1 ÿ Ť - 2 ÿ Ť - 3

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

打包矩阵转换成3维细胞载体的分离的细胞。放A1到第一小区,A2到第二小区,并A3到第三小区。

VAR = {A1 A2 A3};

计算的系数矩阵 Δ ÿ Ť - 1 Δ ÿ Ť - 2 和等效VEC(2)模型的误差校正系数矩阵。

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

矩阵对输入参数的一个单元阵列的规范指示该VAR(3)模型是表示为差分方程一个简化模型。VAR {1}是系数 ÿ Ť - 1 和随后的元件对应于随后的滞后。

VEC是3×3矩阵系数为VEC(2)当量的VAR(3)模型中的1×2的细胞载体。因为VAR(3)模型是在降低的形式,等效VEC模型也是。那是,VEC {1}是系数 Δ ÿ Ť - 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)模型是

Δ ÿ Ť = [ 0 1 - 2 ] + [ - 0 1 4 0 1 2 - 0 0 - 0 1 4 - 0 0 7 - 0 1 0 - 0 0 7 - 0 1 6 - 0 0 7 ] Δ ÿ Ť - 1 + [ - 0 1 4 0 1 2 - 0 0 - 0 1 4 - 0 0 7 - 0 1 0 - 0 0 7 - 0 1 6 - 0 0 7 ] Δ ÿ Ť - 2 + [ - 0 3 2 0 7 4 - 0 3 8 1 9 7 - 0 6 1 0 4 4 - 2 1 9 - 1 1 2 6 ] ÿ Ť - 1 + ε Ť

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

[ 0 4 - 2 2 6 1 8 3 0 8 6 ] ÿ Ť = [ 0 3 2 - 0 4 3 - 1 3 1 0 3 4 ] ÿ Ť - 1 + [ 0 0 7 0 0 7 - 0 0 1 - 0 0 2 ] ÿ Ť - 2 + ε Ť

指定自回归系数矩阵 一种 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];

打包矩阵转换成3维细胞载体的分离的细胞。放A0到第一小区,A1到第二小区,并A2到第三小区。否定对应于所有非零滞后项的系数。

VARCoeff = {A0;-A1;-A2};

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

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

VARLagOp滞后算子多项式。VAR指定滞后算符号的VAR(2)模型,如在这个公式

一种 0 - 一种 1 大号 - 一种 2 大号 2 ÿ Ť = ε Ť

大号 是滞后算。如果展开的数量和解决 ÿ Ť ,则结果是在差分方程表示法的VAR(2)模型。

计算的系数矩阵 Δ ÿ Ť Δ ÿ Ť 和等效VEC(1)模型的误差校正系数矩阵。

[VEC,C] = var2vec(VAR)
VEC = 2-d滞后算多项式:-----------------------------系数:LAG-索引单元阵列与2非零]系数时滞:[0 1]度:1尺寸:2
C =2×2-0.1500 1.9000 -3.1500 -0.5400

VAR.Coefficients {0} 一种 0 时,系数矩阵的 ÿ Ť 。在随后的元素VAR.Coefficients对应于在随后的滞后VAR.Lags

VEC是VEC(1)当量的VAR(2)模型。因为VAR(2)模型是结构性的,等效VEC(1)模型是为好。那是,VEC.Coefficients {0}是系数 Δ ÿ Ť 和随后的元件对应于在随后的滞后VEC.Lags

显示在差分方程符号的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 4 - 2 2 6 1 8 3 0 8 6 ] Δ ÿ Ť = [ - 0 0 7 - 0 0 7 0 0 1 0 0 2 ] Δ ÿ Ť - 1 + [ - 0 1 1 9 - 3 1 - 0 4 ] ÿ Ť - 1 + ε Ť

可替代地,反映滞后算多项式VEC围绕滞后0以获得差分方程表示法系数。

DiffEqnCoeffs =反映(VEC);B = toCellArray(DiffEqnCoeffs);B {1} == B0
ANS =2×2阵列的逻辑1 1 1 1
B {2} == B1
ANS =2×2阵列的逻辑1 1 1 1

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

近似表示该静止和可逆VARMA是在滞后算形式VEC模型(8,4)模型的系数

{ [ 1 0 2 - 0 1 0 0 3 1 - 0 1 0 9 - 0 2 1 ] + [ 0 - 0 2 - 0 1 - 0 3 - 0 1 0 1 0 4 - 0 2 - 0 0 ] 大号 4 + [ 0 0 - 0 0 2 - 0 0 1 - 0 1 - 0 0 1 - 0 0 0 1 0 0 4 - 0 0 2 - 0 0 0 ] 大号 8 } ÿ Ť = { [ 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 ] 大号 4 } ε Ť

哪里 ÿ Ť = [ ÿ 1 Ť ÿ 2 Ť ÿ 3 Ť ] ε Ť = [ ε 1 Ť ε 2 Ť ε 3 Ť ]

创建包含VAR系数矩阵的细胞载体。先从系数 ÿ Ť ,然后才能通过延迟进入休息。构造,用于指示相应的系数的滞后术语的程度的向量。

VAR0 = {[1 0.2 -0.1;0.03 1 -0.15;0.9 -0.25 1],...[0.5 -0.2 -0.1;-0.3 -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]};var0Lags = [0 4 8];

创建包含VMA系数矩阵的细胞载体。先从系数 ε Ť ,然后才能通过延迟进入休息。构造,用于指示相应的系数的滞后术语的程度的向量。

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

arma2ma要求LagOp滞后为包含结构VAR或VMA模型输入参数操作者多项式。构建独立LagOp描述该VARMA(8,4)模式的VAR(8)和VMA(4)的组件多项式。

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

VARLagVMALagLagOp滞后了描述VARMA模型的VAR和VMA组件运营商多项式。

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

numLags = 12;VAR = arma2ar(VARLag,VMALag,numLags)
VAR = 3-d滞后算多项式:-----------------------------系数:LAG-索引单元阵列有4个非零]系数时滞:[0 4 8 12]度:12尺寸:3

VARLagOP滞后算子多项式。除那些对应于滞后0,4,8和12中的所有系数都是3×3零矩阵。在系数VAR.Coefficients包括原始VARMA(8,4)模型的结构VAR(12)模型近似。

计算相当于所得到的VAR(12)模型VEC(11)模型的系数。

[VEC,C] = var2vec(VAR)
VEC = 3-d滞后算多项式:-----------------------------系数:LAG-索引单元阵列具有12个非零]系数时滞:[0 1 2 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

VECLagOp含有得到的VEC(11)模型的系数矩阵中滞后算多项式VEC.CoefficientsVEC.Coefficients {0}是系数 Δ ÿ Ť VEC {1}是系数 Δ ÿ Ť - 1 , 等等。

显示生成的VEC模型的非零系数。

lag2Idx = VEC.Lags + 1;%时滞从0开始加1,转换为指数。VecCoeff = toCellArray(VEC);对于J = 1:numel(lag2Idx)fprintf中('___________Lag%d __________ \ N',lag2Idx(J) -  1)fprintf中('%8.3f%8.3f%8.3f \ N',VecCoeff {lag2Idx(J)})fprintf中('__________________________ \ N'结束
___________Lag 0__________ 1.000 0.030 0.900 0.200 1.000 -0.250 -0.100 -0.150 1.000 __________________________ ___________Lag 1__________ -0.300 -0.048 0.413 0.098 0.106 0.257 0.444 -0.090 -0.088 __________________________ ___________Lag 2__________ -0.300 -0.048 0.413 0.098 0.106 0.257 0.444 -0.090 -0.088 __________________________ ___________Lag 3__________  -0.300 0.413 -0.048 0.098 0.106 0.257 0.444 -0.090 -0.088 __________________________ ___________Lag 4__________ -0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116 __________________________ ___________Lag 5__________ -0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116 __________________________ ___________Lag 6__________ -0.051 0.1010.042 -0.053 0.007 -0.011 0.046 0.001 -0.116 __________________________ ___________Lag 7__________ -0.051 0.101 0.042 -0.053 0.007 -0.011 0.046 0.001 -0.116 __________________________ ___________Lag 8__________ -0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002 __________________________ ___________Lag 9__________ -0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002 __________________________ ___________Lag 10__________ -0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002 __________________________ ___________Lag 11__________ -0.014 -0.000 0.010 0.007 0.000 0.018 0.034 0.001 -0.002 __________________________

输入参数

全部收缩

VAR(p)模型系数,指定为数值向量,的细胞载体ñ-通过-ñ数字矩阵,或<一种href="//www.tianjin-qmedu.com/help/econ/lagop-class.html">LagOp滞后算多项式对象。

  • 对于数字矢量规范:

    • 该VAR(p)是一个单变量的时间序列。

    • VAR必须是一个长度p数字矢量。

    • VAR(J)包含标一种Ĵ,滞后响应的系数ÿŤ-Ĵ

    • 系数ÿŤ一种0)是1

  • 用于小区矢量规范:

    • VAR必须有长度p,并且每个单元包含一个ñ-通过-ñ数字矩阵(ñ> 1)。

    • {VARĴ}必须包含一种Ĵ时,系数矩阵的滞后术语的ÿŤ-Ĵ

    • var2vec假定系数ÿŤ一种0) 是个ñ-通过-ñ身份。

  • 为一个LagOp滞后算多项式规范:

    • VAR.Degree一定是p

    • VAR.Coefficients {0}一种0,系数ÿŤ。所有其它元件对应于随后的滞后项的系数。例如,VAR.Coefficients {Ĵ}是系数矩阵ÿŤ-ĴVAR.Lags存储所有非零滞后。

    • 为了构建在还原形式的模型,组VAR.Coefficients {0}眼(VAR.Dimension)

例如,考虑转换

[ 1 0 0 1 ] ÿ Ť = [ 0.1 0.2 1 0.1 ] ÿ Ť - 1 + [ - 0.1 0.01 0.2 - 0.3 ] ÿ Ť - 2 + ε Ť

到VEC(1)模型。该模型是在<一种href="//www.tianjin-qmedu.com/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.tianjin-qmedu.com/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 ] 大号 ÿ Ť = ε Ť

相比,在差分方程表示法对应的系数的滞后响应的系数矩阵出现否定。要使用获得同样的结果LagOp滞后算子多项式,进入

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

输出参数

全部收缩

VEC(q的差分响应)模型系数,返回为数值向量,的细胞载体ñ-通过-ñ数字矩阵,或<一种href="//www.tianjin-qmedu.com/help/econ/lagop-class.html">LagOp滞后算多项式对象。ñ是(在VAR时间序列数p)模型。

VARVEC共享相同的数据类型和定向。

var2vec转换VAR(p)模型VEC(p- 1)模型。那是:

  • 如果VAR是细胞或数字向量,则numel(VEC)numel(VAR) - 1

  • 如果VARLagOp滞后操作多项式,然后VEC.DegreeVAR.Degree - 1

误差校正系数,返回一个ñ-通过-ñ数字矩阵。ñ是在VAR模型的时间序列数。

更多关于

全部收缩

差分方程符号

基于VAR(p)或VEC(q)模型写成差分方程的符号隔离响应向量的当前值和在等式的左边其结构系数矩阵。等式的右边包含的滞后响应,他们的系数矩阵,本创新向量的总和,并且,VEC模型,误差校正项。

也就是说,VAR(p)写在差分方程表示法模型是

一种 0 ÿ Ť = 一种 + 一种 1 ÿ Ť - 1 + 一种 2 ÿ Ť - 2 + ... + 一种 p ÿ Ť - p + ε Ť

A VEC(q)写在差分方程表示法的模型是

0 Δ ÿ Ť = b + 1 Δ ÿ Ť - 1 + 2 Δ ÿ Ť - 2 + ... + q Δ ÿ Ť - q + C ÿ Ť - 1 + ε Ť

对于变量和参数定义,请参阅<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">VAR(p)模型和<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">VEC(q)模型。

滞后算符号

基于VAR(p)或VEC(q)模型写成滞后算符持仓所有响应方面等式的左边。等式的右边包含模型恒定的偏移向量,本创新,并且,VEC模型,误差校正项。

也就是说,VAR(p)写在滞后操作者表示法模型是

一种 大号 ÿ Ť = 一种 + ε Ť

哪里 一种 大号 = 一种 0 - 一种 1 大号 - 一种 2 大号 2 - ... - 一种 p 大号 p 大号 Ĵ ÿ Ť = ÿ Ť - Ĵ

A VEC(q)写在差分方程表示法的模型是

大号 Δ ÿ Ť = b + C ÿ Ť - 1 + ε Ť

哪里 大号 = 0 - 1 大号 - 2 大号 2 - ... - q 大号 q

对于变量和参数定义,请参阅<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">VAR(p)模型和<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">VEC(q)模型。

当比较滞后算符号来<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">差分方程的符号,滞后项的迹象是对立的。有关详细信息,请参阅<一种href="//www.tianjin-qmedu.com/help/econ/stationary-stochastic-process.html" class="a">滞后算符号。

VAR(p)型号

一种VAR(p)模型是一个多变量,自回归时间序列模型的通用格式如下:

一种 0 ÿ Ť = 一种 + 一种 1 ÿ Ť - 1 + 一种 2 ÿ Ť - 2 + ... + 一种 p ÿ Ť - p + ε Ť

  • ÿŤ是一个ñ维时间序列。

  • 一种0是个ñ-通过-ñ可逆的结构系数矩阵。对于模型还原形式一种0=一世ñ, 哪一个是ñ维单位矩阵。

  • 一种是一个ñ恒定偏移的维向量。

  • 一种Ĵ是个ñ-通过-ñ的系数矩阵ÿT-ĴĴ= 1,...,p

  • εŤ是一个ñ维创新系列。该创新是序列不相关,并与均值为0,一个多元正态分布ñ-通过-ñ协方差矩阵Σ

VEC(q)型号

一种VEC(q)模型是一个多变量,自回归时间序列模型的通用格式如下:

0 Δ ÿ Ť = b + 1 Δ ÿ Ť - 1 + 2 Δ ÿ Ť - 2 + ... + q Δ ÿ Ť - q + C ÿ Ť - 1 + ε Ť

  • ÿŤ是一个ñ维时间序列。

  • Δ是一阶差分算子,即,ΔYŤ=ÿŤ-ÿŤ-1

  • 0是个ñ-通过-ñ可逆的结构系数矩阵。对于模型还原形式0=一世ñ, 哪一个是ñ维单位矩阵。

  • b是一个ñ恒定偏移的维向量。

  • Ĵ是个ñ-通过-ñ的系数矩阵ΔYT-ĴĴ= 1,...,q

  • εŤ是一个ñ维创新系列。该创新是序列不相关,并与均值为0,一个多元正态分布ñ-通过-ñ协方差矩阵Σ

  • C是个ñ-通过-ñ误差校正或冲击系数矩阵。

提示

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

  • 要访问输出参数的滞后算多项式系数的细胞载体<一种href="#buwsole-VEC" class="intrnllnk">VEC,输入toCellArray(VEC)

  • 要转换的输出参数的模型系数从<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">滞后算符号在模型系数<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">差分方程的符号,输入

    VECDEN = toCellArray(反映(VEC));
    VECDEN是含有细胞矢量p对应于差分的响应项系数VEC.Lags在差分方程的符号。第一元件是系数ΔYŤ,第二元件是系数ΔYŤ-1, 等等。

  • 考虑转换VAR(p)模型的VEC(q)模型。如果错误校正系数矩阵(<一种href="#buwsole-C" class="intrnllnk">C) 已:

    • 秩零,则转换后的VEC模型是一种稳定的VAR(p- 1)在以下方面模型ΔYŤ

    • 满秩,那么VAR(p)模型是稳定的(即,不具有单位根)<一种href="//www.tianjin-qmedu.com/help/econ/var2vec.html" class="intrnllnk">[2]。

    • [R,使得0 <[R<ñ,那么稳定的VEC模型[R协整关系。

  • 恒定转换后的VEC模型的偏差是相同的恒定VAR模型的偏移量。

算法

  • var2vec不会对系数稳定性的要求。要检查的稳定性,使用<一种href="//www.tianjin-qmedu.com/help/econ/lagop.isstable.html">isStable

    isStable需要LagOp滞后算子多项式作为输入参数。例如,要检查是否<一种href="#buwsole-VAR" class="intrnllnk">VAR,的单元阵列ñ-通过-ñ数字矩阵,组成一个稳定的时间序列,进入

    varLagOp = LagOp([眼(ñ)VAR]);isStable(varLagOp)

    一种0表明多项式并不稳定。

参考

[1]汉密尔顿,J.D.时间序列分析。普林斯顿,NJ:普林斯顿大学出版社,1994年。

[2] Lutkepohl,H.“新介绍多时间序列分析。”施普林格出版社,2007年。

介绍了在R2015b