uso de pesos em svyglm vs glm

18

Gostaria de saber como o tratamento de pesos difere entre svyglmeglm

Estou usando o twangpacote em R para criar pontuações de propensão que são usadas como pesos, conforme a seguir (este código vem da twangdocumentação):

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    

Compare isso com:

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  

Portanto, as estimativas dos parâmetros são as mesmas, mas os erros padrão para o tratamento são bem diferentes.

Como o tratamento dos pesos difere entre svyglme glm?

Joe King
fonte

Respostas:

11

Existem muitos tipos diferentes de pesos e eles ficam meio confusos. Você precisa ter muito cuidado ao usar diferentes funções ou softwares que usa os tipos de pesos que pensa estar usando.

A função svyglm usa pesos de pesquisa - estes ponderam a importância de cada caso para torná-los representativos (um para o outro, após o sotaque). Não sei ao certo o que o peso faz na glm () - acho que eles representam a precisão das medidas. (Se você estiver usando a família binomial, eles terão um significado diferente).

Os pesos da pesquisa (em surveyglm) são os pesos que você deseja, para fornecer os erros padrão corretos.

(Também existem pesos de frequência, pesos analíticos e pesos de importância).

Jeremy Miles
fonte
(+1) obrigado. você conhece uma referência acessível para os pesos da pesquisa, além dos documentos para surveyglm)?
Joe King
1
Eu gosto do livro de Lumley: amazon.com/Complex-Surveys-Analysis-Series-Methodology/dp/…
Jeremy Miles
1
Obrigado pela referência., Por acessível eu quis dizer algo disponível online, desculpe. Eu não têm fácil acesso a boas bibliotecas ....
Joe King
Hmmm ... não me lembro de ter encontrado nada, mas vou ver o que posso encontrar.
Jeremy Miles
9

surveycalcula os erros padrão levando em consideração a perda de precisão introduzida pela amostragem de pesos. Os pesos glmsimplesmente ajustam o peso dado aos erros na estimativa dos mínimos quadrados, para que os erros padrão não estejam corretos. Aqui está uma seleção de Lumley (2010):

Em uma análise baseada em modelo, seria necessário especificar a parte aleatória do modelo corretamente para obter erros padrão corretos, mas todas as nossas estimativas de erro padrão são baseadas em design e, portanto, são válidas independentemente do modelo. Vale a pena notar que os erros padrão “sanduíche”, ou “robusto em modelo” ou “consistente em heterocedasticidade” às vezes usados ​​na análise de regressão baseada em modelo são quase idênticos aos erros padrão baseados em design que usaremos; a principal diferença está no manuseio da estratificação.

Portanto, sem estratos no seu design, você provavelmente descobrirá que o uso sandwichobterá estimativas SE idênticas ou quase idênticas.

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

No meu teste, eles não calcularam exatamente ao usar "HC0" ou "HC1", mas estavam muito próximos. svyglmagora está relatando um valor z em vez de t também.

commscho
fonte
2
Se útil a um futuro leitor: coeftesté do pacote de R lmtest.
Swihart