uso dei pesi in svyglm vs glm


18

Vorrei sapere come il trattamento dei pesi differisce tra svyglmeglm

Sto usando il twangpacchetto in R per creare punteggi di propensione che vengono quindi utilizzati come pesi, come segue (questo codice proviene dalla twangdocumentazione):

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    

Confronta questo con:

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  

Quindi le stime dei parametri sono le stesse ma gli errori standard per il trattamento sono abbastanza diversi.

In che modo il trattamento dei pesi differisce tra svyglme glm?

Risposte:


11

Ci sono molti tipi diversi di pesi e diventano confusi. Devi stare molto attento quando stai usando diverse funzioni o software che stai usando il tipo di pesi che pensi di usare.

La funzione svyglm utilizza pesi di indagine - questi pesano l'importanza di ciascun caso per renderli rappresentativi (tra loro, dopo il twang). Non sono sicuro del peso di glm () - penso che rappresentino l'accuratezza delle misure. (Se stai usando la famiglia binomiale, hanno un significato diverso).

I pesi dell'indagine (in surveyglm) sono i pesi desiderati per darti gli errori standard corretti.

(Esistono anche pesi di frequenza, pesi analitici e pesi di importanza).


(+1) grazie. conosci un riferimento accessibile per i pesi dell'indagine, oltre ai documenti per surveyglm)?
Joe King,


1
Grazie per il riferimento., Per accessibile intendevo qualcosa di disponibile online, scusa. Non ho facile accesso a buone biblioteche ....
Joe King,

Hmmm ... Non ricordo di aver trovato nulla, ma vedrò cosa riesco a trovare.
Jeremy Miles,

9

surveycalcola gli errori standard tenendo conto della perdita di precisione introdotta dai pesi di campionamento. I pesi glmregolano semplicemente il peso attribuito agli errori nella stima dei minimi quadrati, quindi gli errori standard non sono corretti. Ecco una selezione da Lumley (2010):

In un'analisi basata sul modello sarebbe necessario specificare correttamente la parte casuale del modello per ottenere errori standard corretti, ma tutte le nostre stime degli errori standard sono basate sul design e quindi valide indipendentemente dal modello. Vale la pena notare che gli errori standard "sandwich", "robusti a livello di modello" o "coerenti con l'eteroschedasticità", talvolta utilizzati nell'analisi di regressione basata su modelli, sono quasi identici agli errori standard basati su progettazione che utilizzeremo; la differenza principale sta nella gestione della stratificazione.

Quindi, senza strati nel tuo design, probabilmente scoprirai che l'utilizzo sandwichti fornirà stime SE identiche o quasi identiche.

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

Nel mio test, non hanno calcolato esattamente quando si utilizzava "HC0" o "HC1", ma erano molto vicini. svyglmsta ora segnalando un valore z anziché un valore t.


2
Se utile per un lettore futuro: coeftestda pacchetto R lmtest.
Swihart,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.