penggunaan bobot dalam svyglm vs glm

18

Saya ingin tahu bagaimana perlakuan bobot berbeda antara svyglmdanglm

Saya menggunakan twangpaket dalam R untuk membuat skor kecenderungan yang kemudian digunakan sebagai bobot, sebagai berikut (kode ini berasal dari twangdokumentasi):

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 svyglmdan glm?

Joe King
sumber

Jawaban:

11

Ada banyak jenis beban yang berbeda dan mereka agak membingungkan. Anda harus sangat berhati-hati ketika Anda menggunakan berbagai fungsi atau perangkat lunak yang Anda gunakan dengan jenis bobot yang Anda pikir Anda gunakan.

Fungsi svyglm menggunakan bobot survei - bobot ini pentingnya setiap kasus untuk membuatnya representatif (satu sama lain, setelah dentingan). Saya tidak yakin apa yang dilakukan berat badan di glm () - Saya pikir mereka mewakili keakuratan ukuran. (Jika Anda menggunakan keluarga binomial, mereka memiliki arti yang berbeda).

Bobot survei (dalam surveyglm) adalah bobot yang Anda inginkan, untuk memberi Anda kesalahan standar yang benar.

(Ada juga bobot frekuensi, bobot analitik, dan bobot penting).

Jeremy Miles
sumber
(+1) terima kasih. apakah Anda tahu referensi yang dapat diakses untuk bobot survei, selain dari dokumen untuk surveyglm)?
Joe King
1
Terima kasih untuk rujukannya., Dengan dapat diakses, saya berarti sesuatu tersedia secara online, maaf. Saya tidak memiliki akses mudah ke perpustakaan yang bagus ....
Joe King
Hmmm ... Saya tidak ingat menemukan apa pun, tapi saya akan melihat apa yang bisa saya temukan.
Jeremy Miles
9

surveymenghitung kesalahan standar dengan pertimbangan hilangnya presisi yang diperkenalkan oleh bobot sampel. Bobot glmcukup sesuaikan bobot yang diberikan pada kesalahan dalam estimasi kuadrat terkecil, sehingga kesalahan standar tidak benar. Berikut ini pilihan dari Lumley (2010):

Dalam analisis berbasis model akan diperlukan untuk menentukan bagian acak dari model dengan benar untuk mendapatkan kesalahan standar yang benar, tetapi semua perkiraan kesalahan standar kami adalah berbasis desain dan karenanya valid terlepas dari model. Perlu dicatat bahwa kesalahan standar "sandwich", atau "model-robust", atau "heteroskedasticity-konsisten" kadang-kadang digunakan dalam analisis regresi berbasis model hampir identik dengan kesalahan standar berbasis desain yang akan kita gunakan; perbedaan utama adalah dalam penanganan stratifikasi.

Jadi tanpa strata dalam desain Anda, Anda mungkin akan menemukan bahwa menggunakan sandwichakan membuat Anda perkiraan SE identik atau hampir identik.

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

Dalam pengujian saya, mereka tidak menghitung dengan tepat ketika menggunakan "HC0" atau "HC1", tetapi sangat dekat. svyglmsekarang melaporkan nilai-z bukannya nilai-t juga.

commscho
sumber
2
Jika membantu untuk pembaca masa depan: coeftestadalah dari paket R lmtest.
swihart