użycie ciężarów w svyglm vs glm

18

Chciałbym wiedzieć, jak różni się sposób traktowania ciężarów między svyglmiglm

Używam twangpakietu w R do tworzenia ocen skłonności, które są następnie używane jako wagi, w następujący sposób (ten kod pochodzi z twangdokumentacji):

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    

Porównaj to z:

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  

Oszacowania parametrów są takie same, ale standardowe błędy dla leczenia są zupełnie inne.

Czym różni się sposób traktowania ciężarów między svyglmi glm?

Joe King
źródło

Odpowiedzi:

11

Istnieje wiele różnych rodzajów ciężarów i są one nieco mylące. Musisz być bardzo ostrożny, gdy używasz różnych funkcji lub oprogramowania, którego używasz obciążeń, o których myślisz, że używasz.

Funkcja svyglm wykorzystuje wagi ankiet - ważą one wagę każdego przypadku, aby były reprezentatywne (dla siebie nawzajem po twang). Nie jestem pewien, jaką wagę ma w glm () - myślę, że reprezentują one dokładność pomiarów. (Jeśli używasz rodziny dwumianowej, mają one inne znaczenie).

Wagi pomiarowe (w surveyglm) to wagi, które chcesz, aby zapewnić prawidłowe błędy standardowe.

(Istnieją również wagi częstotliwości, wagi analityczne i wagi ważności).

Jeremy Miles
źródło
(+1) dziękuję. czy znasz dostępne odniesienie do wag ankiet, inne niż dokumenty dla surveyglm)?
Joe King
1
Podoba mi się książka Lumleya: amazon.com/Complex-Surveys-Analysis-Series-Methodology/dp/…
Jeremy Miles
1
Dzięki za odniesienie. Przez dostępne rozumiałem coś dostępnego online, przepraszam. Nie mam łatwego dostępu do dobrych bibliotek ....
Joe King
Hmmm ... Nie przypominam sobie, żeby coś napotykać, ale zobaczę, co mogę znaleźć.
Jeremy Miles
9

surveyoblicza standardowe błędy z uwzględnieniem utraty precyzji wprowadzonej przez próbki wag. Wagi glmpo prostu dostosowują wagę przypisaną do błędów w oszacowaniu metodą najmniejszych kwadratów, więc standardowe błędy są nieprawidłowe. Oto wybór z Lumley (2010):

W analizie opartej na modelu konieczne byłoby prawidłowe określenie losowej części modelu, aby uzyskać prawidłowe błędy standardowe, ale wszystkie nasze standardowe oszacowania błędów są oparte na projekcie i dlatego są ważne niezależnie od modelu. Warto zauważyć, że standardowe błędy „kanapkowe”, „odporne na model” lub „zgodne z heteroskedastycznością”, czasami stosowane w analizie regresji opartej na modelu, są prawie identyczne ze standardowymi błędami projektowymi, których będziemy używać; główna różnica polega na postępowaniu z rozwarstwieniem.

Więc bez warstw w twoim projekcie prawdopodobnie przekonasz się, że użycie sandwichda ci identyczne lub prawie identyczne oszacowania SE.

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

W moim teście nie obliczyły dokładnie, kiedy używano „HC0” lub „HC1”, ale były bardzo zbliżone. svyglmzgłasza teraz także wartość Z zamiast wartości T.

commscho
źródło
2
Jeśli pomocne dla czytelnika przyszłość coeftestjest z pakietem R lmtest.
swihart