教育装备采购网
第七届图书馆 校体购1

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

教育装备采购网 2023-10-09 14:27 围观3638次

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  当您可以借用多种模型的信息时,为什么只选择一种模型呢?新的 BMA 套件执行贝叶斯模型平均,以解释分析中的模型不确定性。不确定线性回归模型中应包含哪些预测变量?使用 bmaregress 找出哪些预测因素很重要。执行模型选择、推理和预测。使用许多后估计命令来探索有影响力的模型、模型复杂性、模型拟合和预测性能、对模型和预测变量重要性假设的敏感性分析等等。

  简介

  传统上,我们选择一个模型并根据该模型进行推理和预测。我们的结果通常没有考虑选择模型的不确定性,因此可能过于乐观。如果我们选择的模型与真实的数据生成模型(DGM)有很大不同,它们甚至可能是不正确的。在某些应用中,我们可能有关于 DGM 的强有力的理论或经验证据。在其他应用中,通常具有复杂和不稳定的性质,例如经济学、心理学和流行病学中的应用,

  模型平均不是仅依赖一种模型,而是根据观察到的数据对多个合理模型的结果进行平均。在 BMA 中,模型的“合理性”由后验模型概率 (PMP) 来描述,该概率是使用基本贝叶斯原理(贝叶斯定理)确定的,并普遍应用于所有数据分析。

  在估计模型参数和预测新观测值时,BMA 可用于解释模型不确定性,以避免得出过于乐观的结论。它在具有多个合理模型的应用中特别有用,在这些应用中没有明确的理由选择特定模型而不是其他模型。但即使终目标是选择单一模型,您也会发现 BMA 是有益的。它提供了一种原则性的方法来识别所考虑的模型类别中的重要模型和预测变量。它的框架允许您了解不同预测变量之间的相互关系,即它们一起、单独或独立出现在模型中的倾向。它可用于评估终结果对不同模型和预测变量的重要性的各种假设的敏感性。它提供了对数分数意义上的最佳预测。它可用于评估终结果对不同模型和预测变量的重要性的各种假设的敏感性。它提供了对数分数意义上的最佳预测。它可用于评估终结果对不同模型和预测变量的重要性的各种假设的敏感性。它提供了对数分数意义上的最佳预测。

  BMA 套件

  在回归设置中,模型不确定性相当于模型中应包含哪些预测变量的不确定性。我们可以使用bmaregress来解释线性回归中预测变量的选择。它要么在可行的情况下使用枚举选项详尽地探索模型空间,要么使用带有采样的马尔可夫链蒙特卡罗 (MCMC) 模型组合 (MC3)算法选项。它报告访问模型的各种摘要,包括预测变量和模型参数的后验分布。它允许您指定要从模型中一起包含或排除的预测变量组以及包含在所有模型中的预测变量组。它为 mprior()选项中的模型和 gprior() 中的 参数提供各种先验分布,g 参数控制回归系数向零收缩。选项。它还支持因子变量和时间序列运算符,并提供了多种在估计过程中使用 heredity() 选项处理交互的方法。

  有许多受支持的后估计功能,其中还包括一些标准贝叶斯后估计功能。

命令描述
bmacoefsample回归系数的后验样本
bmagraph pmp模型概率图
bmagraph msize模型尺寸分布图
bmagraph varmap变量包含图
bmagraph coefdensity系数后验密度图
bmastats models后验模型和变量包含摘要
bmastats msize型号尺寸总结
bmastats pip预测变量的后验包含概率 (PIP)
bmastats jointness预测变量的联合度量
bmastats lps对数预测分数 (LPS)
bmapredictBMA预测
bayesgraph贝叶斯图形摘要和收敛诊断
bayesstats summary模型参数及其函数的贝叶斯汇总统计
bayesstats ess贝叶斯有效样本量和相关统计数据
bayesstats ppvalues贝叶斯预测p值
bayespredict贝叶斯预测

  BMA 案例解析

  下面,我们将使用toy dataset介绍一些BMA功能。该数据集包含n=200个观测值,p=10个正交预测因子,结果y生成为

  y=0.5+1.2×x2+5×x10+ϵ

  其中,是标准正态误差项

  . webuse bmaintro(Simulated data for BMA example). summarize

