主要内容

预测

从贝叶斯向量自回归(VAR)模型预测的反应

自从R2020a

描述

预测非常适合计算样本外无条件的预测吗贝叶斯VAR (p)模型不包含一个外生回归组件。对于先进的应用程序,如样本外条件预测,VARX (p)模型预测、缺失值归责,吉布斯采样器规范后预测分布估计,看到simsmooth

例子

YF=预测(PriorMdl,numperiods,Y)返回一个路径预测的反应YF在长度numperiods预测地平线。每一个时期YF的意思是后预测分布,这是源自于之前的后验分布贝叶斯VAR (p)模型PriorMdl考虑到响应数据Y。输出YF代表的延续Y

在数据显示缺失值,预测使用list-wise删除删除。

例子

(YF,YFStd)=预测(PriorMdl,numperiods,Y)还返回相应的后预测分布的标准偏差YFStd

例子

全部折叠

考虑三维VAR(4)模型对美国通货膨胀(影响力),失业率(UNRATE)和联邦基金(FEDFUNDS)率。

( 影响力 t UNRATE t FEDFUNDS t ] = c + j = 1 4 Φ j ( 影响力 t - - - - - - j UNRATE t - - - - - - j FEDFUNDS t - - - - - - j ] + ( ε 1 , t ε 2 , t ε 3 , t ]

对所有 t , ε t 是一系列独立的3 d正常创新0和协方差的意思吗 Σ 。假设扩散先验分布的参数 ( ( Φ 1 , , Φ 4 , c ] , Σ )

加载和数据预处理

美国宏观经济数据集加载。计算通货膨胀率,稳定失业率和联邦基金利率,和删除缺失值。

负载Data_USEconModelseriesnames = [“影响力”“UNRATE”“FEDFUNDS”];DataTimeTable。影响力=100*[NaN; price2ret(DataTimeTable.CPIAUCSL)]; DataTimeTable.DUNRATE = [NaN; diff(DataTimeTable.UNRATE)]; DataTimeTable.DFEDFUNDS = [NaN; diff(DataTimeTable.FEDFUNDS)]; seriesnames(2:3) =“D”+ seriesnames (2:3);rmDataTimeTable = rmmissing (DataTimeTable);

创建之前模型

之前创建一个扩散模型。指定响应系列名称。

numseries =元素个数(seriesnames);numlags = 4;PriorMdl = bayesvarm (numseries numlags,“SeriesNames”,seriesnames);

预测的反应

直接预测两年(8个季度)的观察后预测分布。预测估计参数的后验分布,然后后预测分布形式。

numperiods = 8;YF =预测(PriorMdl、numperiods rmDataTimeTable {:, seriesnames});

YF是一个8-by-3矩阵的预测反应。

画出预测反应。

跳频= rmDataTimeTable.Time(结束)+ calquarters (0:8);tiledlayout (3,1)j = 1: PriorMdl。(rmDataTimeTable NumSeries nexttile阴谋。Time(end - 20:end),rmDataTimeTable{end - 20:end,seriesnames(j)},“r”,跳频,[rmDataTimeTable{结束,seriesnames (j)};YF (:, j)),“b”);传奇(“观察”,“预测”,“位置”,“西北”)标题(seriesnames (j))结束

图包含3轴对象。坐标轴对象1标题包含2对象的类型。这些对象代表观察,预测。坐标轴对象2标题DUNRATE包含2线类型的对象。这些对象代表观察,预测。坐标轴对象3 2标题DFEDFUNDS包含对象类型的线。这些对象代表观察,预测。

考虑的3 d VAR(4)模型从后预测分布预测的反应

美国宏观经济数据集加载。计算通货膨胀率,稳定失业率和联邦基金利率,和删除缺失值。

负载Data_USEconModelseriesnames = [“影响力”“UNRATE”“FEDFUNDS”];DataTimeTable。影响力=100*[NaN; price2ret(DataTimeTable.CPIAUCSL)]; DataTimeTable.DUNRATE = [NaN; diff(DataTimeTable.UNRATE)]; DataTimeTable.DFEDFUNDS = [NaN; diff(DataTimeTable.FEDFUNDS)]; seriesnames(2:3) =“D”+ seriesnames (2:3);rmDataTimeTable = rmmissing (DataTimeTable);

