gct
矢量自回归(VAR)模型的Granger因果关系和块外生性检验
描述
若要从表示“原因”和“结果”多元响应变量的指定时间序列数据集进行逐块格兰杰因果关系检验,或为该检验处理可能的积分序列,请参阅gct
函数。
例子
进行遗漏格兰杰因果关系检验
在给定第三个变量的情况下,进行剔除格兰杰因果关系检验,以评估3d VAR模型中的每个变量是否会导致另一个变量。VAR模型中的变量是M1货币供应量、消费者价格指数(CPI)和美国国内生产总值(GDP)。
加载美国宏观经济数据集Data_USEconModel.mat
.
负载Data_USEconModel
数据集包括MATLAB®时间表DataTimeTable
其中包含从1947年第一季度到2009年第一季度测量的14个变量。
M1SL
是包含M1货币供应量的表变量。CPIAUCSL
是包含CPI的表变量。国内生产总值
是包含美国GDP的表格变量。
请输入描述
在命令行。
目测级数是否平稳。
情节(DataTimeTable.Time DataTimeTable.CPIAUCSL) ylabel (“货币供应量”);
情节(DataTimeTable.Time DataTimeTable.M1SL) ylabel (“CPI”);
情节(DataTimeTable.Time DataTimeTable.GDP) ylabel (“国内生产总值”)
所有级数都是非平稳的。
稳定级数。
将M1货币供应价格转换为收益。
将CPI转换为通货膨胀率。
将GDP换算成2000年美元的实际GDP比率。
m1slrate = price2ret(datatitable . m1sl);通胀= price2ret(datatitable . cpiaucsl);rgdprate = price2ret(datatitable . gdp ./ datatitable . gdpdef);
通过删除所有缺失的观测值(由南
).
TBL = table(m1slrate,通胀,rgdprate);TBL = rmmissing(TBL);T = size(tbl,1);总样本量
拟合VAR模型,滞后范围从1到4,到系列。通过指定前四个观察值初始化每个拟合。存储拟合的赤池信息标准(AIC)。
Numseries = 3;Numlags = (1:4)';Nummdls = nummel (numlags);%分区时间基数。Maxp = max(numlags);所需的最大预样响应数Idxpre = 1:maxp;idxest = (maxp + 1):T;%预先配置EstMdl(nummdls) = varm(numseries,0);Aic = 0 (nummdls,1);VAR模型适合数据。Y0 = tbl{idxpre,:};% PresampleY = tbl{idxest:};估计样本为j = 1: numseries (numlags) Mdl = varm(numseries,numlags(j));Mdl。SeriesNames = tbl.Properties.VariableNames;EstMdl(j) =估计(Mdl,Y,“Y0”, Y0);结果= summary (EstMdl(j));aic(j) = results.AIC;结束[~,bestidx] = min(aic);P = numlags(bestidx)
P = 3
BestMdl = EstMdl(bestidx);
VAR(3)模型得到最佳拟合。
对于系统中的每个变量和方程,在给定第三个变量的情况下,对拟合VAR(3)模型中的一个变量进行剔除格兰杰因果检验,以评估该变量是否是另一个变量的一步格兰杰原因。
h = gctest(BestMdl)
H0决定分布统计PValue CriticalValue _______________________________________________ __________________ ____________ _________ _________ _____________ " 排除通胀滞后m1slrate方程”“无法否定H0”“Chi2(3)”7.0674 0.069782 7.8147 "在m1slrate方程中排除滞后rgdprate " "不能拒绝H0" "Chi2(3)"2.5585 0.4648 7.8147 "在膨胀方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"2.7025 0.4398 7.8147 "在膨胀方程中排除滞后系数" "拒绝H0" "Chi2(3)"14.338 0.0024796 7.8147 "在rgdprate方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"7.0352 0.070785 7.8147 "在rgdprate方程中排除滞后膨胀" "拒绝H0" "Chi2(3)"12.006 0.0073619 7.8147
h =6x1逻辑阵列0 0 0 1 0 1
gct
进行六次测试,所以h
是测试决策的6乘1逻辑向量,对应于测试汇总表的行。结果在5%的显著性水平上表明了以下决策:
鉴于实际国内生产总值(GDP)比率(
h (1)
=0
).考虑到通货膨胀率(
h (2)
=0
).鉴于实际国内生产总值比率(
h (3)
=0
).考虑到M1货币供应率(
h (4)
= 1)。考虑到通货膨胀率(
h (5)
=0
).考虑到M1货币供应率(
h (6)
= 1)。
由于通货膨胀率和实际GDP率是彼此的一级格兰杰原因,它们构成了一个反馈循环。
进行排除所有格兰杰因果关系检验
考虑三维VAR(3)模型,并将格兰杰因果关系检验排除在外进行遗漏格兰杰因果关系检验.
加载美国宏观经济数据集Data_USEconModel.mat
.预处理数据。对预处理数据拟合VAR(3)模型。
负载Data_USEconModelm1slrate = price2ret(datatitable . m1sl);通胀= price2ret(datatitable . cpiaucsl);rgdprate = price2ret(datatitable . gdp ./ datatitable . gdpdef);TBL = table(m1slrate,通胀,rgdprate);TBL = rmmissing(TBL);Mdl = varm(3,3);Mdl。SeriesNames = tbl.Properties.VariableNames;EstMdl =估计(Mdl,tbl{5:end,:},“Y0”台{2:4,:});
对拟合模型的变量进行排除所有格兰杰因果关系检验。
h = gctest(EstMdl,“类型”,“排除”);
H0决定分布统计PValue CriticalValue ________________________________________________________ __________________ ____________ _________ _________ _____________ " 排除所有但滞后m1slrate m1slrate方程”“无法否定H0”“Chi2(6)”9.477 0.14847 12.592 "在通货膨胀方程中排除除滞后通货膨胀外的所有通货膨胀" "拒绝H0" "Chi2(6)"19.475 0.0034327 12.592 "在rgdprate方程中排除除滞后rgdprate外的所有rgdprate " "拒绝H0" "Chi2(6)"19.16 0.0039014 12.592
gct
进行numtests
= 3次测试。结果表明以下决策,每个决策的显著性水平为5%:
不要否认通货膨胀率和实际GDP率不会格兰杰导致M1货币供应率的说法。
拒绝M1货币供应量和实际GDP率不会导致通货膨胀率的说法。
拒绝M1货币供应量和通货膨胀率不会导致实际GDP增长率的说法。
调整多个测试的显著性水平
错误发现率随着同时进行假设检验的次数而增加。为了防止显著性的增加,可以使用“α”
名称-值对参数。考虑三维VAR(3)模型,并将格兰杰因果关系检验排除在外进行遗漏格兰杰因果关系检验.
加载美国宏观经济数据集Data_USEconModel.mat
.预处理数据。对预处理数据拟合VAR(3)模型。
负载Data_USEconModelm1slrate = price2ret(datatitable . m1sl);通胀= price2ret(datatitable . cpiaucsl);rgdprate = price2ret(datatitable . gdp ./ datatitable . gdpdef);TBL = table(m1slrate,通胀,rgdprate);TBL = rmmissing(TBL);Mdl = varm(3,3);Mdl。SeriesNames = tbl.Properties.VariableNames;EstMdl =估计(Mdl,tbl{5:end,:},“Y0”台{2:4,:});
对模型中的变量进行剔除格兰杰因果关系检验,结果为numtests
= 6个同步测试。进行测试,但指定的显著性水平为0.05的家族显著性水平α
=0.05 / numtests
对于每个测试。
Numtests = 6;Alpha = 0.05/numtests
Alpha = 0.0083
gct (EstMdl“α”、α);
H0决定分布统计PValue CriticalValue _______________________________________________ __________________ ____________ _________ _________ _____________ " 排除通胀滞后m1slrate方程”“无法否定H0”“Chi2(3)”7.0674 0.069782 11.739 "在m1slrate方程中排除滞后rgdprate " "不能拒绝H0" "Chi2(3)"2.5585 0.4648 11.739 "在膨胀方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"2.7025 0.4398 11.739 "在膨胀方程中排除滞后rgdprate " "拒绝H0" "Chi2(3)"14.338 0.0024796 11.739 "在rgdprate方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"7.0352 0.070785 11.739 "在rgdprate方程中排除滞后膨胀" "拒绝H0" "Chi2(3)"12.006 0.0073619 11.739
这些更保守的测试的测试决策与中的测试决策相同进行遗漏格兰杰因果关系检验.然而,保守检验的结论同时维持在5%的显著性水平。
访问测试p值
考虑三维VAR(3)模型,并将格兰杰因果关系检验排除在外进行遗漏格兰杰因果关系检验.
加载美国宏观经济数据集Data_USEconModel.mat
.预处理数据。对预处理数据拟合VAR(3)模型。
负载Data_USEconModelm1slrate = price2ret(datatitable . m1sl);通胀= price2ret(datatitable . cpiaucsl);rgdprate = price2ret(datatitable . gdp ./ datatitable . gdpdef);TBL = table(m1slrate,通胀,rgdprate);TBL = rmmissing(TBL);Mdl = varm(3,3);Mdl。SeriesNames = tbl.Properties.VariableNames;EstMdl =估计(Mdl,tbl{5:end,:},“Y0”台{2:4,:});
对拟合模型的变量进行剔除格兰杰因果检验。返回测试结果汇总表并禁止测试结果显示。
[~,概要]= gctest(EstMdl,“显示”假)
摘要=6×6表H0决定分布统计PValue CriticalValue _______________________________________________ __________________ ____________ _________ _________ _____________ " 排除通胀滞后m1slrate方程”“无法否定H0”“Chi2(3)”7.0674 0.069782 7.8147 "在m1slrate方程中排除滞后rgdprate " "不能拒绝H0" "Chi2(3)"2.5585 0.4648 7.8147 "在膨胀方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"2.7025 0.4398 7.8147 "在膨胀方程中排除滞后系数" "拒绝H0" "Chi2(3)"14.338 0.0024796 7.8147 "在rgdprate方程中排除滞后的m1slrate " "不能拒绝H0" "Chi2(3)"7.0352 0.070785 7.8147 "在rgdprate方程中排除滞后膨胀" "拒绝H0" "Chi2(3)"12.006 0.0073619 7.8147
总结
是一个MATLAB表包含numtests
= 6行。这些行包含每个测试的结果。列是包含测试特征的表变量。
提取 -测试的值。
pvalues =摘要。PValue
pvalues =6×10.0698 0.4648 0.4398 0.0025 0.0708 0.0074
块体外生性试验
时间序列为块外生如果它们在多元系统中没有格兰杰引起的其他变量。测试有效联邦基金利率是否相对于实际GDP、个人消费支出和通货膨胀率是块外生的。
加载美国宏观经济数据集Data_USEconModel.mat
.将价格序列转换为回报。
负载Data_USEconModel通胀= price2ret(datatitable . cpiaucsl);rgdprate = price2ret(datatitable . gdp ./ datatitable . gdpdef);pcerate = price2ret(datatitable . pcec);
通过进行增强迪基-富勒检验来检验联邦基金利率是否不稳定。指定替代模型具有漂移项和 测试。
StatTbl = adftest(DataTimeTable, datavvariable =“FEDFUNDS”模型=“ard”)
StatTbl =表1×8h pValue stat cValue滞后α模型试验 _____ ________ _______ _______ ____ _____ _______ ______ 测试1假0.071419 -2.7257 -2.8751 0 0.05 {ARD的}{T1的}
测试决策h
=0
表明序列有单位根的原假设不应被拒绝,在0.05显著性水平上。
为了稳定联邦基金利率系列,对其应用第一个差值。
dfedfunds = diff(datatitable . fedfunds);
通过删除所有缺失的观测值(由南
).
TBL =表(通货膨胀率,pcerate,rgdprate,联邦基金);TBL = rmmissing(TBL);T = size(tbl,1);总样本量
假设四个系列有一个4-D VAR(3)模型。通过使用前三个观察值初始化模型,并将模型与其余数据拟合。为模型中的系列分配名称。
Mdl = varm(4,3);Mdl。SeriesNames = tbl.Properties.VariableNames;EstMdl =估计(Mdl台{4:,:},Y0 =台{1:3:});
评估联邦基金利率是否与实际GDP、个人消费支出和通货膨胀率相关。进行 基于Wald测试,并返回测试决策和汇总表。抑制测试结果显示。
导致=“dfedfunds”;效果= [“通货膨胀”“pcerate”“rgdprate”];[h,Summary] = gctest(EstMdl,Type=“块”,...原因=事业,结果=效果,测试=“f”,显示= false);
gct
进行一次测试。h
=1
表明,在5%的显著性水平上,拒绝原假设,即联邦基金利率相对于VAR模型中的其他变量是块外生的。这一结果表明,联邦基金利率至少是系统中其他变量之一的格兰杰原因。
或者,您可以通过将数据传递给gct
函数。
Causedata = tbl.dfedfunds;EffectsData = tbl{:,effects};[hgc,pvalue,stat,cvalue] = gctest(causedata,EffectsData,...NumLags = 3,测试=“f”)
hgc =逻辑1
Pvalue = 9.0805e-09
Stat = 6.9869
Cvalue = 1.9265
要确定哪些变量是由联邦基金利率引起的格兰杰变量,可以进行一个省略检验,并指定“原因”和“结果”。
gct (EstMdl,造成=事业,影响=影响);
H0决定分布统计PValue CriticalValue ________________________________________________ ___________ ____________ _________ __________ _____________ " 排除通胀滞后dfedfunds方程”“否定H0”“Chi2(3)”26.157 8.8433e-06 7.8147“在pcerate方程中排除滞后联邦基金”“拒绝H0”“Chi2(3)”10.151 0.017325 7.8147 "在rgdprate方程中排除滞后的联邦基金" "拒绝H0" "Chi2(3)"10.651 0.013772 7.8147
测试结果建议以下决策,每个决策的显著性水平为5%:
考虑到VAR模型中的所有其他变量,拒绝联邦基金利率不是通货膨胀率的一步格兰杰原因的说法。
考虑到VAR模型中的所有其他变量,拒绝联邦基金利率不是个人消费支出率的一步格兰杰原因的说法。
考虑到VAR模型中的所有其他变量,拒绝联邦基金利率不是实际GDP利率的一步格兰杰原因的说法。
输入参数
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“类型”,“基于块”,“原因”,1:2,3:5,效应”
指定执行逐块测试以评估响应变量是否Mdl.SeriesNames (1:2)
格兰杰引起的响应变量Mdl.SeriesNames (3:5)
以模型中所有其他变量为条件。
类型
- - - - - -进行格兰杰因果检验
“分析”
(默认)|“排除”
|“基于块”
进行格兰杰因果检验,指定为逗号分隔对组成“类型”
和这个表中的一个值。假设VAR模型Mdl
是米- d (米=Mdl。NumSeries
).
价值 | 描述 |
---|---|
“分析” |
分析测试 为j= 1,…,米,k= 1,…,米,j≠k, |
“排除” |
排除测试 为j= 1,…,米, |
“基于块” |
基于块测试
|
例子:“类型”,“排除”
数据类型:字符
|字符串
α
- - - - - -显著性水平
0.05
(默认)|(0,1)中的数值标量
测试
- - - - - -在零假设下检验统计量分布
“卡方”
(默认)|“f”
在原假设下检验统计量分布,指定为由逗号分隔的对组成“测试”
和这个表中的一个值。
价值 | 描述 |
---|---|
“卡方” |
gct 从操作中获得输出χ2测试。 |
“f” |
gct 从操作派生输出F测试。 |
有关检验统计形式,请参见[4].
例子:“测试”、“f”
数据类型:字符
|字符串
导致
- - - - - -VAR模型响应变量表示格兰杰原因
变量指数的数值向量|变量名向量
VAR模型响应变量表示在1步分组测试中的granger原因,指定为逗号分隔的对,由“原因”
一个变量索引的数值向量或者变量名的向量。
中的响应系列名称对应于任意一种输入类型SeriesNames
输入VAR模型对象的属性Mdl
,您可以使用点表示法访问:Mdl。SeriesNames
.
例子:“原因”,(“rGDP”“m1sl”)
例子:“原因”,1:2
数据类型:单
|双
|字符
|字符串
效果
- - - - - -受granger原因影响的VAR模型响应变量
变量指数的数值向量|变量名向量
VAR模型响应变量在1步块测试中受granger原因影响,指定为逗号分隔的对,由“效应”
一个变量索引的数值向量或者变量名的向量。
中的响应系列名称对应于任意一种输入类型SeriesNames
输入VAR模型对象的属性Mdl
,您可以使用点表示法访问:Mdl。SeriesNames
.
例子:“原因”,“通货膨胀”
例子:“原因”,3
数据类型:单
|双
|字符
|字符串
显示
- - - - - -标志以显示测试汇总表
真正的
(默认)|假
标志,以在命令行上显示测试汇总表,指定为逗号分隔的对,由“显示”
和这个表中的一个值。
价值 | 描述 |
---|---|
真正的 |
显示测试汇总表,如中返回的那样总结 ,在命令行。 |
假 |
不显示测试汇总表。 |
例子:“显示”,假的
数据类型:逻辑
输出参数
更多关于
格兰杰因果检验
的格兰杰因果检验统计假设是否检验,即评估一组的过去和现在的值米1时间序列变量,称为“原因”变量,影响一组不同数据的预测分布米2时间序列变量,称为“效应”变量。其影响是“效应”变量的预测均方误差(MSE)的减少。如果“原因”变量的过去值影响“结果”变量h-进入预测范围,“原因”变量是h一步一步Granger-causes“效果”变量。如果“原因”变量是h一步一步Granger-causes所有的“效应”变量h≥1,为“原因”变量Granger-cause“效果”变量。
gct
提供了逐块、剔除一个和排除所有格兰杰因果关系检验的变体(参见“类型”
),χ2的或F基于Wald测试(参见“测试”
).有关检验统计形式,请参见[4].
对于所有测试类型,假设以下条件:
未来值不能通知过去值。
“原因”变量唯一地告知“结果”变量。没有其他变量具有通知“效应”变量的信息。
让y1,t表示米1“原因”变量和y2,t表示米2“效应”变量。考虑一个平稳VAR (p)模型对于[y1,ty2,t]:
如果Φ21日,1=…= Φ21日,p= 0米1,米2,然后y1,t不是块智格兰杰的原因y2,t+h,对所有人h≥1,其中为0米2,米1是一个米2——- - - - - -米1零矩阵。同时,y1,t块是外生的吗y2,t.因此,分块格兰杰因果检验假设为:
H1暗示至少有一个h≥1存在于y1,t是h-step格兰杰的原因y2,t.
VAR模型中不同的内生变量在分块检验中不是“原因”或“结果”调节变量。如果模型中存在条件变量,h= 1。换句话说,gct
检验一步非因果关系的原假设。
对于VAR模型中的每个响应变量和方程,gct
从方程中去除变量的滞后(除自身滞后外),并检验一步非因果关系的原假设。具体来说,考虑米- d VAR (p)模型
地点:
yj,t而且yk,t分别表示“原因”变量和“结果”变量。
y年代,t是一个(米- 2)所有其他内生变量的- d级数;年代={1,…,米} \ {j,k}。
为ℓ= 1,…,p:
ϕ11日,ℓ,ϕ12日,ℓ,ϕ21日,ℓ,ϕ22日,ℓ是标量滞后系数。
ϕ13,ℓ,ϕ31,ℓ,ϕ23日,ℓ,ϕ32岁的ℓ是(米- 2)- d滞后系数向量。
Φ33岁的ℓ是一个(米——2)——(米- 2)滞后系数矩阵。
为j= 1,…,米,k= 1,…,米,j≠k,gct
检验零假设yj,t不是一步格兰杰的原因yk,t,鉴于y年代,t:
gct
进行米(米- 1)测试。
对于VAR模型中的每个方程,gct
从方程中删除除自身滞后外的所有滞后,并测试h一步一步noncausality。具体来说,考虑米- d VAR (p)模型
地点:
y-k,t是一个(米- 1) VAR模型中所有内生变量的- d级数(除yk,t)表示“原因”变量。
yk,t表示“效果”变量的一维级数。
为ℓ= 1,…,p:
ϕ乐,ℓ是标量滞后系数。
ϕk-k,ℓ而且ϕ-kk,ℓ是(米- 1)- d滞后系数向量。
Φ-k-k,ℓ是一个(米——1)——(米- 1)滞后系数矩阵。
为k= 1,…,米,gct
检验变量中的零假设y-k,t不h-step格兰杰-原因yk,t:
gct
进行米测试。
向量自回归模型
一个向量自回归(VAR)模型平稳多元时间序列模型是否由米方程米不同的响应变量作为滞后响应和其他术语的线性函数。
一个VAR (p)模型差分方程的符号而在简化型是
yt是一个
numseries
-by-1向量的值对应于numseries
时间响应变量t,在那里t= 1,…,T.结构系数是单位矩阵。c是一个
numseries
常数的-by-1向量。Φj是一个
numseries
——- - - - - -numseries
自回归系数矩阵,其中j= 1,…,p和Φp不是一个只包含0的矩阵。xt是一个
numpreds
-by-1向量的值对应于numpreds
外生预测变量。β是一个
numseries
——- - - - - -numpreds
回归系数矩阵。δ是一个
numseries
线性时间趋势值的-by-1向量。εt是一个
numseries
-by-1的随机高斯变换向量,每个均值为0,加起来为anumseries
——- - - - - -numseries
协方差矩阵Σ。为t≠年代,εt而且ε年代是独立的。
这个系统是用延迟运算符表示的
在哪里
Φ(l)yt多元自回归多项式,和我是numseries
——- - - - - -numseries
单位矩阵。
例如,包含两个响应序列和三个外生预测变量的VAR(1)模型,其形式为:
提示
算法
名称-值对参数导致
而且效果
适用于分块格兰杰因果检验,因为它们指定了哪些方程对于零假设的滞后系数设置为0。因为剔除一个和排除所有格兰杰因果关系检验循环遍历VAR模型中所有变量的组合,由导致
而且效果
没有必要。但是,您可以指定排除一个或排除所有格兰杰因果关系检验和导致
而且效果
变量来进行不寻常的测试,例如对自滞后的约束。例如,下面的代码评估VAR模型中第一个变量的零假设Mdl
本身不是一步格兰杰原因:
gct (Mdl“类型”,“分析”,“原因”, 1“效应”1);
参考文献
[1]格兰杰,C. W. J。用计量经济学模型和交叉光谱方法调查因果关系费雪.卷37,1969,第424-459页。
[2]汉密尔顿,詹姆斯D。时间序列分析.普林斯顿,新泽西州:普林斯顿大学出版社,1994。
[3]多拉多,J. J.和H. Lütkepohl。《让Wald检验适用于协整VAR系统》计量经济学评论.第15卷,1996,第369-386页。
[4]Lutkepohl,赫尔穆特。多重时间序列分析新导论.纽约州纽约:斯普林格出版社,2007年。
[5]户田,H. Y.和T.山本。向量自回归与可能整合过程的统计推论计量经济学杂志.第66卷,1995年,第225-250页。
版本历史
在R2019a中引入
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。