Variable
Obs        Mean    Std. dev.       Min        Max
y
200    .9944997    4.925052    -13.332   13.06587
x1
200   -.0187403    .9908957  -3.217909   2.606215
x2
200   -.0159491    1.098724  -2.999594   2.566395
x3
200     .080607    1.007036  -3.016552   3.020441
x4
200    .0324701    1.004683  -2.410378   2.391406
x5
200   -.0821737    .9866885  -2.543018   2.133524
x6
200    .0232265    1.006167  -2.567606   3.840835
x7
200   -.1121034    .9450883  -3.213471   1.885638
x8
200   -.0668903    .9713769  -2.871328   2.808912
x9
200   -.1629013    .9550258  -2.647837   2.472586
x10
200     .083902    .8905923  -2.660675   2.275681

  模型枚举

  我们使用 bmaregress来拟合 y在 x1 到 x10 上的 BMA 线性回归。

. bmaregress y x1-x10Enumerating models ...Computing model probabilities ...Bayesian model averaging                            No. of obs         =    200Linear regression                                   No. of predictors  =     10Model enumeration                                               Groups =     10Always =      0Priors:                                             No. of models      =  1,024Models: Beta-binomial(1, 1)                           For CPMP >= .9 =      9Cons.: Noninformative                            Mean model size    =  2.479Coef.: Zellner's gg: Benchmark, g = 200                        Shrinkage, g/(1+g) = 0.9950sigma2: Noninformative                            Mean sigma2        =  1.272y    Mean   Std. dev.                          Group        PIP    x2    1.198105   .0733478                               2          1    x10    5.08343   .0900953                              10          1    x3    -.0352493   .0773309                               3     .21123    x9    .004321   .0265725                               9    .051516    x1    .0033937   .0232163                               1    .046909    x4    -.0020407   .0188504                               4    .039267    x5    .0005972   .0152443                               5    .033015    x9    -.0005639   .0153214                               8    .032742    x7    -8.23e-06    .015497                               7    .032386    x6    -.0003648   .0143983                               6    .032361    Always    _cons    .5907923   .0804774                               0          1    Note: Coefficient posterior means and std. dev. estimated from 1,024 models.Note: Default priors are used for models and parameter g.

  通过 10 个预测因子和默认固定(基准)g-prior, bmaregress 使用模型枚举并探索所有2^10=1,024可能的模型。默认模型先验是 β二项式,形状参数为 1,在模型大小上是均匀的。先验地,我们的 BMA 模型假设回归系数几乎没有收缩到零,因为 g/ (1+g) = 0.9950接近于1。

  bmaregress 将 x2x10确定为非常重要的预测因子 - 它们的后验包含概率 (PIP) 基本上为 1。它们的回归系数的后验均值估计分别为 1.2(四舍五入)和 5.1,非常接近 1.2 和 1.2 的真实值5。所有其他预测变量的 PIP 都低得多,并且系数估计值接近于零。我们的 BMA 调查结果与真正的 DGM 一致。 

  让我们存储当前的估计结果以供以后使用。与其他贝叶斯命令一样,我们必须先保存模拟结果,然后才能使用 估计存储来存储估计结果。

. bmaregress, saving(bmareg)note: file bmareg.dta saved.. estimates store bmareg

  可靠区间

  默认情况下, bmaregress 不报告可信区间 (CrIs),因为它需要对模型参数的后验样本进行潜在耗时的模拟。但我们可以在估计后计算它们。

  我们首先使用 bmacoefsample 从模型参数的后验分布(包括回归系数)生成 MCMC 样本。然后,我们使用现有的 bayesstats summary 命令来计算生成的 MCMC 样本的后验摘要。

  . bmacoefsample, rseed(18)

  Simulation (10000): ....5000....10000 done

  .

  bayesstats summary

  Posterior summary statistics                      MCMC sample size =    10,000