之前创建一个扩散模型。指定响应系列名称。

numseries =元素个数(seriesnames);numlags = 4;PriorMdl = bayesvarm (numseries numlags,“SeriesNames”,seriesnames);

直接预测两年(8个季度)的反应观察后预测分布。返回后标准差。

numperiods = 8;(YF, YStd) =预测(PriorMdl、numperiods rmDataTimeTable {:, seriesnames});

YFYStd8-by-3矩阵预测响应和相应的标准差,分别。

绘制预测反应以及近似的95%置信区间。

跳频= rmDataTimeTable.Time(结束)+ calquarters (0:8);j = 1: PriorMdl。NumSeries次要情节(3 1 j)情节(rmDataTimeTable。Time(end - 20:end),rmDataTimeTable{end - 20:end,seriesnames(j)},“r”,跳频,[rmDataTimeTable{结束,seriesnames (j)};YF (:, j)),“b”,跳频,[rmDataTimeTable{结束,seriesnames (j)};YF (:, j) + 1.96 * YStd (:, j)),“b——”,跳频,[rmDataTimeTable{结束,seriesnames (j)};YF (:, j) - 1.96 * YStd (:, j)),“b——”);传奇(“观察”,“预测”,“近似95%可信区间”,“位置”,“西北”)标题(seriesnames (j))结束

图包含3轴对象。坐标轴对象1标题包含4对象的类型。这些对象代表观察、预测、近似95%可信区间。坐标轴对象2标题DUNRATE包含4线类型的对象。这些对象代表观察、预测、近似95%可信区间。坐标轴对象3标题DFEDFUNDS包含4线类型的对象。这些对象代表观察、预测、近似95%可信区间。

输入参数

全部折叠

贝叶斯VAR模型之前,这个表中指定为一个模型对象。

模型对象 描述
conjugatebvarm 依赖,matrix-normal-inverse-Wishart共轭模型返回的bayesvarm,conjugatebvarm,或估计
semiconjugatebvarm 独立,normal-inverse-Wishart semiconjugate之前返回的模型bayesvarmsemiconjugatebvarm
diffusebvarm 扩散先验模型返回的bayesvarmdiffusebvarm
normalbvarm 正常共轭模型与一个固定的创新协方差矩阵,返回的bayesvarm,normalbvarm,或估计

预测地平线,或时间点在预测期的数量,指定为一个正整数。

数据类型:

Presample和评估样本多元反应级数,指定为一个(numlags + numobs)———numseries数字矩阵。

行对应于观测,最后一行包含最新的观测。预测使用第一个numlags=PriorMdl.P观察presample之前初始化模型PriorMdl后验估计。预测估计后使用剩下的numobs观察和PriorMdl

numseries响应变量的数量吗PriorMdl.NumSeries。列对应单个响应变量PriorMdl.SeriesNames

更多细节,请参阅算法

数据类型:

输出参数

全部折叠

多元反应系列的路径预测,作为一个返回numperiods——- - - - - -numseries数字矩阵。YF后的均值预测分布的每个周期预测地平线。

YF代表响应系列的延续Y。行对应于观测;行jj今后一段时间将预测。列对应的列Y

预测标准差,作为一个返回numperiods——- - - - - -numseries数字矩阵。YFStd的标准偏差后每个周期的预测分布预测地平线。维度对应的尺寸YF

更多关于

全部折叠

贝叶斯向量自回归(VAR)模型

一个贝叶斯VAR模型对待所有系数和创新作为随机变量的协方差矩阵维,固定VARX (p)模型。模型的这个表中描述的三种形式。

