использование весов в svyglm vs glm


18

Я хотел бы знать, как обработка веса отличается между svyglmиglm

Я использую twangпакет в R для создания оценок склонности, которые затем используются в качестве весов, как показано ниже (этот код взят из twangдокументации):

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    

Сравните это с:

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  

Таким образом, оценки параметров одинаковы, но стандартные ошибки для лечения совершенно разные.

Как лечение весов отличается между svyglmи glm?

Ответы:


11

Есть много разных видов веса, и они становятся немного запутанными. Вы должны быть очень осторожны, когда вы используете различные функции или программное обеспечение, которое вы используете вес, который вы думаете, вы используете.

Функция svyglm использует весовые коэффициенты опроса - они учитывают важность каждого случая, чтобы сделать их репрезентативными (друг для друга, после скручивания). Я не уверен, что вес делает в glm () - я думаю, что они представляют точность измерений. (Если вы используете биномиальное семейство, они имеют разное значение).

Веса опроса (в surveyglm) - это веса, которые вы хотите, чтобы дать вам правильные стандартные ошибки.

(Существуют также веса частот, аналитические веса и веса важности).


(+1) спасибо. Знаете ли вы доступный справочник для весов обследования, кроме документов для surveyglm)?
Джо Кинг,


1
Спасибо за ссылку. Под доступным я имел ввиду что-то доступное онлайн, извините. У меня нет свободного доступа к хорошим библиотекам ....
Джо Кинг,

Хммм ... я не припоминаю, что сталкивался с чем-либо, но я посмотрю, что смогу найти.
Джереми Майлз

9

surveyвычисляет стандартные ошибки с учетом потери точности, вносимой весами выборки. Веса glmпросто корректируют вес, данный ошибкам в оценке наименьших квадратов, поэтому стандартные ошибки не верны. Вот выбор из Lumley (2010):

При анализе на основе модели необходимо было бы правильно указать случайную часть модели, чтобы получить правильные стандартные ошибки, но все наши стандартные оценки ошибок основаны на дизайне и поэтому действительны независимо от модели. Стоит отметить, что стандартные ошибки типа «сэндвич», или «устойчивые к моделям», или «согласованные с гетероскедастичностью», иногда используемые в регрессионном анализе на основе моделей, практически идентичны стандартным ошибкам на основе дизайна, которые мы будем использовать; Основное отличие заключается в обработке стратификации.

Таким образом, без страт в вашем дизайне, вы, вероятно, обнаружите, что использование sandwichдаст вам идентичные или почти идентичные оценки SE.

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

В моем тесте они точно не вычислялись при использовании «HC0» или «HC1», но были очень близки. svyglmтеперь также сообщает z-значение вместо t-значения.


2
Если полезно для читателя будущего: coeftestот R пакета lmtest.
Свихарт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.