我对为什么依赖观察是统计中的一个问题感兴趣。假设您想知道两所学校的平均考试成绩是否存在差异。您在每所学校收集 50 个观察值。这 50 个观察结果来自每所学校的 5 个不同的教室,并且在教室之间存在依赖性。在这种情况下,t 检验的结果将如何受到影响以及它们如何导致不准确的结论?
为什么依赖是一个问题?
t 检验的 p 值是在所有观测值都是独立的假设下计算的。当您处理因变量时,计算概率(例如 p 值)要困难得多,而且在存在相关性的情况下,从数学上看出测试出错的地方并不总是那么容易。然而,我们可以很容易地用模拟来说明这个问题。
例如,假设两所学校各有 5 个教室,每个教室有 10 名学生。在正态性假设下,检验的 p 值应均匀分布在区间上如果所有教室之间的平均考试成绩没有差异。也就是说,如果我们进行大量这样的研究并绘制所有 p 值的直方图,它应该类似于盒形均匀分布。
但是,如果学生的成绩之间存在某种课堂内相关性,则 p 值不再表现出应有的表现。正相关(正如人们在这里所期望的那样)通常会导致 p 值太小,因此当原假设为真时,它会经常被拒绝。可以在下面找到说明这一点的 R 模拟。模拟了两所学校的 1000 项研究,以获得不同的课堂内相关性。相应 t 检验的 p 值显示在图中的直方图中。当没有相关性时,它们是均匀分布的,否则不是。在模拟中,假设教室之间没有平均差异,并且所有教室都具有相同的课堂内相关性。
这种现象的后果是,如果存在课堂内相关性,则 t 检验的I 类错误率将大大降低。例如,如果课堂内相关性为 0.1,则 5% 水平的 t 检验实际上大约在 25% 水平!换句话说,当观测值依赖时,错误拒绝原假设的风险会显着增加。
请注意,直方图之间的轴有些不同。
代码:
library(MASS)
B1<-1000
par(mfrow=c(3,2))
for(correlation in c(0,0.1,0.25,0.5,0.75,0.95))
{
# Create correlation/covariance matrix and mean vector
Sigma<-matrix(correlation,10,10)
diag(Sigma)<-1
mu<-rep(5,10)
# Simulate B1 studies of two schools A and B
p.value<-rep(NA,B1)
for(i in 1:B1)
{
# Generate observations of 50 students from school A
A<-as.vector(mvrnorm(n=5,mu=mu,Sigma=Sigma))
# Generate observations of 50 students from school B
B<-as.vector(mvrnorm(n=5,mu=mu,Sigma=Sigma))
p.value[i]<-t.test(A,B)$p.value
}
# Plot histogram
hist(p.value,main=paste("Within-classroom correlation:",correlation),xlab="p-value",cex.main=2,cex.lab=2,cex.axis=2)
}
问题在于,以这种方式比较两所学校将大学水平的影响与课堂水平的影响混合在一起。混合模型可以让你解开这些。如果您对解开它们不感兴趣,您仍然应该考虑聚类抽样(尽管很多人没有这样做)。
@Nico 上面的评论在这里遇到了一个问题:假设一所学校的一位老师真的很好,而他/她恰好是被选中的老师之一?
但另一个问题是,每个班级的学生在各方面都会比同一所大学的其他学生更相似:不同的学科会根据年龄、性别、经验、学术实力吸引不同类型的学生和弱点等。
您描述的测试没有任何问题,因为您以公平的方式从两所学校抽取样本。当样本依赖于另一个变量时,相关观察就会发挥作用。即,在一所学校中,只有一个班级出现了,而您决定从这一班级中的 50 人中获取结果,并认为这会是可以的。但是在学校的结果取决于一个班级,所以你不能这样做,它会给出一个你无法通过任何统计测试检测到的错误结果......这只是一个错误的实验设计。
但我认为人们通常从不同的角度谈论依赖观察。当您认为可以基于独立性假设(大多数标准公式假设)从样本中得出分布和误差时,而当您的结果相互依赖时,这些规则根本不准确......