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可能需要模拟的样本量采样大小或样品前回应Y0

例子

全部收缩

适合4 d VAR(2)模型来丹麦的钱,收益率系列。然后,估算并估计模型绘制正交FEVD。

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

加载Data_JDanish

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

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

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

MDL是一个varm模型对象指定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

图0时刻实际收入冲击下债券利率的广义FEVD。

图;图(1:100,分解(:,2,3))标题("当你被电击时")xlabel(“预测地平线”)ylabel(“方差贡献”网格)

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

考虑4- d VAR(2)模型中估算并绘制VAR模型FEVD。在真实FEVD上估计并绘制其正交化FEVD和95%蒙特卡罗置信区间。

加载丹麦钱和收入数据集,然后估计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(“方差贡献”);标题("当你被电击时");网格保持

从长期来看,当实际收入震惊,粘结率了事的预测误差方差的大约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% bootstrap置信区间。画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(“响应”);标题("当你被电击时");网格保持

从长远来看,当实际收入受到冲击,债券利率办结的预测误差方差的大约0.05和0.4之间,90%的置信度的比例。

输入参数

全部收缩

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

名称 - 值对参数

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

例子:“方法”“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通过进行蒙特卡罗模拟(详情估计置信区间,见Ë),你必须指定采样大小

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

例子:如果您指定“SampleSize”, 100年不要指定“E”名称 - 值对参数,软件估计从置信区间NumPaths长度的随机路径100MDL

例子:如果您指定“E”“SampleSize”, 100年,E,软件重复采样,以替换,100观察(行)Ë以形成的创新来过滤样本路径通过MDL。该软件的形式NumPaths随机样本的路径从它导出置信区间。

数据类型:

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

Y0对应于样品前阶段,最后一行包含最新的样品前响应。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必须至少有采样大小行。如果你超过必要提供更多的行,fevd只有最新的使用采样大小观察结果。最后一行包含了最新的观测。

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

保持模型的一致性fevd估计置信区间,一个好的做法是指定XMDL具有回归组件。如果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Ĵ和0。

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

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

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

向量自回归模型

一个向量自回归(VAR)模型平稳多变量时间序列模型是否由一个系统构成方程不同响应变量作为滞后响应和其它方面的线性函数。

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

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

  • ÿŤ是一个numseries的值的-乘1的向量numseries响应变量Ť,在那里Ť= 1,…,Ť。结构系数是单位矩阵。

  • C是一个numseries×1常数矢量。

  • ΦĴ是一个numseries——- - - - - -numseries自回归系数,其中的基质Ĵ= 1,…,p和Φp不是一个只有0的矩阵。

  • XŤ是一个numpreds的值的-乘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之和为1(即沿任意行的和)分解是一个)。因此,正交化的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长度响应路径采样大小MDL

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

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

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

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

      1. 重新取样,更换,采样大小残差的Ë。执行这一步骤NumPaths次获得NumPaths路径。

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

      3. 过滤每一个路径的中心,引导残差通过MDL获得NumPaths长度的自举响应路径采样大小

      4. 完成步骤2通过蒙特卡罗模拟的4,但替换为自举响应路径中的模拟响应路径。

参考

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

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

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

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

也可以看看

对象

功能

介绍了在R2019a