fevd

产生向量自回归(VAR)模型预测误差方差分解(FEVD)

描述

fevd函数返回预测误差分解在一个变量(FEVD)VAR(p)模型归因于冲击系统中的每个响应变量。一个完全指定varm模型对象特点的VAR模型。

来估计或绘制动态的FEVD线性模型,其特征在于由结构,自回归,或移动平均系数矩阵,参见armafevd

该FEVD提供关于每个创新的影响系统中的所有反应变量的预测误差方差的相对重要性的信息。与此相反,脉冲响应函数(IRF)迹线的创新冲击一个变量在所述系统中的所有变量的响应的影响。为了估计VAR模型的IRF特征在于varm模型对象,见IRF

分解= fevd(MDL返回组成该VAR的响应变量的正交FEVDs(p)模型MDL,其特征在于完全指明的varm模型对象。fevd在时间0时的冲击的变量,并且返回FEVD为次1至20。

分解= fevd(MDL名称,值使用由一个或多个名称值对参数中指定的附加选项。例如,'NumObs',10 '法', “广义”指定估计广义FEVD对周期1到10。

[分解降低)= fevd (___使用任何在前面的语法,并返回与输入参数的组合和降低在FEVD每个周期和可变的上部95%置信界限。

  • 如果您使用指定残差系列Ë名称 - 值对的参数,然后fevd通过自举指定残差估计置信区间。

  • 除此以外,fevd通过蒙特卡罗模拟估计置信区间。

如果MDL是自定义varm模型对象(未通过返回的对象估计或修饰的估计之后),fevd可能需要对模拟样本大小SampleSize或样品前回应Y0

例子

全部收缩

将4-D VAR(2)模型拟合到丹麦货币和收入率系列。然后,根据估计模型对正交化FEVD进行估计和标绘。

加载丹麦钱和收入的数据集。

加载Data_JDanish

该数据集包括表中四次系列数据表。有关数据集的更多详细信息,请描述在命令行。

假设该系列是固定的,创建varm一个表示4- d VAR(2)模型的模型对象。指定变量名。

MDL = varm(4,2);Mdl.SeriesNames = DataTable.Properties.VariableNames;

MDLvarm模型对象指定4- d VAR(2)模型的结构;它是估计的模板。

适合的VAR(2)模型的数据集。

MDL =估计(MDL,DataTable.Series);

MDL是一部全面规定varm表示的估计4- d VAR(2)模型的模型对象。

从所估计的VAR(2)模型估计所述正交FEVD。

分解= fevd(MDL);

分解有20×4×4代表的FEVD阵列MDL。行对应于连续时间点从时间1至20,列对应于在时间0时接收的一标准偏差创新休克变量,和页面对应于其预测误差方差的变量fevd分解。Mdl.SeriesNames指定变量的顺序。

因为分解代表正交化FEVD,行之和应为1。这一特征示出了正交化FEVDs表示的方差的贡献比例。确认所有的行分解综上所述,以1

rowsums =总和(分解,2);总和((rowsums  -  1)^ 2> EPS)。
ANS = ANS(:,:,1)= 0 ANS(:,:,2)= 0 ANS(:,:,3)= 0 ANS(:,:,4)= 0

页面之间的行和接近于1。

显示在债券利率的预测误差方差的贡献时,实际收入在时间0震惊。

分解(:,2,3)
ANS =20×10.0499 0.1389 0.1700 0.1807 0.1777 0.1694 0.1601 0.1516 0.1446 0.1390⋮

通过使所估计的AR系数矩阵和创新协方差矩阵绘制在不同的重复所有系列的FEVDsMDLarmafevd

armafevd(Mdl.AR,[],“InnovCov”,Mdl.Covariance);

每个图显示一个变量的四个FEVDs当所有其他变量都在时间0震惊。Mdl.SeriesNames指定变量的顺序。

考虑4-D VAR(2)模型估计并绘制VAR模型FEVD。对于100个周期估计系统的广义FEVD。

加载丹麦钱和收入数据集,然后估计VAR(2)模型。

加载Data_JDanishMDL = varm(4,2);Mdl.SeriesNames = DataTable.Properties.VariableNames;MDL =估计(MDL,DataTable.Series);

在长度为100的预测范围内,从估计VAR(2)模型中估计广义FEVD。

分解= fevd(MDL,“方法”“广义”“NumObs”,100);

分解是一个100×4×4代表的广义FEVD阵列MDL

画出债券利率的广义FEVD当实际收入在时间0震惊。

数字;图(1:100,分解(:,2,3))标题(“IB的FEVD当Y感到震惊”)xlabel(“预测地平线”)ylabel(“方差贡献”)网格

当实际收入受到冲击,债券利率的预测误差方差的贡献稳定在大约0.061。

考虑4-D VAR(2)模型估计并绘制VAR模型FEVD。估算并绘制了正交FEVD和95%的蒙特卡洛置信区间上真正FEVD。

加载丹麦钱和收入数据集,然后估计VAR(2)模型。

加载Data_JDanishMDL = varm(4,2);Mdl.SeriesNames = DataTable.Properties.VariableNames;MDL =估计(MDL,DataTable.Series);

从所估计的VAR(2)模型估计FEVD和相应的95%蒙特卡洛置信区间。

rng (1);%用于重现[分解,下限,上限] = fevd(MDL);

分解降低是代表的正交FEVD 20×4×4阵列MDL和对应的置信区间的下限和上限。对于所有阵列,行对应于连续时间点从时间1至20,列对应于在时间0时接收的一标准偏差创新休克变量,和页面对应于其预测误差方差的变量fevd分解。Mdl.SeriesNames指定变量的顺序。

绘制与债券利率的其置信区间的正交FEVD当实际收入在时间0震惊。

fevdshock2resp3 =分解(:,2,3);FEVDCIShock2Resp3 = [下(:,2,3)上(:,2,3)]。数字;H1 =情节(1:20,fevdshock2resp3);保持H2 =情节(1:20,FEVDCIShock2Resp3,'R--');图例([H1 H2(1)],[“FEVD”“95%的置信区间”]...'位置'“最好”)xlabel(“预测地平线”);ylabel(“方差贡献”);标题(“IB的FEVD当Y感到震惊”);格保持

从长期来看,当实际收入震惊,粘结率了事的预测误差方差的大约0和0.5之间的95%置信的比例。

考虑4-D VAR(2)模型估计并绘制VAR模型FEVD。估算并绘制了正交FEVD和90%的自举置信区间上真正FEVD。

加载丹麦钱和收入数据集,然后估计VAR(2)模型。从模型估计回归残差。

加载Data_JDanishMDL = varm(4,2);Mdl.SeriesNames = DataTable.Properties.VariableNames;[铜牌,〜,〜,E] =估计(MDL,DataTable.Series);T =大小(数据表,1)总样本量%
T = 55
N =尺寸(E,1)%有效样本容量
N = 53

Ë是一个53×4的残差数组。列对应于中的变量Mdl.SeriesNames。该估计功能要求Mdl.P= 2周的观察来初始化VAR(2),用于估计模型。由于样品前数据(Y0)是不确定的,估计发生在指定的响应数据的第一两个观察来初始化模型。因此,所得到的有效样本大小是Ť-Mdl.P= 53,和排Ë对应于观测指数3通过Ť

从所估计的VAR(2)模型估计所述正交FEVD和相应的90%的自举置信区间。绘制长度的500条路径ñ从系列残留。

rng (1);%用于重现[分解,下限,上限] = fevd(MDL,“E”,E,“NumPaths”,500,...“置信度”,0.9);

绘制与债券利率的其置信区间的正交FEVD当实际收入在时间0震惊。

fevdshock2resp3 =分解(:,2,3);FEVDCIShock2Resp3 = [下(:,2,3)上(:,2,3)]。数字;H1 =情节(0:19,fevdshock2resp3);保持H2 =情节(0:19,FEVDCIShock2Resp3,'R--');图例([H1 H2(1)],[“FEVD”“90%置信区间”]...'位置'“最好”)xlabel(“时间指数”);ylabel(“响应”);标题(“IB的FEVD当Y感到震惊”);格保持

从长期来看,当实际收益受到冲击时,债券利率的预测误差方差比例稳定在0.05 ~ 0.4之间,有90%的置信度。

输入参数

全部收缩

VAR模型,指定为varm模型对象的创建varm要么估计MDL必须充分指定。

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例:'NumObs',10 '法', “广义”指定估计广义FEVD对周期1到10。

对于所有FEVDs选项

全部收缩

期号,在fevd计算FEVD(预测范围),指定为逗号分隔的一对组成的'NumObs'和一个正整数。NumObs指定的观测数在FEVD(行的数量包括分解)。

例:“NumObs”, 10通过10 FEVD为1倍的指定估计。

数据类型:

FEVD计算方法,指定为逗号分隔的一对组成的'方法'并在此表中的值。

描述
“正交” 计算方差分解利用正交,一个标准差的创新冲击。fevd使用的Cholesky分解Mdl.Covariance为正交。
“广义” 使用一个标准偏差创新震荡计算方差分解。

例:“方法”,“广义”

数据类型:烧焦|

对于置信界估计选项

全部收缩

要生成的样本路径(试验)的数目,指定为逗号分隔的对'NumPaths'和一个正整数。

例:'NumPaths',1000生成1000从该软件导出置信区间样本路径。

数据类型:

对于每个样品路径蒙特卡罗模拟或自举的观测数,指定为逗号分隔的一对组成的“采样大小”和一个正整数。

  • 如果MDL是估计varm模型对象(由返回的对象估计此后未修饰的),那么默认是数据的样本大小,以该模型适合(参见总结)。

  • 如果fevd通过进行蒙特卡罗模拟(详情估计置信区间,见Ë),你必须指定SampleSize

  • 如果fevd通过引导残差估计置信区间,默认是指定的一系列残差的长度(大小(E, 1))。

例:如果您指定'的采样大小',100并没有指定'E'名称 - 值对参数,软件估计从置信区间NumPaths长度的随机路径100MDL

例:如果您指定'采样大小',100, 'E',E,软件重做,替换,100观测(行)从Ë以形成的创新来过滤样本路径通过MDL。软件形式NumPaths随机样本的路径从它导出置信区间。

数据类型:

该模拟过程中对模型估计提供初始值样品前体响应数据,指定为逗号分隔的一对组成的'Y0'numpreobs-通过-numseries数字矩阵。

Y0对应于presample中的句点,最后一行包含最新的presample响应。numpreobs是否指定预采样响应的数量,且必须至少是Mdl.P。如果numpreobs超过Mdl.P, 然后fevd只有最新的使用Mdl.P行。

numseries是输入VAR模型的维数Mdl.NumSeries。列必须对应于响应变量Mdl.SeriesNames

  • 如果MDL是估计varm模型对象(由返回的对象估计此后未修饰),fevdY0到默认用于估计所述样品前体响应数据(参见'Y0')。

  • 否则,您必须指定Y0

数据类型:

用于在仿真期间评估模型回归部件预测数据,指定为逗号分隔的一对组成的'X'和包含数字矩阵numpreds列。

numpreds是(预测变量的数目大小(Mdl.Beta,2))。

行对应的观测。X必须至少有SampleSize行。如果你超过必要提供更多的行,fevd只有最新的使用SampleSize观察结果。最后一行包含了最新的观测。

列对应于个体预测变量。所有预测器变量存在于每个响应方程的回归组件。

为了保持模型的一致性时fevd估计置信界限,一个好的实践是指定X什么时候MDL具有回归组件。如果MDL是估计的模型,指定模型估计时使用的预测数据(见'X')。

默认情况下,fevd排除从信心界估计在回归部件,而不管其存在的MDL

数据类型:

残差的系列,从中可以得出bootstrap样本,指定为逗号分隔的一对组成的'E'和包含数字矩阵numseries列。fevd假设Ë是免费的序列相关。

列包含对应于所述响应序列名称残差序列Mdl.SeriesNames

如果MDL是估计varm模型对象(由返回的对象估计),你可以指定Ë从估计的推断残差(见Ë要么推断)。

默认情况下,fevd通过进行蒙特卡罗模拟得出的置信区间。

数据类型:

置信水平的置信区间,指定为逗号分隔的一对组成的'置信度'并且在数字标量[0,1]。

假设置信度=C。然后,100(1 -C)/脉冲响应的2%位于外部的置信区间。

默认值是0.95,即置信区间代表95%置信区间。

数据类型:

输出参数

全部收缩

每个响应可变的FEVD,返回为numobs-通过-numseries-通过-numseries数字数组。numobs是的价值NumObs。列和页对应于其中的响应变量Mdl.SeriesNames

分解(ŤĴķ是变量的方差分解的贡献ķ由于一个标准偏差的创新冲击变量Ĵ在时间ŤŤ= 1,2,...,numobsĴ= 1,2,...,numseriesķ= 1,2,...,numseries

较低的置信区间,返回为numobs-通过-numseries-通过-numseries数字数组。要点降低对应于元件分解

降低(ŤĴķ是下限的100 *信心%百分位数到变量的方差分解的真正贡献间隔ķ由于一个标准偏差的创新冲击变量Ĵ在时间0。

上置信区间,返回为numobs-通过-numseries-通过-numseries数字数组。要点对应于元件分解

上(ŤĴķ在上结合的100 *信心%百分位数到变量的方差分解的真正贡献间隔ķ由于一个标准偏差的创新冲击变量Ĵ在时间0。

更多关于

全部收缩

预测误差方差分解

预测误差方差分解多元的(FEVD),动态系统显示在影响系统中的所有变量的预测误差方差的冲击给每个创新的相对重要性。

考虑numseries-DVAR(p)模型对于多变量响应变量ÿŤ。在滞后算符号,无限滞后MA表示ÿŤ是:

ÿ Ť = Φ - 1 大号 C + β X Ť + δ Ť + Φ - 1 大号 ε Ť = Ω 大号 C + β X Ť + δ Ť + Ω 大号 ε Ť

的FEVD的一般形式ÿKT(变量ķ时间到未来,归属于一个标准差的创新冲击ÿJT

γ Ĵ ķ = Σ Ť = 0 - 1 Ë ķ C Ť Ë Ĵ 2 Σ Ť = 0 - 1 Ë ķ Ω Ť Σ Ω Ť Ë ķ

  • ËĴ是长度的选择向量numseries在元件含有1Ĵ和其他地方的零。

  • 对于正交FEVDs, C = Ω P 哪里P是在Σ的Cholesky因式分解下三角因子。

  • 广义FEVDs, C = σ Ĵ - 1 Ω Σ 哪里σĴ是创新的标准偏差Ĵ

  • 分子是一个创新的冲击变量的贡献Ĵ到的预测误差方差- 工序超前预测变量ķ。分母是的均方误差(MSE)- 工序超前预测变量ķ[3]

向量自回归模型

一种向量自回归(VAR)模型在静止多元时间序列模型组成的系统方程不同响应变量作为滞后响应和其它方面的线性函数。

基于VAR(p)模型差分方程的符号而在还原形式

ÿ Ť = C + Φ 1 ÿ Ť - 1 + Φ 2 ÿ Ť - 2 + ... + Φ p ÿ Ť - p + β X Ť + δ Ť + ε Ť

  • ÿŤnumseries-by-1对应于值的矢量numseries在时间响应变量Ť,其中Ť= 1,...,Ť。结构系数为单位矩阵。

  • Cnumseries×1常数矢量。

  • ΦĴnumseries-通过-numseries自回归系数,其中的基质Ĵ= 1,...,p和Φp不是只包含零的矩阵。

  • XŤnumpreds-by-1对应于值的矢量numpreds外生预测变量。

  • βnumseries-通过-numpreds矩阵回归系数。

  • δnumseries×1的线性时趋势值的向量。

  • εŤnumseries×1矢量随机高斯创新的,每一个平均的0和一个共同numseries-通过-numseries协方差矩阵Σ。对于Ť小号εŤε小号是独立的。

冷凝,滞后算符号,该系统是

Φ 大号 ÿ Ť = C + β X Ť + δ Ť + ε Ť

哪里 Φ 大号 = 一世 - Φ 1 大号 - Φ 2 大号 2 - ... - Φ p 大号 p ,Φ(大号ÿŤ是多变量回归多项式,和一世是个numseries-通过-numseries单位矩阵。

算法

  • 如果方法“正交”, 然后fevd正交化的创新冲击通过应用模型协方差矩阵的Cholesky分解Mdl.Covariance。正交化创新冲击的协方差是单位矩阵,并且每个变量之和的FEVD为一(即,沿着任何行的总和分解是一个)。因此,正交FEVD表示预测误差方差归属于各种冲击在系统中的比例。然而,正交化FEVD通常取决于变量的数量级上。

    如果方法“广义”,然后将所得FEVD是不变的变量的顺序,并且不基于正交变换。此外,所得FEVD款项一项所述的特定变量,只有当Mdl.Covariance是对角线[4]。因此,广义FEVD代表了等式冲击对模型中响应变量的预测误差方差的贡献。

  • 如果Mdl.Covariance是对角矩阵,然后将所得的广义正交和FEVDs是相同的。否则,所得的广义正交和FEVDs是相同的,只有当第一可变冲击的所有变量(即,在其他条件相同的,这两种方法得到相同的值分解:1:))。

  • 为NaN价值观Y0XË表示丢失的数据。fevd删除由列表删除明智缺少根据这些参数数据。每个参数,如果行包含至少一个为NaN, 然后fevd删除整行。

    清单明智的缺失降低了样本的大小,可以创建不规则的时间序列,并可能导致ËX是不同步的。

  • 预测数据X代表的外源性多元时间序列的单一路径。如果您指定X和VAR模型MDL具有回归组分(Mdl.Beta不是一个空数组),fevd相同的外源数据适用于用于区间估计的所有路径。

  • fevd进行模拟估算置信区间降低

    • 如果没有指定残差Ë, 然后fevd进行蒙特卡洛模拟通过执行此过程:

      1. 模拟NumPaths长度的响应路径SampleSizeMDL

      2. 适合NumPaths具有结构为同款MDL到模拟响应路径。如果MDL包含回归组件和您指定X中,fevd符合NumPaths模型模拟的反应路径和X(对于所有路径相同的预测值的数据)。

      3. 估计NumPaths从FEVDsNumPaths估计模型。

      4. 对于每个时间点Ť= 0,...,NumObs,估计由计算1置信区间 -置信度置信度分位数(上界和下界,分别地)。

    • 如果指定残差Ë, 然后fevd进行通过执行此过程非参数自举:

      1. 重新取样,与更换,SampleSize从残差Ë。执行此步骤NumPaths次获得NumPaths路径。

      2. 自举居中残差的每个路径。

      3. 过滤器为中心,自举残差的每个路径通过MDL获得NumPaths长度的自举响应路径SampleSize

      4. 完成蒙特卡罗仿真的步骤2到步骤4,但是将仿真的响应路径替换为引导响应路径。

参考文献

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

[2]Lütkepohl,H.“渐近脉冲响应函数和预测误差向量自回归模型的方差分解的分布。”经济学和统计学评论。卷。72,1990,第116-125。

[3]Lütkepohl,H.新介绍多时间序列分析。纽约:施普林格出版社,2007年。

[4]Pesaran,H. H.,和Y信。“线性多变量模型广义脉冲响应分析。”经济快报。卷。58,1998年,第17-29。

也可以看看

对象

功能

介绍了在R2019a