Logistic回归分析使用Logit模型研究二元因变量和一组独立(解释)变量之间的关联。然而,在匹配研究中,无条件的logistic regression是偏见的(高估了OR)。条件logistic回归是由Norman Breslow, Nicholas Day, Katherine Halvorsen, Ross L. Prentice和C. Sabai在1978年提出,是logistic回归的延伸,允许人们考虑到分层和匹配,通常用于具有特定条件或属性的病例受试者与没有该条件的n个对照受试者相匹配。一般来说,可能有1至m个病例与1至n个对照组相匹配。然而,最常见的设计是1:1匹配,其次是1:n匹配,其中n从1到5不等。 它的主要应用领域是观察性研究,特别是流行病学。比较是在每个层内,没有估计截距,因此没有预测的概率,所以没有ROC或Hosmer-Lemeshow测试。
CLR有以下特点:
1. CLR提供与至少在一个阶层内变化的自变量(通常称为协变量)相关的回归系数的估计值。同样,CLR也不提供与独立变量相关的任何回归系数的估计值,这些独立变量在各阶层内不发生变化。
2. 随着研究样本量的增加,阶层(群组)的数量也以同样的速度增加。
3. 模型中出现了分层指示变量,但没有显示逐层输出。
4. 当匹配组有不同数量的病例和对照组时,可以使用CLR。
在R中可以用‘Survival’包中的clogit()函数,及Epi包中的clogistic()函数实现:
Using survival:clogit()
library(survival)
resp <- levels(logan$occupation)
n <- nrow(logan)
indx <- rep(1:n, length(resp))
logan2 <- data.frame(logan[indx,],
id = indx,
tocc = factor(rep(resp, each=n)))
logan2$case <- (logan2$occupation == logan2$tocc)
logan2 <- logan2[order(logan2$id),]
## Show dataset for first three strata
logan2[logan2$id %in% c(1,2,3), ]
occupation focc education race id tocc case
1 sales professional 14 non-black 1 farm FALSE
1.1 sales professional 14 non-black 1 operatives FALSE
1.2 sales professional 14 non-black 1 craftsmen FALSE
1.3 sales professional 14 non-black 1 sales TRUE
1.4 sales professional 14 non-black 1 professional FALSE
2 craftsmen sales 13 non-black 2 farm FALSE
2.1 craftsmen sales 13 non-black 2 operatives FALSE
2.2 craftsmen sales 13 non-black 2 craftsmen TRUE
2.3 craftsmen sales 13 non-black 2 sales FALSE
2.4 craftsmen sales 13 non-black 2 professional FALSE
3 sales professional 16 non-black 3 farm FALSE
3.1 sales professional 16 non-black 3 operatives FALSE
3.2 sales professional 16 non-black 3 craftsmen FALSE
3.3 sales professional 16 non-black 3 sales TRUE
3.4 sales professional 16 non-black 3 professional FALSE
id为每个组别,匹配比例为1:3
## clogit实现
res.clogit <- clogit(case ~ tocc + tocc:education + strata(id), logan2)
summ.clogit <- summary(res.clogit)
summ.clogit
Call:
coxph(formula = Surv(rep(1, 4190L), case) ~ tocc + tocc:education +
strata(id), data = logan2, method = "exact")
n= 4190, number of events= 838
coef exp(coef) se(coef) z Pr(>|z|)
toccfarm -1.896463 0.150099 1.380782 -1.37 0.1696
toccoperatives 1.166750 3.211539 0.565646 2.06 0.0391 *
toccprofessional -8.100549 0.000303 0.698724 -11.59 < 2e-16 ***
toccsales -5.029230 0.006544 0.770086 -6.53 6.5e-11 ***
tocccraftsmen:education -0.332284 0.717283 0.056868 -5.84 5.1e-09 ***
toccfarm:education -0.370286 0.690537 0.116410 -3.18 0.0015 **
toccoperatives:education -0.422219 0.655591 0.058433 -7.23 5.0e-13 ***
toccprofessional:education 0.278247 1.320812 0.051021 5.45 4.9e-08 ***
toccsales:education NA NA 0.000000 NA NA
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
toccfarm 0.150099 6.662 0.0100243 2.24750
toccoperatives 3.211539 0.311 1.0598246 9.73178
toccprofessional 0
条件逻辑回归在匹配研究中的应用与对比分析

条件逻辑回归(CLR)用于处理匹配研究中的偏见问题,如病例-对照研究。它考虑了分层和匹配,避免高估比值比(OR)。在R中,可以通过'survival'包的clogit()函数实现。文章通过实例展示了CLR与非条件逻辑回归(不考虑匹配)的差异,强调在匹配研究中应使用CLR以获得无偏估计。
最低0.47元/天 解锁文章
1338

被折叠的 条评论
为什么被折叠?



