原文链接:http:///?p=6391在这篇文章中,我将介绍基于半参数理论的最近开发的改进边际治疗效果估计的方法之一。 边际处理与条件处理效应未经调整和调整后的治疗效果不同的一个重要例子是使用逻辑回归来模拟二元结果。也就是说,治疗效果的边际或未调整比值比不同于以一个或多个基线协变量为条件的治疗效果。这意味着如果调整基线测量,真实治疗效果估计实际上与边际未调整治疗效果不同。事实证明,治疗的条件(调整后)比值比绝对值大于边际(未调整)效应。 以提高的精度估计边际处理效果基本思想是我们可以通过添加增强函数来修改由边际(未调整)处理效果估计器求解的估计方程,该函数利用基线协变量。 这是一个二进制变量,指示受试者被随机分配到哪个治疗组。我们将表示基线协变量的向量。 由于我们假设这里是二元,我们将使用这两个模型的逻辑回归模型。 R中的实现
< - 1000\nz < - 1 *(runif(n)<0.5)\nx < - rnorm(n)\nxb < - -2 + x + z\nprob < - exp(xb)/(1 + exp(xb))\ny < - 1 *(runif(n)< - data.frame(y,x,z)"}"> 首先,让我们拟合简单的未调整模型来估计边际治疗效果,但不使用基线协变量: 未调整< - glm(y~z,data,family = binomial)\nCall:\nglm(formula = y ~ z, family = binomial)\n\nDeviance Residuals: \n Min 1Q Median 3Q Max \n-0.8753 -0.8753 -0.6324 1.5132 1.8482 \n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) -1.5080 0.1199 -12.580 < 2e-16 ***\nz 0.7462 0.1518 4.915 8.86e-07 ***\n---\nSignif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 1133.4 on 999 degrees of freedom\nResidual deviance: 1108.3 on 998 degrees of freedom\nAIC: 1112.3\n\nNumber of Fisher Scoring iterations: 4"}"> 干预对照对照的估计对数比值比为0.746,标准误差为0.152,z统计值为4.915。现在让我们执行标准调整分析,包括逻辑回归的线性预测器: adjusted <- glm(y~z+x, data, family=binomial)\n> summary(adjusted)\n\nCall:\nglm(formula = y ~ z + x, family = binomial)\n\nDeviance Residuals: \n Min 1Q Median 3Q Max \n-2.3303 -0.7392 -0.4792 0.6146 2.5612 \n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) -1.88117 0.14173 -13.273 < 2e-16 ***\nz 0.94074 0.16850 5.583 2.36e-08 ***\nx 1.07543 0.09532 11.282 < 2e-16 ***\n---\nSignif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 1133.37 on 999 degrees of freedom\nResidual deviance: 941.29 on 997 degrees of freedom\nAIC: 947.29\n\nNumber of Fisher Scoring iterations: 5\n"}"> 调整后的条件处理效果估计值为0.941,标准误差为0.169,z统计量为5.583。正如我们预期的那样(平均而言),条件处理效应的幅度大于边际效应。 现在我们将估计边际治疗效果,但利用基线协变量来获得更精确的估计。 接下来,我们必须适应两个工作模型和。为此,我们在两个治疗组中拟合了单独的逻辑回归模型: < - glm(y [z == 0] ~x [z == 0],data,family = binomial)\nq1mod < - glm(y [z == 1] ~x [z == 1],data,family = binomial)"}"> 现在我们需要计算并针对每个受试者 。为此,我们可以使用以下代码: < - function(linpred){\n\tEXP(linpred)/(1 + EXP(linpred))\n}\nq0hat < - expit(cbind(rep(1,n),x)%*%q0mod $ coef)\nq1hat < - expit(cbind(rep(1,n),x)%*%q1mod $ coef)"}"> 最后,我们称之为speff函数: < - (y~1,endpoint =“dichotomous”,data,trt.id =“z”,\n endCtrlPre = q0hat,endTreatPre = q1hat)"}"> 我们首先指定结果变量y,并且不要在等式的右边放置任何变量(尽管稍后会看到变量选择)。 为了获得治疗效果估计,我们只是总结拟合对象:
接下来,我们得到了利用基线协变量的估计边际对数比值比。正如我们希望从理论上看,标准误差更小,p值更显着,置信区间更窄 - 我们通过使用基线协变量获得了精确度/统计效率。 模型选择 |
|