uso de pesas en svyglm vs glm

18

Me gustaría saber cómo difiere el tratamiento de los pesos entre svyglmyglm

Estoy usando el twangpaquete en R para crear puntajes de propensión que luego se usan como pesos, de la siguiente manera (este código proviene de la twangdocumentació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 svyglmy glm?

Joe King
fuente

Respuestas:

11

Hay muchos tipos diferentes de pesos y se vuelven algo confusos. Debe tener mucho cuidado cuando usa diferentes funciones o software que usa el tipo de pesos que cree que está usando.

La función svyglm utiliza ponderaciones de encuestas: estas ponderan la importancia de cada caso para hacerlas representativas (entre sí, después del twang). No estoy seguro de qué peso hace en glm (): creo que representan la precisión de las medidas. (Si está utilizando la familia binomial, tienen un significado diferente).

Los pesos de la encuesta (en surveyglm) son los pesos que desea, para darle los errores estándar correctos.

(También hay pesos de frecuencia, pesos analíticos y pesos de importancia).

Jeremy Miles
fuente
(+1) gracias. ¿conoce una referencia accesible para los pesos de la encuesta, aparte de los documentos para surveyglm)?
Joe King el
1
Me gusta el libro de Lumley: amazon.com/Complex-Surveys-Analysis-Series-Methodology/dp/…
Jeremy Miles
1
Gracias por la referencia. Por accesible quería decir algo disponible en línea, lo siento. No tengo fácil acceso a buenas bibliotecas ...
Joe King
Hmmm ... no recuerdo haber encontrado nada, pero veré qué puedo encontrar.
Jeremy Miles
9

surveycalcula los errores estándar teniendo en cuenta la pérdida de precisión introducida por los pesos de muestreo. Las glmponderaciones 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):

En un análisis basado en el modelo, sería necesario especificar la parte aleatoria del modelo correctamente para obtener los errores estándar correctos, pero todas nuestras estimaciones de error estándar están basadas en el diseño y, por lo tanto, son válidas independientemente del modelo. Vale la pena señalar que los errores estándar "sandwich" o "robusto al modelo" o "coherente a la heterocedasticidad" que a veces se usan en el análisis de regresión basado en el modelo son casi idénticos a los errores estándar basados ​​en el diseño que usaremos; La principal diferencia radica en el manejo de la estratificación.

Por lo tanto, sin estratos en su diseño, probablemente encontrará que el uso sandwichle dará estimaciones de SE idénticas o casi idénticas.

library(sandwich)
coefs <- vcovHC(glm11, type="HC0")
lmtest::coeftest(glm11,coefs)

En mi prueba, no calcularon exactamente cuando usaban "HC0" o "HC1", pero estaban muy cerca. svyglmahora también informa un valor z en lugar de un valor t.

commscho
fuente
2
Si útiles a un futuro lector: coeftestes de paquete R lmtest.
swihart