Equal-tailed


Mean   Std. dev.     MCSE     Median  [95% cred. interval]
y

x1
.0031927   .0234241   .000234          0          0   .0605767
x2
1.197746   .0726358   .000735   1.197211   1.053622   1.341076
x3
-.0361581   .0780037    .00078          0  -.2604694          0
x4
-.0021015    .018556   .000186          0  -.0306376          0
x5
.0004701   .0147757   .000148          0          0          0
x6
-.0003859   .0140439   .000142          0          0          0
x7
-.0003311   .0166303   .000166          0          0          0
x8
-.0005519   .0145717    .00015          0          0          0
x9
.0046535   .0273899   .000274          0          0    .096085
x10
5.08357   .0907759   .000927   5.083466    4.90354   5.262716
_cons
.5901334   .0811697   .000801   .5905113   .4302853   .7505722
sigma2
1.272579   .1300217     .0013   1.262612   1.043772   1.555978
g
200          0         0        200        200        200

  x2系数的 95% CrI为 [1.05, 1.34], x10系数的 95% CrI为 [4.9, 5.26],这与我们的 DGM 一致。

  有影响力的模型

  BMA 系数估计值是 1,024 个模型的平均值。研究哪些模型具有影响力非常重要。我们可以使用 bmastats models来探索 PMPs。

  . bmastats modelsModel summary         Number of models:Visited = 1,024Reported =     5



Analytical PMP     Model size
Rank

1
.6292              2
2
.1444              3
3
.0258              3
4
.0246              3
5
.01996              3

  Variable-inclusion summary



Rank      Rank      Rank      Rank      Rank




1         2         3         4         5


x2
x         x         x         x         x


x10
x         x         x         x         x


x3
x


x9
x


x1
x


x4
x


  Legend: x - estimated

  毫无疑问,同时包含 x2 和 x10的模型具有最高的 PMP,约为 63%。事实上,前两个模型对应的累积 PMP 约为 77%:

  . bmastats models, cumulative(0.75)Computing model probabilities ...Model summary           Number of models:Visited = 1,024Reported =     2



Analytical CPMP     Model size
Rank

1
.6292              2
2
.7736              3

  Variable-inclusion summary



Rank      Rank




1         2


x2
x         x


x10
x         x


x3
x


  Legend:

  x - estimated

  我们可以使用 bmagraph pmp 来绘制累积 PMP。

  . bmagraph pmp, cumulative

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  该命令默认绘制前 100 个模型,但 如果您想查看更多模型, 可以指定 top() 选项。

  重要预测因素

  我们可以通过使用 bmagraph varmap 生成变量包含图来直观地探索预测变量的重要性。

  . bmagraph varmapComputing model probabilities ...

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  x2 和 x10 均包含在 PMP 排名的所有前 100 名模型中。它们的系数在所有模型中均为正值。

  模型大小分布

  我们可以通过使用 bmastats msize 和 bmagraph msize 探索先验和后验模型大小分布来探索 BMA 模型的复杂性。

