为什么混合模型中的固定效应 p 值不直观?

机器算法验证 混合模式 p 值
2022-04-02 05:14:32

我在计算简单嵌套设计实验中固定效应的显着性时遇到问题。假设我们有一个简单的数据集:

individual  class   ind_mean    value   replicate
1   A   -0.37651119 -1.23495005 1
1   A   -0.37651119 1.24107015  2
1   A   -0.37651119 -0.41977074 3
1   A   -0.37651119 -1.09239410 4
2   A   0.01519211  0.15858308  1
2   A   0.01519211  0.69513257  2
2   A   0.01519211  0.05390856  3
2   A   0.01519211  -0.84685576 4
3   A   -0.19937009 0.49203770  1
3   A   -0.19937009 0.06218100  2
3   A   -0.19937009 -1.12546256 3
3   A   -0.19937009 -0.22623652 4
4   A   0.62853718  1.63792462  1
4   A   0.62853718  1.26212834  2
4   A   0.62853718  -0.52029892 3
4   A   0.62853718  0.13439466  4
5   B   2.38620939  2.67706019  1
5   B   2.38620939  1.71849546  2
5   B   2.38620939  2.31713740  3
5   B   2.38620939  2.83214451  4
6   B   0.91834030  -0.13221319 1
6   B   0.91834030  2.41841628  2
6   B   0.91834030  0.25367274  3
6   B   0.91834030  1.13348538  4
7   B   2.12694664  2.22003887  1
7   B   2.12694664  1.31492118  2
7   B   2.12694664  2.53495794  3
7   B   2.12694664  2.43786856  4
8   B   1.52867659  0.65959322  1
8   B   1.52867659  1.23188018  2
8   B   1.52867659  1.58976692  3
8   B   1.52867659  2.63346604  4

现在,如果我将 lme 模型拟合到这些数据中,我会得到

> summary(lme(value ~ class, .~1|individual, data = d))
...
Random effects:
 Formula: . ~ 1 | individual
        (Intercept)  Residual
StdDev:   0.3643563 0.8430941

Fixed effects: value ~ class 
               Value Std.Error DF  t-value p-value
(Intercept) 0.016962 0.2785935 24 0.060884  0.9520
classB      1.723081 0.3939908  6 4.373405  0.0047
...

一切似乎都很好。ind_mean但是,如果我将模型拟合到列上而不是原始值具有每个人的平均值,我会得到完全相同的固定参数估计值、统计数据和 p 值。

> summary(lme(ind_mean ~ class, .~1|individual, data = d))
...
Random effects:
 Formula: . ~ 1 | individual
        (Intercept)     Residual
StdDev:   0.5571871 1.854137e-16

Fixed effects: ind_mean ~ class 
               Value Std.Error DF  t-value p-value
(Intercept) 0.016962 0.2785935 24 0.060884  0.9520
classB      1.723081 0.3939908  6 4.373405  0.0047
...

实际上,这个 p 值与普通的 t 检验 p 值一致,我将在其中对个体的平均值进行比较。这当然是有道理的,因为在这种情况下的额外观察不会添加任何信息。然而,在原始模型的情况下,额外的观察确实增加了信息。事实上,数据是在没有任何个人影响的情况下生成的,所以正确的统计数据应该是。

> summary(lm(value ~ class, data = d))
...
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.01696    0.22597   0.075    0.941    
classB       1.72308    0.31957   5.392  7.7e-06 ***
...

我的统计直觉表明,第一个模型的 p 值应该介于第三个和第二个模型之间,与第二个模型不完全相同。我的直觉错了吗?我是否以错误的方式使用该方法?有没有一些方法可以给我更合适的 p 值?

1个回答

您的模型对应于

Yijk=β0+βi+uij+eijk

使用误差的属性,对应的均值模型如下:eijk

Y¯ij=β0+βi+uij+e¯ij

其中的方差现在是,其中在您的数据集中(即“平衡”)。现在这表明在给定方差参数的情况下,单个均值对于 beta 是足够的。这就是为什么它们不重要。任何具有非唯一预测变量的可分分布都会发生这种情况。e¯ijσe2nijnij=4

请注意,方差分量为,即的方差。0.55=σu2+σe24uij+e¯ij