Gostaria de saber como o tratamento de pesos difere entre svyglm
eglm
Estou usando o twang
pacote em R para criar pontuações de propensão que são usadas como pesos, conforme a seguir (este código vem da twang
documentação):
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 isso com:
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
Portanto, as estimativas dos parâmetros são as mesmas, mas os erros padrão para o tratamento são bem diferentes.
Como o tratamento dos pesos difere entre svyglm
e glm
?
surveyglm
)?survey
calcula os erros padrão levando em consideração a perda de precisão introduzida pela amostragem de pesos. Os pesosglm
simplesmente ajustam o peso dado aos erros na estimativa dos mínimos quadrados, para que os erros padrão não estejam corretos. Aqui está uma seleção de Lumley (2010):Portanto, sem estratos no seu design, você provavelmente descobrirá que o uso
sandwich
obterá estimativas SE idênticas ou quase idênticas.No meu teste, eles não calcularam exatamente ao usar "HC0" ou "HC1", mas estavam muito próximos.
svyglm
agora está relatando um valor z em vez de t também.fonte
coeftest
é do pacote de Rlmtest
.