Verwendung von Gewichten in svyglm vs glm

18

Ich würde gerne wissen, wie sich die Behandlung von Gewichten zwischen svyglmund unterscheidetglm

Ich benutze das twangPaket in R, um Neigungsbewertungen zu erstellen, die dann wie folgt als Gewichte verwendet werden (dieser Code stammt aus der twangDokumentation):

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    

Vergleichen Sie dies mit:

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  

Die Parameterschätzungen sind also gleich, aber die Standardfehler für die Behandlung sind sehr unterschiedlich.

Wie unterscheidet sich die Behandlung von Gewichten zwischen svyglmund glm?

Joe King
quelle

Antworten:

11

Es gibt viele verschiedene Arten von Gewichten und sie werden irgendwie verwirrend. Sie müssen ziemlich vorsichtig sein, wenn Sie verschiedene Funktionen oder Software verwenden, die Sie für die Art von Gewichten verwenden, von denen Sie glauben, dass Sie sie verwenden.

Die svyglm-Funktion verwendet Umfragegewichte - diese Gewichte sind wichtig, um sie repräsentativ zu machen (nach dem Twang). Ich bin nicht sicher, was das Gewicht in glm () bewirkt - ich denke, sie repräsentieren die Genauigkeit der Maße. (Wenn Sie die Binomialfamilie verwenden, haben sie eine andere Bedeutung.)

Die Umfragegewichte (in surveyglm) sind die Gewichte, die Sie benötigen, um die richtigen Standardfehler zu erhalten.

(Es gibt auch Häufigkeitsgewichte, analytische Gewichte und Wichtigkeitsgewichte).

Jeremy Miles
quelle
(+1) Danke. Kennen Sie eine zugängliche Referenz für die Umfragegewichte, außer den Dokumenten für surveyglm)?
Joe King
1
Vielen Dank für den Hinweis. Mit barrierefrei meine ich etwas online verfügbares, sorry. Ich habe keinen einfachen Zugang zu guten Bibliotheken ....
Joe King
Hmmm ... Ich erinnere mich nicht, dass ich auf etwas gestoßen bin, aber ich werde sehen, was ich finden kann.
Jeremy Miles
9

surveyBerechnet die Standardfehler unter Berücksichtigung des Genauigkeitsverlusts, der durch Stichprobengewichte verursacht wird. Die Gewichte glmpassen einfach die Gewichtung der Fehler in der Schätzung der kleinsten Quadrate an, sodass die Standardfehler nicht korrekt sind. Hier ist eine Auswahl von Lumley (2010):

Bei einer modellbasierten Analyse müsste der zufällige Teil des Modells korrekt angegeben werden, um korrekte Standardfehler zu erhalten. Alle unsere Standardfehlerschätzungen basieren jedoch auf dem Design und sind daher unabhängig vom Modell gültig. Es ist erwähnenswert, dass die in der modellbasierten Regressionsanalyse manchmal verwendeten Standardfehler "sandwich", "model-robust" oder "heteroskedasticity-konsistent" fast identisch mit den designbasierten Standardfehlern sind, die wir verwenden werden. Der Hauptunterschied liegt im Umgang mit Schichtungen.

Wenn Sie also keine Schichten in Ihrem Design haben, werden Sie wahrscheinlich feststellen, dass sandwichSie mit identischen oder nahezu identischen SE-Schätzungen erhalten.

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

In meinem Test berechneten sie nicht genau, wenn sie "HC0" oder "HC1" verwendeten, waren aber sehr nahe beieinander. svyglmmeldet nun auch einen Z-Wert anstelle von T-Wert.

commscho
quelle
2
Wenn für einen zukünftigen Leser hilfreich: coefteststammt aus dem R-Paket lmtest.
Swihart