Я хотел бы знать, как обработка веса отличается между svyglm
иglm
Я использую twang
пакет в R для создания оценок склонности, которые затем используются в качестве весов, как показано ниже (этот код взят из twang
документации):
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
Сравните это с:
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
Таким образом, оценки параметров одинаковы, но стандартные ошибки для лечения совершенно разные.
Как лечение весов отличается между svyglm
и glm
?
surveyglm
)?survey
вычисляет стандартные ошибки с учетом потери точности, вносимой весами выборки. Весаglm
просто корректируют вес, данный ошибкам в оценке наименьших квадратов, поэтому стандартные ошибки не верны. Вот выбор из Lumley (2010):Таким образом, без страт в вашем дизайне, вы, вероятно, обнаружите, что использование
sandwich
даст вам идентичные или почти идентичные оценки SE.В моем тесте они точно не вычислялись при использовании «HC0» или «HC1», но были очень близки.
svyglm
теперь также сообщает z-значение вместо t-значения.источник
coeftest
от R пакетаlmtest
.