Me gustaría saber cómo difiere el tratamiento de los pesos entre svyglm
yglm
Estoy usando el twang
paquete en R para crear puntajes de propensión que luego se usan como pesos, de la siguiente manera (este código proviene de la twang
documentación):
library(twang)
library(survey)
set.seed(1)
data(lalonde)
ps.lalonde <- ps(treat ~ age + educ + black + hispan + nodegree + married + re74 + re75,
data = lalonde)
lalonde$w <- get.weights(ps.lalonde, stop.method="es.mean")
design.ps <- svydesign(ids=~1, weights=~w, data=lalonde)
glm1 <- svyglm(re78 ~ treat, design=design.ps)
summary(glm1)
...
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6685.2 374.4 17.853 <2e-16 ***
treat -432.4 753.0 -0.574 0.566
Compare esto con:
glm11 <- glm(re78 ~ treat, weights=w , data=lalonde)
summary(glm11)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6685.2 362.5 18.441 <2e-16 ***
treat -432.4 586.1 -0.738 0.461
Por lo tanto, las estimaciones de los parámetros son las mismas, pero los errores estándar para el tratamiento son bastante diferentes.
¿Cómo difiere el tratamiento de pesas entre svyglm
y glm
?
surveyglm
)?survey
calcula los errores estándar teniendo en cuenta la pérdida de precisión introducida por los pesos de muestreo. Lasglm
ponderaciones simplemente ajustan la ponderación dada a los errores en la estimación de mínimos cuadrados, por lo que los errores estándar no son correctos. Aquí hay una selección de Lumley (2010):Por lo tanto, sin estratos en su diseño, probablemente encontrará que el uso
sandwich
le dará estimaciones de SE idénticas o casi idénticas.En mi prueba, no calcularon exactamente cuando usaban "HC0" o "HC1", pero estaban muy cerca.
svyglm
ahora también informa un valor z en lugar de un valor t.fuente
coeftest
es de paquete Rlmtest
.