阅读统计分析的方法和结果,特别是在流行病学中,我经常听到关于调整或控制模型的内容。
您如何向非统计学家解释这样做的目的?在控制了某些变量后,你如何解释你的结果?
Stata 或 R 中的小型演练,或指向在线的指针,将是真正的宝石。
阅读统计分析的方法和结果,特别是在流行病学中,我经常听到关于调整或控制模型的内容。
您如何向非统计学家解释这样做的目的?在控制了某些变量后,你如何解释你的结果?
Stata 或 R 中的小型演练,或指向在线的指针,将是真正的宝石。
举个例子最容易解释:
Imagine 研究发现,观看世界杯决赛的人在比赛期间或随后的 24 小时内比未观看的人更容易心脏病发作。政府应该禁止电视转播足球吗?但男性比女性更喜欢看足球,男性也比女性更容易心脏病发作。因此,看足球和心脏病发作之间的关联可能是由第三个因素来解释的,比如影响两者的性别。(社会学家会在这里区分性别,一种与看足球有关的文化结构,和性, 一个与心脏病发病率相关的生物学类别,但两者显然非常相关,所以为了简单起见,我将忽略这种区别。)
统计学家,尤其是流行病学家,称这样的第三个因素为混杂因素,这种现象令人困惑。解决这个问题的最明显方法是分别查看足球观看与男性和女性心脏病发作之间的关系,或者用行话,按性别分层。如果我们发现两性之间的关联(如果仍然存在的话)相似,那么我们可以选择将两性关联的两个估计值结合起来。然后,对观看足球和心脏病发病率之间关联的估计结果被称为针对性别进行了调整或控制。
我们可能还希望以同样的方式控制其他因素。年龄是另一个明显的因素(事实上,流行病学家根据年龄和性别对几乎所有关联进行分层或调整/控制)。社会经济阶层可能是另一个。其他人可能会变得更棘手,例如我们是否应该在观看比赛时调整啤酒消耗量?也许是的,如果我们对单独观看比赛的压力影响感兴趣的话;但也许不会,如果我们正在考虑禁止转播世界杯足球赛,那也会减少啤酒消费。给定变量是否是混杂因素取决于我们希望解决的问题,这可能需要非常仔细的思考,并且会变得非常棘手甚至有争议。
显然,我们可能希望调整/控制几个因素,其中一些可能在几个类别中测量(例如社会阶层),而另一些可能是连续的(例如年龄)。我们可以通过分成(年龄)组来处理连续的,从而将它们变成分类的。假设我们有 2 个性别、5 个社会阶层和 7 个年龄组。我们现在可以在 2×5×7 = 70 层中查看看足球和心脏病发作之间的关联。但是如果我们的研究规模很小,所以其中一些阶层的人很少,我们就会遇到这种方法的问题。在实践中,我们可能希望针对十几个或更多变量进行调整。回归分析提供了一种调整/控制变量的替代方法,当变量很多时特别有用具有多个因变量,有时称为多变量回归分析。(根据结果变量的类型,有不同类型的回归模型:最小二乘回归、逻辑回归、比例风险(Cox)回归......)。在观察性研究中,与实验相反,我们几乎总是希望针对许多潜在的混杂因素进行调整,因此在实践中,混杂因素的调整/控制通常通过回归分析来完成,尽管也有其他选择,例如标准化、加权、倾向分数匹配...
Onestop 解释得很好,我将仅举一个简单的 R 示例,其中包含虚构的数据。假设 x 是体重,y 是身高,我们想知道男性和女性之间是否存在差异:
set.seed(69)
x <- rep(1:10,2)
y <- c(jitter(1:10, factor=4), (jitter(1:10, factor=4)+2))
sex <- rep(c("f", "m"), each=10)
df1 <- data.frame(x,y,sex)
with(df1, plot(y~x, col=c(1,2)[sex]))
lm1 <- lm(y~sex, data=df1)
lm2 <- lm(y~sex+x, data=df1)
anova(lm1); anova(lm2)
您可以看到,如果不控制体重(在 anova(lm1) 中),两性之间的差异很小,但是当将体重作为协变量包含在内时(在 lm2 中控制),差异会变得更加明显。
#In case you want to add the fitted lines to the plot
coefs2 <- coef(lm2)
abline(coefs2[1], coefs2[3], col=1)
abline(coefs2[1]+coefs2[2], coefs2[3], col=2)