使用计量经济建模器估计向量自回归模型
这个例子通过使用econometretresmodeler应用程序对美国季度GDP增长率、M1货币供应量率和3个月国债利率系列进行建模。这个例子展示了如何在应用程序中执行以下操作:
稳定原始非平稳级数。
拟合几个相互竞争的向量自回归(VAR)模型,并选择一个最佳的,简约的拟合。
诊断每个残留系列。
将选择的模型导出到命令行。
在命令行中,该示例在给定估计模型的序列上执行granger因果关系测试,并使用该模型生成预测。
数据集,存储在Data_USEconModel.mat
,包含1947年至2009年的原始季度美国GDP、M1货币供应量和3个月国债利率等一系列数据。
载入和导入数据到计量经济模型
在命令行上,加载Data_USEconModel.mat
数据集。
负载Data_USEconModel
在命令行中,打开计量经济学建模师应用程序。
econometricModeler
或者,从应用程序库中打开应用程序(参见计量经济学建模师).
进口DataTimeTable
进入应用程序:
在计量经济学建模师选项卡,在进口部分,单击进口按钮
.
在“导入数据”对话框中,单击进口吗?列时,选中
DataTimeTable
变量。点击进口.
国内生产总值
,M1SL
,TB3MS
,等系列,出现在时间序列窗格中,将在图形窗口中显示包含所有序列的时间序列图。
通过双击每一个来创建单独的时间序列图国内生产总值
,M1SL
,TB3MS
在时间序列窗格。位置的时间序列图(系列
)选项卡,点击并拖动每个选项卡,可以同时看到所有的图。
美国GDP和M1货币供应系列呈现指数级增长,3个月国库券系列看起来像随机游走。
诊断与转换系列
通过对每个系列应用对数变换,从GDP和M1货币供应系列中去除指数趋势。单击计量经济学建模师Tab,然后在时间序列窗格中,单击国内生产总值
而且Ctrl点击M1SL
.在转换部分中,点击日志.变换级数GDPLog
而且M1SLLog
出现在时间序列窗格,它们的时间序列图显示在时间序列图(GDPLog)图窗口。
用平稳AR()检验原假设,即每个序列都是单位根过程。p
)用漂移替代,其中p
= 4到1。对于每个系列GDPLog
,M1SLLog
,TB3MS
:
在计量经济学建模师选项卡,在时间序列窗格中,单击该系列。
在计量经济学建模师选项卡,在时间序列窗格中,单击新的测试>扩充迪基-富勒检验.
在ADF选项卡,在参数部分,在滞后数框,输入
4
.在测试部分中,点击运行.
重复步骤3和4的滞后
3.
,2
,1
.
下图显示了结果。在所有情况下,检验都不能拒绝单位根序列的零假设,这表明每个序列都是差分平稳的。
通过对每个级数应用第一个差值来稳定该级数。
单击计量经济学建模师Tab,然后在时间序列窗格中,单击
GDPLog
而且Ctrl+点击M1SLLog
而且TB3MS
.在转换部分中,点击区别.变换级数
GDPLogDiff
,M1SLLogDiff
,TB3MSDiff
出现在时间序列窗格,它们的时间序列图显示在时间序列图(GDPLogDiff)图窗口。重命名
GDPLogDiff
而且M1SLLogDiff
来GDPRate
而且M1SLRate
点击他们的名字两次时间序列窗格,并输入他们的新名称。
VAR模型估计
估计三维风险值(p
)美国季度GDP增长率系列模型GDPRate
, M1货币供应量增速序列M1SLRate
,以及3个月期国库券利率系列的变化TB3MSDiff
,在那里p
= 1到4。
在时间序列窗格中,单击
GDPRate
而且Ctrl+点击M1SLRate
而且TB3MSDiff
.在模型部分中,点击VAR.
通过单击来拟合VAR(1)模型(默认值)估计在VAR模型参数对话框中。
模型变量
VAR
出现在模型窗格中,其值将显示在预览窗格中显示的估算摘要总结(VAR)模型文档。对每个AR订单重复步骤1和2
p
= 2到4。在“Var模型参数”对话框中,使用自回归秩序盒子。与VAR(1)估计类似,每个模型都有一个变量(
VAR2
,VAR3
,VAR4
)在模型窗格,它们的估计摘要显示在各自的窗格中模型总结(ModelName
)文档。中查看估计模型的属性预览属性中的模型模型窗格。例如,单击VAR4
.
选择最佳样本拟合模型
每个的估计摘要(VAR模型总结p
)TAB包含拟合值和残差的图形,相对于时间序列时间序列清单,估计和推断的标准统计表,以及信息标准表。
通过定位估计摘要文档,使它们占据右窗格的四个象限,同时比较每个估计模型的信息标准。最小值的模型具有最佳的简约拟合。
VAR(2)模型VAR2
产生最低的AIC和BIC值。选择此模型进行进一步分析。
检查匹配度
检查以下每个残差序列的VAR(2)图:
直方图,表示中心、正态和异常值
分位数-分位数图,表示正态、偏态和尾
自相关函数(ACF),用于序列相关
平方残差序列的ACF,用于异方差
本例直观地诊断残差。或者,您可以进行统计测试来诊断残差。
在模型总结(VAR2)文档,单击文档操作>瓷砖都,然后点击单单选按钮。
在模型窗格中,单击VAR2
.
绘制分离的残差直方图。在计量经济学建模师选项卡,在诊断部分中,点击残留的诊断>残差直方图.每个残差序列的直方图出现在直方图(VAR2)文档。
每个残差序列都以0为中心,具有不同程度的轻微偏度和可能的异常值。这个例子没有处理可能的偏态和异常值。
绘制分离的残差分位数-分位数图。与VAR2
在时间序列窗格,在计量经济学建模师选项卡,在诊断部分中,点击残留的诊断>残差Q-Q图.每个残差序列的分位数-分位数图出现在QQPlot (VAR2)文档。
每个系列的尾部都比正态分布的预期稍胖。本例继续进行,但没有处理可能的峰度。
分别绘制每个残差序列的ACF图。与VAR2
在时间序列窗格,在计量经济学建模师选项卡,在诊断部分中,点击残留的诊断>自相关函数.各残差序列的ACF图出现在ACF (VAR2)文档。
每个系列都有几个重要的,尽管很小的自相关。例如,GDPRate
残差序列在滞后4和滞后16时具有显著的自相关性M1SLRate
而且TB3MSDiff
季度差异序列在滞后7时均具有显著的自相关性。为了解决自相关性,您可以在VAR模型中包含更高的AR滞后来进行估计,但本例没有以这种方式解决自相关性。
绘制每个平方残差序列的单独ACF图。与VAR2
在时间序列窗格,在计量经济学建模师选项卡,在诊断部分中,点击残留的诊断>平方残差自相关.每个平方残差序列的ACF图出现在ACF (VAR2) 2文档。
的M1SLRate
而且TB3MSDiff
序列具有显著的自相关,表明存在异方差。本例继续进行,但没有处理可能的异方差。
将模型导出到工作区
将模型导出到工作区。
与
VAR2
在模型窗格,在计量经济学建模师选项卡,在出口部分中,点击出口>出口变量.在“导出变量”对话框中,选择选择复选框。
GDPRate
,M1SLRate
,TB3MSDiff
.点击出口.
的变量GDPRate
,M1SLRate
,TB3MSDiff
,VAR2
出现在工作区中。
在命令行进行因果分析
通过执行一步,省略一个格兰杰因果检验,确定系统中的系列是否会导致其他系列的格兰杰因果关系。将估计的VAR(2)模型传递给gct
.
gct (VAR2)
H0决定分布统计PValue CriticalValue _______________________________________________ __________________ ____________ _________ __________ _____________ " 排除滞后M1SLRate GDPRate方程”“否定H0”“Chi2(2)”8.3934 0.015045 5.9915 "排除滞后TB3MSDiff在GDPRate方程" "拒绝H0" "Chi2(2)"16.924 0.00021133 5.9915 "在M1SLRate方程中排除滞后的GDPRate " "不能拒绝H0" "Chi2(2)"3.1528 0.20672 5.9915 "排除滞后的TB3MSDiff在M1SLRate方程" "拒绝H0" "Chi2(2)"20.855 2.9608e-05 5.9915 "排除TB3MSDiff方程中的滞后GDPRate " "拒绝H0" "Chi2(2)"20.565 3.4229e-05 5.9915 "在TB3MSDiff方程中排除滞后的M1SLRate " "不能拒绝H0" "Chi2(2)"0.41428 0.81291 5.9915
一步省略格兰杰因果检验的零假设是,一个级数不会一步格兰杰导致另一个级数,条件是系统中存在所有其他级数。结果表明:
考虑到3个月期国库券的变化存在于系统中,有足够的证据表明M1货币供应率一步格兰杰导致GDP率。
假设系统中存在M1货币供应利率,有足够的证据表明3个月期国库券的变动会导致GDP利率的一步格兰杰效应。
鉴于3个月期国库券的变化存在于系统中,没有足够的证据表明GDP率一步格兰杰导致M1货币供应率。
考虑到GDP比率在系统中,有足够的证据表明,3个月期国库券的变化导致了M1货币供应比率的一步格兰杰。
假设系统中存在M1货币供应利率,有足够的证据表明GDP利率一步格兰杰导致3个月国债的变化。
鉴于GDP利率在系统中,没有足够的证据表明,第一步M1货币供应利率格兰杰导致3个月国库券的变化。
在命令行生成预测
从估计的VAR(2)模型生成未来四年(16个季度)的预测和大约95%的预测区间。为了方便起见,使用整个系列作为预测的预样本。的预测
函数丢弃所有指定的预采样观测值,除了所需的最后两个观测值。
Y = [GDPRate M1SLRate TB3MSDiff];[YF,YFMSE] = forecast(VAR2,16,Y);YFSE = cell2mat(cellfun(@(x)√(diag(x)'),YFMSE,...UniformOutput = false));Ub = yf + 1.96* yfse;Lb = yf - 1.96* yfse;datesF = datatitable . time (end) + calquarters(1:16);图tiledlayout (3,1)为j = 1:VAR2。nexttile h1 = plot(datatitable . time (end-30:end),Y(end-30:end,j),...颜色=[炮,炮,炮]);持有在h2 = plot(datesF,YF(:,j),“r”、线宽= 2);h3 = plot(datesF,UB(:,j),“k——”线宽= 1.5);情节(datesF磅(:,j),“k——”线宽= 1.5);ct = [Y(end,j) YF(1,j);Y(最终,j)磅(j);Y(最终,j)乌兰巴托(j);];情节([DataTimeTable.Time(结束);datesF (1)), ct,颜色=[炮,炮,炮])传说(h1 h2 h3, VAR2.SeriesNames (j),“预测”,...“预测区间”位置=“西北”)举行从结束