贝叶斯和频率线性回归:不同的结果

机器算法验证 r 回归 贝叶斯 混合模式
2022-03-22 19:30:36

我已经模拟了三个具有不同均值和标准差的正态分布。假设这是三组主题。我想看看正常lm()brm()回归相比如何。模型是Score ~ Group + (+1|Subject). 我没有故意按组添加随机拦截。

set.seed(2)

df = data.frame(Group = as.factor(rep(c("A", "B","C"), each = 120)),
            Subject = rep(paste("subject", seq(1, 9), sep = "_"), 
                          each = 40),
            Score = c(rnorm(120, 5, 2), rnorm(120, 7, 4), rnorm(120, 9, 6)))

事实证明,结果完全不同。B 组和 A 组在 中显着不同lm(),但它们的 95% HDI 通常在输出中包含零brm()(我知道每次模型对后验进行采样时结果都会有所不同,但底线是模型中t valuelm()2.544,而中的 HDIbrm()会让我保持怀疑。

我的问题是:为什么会这样?换句话说,这两个模型如何比较re。他们对异方差数据的处理?

每个模型的输出

频率论者

Linear mixed model fit by REML ['lmerMod']
Formula: Score ~ Group + (1 | Subject)
   Data: df

REML criterion at convergence: 2057.9

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.1237 -0.6125 -0.0159  0.5968  3.8714 

Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept)  0.4598  0.6781  
 Residual             17.7157  4.2090  
Number of obs: 360, groups:  Subject, 9

Fixed effects:
            Estimate Std. Error t value
(Intercept)   5.0640     0.5485   9.232
GroupB        1.9735     0.7757   2.544
GroupC        5.4684     0.7757   7.049

Correlation of Fixed Effects:
       (Intr) GroupB
GroupB -0.707       
GroupC -0.707  0.500

贝叶斯

在这个特定的运行中,HDI 不包括零,但您可以看到它非常接近它(与上面模型中的 t 值不同)。

Family: gaussian(identity) 
Formula: Score ~ Group + (1 | Subject) 
   Data: df (Number of observations: 360) 
Samples: 4 chains, each with iter = 4000; warmup = 2000; thin = 1; 
         total post-warmup samples = 8000
    ICs: LOO = NA; WAIC = NA; R2 = NA

Group-Level Effects: 
~Subject (Number of levels: 9) 
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)     0.84      0.53     0.07     2.06       1457    1

Population-Level Effects: 
          Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
Intercept     5.07      0.67     3.76     6.48       2602    1
GroupB        1.97      0.94     0.01     3.90       2744    1
GroupC        5.44      0.95     3.46     7.27       2851    1

Family Specific Parameters: 
      Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sigma     4.23      0.16     3.92     4.56       6732    1

Samples were drawn using sampling(NUTS). For each parameter, Eff.Sample 
is a crude measure of effective sample size, and Rhat is the potential 
scale reduction factor on split chains (at convergence, Rhat = 1).
2个回答

我认为在这种情况下,常客线性回归结果将是反保守的。我们知道这些结果是错误的(在对 1 类错误控制不充分的意义上),因为模型假设没有得到满足。正确的频率论推断将通过使用三明治标准误差获得。查看sandwich包并lmtest获得解释异方差的“更广泛”的 CI。请参阅我的帖子,了解如何在 R 中执行此操作。如果不确定性和置信区间非常相似,我不会感到惊讶。要处理重复测量,请使用gee.

回归参数和残差标准误差的后验密度反映异方差性。特别是,残差标准误差的后验应该出现三峰,每组一个“峰值”。查看后验密度的密度平滑分布(不包括老化)。这意味着后验密度准确地反映了混合逆伽马分布,并且应该正确更新信念。

我不确定在这种模型错误指定的情况下如何获得近似的常客推理。

所以这里有几个问题。正如上面正确指出的那样,Frequentist 模型中的错误存在计算问题。但是您还有另一个问题,看来您可能错误地解释了贝叶斯区间。区间包含零在频率模型中非常重要,但在贝叶斯模型中并不意味着同样的事情。

频率论假设检验是Pr(data|β=0). 贝叶斯检验不能是,因为它是一个连续变量。因为它是连续统中的一个可数点,所以它的测度为零。相反,需要有一个假设区域,以便您实际查看您显示的间隔在参数估计附近,而不是在零附近。Pr(β=0|data)Pr(β=0)=0Pr(ϵ0ϵ)<.95

让我们假设您看到的区间是这包括零,但也包括它可能是它也可能是让我们假设后验在处比处更密集。这意味着虽然零是一种可能的解决方案,但它的可能性低于(.05,7).04.04.01.010.01

贝叶斯区间并不是说解决方案有 95% 的可能性为零。它表示真实值有 95% 的可能性在区间内。这与Frequentist区间有很大不同。频率主义者区间意味着,如果您要对无限大的总体重复该实验无数次,则创建的至少 95% 的区间将包含参数的真实值。它对当前的数据集一无所知。因此,包含零的频率间隔,因为 null 是零,这意味着您不能拒绝 null,因此应该表现得好像它为零。(使用频率论决策理论而不是频率论推理,这可能在解释上有所不同。)

第二个问题是贝叶斯和频率论工具如何处理假设违规。如果正确指定,频率论方法是事前的最佳方法。也就是说,它们在查看数据之前是最优的。对于您拥有的特定数据集,它们可能是一种糟糕的方法,但平均而言,您无法做得更好。这是因为在给定所有斜率都为零的情况下,它们在样本空间上进行平均。它们以原假设为条件;因此,当出现违规行为时,可能会变得脆弱。有些东西,例如测试可以处理大量偏离,而其他东西则不能。χ2

如果正确指定,贝叶斯方法是事后的最佳方法。他们从特定数据集中最佳地提取信息,而没有说明他们在另一个数据集下的表现如何。它可能具有较差的频率特性。这是因为它们在参数空间上进行平均,但以数据本身而不是模型为条件。您实际上没有执行贝叶斯假设检验。

适当的贝叶斯检验会考虑模型选择。“无影响”假设的贝叶斯等价物,其中不是查看区间是否包含零,而是对所有可能变量的组合运行单独的回归。如果最佳回归排除了变量 B,则变量 B 具有没有影响的既定概率。β1=β2=0

因为贝叶斯方法对参数空间进行平均,所以它对的所有可能值进行平均。这有点像创造一个复合方差。这里的问题与其说是估计量不如说是概率。贝叶斯概率是肯定的概率,不以零为条件。它成为一个解释问题,因为您错误地指定了模型,因此错误地指定了概率陈述的构造。σ2

在异方差的情况下,贝叶斯解决方案是运行两类回归,一类具有同方差性,一类具有异方差性,但您必须在似然函数中指定如何创建异方差性。例如,如果异方差是时间的函数,那么方差必须是时间的函数。使用频率论方法,不关心为什么会出现异方差,只要它存在或不存在。“为什么”不是频率论问题。