svyglm vs glm'de ağırlık kullanımı


18

Ağırlıkların tedavi arasında nasıl farklılık gösterdiğini biliyorum istiyorum svyglmveglm

twangAşağıdaki gibi ağırlık olarak kullanılan eğilim puanları oluşturmak için R paketi kullanıyorum (bu kod twangbelgelerden geliyor ):

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    

Bunu şununla karşılaştır:

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  

Bu nedenle parametre tahminleri aynıdır, ancak tedavi için standart hatalar oldukça farklıdır.

Ağırlıkların tedavi arasındaki farkı nedir svyglmve glm?

Yanıtlar:


11

Birçok farklı ağırlık var ve kafa karıştırıcı oluyorlar. Kullandığınızı düşündüğünüz ağırlık türlerini kullandığınız farklı işlevleri veya yazılımları kullanırken oldukça dikkatli olmalısınız.

Svyglm fonksiyonu anket ağırlıklarını kullanır - bunlar her bir vakanın onları temsili hale getirmek için önemini (twang'dan sonra). Hangi ağırlığın glm () cinsinden yapıldığından emin değilim - bence önlemlerin doğruluğunu temsil ediyorlar. (Binom ailesini kullanıyorsanız, farklı anlamları vardır).

Anket ağırlıkları (surveyglm cinsinden) size doğru standart hataları vermek için istediğiniz ağırlıklardır.

(Frekans ağırlıkları, analitik ağırlıklar ve önem ağırlıkları da vardır).


(+1) teşekkür ederim. anket belgeleri için dokümanlar dışında erişilebilir bir referans biliyor musunuz surveyglm?
Joe King


1
Referans için teşekkürler., Erişilebilir olarak ben çevrimiçi mevcut bir şey demek, üzgünüm. İyi kütüphanelere kolay erişimim yok ....
Joe King

Hmmm ... Hiçbir şeyle karşılaştığımı hatırlamıyorum, ama ne bulabileceğimi göreceğim.
Jeremy Miles

9

surveystandart hataları örnekleme ağırlıklarının getirdiği hassasiyet kaybını dikkate alarak hesaplar. Ağırlıklar glm, en küçük kareler tahminindeki hatalara verilen ağırlığı basitçe ayarlar, böylece standart hatalar doğru değildir. İşte Lumley'den (2010) bir seçim:

Model tabanlı bir analizde, doğru standart hataları elde etmek için modelin rastgele kısmını doğru bir şekilde belirtmek gerekir, ancak tüm standart hata tahminlerimiz tasarım tabanlıdır ve modele bakılmaksızın geçerlidir. Model tabanlı regresyon analizinde bazen kullanılan “sandviç” veya “model sağlam” veya “heteroskedastisite tutarlı” standart hataların, kullanacağımız tasarıma dayalı standart hatalarla hemen hemen aynı olduğunu belirtmek gerekir; temel fark tabakalaşmanın ele alınmasındadır.

Dolayısıyla, tasarımınızda katmanlar olmadan, kullanmanın sandwichsize özdeş veya neredeyse aynı SE tahminlerini elde edeceğini göreceksiniz.

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

Testimde, "HC0" veya "HC1" kullanırken tam olarak hesaplamadılar, ama çok yakındılar. svyglmşimdi de t değeri yerine bir z değeri bildiriyor.


2
Gelecekteki bir okuyucu için faydalıysa: coeftestR paketindendir lmtest.
swihart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.