. Model-size summaryNumber of models = 1,024Model size:Minimum =  0Maximum = 10
. bmagraph msize

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  先验模型大小分布在模型大小上是均匀的。后验模型大小分布向左倾斜,众数约为 2。先验平均模型大小为 5,后验平均模型大小为 2.48。因此,根据观察到的数据,与我们的先验假设相比,BMA 倾向于平均具有大约两个预测变量的较小模型。

  系数后验分布

  我们可以使用bmagraph coefdensity来绘制回归系数的后验分布。

  . bmagraph coefdensity {x2} {x3}, combine

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  这些分布是对应于预测变量的不包含概率的零点质量和以包含为条件的连续密度的混合。对于x2的系数,不包含的概率可以忽略不计,因此其后验分布本质上是一个以 1.2 为中心的连续且相当对称的密度。对于x3的系数 ,除了条件连续密度之外,在零处还有一条红色垂直线,对应于大约 1-.2 = 0.8 的后验不包含概率。

  BMA 预测

  bmapredict 产生各种 BMA 预测。例如,让我们计算后验预测平均值。

  . bmapredict pmean, meannote: computing analytical posterior predictive means.

  我们还可以计算预测 CrIs 来估计我们预测的不确定性。(许多传统模型选择方法无法实现这一点。)请注意,这些预测性 CrIs 还包含模型不确定性。为了计算预测 CrIs,我们必须首先保存后验 MCMC 模型参数样本。

  . bmacoefsample, saving(bmacoef)note: saving existing MCMC simulation results without resampling; specifyoption simulateto force resampling in this case.note: file bmacoef.dtasaved.. bmapredict cri_l cri_u, cri rseed(18)note: computing credible intervals using simulation.Computing predictions ...

  我们总结预测结果:

  . summarize y pmean cri*

Variable
Obs        Mean    Std. dev.       Min        Max


y
200    .9944997    4.925052    -13.332   13.06587


pmean
200    .9944997    4.783067  -13.37242   12.31697


cri_l
200    -1.24788    4.787499  -15.66658   10.03054


cri_u
200    3.227426    4.779761  -11.06823   14.58301


  报告的预测平均值观察平均值以及 95% 预测 CrI 界限的下限和上限相对于观察到的结果 看起来是合理的。

  信息模型先验

  BMA 的优势之一是能够整合有关模型和预测变量的先验信息。这使我们能够研究结果对模型和预测变量重要性的各种假设的敏感性。假设我们有可靠的信息,除了x2x10之外的所有预测变量与结果相关的可能性较小。例如,我们可以为这些预测变量指定一个具有低先验包含概率的二项式先验模型。

  为了稍后比较 BMA 模型的样本外性能,我们将样本随机分为两部分,并使用第一个子样本拟合 BMA 模型。我们还保存了这个信息更丰富的 BMA 模型的结果。

  . splitsample, generate(sample) nsplit(2) rseed(18). bmaregress y x1-x10 if sample == 1, mprior(binomial x2 x10 0.5 x1 x3-x9 0.05)

  saving(bmareg_inf)

  Enumerating models ...Computing model probabilities ...Bayesian model averaging                          No. of obs         =    100Linear regression                                 No. of predictors  =     10Model enumeration                                             Groups =     10Always =      0Priors:                                           No. of models      =  1,024Models: Binomial, IP varies                         For CPMP >= .9 =      1Cons.: Noninformative                          Mean model size    =  2.072Coef.: Zellner's gg: Benchmark, g = 100                      Shrinkage, g/(1+g) = 0.9901sigma2: Noninformative                          Mean sigma2        =  1.268

y
Mean   Std. dev.                          Group        PIP

x2
1.168763   .1031096                               2          1

x10
4.920726    .124615                              10          1

x1
.0019244   .0204242                               1    .013449

x5
-.0018262   .0210557                               5    .011973

x3
-.0017381   .0205733                               3    .011557

x4
-.0015444   .0193858                               4    .010709

Always



_cons
.5637673    .113255                               0          1

  Note: Coefficient posterior means and std. dev. estimated from 1,024 models.Note: Default prior is used for parameter g.Note: 4 predictors with PIP less than .01 not shown.file bmareg_inf.dtasaved.. estimates store bmareg_inf

  该模型先验的效果是所有不重要预测变量的 PIP 现在小于 2%。

  请注意,当我们选择一个模型时,我们本质上是在用一个非常强的先验拟合 BMA 模型,即所有选定的预测变量都必须以 1 的概率包含在内。例如,我们可以强制 bmaregress 包含模型中的所有 变量

  . bmaregress y (x1-x10, always) if sample == 1, saving(bmareg_all)Enumerating models ...Computing model probabilities ...Bayesian model averaging                           No. of obs         =    100Linear regression                                  No. of predictors  =     10Model enumeration                                              Groups =      0Always =     10Priors:                                            No. of models      =      1Models: Beta-binomial(1, 1)                          For CPMP >= .9 =      1Cons.: Noninformative                           Mean model size    = 10.000Coef.: Zellner's gg: Benchmark, g = 100                       Shrinkage, g/(1+g) = 0.9901sigma2: Noninformative                           Mean sigma2        =  1.192

