如何通过重复测量计算 ANOVA 的置信区间?

机器算法验证 r 方差分析 置信区间 重复测量
2022-02-28 11:29:36

我使用 R 中的重复测量单变量 ANOVA 制作了一个模型。

> g <- aov(bis ~ x1 + x2 + bg.sol + x1:x2:I(bg.sol * k1) + Error(subject), coded)
> summary.lm(g$Within)
Call:
NULL

Residuals:
     Min       1Q   Median       3Q      Max 
-24.7459  -4.8055  -0.1518   5.1696  17.6015 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
x1                     3.1170     0.8444   3.691 0.000275 ***
x2                    -1.0906     0.1230  -8.864  < 2e-16 ***
I(bg.sol * k1)         2.0522     1.0216   2.009 0.045645 *  
x1:x2:I(bg.sol * k1)  -0.3191     0.1254  -2.545 0.011543 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 7.256 on 246 degrees of freedom
Multiple R-squared: 0.2743, Adjusted R-squared: 0.2654 
F-statistic: 30.99 on 3 and 246 DF,  p-value: < 2.2e-16 

我计算了每个估计的置信限。我认为 SE * 临界值会起作用。x1(连续变量)95%置信限的情况下,

> 0.8444 * qt(0.975, df = 1)
[1] 10.72912

我想知道计算值是否是x1. 估计为x13.1170,限制为 10.72912。加减它包括零值。但是P值显示值小于0.05!

我想知道我哪里出错了!

1个回答

正如评论中所指出的,这里的问题是计算临界值的自由度。

如果您使用 lm() 或 aov() 输出运行 anova(·),那么您确实在该行中列出了一个自由度。但是那个自由度是用于估计方差的。效果的置信区间的适当自由度(即 ANOVA 的 MR 版本的部分斜率)将是整个模型 df(对于该输出,实际上是 246)。