Saya ingin tahu bagaimana perlakuan bobot berbeda antara svyglm
danglm
Saya menggunakan twang
paket dalam R untuk membuat skor kecenderungan yang kemudian digunakan sebagai bobot, sebagai berikut (kode ini berasal dari twang
dokumentasi):
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
Bandingkan ini dengan:
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
Jadi estimasi parameternya sama tetapi kesalahan standar untuk perawatan sangat berbeda.
Bagaimana perlakuan bobot berbeda antara svyglm
dan glm
?
surveyglm
)?survey
menghitung kesalahan standar dengan pertimbangan hilangnya presisi yang diperkenalkan oleh bobot sampel. Bobotglm
cukup sesuaikan bobot yang diberikan pada kesalahan dalam estimasi kuadrat terkecil, sehingga kesalahan standar tidak benar. Berikut ini pilihan dari Lumley (2010):Jadi tanpa strata dalam desain Anda, Anda mungkin akan menemukan bahwa menggunakan
sandwich
akan membuat Anda perkiraan SE identik atau hampir identik.Dalam pengujian saya, mereka tidak menghitung dengan tepat ketika menggunakan "HC0" atau "HC1", tetapi sangat dekat.
svyglm
sekarang melaporkan nilai-z bukannya nilai-t juga.sumber
coeftest
adalah dari paket Rlmtest
.