Forecasting with Bayesian Panel Vector Autoregressions Using the R Package bpvars¶
作者: Miguel Sanchez-Martinez, Tomasz Woźniak
主题: 经济理论 / 应用
相关性: 6/10
链接: https://arxiv.org/abs/2606.14143
一、领域脉络与小综述¶
-
这个方向是什么: 本论文聚焦于贝叶斯分层面板向量自回归(Panel VAR)模型的预测。该子方向的核心科学问题是:如何利用跨截面(国家)的信息共享来改善对每个截面单元(国家) 的多变量时间序列预测,同时处理动态面板数据中常见的缺失观测与参数维度灾难。当前成熟度属于“成熟方法的应用与工程化封装”:理论基础(贝叶斯VAR、分层先验、Minnesota先验)早已奠定,但将其系统性地整合为一个开源、可复制、高性能的预测工具包,并针对联合国机构级应用场景(189个国家、多年份、多变量)进行优化,尚属首次。
-
发展脉络(history): 从引言和参考文献看,这条线的历史可梳理如下:
-
奠基:单国别贝叶斯VAR与Minnesota先验 —— 模型形式的源头是Sims (1980)的VAR。预测性能的突破来自Doan, Litterman, and Sims (1984),他们提出了Minnesota先验:将高维自回归系数向随机游走收缩(自己的滞后项系数先验均值为1,其他为0),有效缓解了过拟合。其后,Zellner and Hong (1989)提出了将先验均值设为混合估计量(pooled estimator) 的另一种实用选择。这两条先验均值设定是本文默认选项的重要来源。
-
核心进展:贝叶斯分层面板VAR —— Jarociński (2010) 提出了本文的直接前驱模型:国家特定VAR参数拥有以全局参数为中心的交换性先验(exchangeable prior)。该模型允许国家间信息共享,但它的分层结构被简化为仅对自回归参数施加交换性先验,且误差协方差矩阵的先验未纳入分层(作者称为“minimal prior structure”,见原文 Section 3.1)。本文作者将其称为“Model by Jarociński”,并在基准模型中扩展了分层覆盖范围:自回归参数和误差协方差矩阵都服从以全局对应参数为中心的先验。
-
并行路线:全球VAR(GVAR)与贝叶斯全局建模 —— 处理跨国动态的另一路线是全球VAR(Cuaresma, Feldkircher, and Huber, 2016),其机制是显式建模国家间贸易/金融联系(通过加权邻接矩阵),而非仅依赖分层先验。本文作者在引言中明确与GVAR作了区分,并指出其包BGVAR(Boeck, Feldkircher, and Huber, 2022)是“唯一处理动态面板数据的其他类似设施”(见 Introduction 脚注)。
-
当前前沿与本文位置:引言的 framing 显示,当前前沿是将模型一致的贝叶斯缺失值处理(Guttman and Menzefricke, 1983)与贝叶斯分层面板VAR整合进一个用户友好、高性能的软件包中。作者认为这是 BGVAR 和 BEAR Toolbox 均未提供的组合,因此
bpvars被定位为“第一个专门致力于贝叶斯面板VAR模型的R包”。 -
子线索聚类:
- 先验结构设计:Lindley and Smith (1972) 的交换性先验 → Jarociński (2010) 的限制性分层 → 本文的多层次完全分层(包括误差协方差)。
- 缺失观测处理:Guttman and Menzefricke (1983) 的贝叶斯缺失值随机化 → 本文将其嵌入Gibbs采样器(Section 4)。
- 计算与软件实现:Sims (1980) 的VAR → 各种频繁/贝叶斯包(
pvars,panelvar,plm,BGVAR,BEAR Toolbox) → 本文的bpvars(C++核心,R接口,分层抽样器)。 -
预测评估框架:Waggoner and Zha (1999) 的条件预测与受限预测 → Geweke and Amisano (2010) 的预测对数分数 → 本文的伪样本外递归预测框架(Section 5.7-5.8)。
-
这个方向在追问的核心问题:
- 如何在捕捉变量间动态交互(VAR结构)的同时,平衡因跨国家/截面单元而暴涨的参数数量? 主流方法是分层先验与全局收缩(Minnesota先验),瓶颈在于先验超参数的选择对预测性能敏感。
- 如何识别和恰当处理面板中非随机缺失的观测? 主流方法有插补和贝叶斯随机化,瓶颈在于缺失机制(MAR vs. MNAR)的模型化缺乏检验。
-
如何公平地比较不同模型/假设下的预测性能? 主流方法采用伪样本外递归预测,瓶颈在于评估指标的选择(点预测 vs. 密度预测)及其跨国家的聚合方式。
-
⚠️ 作者的 framing(这是作者的说法): 作者将缺口 frame 成“现有R包没有同时提供(a)完全分层的贝叶斯面板VAR、(b)模型一致的贝叶斯缺失值处理、(c)全面的贝叶斯预测工具”。他们强调自己的包是“第一个专门为此设计的R包”(Introduction)。他们淡化了 BGVAR 包的能力(仅仅在脚注中提及),而 BGVAR 实际上也处理了跨国家依赖,尽管是通过全球VAR权重而非纯分层。他们还回避了一个明显问题:
bpvars的分层假设(所有国家参数围绕一个全局参数)在多大程度上适用于异质性极强的189个国家——例如,低收入与高收入国家的劳动力市场动态是否真的共享一个全局VAR结构?没有被引用但明显应该存在的文献:关于“分层先验在高度异质面板中的稳健性”的讨论(例如,是否存在贝叶斯模型平均或多时变全局参数的方法?)、关于“面板VAR的结构识别”(本文只做预测,完全不触及因果结构识别,但引言用“endogenous”一词略过了滞后结构是否可解释的问题)。 -
张力: 未见明显对立引用。
二、最核心、最简单的例子 / 数学问题(先把符号/模型/可观测数据交代清楚)¶
第一步:把符号、模型、可观测数据交代清楚¶
- 符号:
c ∈ {1, …, C}:国家/截面单元索引。总国家数C=189(本文例中)。t ∈ {1, …, T_c}:时间点,每个国家可能不同的样本量T_c。N:每个国家VAR的内生变量数目。本文中N=4(gdpc.t, urc.t, erc.t, prc.t)。p:VAR的滞后阶数。本文例中p=1。K = Np + D:每个方程的自变量个数(包括滞后变量和确定项)。D是确定项的维度(如常数、时间虚拟变量)。- 可观测数据:
y_{c,t}:N-维列向量,国家c在时间t的观测值。d_{c,t}:D-维列向量,确定项(如常数项、外生变量)。- 所有国家数据按时间堆叠成矩阵:
Y_c = [y_{c,1}, …, y_{c,T_c}]'(T_c × N),X_c = [x_{c,1}, …, x_{c,T_c}]'(T_c × K),其中x_{c,t} = [y'_{c,t-1}, …, y'_{c,t-p}, d'_{c,t}]'。
- 参数(要估的对象):
A_c:K × N矩阵,包含国家c的所有自回归系数和确定项系数。Σ_c:N × N正定矩阵,国家c误差项的协方差。A:K × N矩阵,全局自回归参数(先验均值中的目标)。Σ:N × N矩阵,全局误差协方差。V:K × K正定矩阵,控制A_c向A的收缩幅度(列特定协方差)。ν:标量,逆Wishart分布的形状参数。m:标量(平均全局持久性超参数),乘在先验均值基矩阵M上。w:标量,收缩尺度因子,乘在V的先验尺度矩阵W上。s:标量,收缩尺度因子,乘在A的Σ先验尺度矩阵S和S_Σ上。
-
不可观测/潜在量:
ε_{c,t}:N-维,国家c在时间t的误差项,给定过去值服从N_N(0, Σ_c)。y_{c,0}, ..., y_{c,-(p-1)}:初始条件,通常不可观测或被截断。- 缺失观测
y_{c.m}:在面板中因各种原因缺失的数据点。
-
模型(数据生成机制): 每个国家
c的观测值满足一个高斯VAR(p) 模型:y_{c,t} = A_{c,1} y_{c,t-1} + ... + A_{c,p} y_{c,t-p} + A_{c,d} d_{c,t} + ε_{c,t}, 其中ε_{c,t} | 过去值 ~ i.i.d. N_N(0, Σ_c)。 关键分层假设:这些国家特定的参数(A_c, Σ_c)并不是孤立估计的,而是由全局参数(A, Σ)通过一个层次先验 “拉动” 到一起。具体来说,在基准模型中:(A_c, Σ_c | A, V, Σ, ν) ~ MNIW_{K×N}(A, V, (N-ν-1)Σ, ν)。 这意味着,在先验均值上,所有国家的数据都服从一个由全局参数(A, Σ)定义的VAR模型(即Y_c = X_c A + E_c,E_c ~ MN(0, I_{T_c}, Σ))。 -
可观测数据 vs. 不可观测量:
- 可观测:每个国家的
Y_c和X_c(部分时间点可能有缺失,用NA标记)。 - 要估计的参数:
A_c,Σ_c,A,Σ,V,ν,m,w,s。 - 潜在/不可观测但需通过假设识别:初始条件
y_{c,0},…,y_{c,-(p-1)}、缺失观测y_{c.m}。它们不是被当作固定值处理,而是作为随机变量与参数一同从模型一致的联合后验分布中采样(Section 4)。这是本文相较于很多面板包(它们或丢弃有缺失的截面,或进行简单插补)的关键区别。
第二步:讲最小内核¶
最简特例:去掉所有超参数估计,退化为Jarociński (2010)的最小模型。
为了理解整篇论文的核心思想,我们不需要理解全部7层先验。只需看一个最小特例:每个国家的VAR保持原样(式1-2),但做了两件事:
1. 对国家特定自回归参数 A_c 施加一个交换性的、以全局 A 为中心的先验。
2. 同时估计全局参数 A 和收缩参数 s。
在这个最简模型(即本文 Section 3.1 的 “Model by Jarociński”)中:
- 似然:p(Y_c | X_c, A_c, Σ_c) ∝ |Σ_c|^{-T_c/2} exp(-1/2 tr[(Y_c - X_c A_c) Σ_c^{-1} (Y_c - X_c A_c)'])。
- 先验:(A_c | Σ_c, A, s) ~ MN_{K×N}(A, sW, Σ_c),其中 W 是固定收缩矩阵(如对角矩阵,对更高滞后赋予更强收缩)。Σ_c 使用无信息先验 p(Σ_c) ∝ |Σ_c|^{-(N+1)/2}(即Jeffreys先验)。
- 第二层先验:p(A) ∝ 1(平坦先验),p(s) ~ IG2(0.001, 0.001)(弱信息)。
在这个特例下,核心思路是什么?
- 国家 c 的数据 Y_c 独立地进入似然。
- 但通过先验,每个国家的 A_c 被拉向一个共同的未知目标 A。
- A 本身不是预设的,而是由所有国家的数据共同估计出来的。
- 收缩强度 s 也不是固定的,而是由数据(跨国家的参数变异性)自适应地决定。
为什么这个最小内核能支撑整篇论文?
因为这篇论文只是在这个最小内核上“加壳”:
- 增加了误差协方差 Σ_c 的分层结构(Σ_c ~ ... 而非Jeffreys)。
- 增加了 A 的先验(从平坦变为以Minnesota或pooled estimator为中心)。
- 增加了对超参数 V, ν, m, w, s 的估计(全部放入Gibbs采样器)。
- 嵌入了缺失值的模型一致采样。
但所有计算和证明都依赖于:在给定二级参数(A, Σ, V等)的条件下,国家特定参数 (A_c, Σ_c) 的条件后验是解析的(共轭的逆Wishart分布,见附录A.1)。正是这个共轭性,使得Gibbs采样器能够逐块更新,从而使整套分层模型可行。
三、这篇论文做了什么(本次重心,务必讲透)¶
-
三句话: ① 开发并开源了一个R包
bpvars,专门用于贝叶斯分层面板VAR模型的预测,原始应用是为国际劳工组织(ILO)的189个国家劳动力市场指标(GDP、失业率、就业率、劳动参与率)进行预测。 ② 核心工具是一个家族的分层次贝叶斯模型,它们共享的核心特征是:国家特定VAR参数拥有以全局参数为中心的先验(由Minnesota或pooled estimator驱动),并包含灵活的多层次分层先验以自适应地确定收缩强度,以及模型一致的贝叶斯缺失值处理。 ③ 主要结论是:包内实现了从模型规范、估计(Gibbs采样器,C++加速)、预测(无条件、条件、受限)到伪样本外递归评估的完整工作流,并通过模拟/真实数据示例展示了其性能,尤其是缺失值处理能力。 -
关键设定与假设:
- 假设1:交换性/中心化先验(关键假设)。所有国家参数
(A_c, Σ_c)围绕一个共同的全局参数(A, Σ)分布。这个假设不要求国家间存在显式交互(如贸易矩阵),只要求它们的“基准动态”是相似的。这是该面板模型向全局收缩的核心机制。相比Jarociński (2010) 仅对A_c使用此假设,本文将其扩展到了整个参数集。 - 假设2:全共轭性。模型被精确设计为
(A_c, Σ_c | ...)的条件先验是矩阵正态逆Wishart,使得条件后验也是MNIW(见附录A.1)。这确保了Gibbs采样器的可行性和效率。这是工程性选择——它限制了先验的灵活性,但换来了计算便利。 - 假设3:缺失为MAR?。 贝叶斯缺失值处理(Section 4)基于模型一致(model-coherent)的联合分布,将缺失值视为额外参数。这等价于假设缺失机制是缺失随机(MAR),因为后验推断只用到了观测值和模型,没有对缺失机制本身建模。作者没有明确声明MAR,但这是贝叶斯随机缺失处理的隐含假设。
-
假设4:前瞻性外生变量。条件预测(Section 5.5)要求未来部分变量的值已知(如IMF的GDP预测),这是预测实践中常见的“给定某事”设定。
-
主要结果(理论型方法,重点在工程和实证表现,而非新定理):
- 基准模型(Section 2):包含完整的7层先验层次结构(式16-23),使几十个超参数都由数据自动决定。
- Jarociński模型(Section 3.1):作为简化版本提供,仅用自回归参数的分层和误差协方差的Jeffreys先验。
- 分组模型(Sections 3.2 & 3.3):允许用户按地理/收入分组,或让算法自己估计分组。这是对“单一全局VAR”的放松——分组允许动态异质性在组间存在。
- 缺失值处理(Section 4):证明了在VAR(1)情况下,可以使用解析闭合形式的矩阵代数将初始条件和缺失数据的联合分布写为多元正态,从而从
p(y_m | y_o, params)中进行Gibbs采样。这是本文独创的工程实现。 - 预测性能对比(Section 7, 伪样本外):作者用模拟数据展示了,相对于分组模型(地理分组、收入分组),基准的国家特定模型(即完全分层模型)在总体预测对数分数(PLS)上表现更优(负值表示相对更差)。例如,对于联合预测(joint),地理分组模型的相对PLS为 -4.06,收入分组为 -4.59。这意味着“所有国家向一个全局参数收缩”的策略,在ILS数据上优于“细分组内收缩”。
-
缺失数据示例(Section 8):使用一个包含34%缺失值的数据集,展示了包的缺失值处理功能。关键观察是:后验估计的缺失值(巴西失业率)与ILO官方插补值接近但不完全相同;缺失值处理会导致预测区间略有扩大(反映了不确定性)。
-
证明路线与技术技巧(理论型必写,要具体): 本文的“证明”主要体现在附录A的Gibbs采样器推导上。它不是一个统计理论论文(没有新定理),而是一个计算统计学论文,其对统计理论的贡献在于算法设计。
-
整体路线(算法推导):
- 写似然:对每个国家
c,似然为p(Y_c | X_c, A_c, Σ_c)。 - 写先验:写出完整的层次结构(式15)。
- 推导条件后验:对参数块进行分组:
- 模块1(国家特定参数):
(A_c, Σ_c | rest)通过矩阵代数得到MNIW分布。核心技巧是利用共轭性将似然和先验相乘。 - 模块2(全局参数):
(A, V | rest)通过巧妙地将所有国家的信息聚合,也推导出一个MNIW分布(“a new result not known in the literature”,作者自称,见附录A.2)。这是本文的一个小技术贡献。 - 模块3(全局误差协方差
Σ):(Σ | rest)是Wishart。 - 模块4(形状参数
ν):其条件后验非标准(不属已知分布族)。作者使用自适应Metropolis-Hastings (Vihola, 2012) 在Gibbs内部采样。 - 模块5(其他超参数
m, w, s):均为标准分布(正态、Gamma、IG2)。 - 模块6(缺失值):
(y_m | rest)来自多元正态的条件分布(式43-45)。
- 写似然:对每个国家
-
关键跳跃点:
- 从单个国家到全局的聚合:在模块2中,作者将
C个国家的(A_c, Σ_c)信息聚合到一个全局MNIW分布中,关键公式是S = ( (1/s) S^{-1} + Σ_{c=1}^C Σ_c^{-1} )^{-1}(式63)。没有它,Gibbs采样器将无法更新(A, V)的后验而不陷入嵌套循环。 - 非共轭参数
ν的处理:这是最大的工程挑战。ν的后验(式70)包含Γ函数和复杂的指数项。作者没有试图去解析它,而是采用了一个精心选择的建议分布(截断正态)和自适应尺度,使得采样在计算上可行且高效。这体现了“只要Gibbs够快,非共轭也能用AMH绕过去”的实用主义哲学。
- 从单个国家到全局的聚合:在模块2中,作者将
-
技术技巧点名:
- 矩阵正态分布与Kronecker乘积(式4脚注):将向量化时间序列的标准正态分布重新参数化为更紧凑的矩阵正态,使得共轭推导变得简洁。
- Wishart分布共轭性:作为逆Wishart的共轭先验,用于误差协方差。
- 自适应Metropolis-Hastings (Vihola, 2012):用于非标准参数
ν的采样。 - OpenMP并行计算(Section 5.7):用于加速伪样本外递归预测,每次迭代独立重新估计模型。
- 截断多元正态采样(Botev, 2016):用于受限预测(将失业率等限制在0-100%之间)。
-
真实例子与应用(有则必讲):
- 数据来源:ILO数据库的189个国家、1991-2024年年度数据(log GDP、失业率、就业率、劳动参与率)。GDP数据来自IMF。缺失数据由ILO统计部“插补”后提供,但论文也提供了一个含34%原始缺失数据的版本(
ilo_dynamic_panel_missing)来专门演示缺失值功能。 - 如何使用:用户用
specify_bvarPANEL$new(ilo_dynamic_panel)加载数据→estimate()进行Gibbs采样(燃烧1000,后验1000)→forecast()得到预测分布→summary()和plot()输出预测结果。包内提供了ilo_exogenous_variables(金融危机、COVID虚拟变量)和ilo_conditional_forecasts(IMF的GDP未来预测)作为外生和条件输入。伪样本外评估使用forecast_poos_recursively()和compute_forecast_performance()完成。 - 得到的结果:论文的实证部分(Section 7)通过伪样本外对比展示了国家特定分层模型相对于分组模型的优势。它还通过巴西的例子(图9)直观展示了缺失值估计结果:后验估计的缺失值(黑线)与ILO官方插补值(蓝线)高度一致,但在某些年份有偏离。这两个例子一起完成了双重目标:验证缺失值处理的有效性,并展示模型选择/对比的工具。
-
例子想说明什么:核心是证明这个包能完成一个现实世界(189国,4变量,30+年,含缺失)的预测任务,并拥有比较模型、处理缺失、执行条件预测的完整功能。这不是一个证明新统计理论优越性的论文,而是一个软件工程和实用性的展示。
-
🔎 结论是否比证明窄: 是的。论文声称“包是第一个专门用于贝叶斯面板VAR的R包”,但这个结论比其在附录中证明/实现的算法要窄。因为:
- 它假设了特定的共轭结构。证明中只推导了在这种先验下的采样器。它不能直接推广到非共轭先验(如任意信息先验)。因此,“贝叶斯面板VAR”这个声称仅限于该特定的分层结构。
- 缺失值处理假设MAR,没有证明在MNAR下的表现。作者在总结中没有讨论缺失机制这一关键假设。
- 论文没有任何关于理论最优性(如minimax rate、效率界、等价性证明)的结果。它与Jarociński (2010) 的理论对比停留在“他的模型是我们模型的特殊情形”这一层面,没有在某种损失函数下证明分层更强。所有性能论证都来自实证预测比较。
- 作者承认了:
ν参数的采样器使用了AMH,并未严格证明该Gibbs-Wi thin-Gibbs混合采样器收敛到目标分布(它很可能收敛,但论文未提供理论保证)。
四、开放问题(点到为止,扎根具体语句)¶
只罗列、不判断可行性、不匹配技能库。扎根于原文。
- 非共轭先验的可扩展性:本文的整个Gibbs采样器依赖于共轭性(MNIW)。能否将
A_c和Σ_c的先验替换为更灵活的结构(如马蹄铁先验、Dirichlet过程混合)以允许更复杂的异质性?这需要开发非共轭的采样器(如HMC或变分贝叶斯),可能显著增加计算成本。扎根语句:整篇附录A都基于MNIW共轭性;任何对p(A_c, Σ_c | ...)的修改都会破坏模块1的解析形式。 - 缺失机制的模型化:论文的缺失处理等价于MAR。能否扩展以允许非随机缺失(MNAR)?例如,当失业率高企(值本身较大)时,更可能是缺失值没被上报(导致选择性缺失)。这需要引入一个额外的缺失指示模型(如Probit模型),并与VAR联合估计。扎根语句:Section 4的定义隐含地假设缺失数据与观测数据共享相同模型,但没有对缺失概率建模。作者未讨论MAR假设的可行性。
- 结构识别与因果推断的桥接:本文只做预测,但VAR模型的结构识别(如通过Cholesky分解或符号约束得到结构冲击)通常用于政策分析。能否在分层面板框架下实现结构识别?这需要调整先验结构(如对
A_c施加符号/零约束)并推导相应的后验采样。扎根语句:作者提到bsvars包与bpvars兼容(Introduction),为结构分析提供了入口,但本文没有做。bsvars的结构冲击后验是通过A_c和Σ_c的分解计算的,在分层后按下,A的“全局结构”是什么含义尚不清楚。 - 伪样本外评估的统计性质:论文使用了递归预测来评估模型。但是,这种评估在面板设定下有多可靠?例如,评估结果可能对国家选择(如排除高GDP国家)或样本分割点敏感。作者没有讨论评估框架的方差或最优样本分割策略。扎根语句:Section 5.7 的
training_sample=20是例示参数;作者没有给出选择该参数的理论或经验依据。
Maintained by 陈星宇 · Homepage · Source on GitHub