【问题标题】:How to report with APA style a Bayesian Linear (Mixed) Models using rstanarm?如何使用 rstanarm 以 APA 样式报告贝叶斯线性(混合)模型?
【发布时间】:2017-06-22 08:14:11
【问题描述】:

我目前正在努力按照 APA-6 的建议报告rstanarm::stan_lmer() 的输出。

首先,我将在频率论方法中拟合一个混合模型,然后尝试使用贝叶斯框架来做同样的事情。

这是获取数据的可重现代码:

library(tidyverse)
library(neuropsychology)
library(rstanarm)
library(lmerTest)

df <- neuropsychology::personality %>% 
  select(Study_Level, Sex, Negative_Affect) %>% 
  mutate(Study_Level=as.factor(Study_Level),
         Negative_Affect=scale(Negative_Affect)) # I understood that scaling variables is important

现在,让我们以“传统”方式拟合线性混合模型,以研究水平(受教育年限)作为随机因素来测试性别(男性/女性)对负面影响(负面情绪)的影响。

fit <- lmer(Negative_Affect ~ Sex + (1|Study_Level), df)
summary(fit)

输出如下:

Linear mixed model fit by REML t-tests use Satterthwaite approximations to degrees of
  freedom [lmerMod]
Formula: Negative_Affect ~ Sex + (1 | Study_Level)
   Data: df

REML criterion at convergence: 3709

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-2.58199 -0.72973  0.02254  0.68668  2.92841 

Random effects:
 Groups      Name        Variance Std.Dev.
 Study_Level (Intercept) 0.04096  0.2024  
 Residual                0.94555  0.9724  
Number of obs: 1327, groups:  Study_Level, 8

Fixed effects:
              Estimate Std. Error         df t value Pr(>|t|)    
(Intercept)    0.01564    0.08908    4.70000   0.176    0.868    
SexM          -0.46667    0.06607 1321.20000  -7.064 2.62e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
     (Intr)
SexM -0.149

要报告它,我会说“我们拟合了一个线性混合模型,其中负面影响作为结果变量,性别作为预测变量,研究水平作为随机效应输入。在这个模型中,男性水平导致显着下降负面影响 (beta = -0.47, t(1321)=-7.06, p

对吗?

然后,让我们尝试使用rstanarm 将模型拟合到贝叶斯框架中:

fitB <- stan_lmer(Negative_Affect ~ Sex + (1|Study_Level),
                  data=df,
                  prior=normal(location=0, scale=1), 
                  prior_intercept=normal(location=0, scale=1),
                  prior_PD=F)
print(fitB, digits=2)

这会返回:

stan_lmer
 family:  gaussian [identity]
 formula: Negative_Affect ~ Sex + (1 | Study_Level)
------

Estimates:
            Median MAD_SD
(Intercept)  0.02   0.10 
SexM        -0.47   0.07 
sigma        0.97   0.02 

Error terms:
 Groups      Name        Std.Dev.
 Study_Level (Intercept) 0.278   
 Residual                0.973   
Num. levels: Study_Level 8 

Sample avg. posterior predictive 
distribution of y (X = xbar):
         Median MAD_SD
mean_PPD 0.00   0.04  

------
For info on the priors used see help('prior_summary.stanreg').

我认为median是系数后验分布的中位数,mad_sd相当于标准差。这些参数接近常客模型的 beta 和标准误差,这是令人放心的。但是,我不知道如何将输出形式化并用文字表达。

此外,如果我对模型进行总结(summary(fitB, probs=c(.025, .975), digits=2)),我会得到后验分布的其他特征:

...
Estimates:
                                             mean     sd       2.5%     97.5% 
(Intercept)                                    0.02     0.11    -0.19     0.23
SexM                                          -0.47     0.07    -0.59    -0.34
...

像下面这样的好吗?

“我们在贝叶斯框架内拟合了一个线性混合模型,其中负面影响作为结果变量,性别作为预测变量,研究水平作为随机效应输入。系数和截距的先验设置为正常(平均值 = 0, sd=1). 在该模型中,与男性水平相关的系数的后验分布特征表明负面影响减少(平均值 = -0.47,sd = 0.11,95% CI[-0.59,-0.34]) .

感谢您的帮助。

【问题讨论】:

    标签: r bayesian mixed-models stan rstan


    【解决方案1】:

    以下是心理学期刊可能接受或不接受的个人意见。

    要报告它,我会说“我们拟合了一个线性混合模型,其中负面影响作为结果变量,性别作为预测变量,研究水平作为随机效应输入。在这个模型中,男性水平导致显着下降负面影响 (beta = -0.47, t(1321)=-7.06, p

    对吗?

    从常客的角度来看,这被认为是正确的。

    从贝叶斯角度看的关键概念是(当然取决于模型)

    1. 真实效果小于后验中值的概率为 0.5,真实效果大于后验中值的概率为 0.5。频率论者倾向于将后中位数视为数值最优值。
    2. posterior_interval 函数在中位数附近产生可信区间,默认概率为 0.9(尽管较小的数字会产生更准确的边界估计值)。因此,您可以合理地说,真实效果介于这些界限之间的概率为 0.9。常客倾向于将置信区间视为可信区间。
    3. as.data.frame 函数可让您访问原始抽签,因此mean(as.data.frame(fitB)$male &gt; 0) 得出同一研究中男性和女性结果的预期差异为正的概率。频率论者倾向于将这些概率视为 p 值。

    对于贝叶斯方法,我会说

    我们使用马尔可夫链蒙特卡罗拟合线性模型,将负面影响作为结果变量,性别作为预测变量,并且允许截距因研究水平而异。

    然后用上面三个概念谈谈估计。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2022-12-15
      • 2013-09-09
      • 2019-02-21
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多