26 votos

uso de ponderaciones en svyglm frente a glm

Me gustaría saber cómo difiere el tratamiento de los pesos entre svyglm y glm

Estoy utilizando el twang en R para crear puntuaciones de propensión que luego se utilizan como ponderaciones, de la siguiente manera (este código procede del paquete 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    

Compara 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  

Así pues, las estimaciones de los parámetros son las mismas, pero los errores estándar del tratamiento son bastante diferentes.

¿En qué difiere el tratamiento de los pesos entre svyglm y glm ?

16voto

Brandon Grossutti Puntos 140

Hay muchos tipos diferentes de pesas y son un poco confusas. Tienes que tener mucho cuidado cuando utilizas diferentes funciones o software de que estás utilizando el tipo de pesas que crees que estás utilizando.

La función svyglm utiliza pesos de encuesta - éstos ponderan la importancia de cada caso para hacerlos representativos (entre sí, después de twang). No estoy seguro de lo que hacen los pesos en glm() - creo que representan la precisión de las medidas. (Si está utilizando la familia binomial, tienen un significado diferente).

Las ponderaciones de la encuesta (en surveyglm) son las ponderaciones que usted desea, para obtener los errores estándar correctos.

(También existen ponderaciones de frecuencia, ponderaciones analíticas y ponderaciones de importancia).

14voto

Babil Puntos 219

survey calcula los errores estándar teniendo en cuenta la pérdida de precisión introducida por las ponderaciones muestrales. Las ponderaciones en glm simplemente ajustan el peso dado a los errores en la estimación por mínimos cuadrados, por lo que los errores estándar no son correctos. He aquí una selección de Lumley (2010):

En un análisis basado en modelos sería necesario especificar correctamente la parte aleatoria del modelo para obtener errores estándar correctos, pero todas nuestras estimaciones de errores estándar están basadas en el diseño y, por tanto, son válidas independientemente del modelo. Merece la pena señalar que los errores estándar "sandwich", o "robustos al modelo", o "consistentes con la heteroscedasticidad" que se utilizan a veces 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 utilizaremos; la principal diferencia radica en el tratamiento de la estratificación.

Así que sin estratos en su diseño, es probable que encuentre que el uso de sandwich obtendrá estimaciones de SE idénticas o casi idénticas.

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

En mi prueba, no se calcularon exactamente al utilizar "HC0" o "HC1", pero se aproximaron mucho. svyglm ahora también informa de un valor z en lugar de un valor t.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X