模型 方程
简化型VAR (p在差分方程符号

y t = Φ 1 y t 1 + + Φ p y t p + c + δ t + Β x t + ε t

多元回归

y t = Z t λ + ε t

矩阵的回归

y t = Λ z t + ε t

对于每一个时间t= 1,…,T:

  • yt维观测响应向量,=numseries

  • Φ1Φ,…p——- - - - - -1通过AR系数矩阵的滞后p,在那里p=numlags

  • c1的向量模型常数IncludeConstant真正的

  • δ如果1向量的线性时间趋势系数IncludeTrend真正的

  • Β是——- - - - - -r的回归系数矩阵r1观察外源性因素的向量xt,在那里r=NumPredictors。所有预测变量出现在每一个方程。

  • z t = ( y t 1 y t 2 y t p 1 t x t ] , 这是一个1 - (国会议员+r+ 2)向量,Zt——- - - - - -(国会议员+r+ 2)块对角矩阵

    ( z t 0 z 0 z 0 z z t 0 z 0 z 0 z 0 z z t ] ,

    在0z是一个1 - (国会议员+r+ 2)矢量为零。

  • Λ = ( Φ 1 Φ 2 Φ p c δ Β ] ,这是一个(国会议员+r+ 2)——-随机矩阵的系数,(国会议员+r+ 2)1的向量λvec(Λ=)。

  • εt是一个1的随机向量,连续不相关,多元正态创新意思和零向量——- - - - - -协方差矩阵Σ。这个假设意味着数据的可能性

    ( Λ , Σ | y , x ) = t = 1 T f ( y t ; Λ , Σ , z t ) ,

    在哪里f维多元正态密度与的意思ztΛ和协方差Σ评估yt

考虑到数据之前,您征收联合先验分布假设(ΛΣ),这是由分布π(ΛΣ)。在贝叶斯分析,参数的分布的信息更新参数获得的数据的可能性。结果是联合后验分布π(ΛΣ|Y,X,Y0),其中:

  • Y是一个T——- - - - - -包含整个响应矩阵系列{yt},t= 1,…,T

  • X是一个T——- - - - - -矩阵包含整个外生系列{xt},t= 1,…,T

  • Y0是一个p——- - - - - -矩阵presample数据用于初始化的VAR模型估计。

后预测分布

一个后预测分布的后贝叶斯VAR (p)模型π(Yf|Y,X)的分布τ未来最后的观察后响应变量估计样本Yf= (yT+ 1,yT+ 2、…yT+τ)以下,边缘化Λ和Σ:

  • Presample和评估样本响应数据Y

  • 系数Λ

  • 创新协方差矩阵Σ

  • 估计和未来的示例外生数据X

象征性地,

π ( Y f | Y , X ) = π ( Y f | Y , X , Λ , Σ ) π ( Λ , Σ | Y , X ) d Λ d Σ

提示

  • 蒙特卡罗模拟是可能变更。如果预测使用蒙特卡罗模拟,那么当你叫估计和推断可能有所不同预测在看似同等条件下多次。复制估算结果,设置一个随机数种子通过使用rng在调用之前预测

算法

  • 如果后预测分布分析棘手(适用于大多数情况下),预测实现了马尔可夫链蒙特卡罗(密度)与贝叶斯数据采样增加计算后预测的平均值和标准偏差分布。要做到这一点,预测调用simsmooth,它使用一个计算密集型的过程。

  • 大多数计量经济学工具箱™预测函数接受一个估计或后生成预测的模型对象。这样一个模型包含了结构参数和数据。然而,预测函数的贝叶斯VAR模型需要presample和估计样本数据做如下:

    • 执行更新贝叶斯参数估计后验分布。预测获得实现模型与贝叶斯数据增加,包括卡尔曼滤波平滑步骤,需要整个系列。

    • 预测未来反应的存在两个不确定性的来源:

      • 估计噪声ε1、…εT,导致参数不确定性

      • 预测期噪声εT+ 1、…εT+numperiods

引用

[1]Litterman罗伯特•B。“与贝叶斯向量自回归预测:五年的经验。”商业和经济统计》杂志上4,没有。1(1986年1月):25-38。https://doi.org/10.2307/1391384

版本历史

介绍了R2020a