y
Mean   Std. dev.                          Group        PIP


Always




x1
.1294521    .105395                               0          1


x2
1.166679   .1129949                               0          1


x3
-.1433074   .1271903                               0          1


x4
-.1032189   .1223152                               0          1


x5
-.0819008   .1261309                               0          1


x6
.0696633   .1057512                               0          1


x7
.0222949   .1215404                               0          1


x8
-.0252311   .1124352                               0          1


x9
.0587412   .1166921                               0          1


x10
4.949992   .1276795                               0          1


_cons
.6006153   .1127032                               0          1


  Note: Coefficient posterior means and std. dev. estimated from 1 model.Note: Default priors are used for models and parameter g.file bmareg_all.dtasaved.. estimates store bmareg_all

  使用 LPS 进行预测性能

  为了比较所考虑的 BMA 模型,我们使用第一个子样本重新拟合默认的 BMA 模型并存储估计结果。

  . qui bmaregress y x1-x10 if sample == 1, saving(bmareg, replace). estimates store bmareg

  我们可以通过使用 bmastats lps 计算样本外观察的对数预测得分 (LPS) 来 比较 BMA 模型的样本外预测性能。

  . bmastats lps bmareg bmareg_inf bmareg_all if sample == 2, compactLog predictive-score (LPS)Number of observations = 100

LPS
Mean    Minimum    Maximum


bmareg
1.562967   1.039682   6.778834


bmareg_inf
1.562238   1.037576   6.883794


bmareg_all
1.576231   1.032793   6.084414


  Notes: Using analytical PMPs.Result bmareg_infhas the smallest mean LPS.

  信息更丰富的 bmareg_inf 模型的平均 LPS 稍小,但所有模型的 LPS 摘要非常相似。

  清理

  我们在分析过程中生成了多个数据集。我们不再需要它们,所以我们最后删除它们。但您可能决定保留它们,特别是当它们对应于可能耗时的终分析时。

  . erase bmareg.dta. erase bmacoef.dta. erase bmareg_inf.dta. erase bmareg_all.dta

【Stata18 新功能】线性回归的贝叶斯模型平均 (BMA)

  北京友万信息科技有限公司作为 Stata 软件在中国的授权经销商及合作伙伴,拥有强大的售后服务团队,聚合国内一线Stata行业专家为客户提供优质的技术支持服务。已为国内数十所高等院校及科研院所完成了Stata软件采购计划,用户覆盖经济、管理、生物、历史、法学、劳动、人口、地理、环境、教育和心理学等各个学科门类。依托Stata 原厂及自身经验丰富的技术团队资源,从市场策略、销售模式和宣传力度上全面推广,得到了StataCorp LCC原厂的全面认可,并与国内重点高校实验室建立一对一的定点服务计划,树立了Stata软件在中国用户中的良好品牌形象。

来源:北京友万信息科技有限公司 责任编辑:逯红栋 我要投稿
校体购终极页

版权与免责声明:

① 凡本网注明"来源:教育装备采购网"的所有作品,版权均属于教育装备采购网,未经本网授权不得转载、摘编或利用其它方式使用。已获本网授权的作品,应在授权范围内使用,并注明"来源:教育装备采购网"。违者本网将追究相关法律责任。

② 本网凡注明"来源:XXX(非本网)"的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,且不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。

③ 如涉及作品内容、版权等问题,请在作品发表之日起两周内与本网联系,否则视为放弃相关权利。

校体购产品