为什么分类 lm() 中的置信区间不是在组级别计算的?

机器算法验证 r 置信区间 分类数据 流明
2022-04-17 13:38:43

这可能很容易,但我找不到一个直截了当的答案。

可重现的例子

y1<-c(rnorm(5,10,5),rnorm(5,1,0.1),rnorm(5,1,0.1))
x1<-c(rep("a",5),rep("b",5), rep("c",5) )
set.seed(12)
datap<-data.frame(y1,x1)
mod1<-lm(y1 ~ x1, data = datap)
summary(mod1)

plot(y1~x1 ,data=datap)

da <- as.data.frame(summary(emmeans(mod1,spec="x1")))

在此处输入图像描述

我希望组“b”和“c”的置信区间远小于组“a”,但它们的大小都相同。为什么?是否可以表示更“现实”的差异?

对不起这个愚蠢的问题。

1个回答

lm函数在相当标准的假设下进行推理工作,即误差项具有恒定方差。对于您的数据,这似乎是一个糟糕的假设,但lm不知道这一点,因此它只是将组视为具有相等的方差并计算误差项方差,认为每个组都相同。

加权最小二乘法是为每组获得不同方差的一种方法。