dyspersja w summary.glm ()

13

Przeprowadziłem glm.nb przez

glm1<-glm.nb(x~factor(group))

gdzie grupa jest kategorialna, a x jest zmienną metryczną. Kiedy próbuję uzyskać podsumowanie wyników, otrzymuję nieco inne wyniki, w zależności od tego, czy używam summary()lub summary.glm. summary(glm1)daje mi

    ...
Coefficients:
                    Estimate Std. Error z value Pr(>|z|)  
    (Intercept)       0.1044     0.1519   0.687   0.4921  
    factor(gruppe)2   0.1580     0.2117   0.746   0.4555  
    factor(gruppe)3   0.3531     0.2085   1.693   0.0904 .
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

    (Dispersion parameter for Negative Binomial(0.7109) family taken to be 1)

podczas gdy Summary.glm (glm1) daje mi

    ...
Coefficients:
                    Estimate Std. Error t value Pr(>|t|)  
    (Intercept)       0.1044     0.1481   0.705   0.4817  
    factor(gruppe)2   0.1580     0.2065   0.765   0.4447  
    factor(gruppe)3   0.3531     0.2033   1.737   0.0835 .
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

    (Dispersion parameter for Negative Binomial(0.7109) family taken to be 0.9509067)

Rozumiem znaczenie parametru dyspersji, ale nie linii

(Dispersion parameter for Negative Binomial(0.7109) family taken to be 0.9509067).

W podręczniku jest powiedziane, że byłaby to szacunkowa dyspersja, ale wydaje się, że jest to zła ocena, ponieważ 0,95 nie jest bliskie 0,7109, czy też szacowana dyspersja jest czymś innym niż szacowany parametr dyspersji? Chyba muszę ustawić dyspersję w summary.nb(x, dispersion=)czymś, ale nie jestem pewien, czy muszę ustawić dyspersję na 1 (co da taki sam wynik jak summary()lub jeśli powinienem wstawić oszacowanie parametru dyspersji, w tym przypadku prowadzi do summary.nb(glm1, dispersion=0.7109)czegoś innego? A może po prostu używam summary(glm1)?

Renoir Pulitz
źródło
3
Użyj podsumowania (), ponieważ wywołuje odpowiednią metodę S3 dla negbin klasy. Dyspersja musi oczywiście wynosić 1, co szacuje się na theta, która lepiej jest nazywana parametrem kształtu, aby uniknąć pomyłki. Zobacz także stats.stackexchange.com/questions/27773/how-does-glm-nb-work/…
Momo

Odpowiedzi:

13

Po pierwsze, nie powinieneś używać summary.glmna obiekcie klasy "negbin". Jeśli spojrzysz na kod funkcji summary.glm, u góry zobaczysz obliczenia dispersion. Zauważ, że wie summary.glm tylko o modelach, które można dopasować, glmi dlatego wyróżnia rodziny dwumianowe i Poissona do specjalnego traktowania, gdzie zakłada się , że parametr rozproszenia jest równy 1. W przypadku modeli innych niż te jest obliczane na podstawie obiekt modelu, ale należy pamiętać, że jest to oparte na założeniu, że jest to odpowiednie dla rodziny, która nie jest dwumianowa ani Poissona. Dla modelu zamontowane przez Is . Dlatego kiedy używaszϕϕfamilyglm.nb"Negative Binomial(theta)"summary.glmw modelu wyposażonym glm.nbw kod wewnętrzny

if (is.null(dispersion)) 
    dispersion <- if (object$family$family %in% c("poisson", 
        "binomial")) 
        1
    else if (df.r > 0) {
        est.disp <- TRUE
        if (any(object$weights == 0)) 
                warning("observations with zero weight not used for calculating dispersion")
            sum((object$weights * object$residuals^2)[object$weights > 
            0])/df.r
    }

test na "poisson"lub "binomial"kończy się niepowodzeniem, a następnie oblicza gdzie w rzeczywistości przyjmuje się, że domyślnie jest równy 1 dla tej rodziny (zgodnie z definicją .ϕsummary.negbin

Nie ma z tym problemu, po prostu łatwiej jest wywołać poprawną metodę i podać inną wartość dla za pomocą argumentu .ϕdispersion

Po drugie, źle rozumiesz wynik. Kiedy widzisz

Negative Binomial(0.7109)

jak wspomniałem powyżej, liczba podana w nawiasach to , parametr ujemnego rozkładu dwumianowego. Ta wartość jest szacowana podczas montażu. To nie jest , parametr dyspersyjny, a zatem dwie liczby niekoniecznie muszą być równe; to tylko dwie liczby. cpθ^ϕ

Ponieważ obliczona dyspersja (zgodnie z cytowanym powyżej kodem) jest bardzo zbliżona do jednego (~ 0,95), założenie, że użyte dla standardowych błędów nie jest takie złe . Oczywiście możesz po prostu zrobićϕϕ=1summary.negbin

summary(glm1, dispersion = 0.9509)

i uzyskaj dodatkowe dane wyjściowe, które negbindaje ta metoda, a także obliczoną, a nie przyjętą wartość .ϕ

Przywróć Monikę - G. Simpson
źródło
5
+1 Dobre wyjaśnienie. Mam dwa małe komentarze: parametr dyspersji w dwumianowym, Poissonie i ujemnym dwumianowym o znanym parametrze kształtu wynosi 1 z definicji rodziny wykładniczej (to nie jest założenie). Kiedy mówisz, że można oszacować inną dyspersję i dostarczyć ją do metody podsumowującej, musisz być ostrożny, ponieważ zapuściłbyś się na quasi terytorium, co ma szczególne konsekwencje dla prawdopodobieństwa.
Momo
@Momo Well powiedział. Byłem rozdarty między tym, co podałeś, a szczegółami strony pomocy dla odpowiednich funkcji.
Przywróć Monikę - G. Simpson
2

Z Venables i Ripley (2002), Modern Applied Statistics with S : „Theta” definiuje rozkład gamma o kształcie & scale , a zatem oznacza i wariancję . Niech będzie zmienną losową o takim rozkładzie; odpowiedź jest dystrybuowana warunkowo na jako Poissona ze średnią , gdzie jest funkcją predyktorów i współczynników w zależności od wyboru łącza. Marginalnie jego rozkład jest dwumianowy ujemny, z funkcją masy1θ 111θ1 EYEμEμ1θEYEμEμ

f(y)=Γ(θ+y)Γ(θ)y!μyθθ(μ+θ)θ+y

oczekiwanie

EY=μ

i wariancja

VarY=μ+μ2θ

Jak wskazuje @Momo, parametr dyspersji jest zupełnie inną rzeczą, którą pozwolisz zmieniać w celu oszacowania quasi-prawdopodobieństwa. W przypadku ujemnego modelu dwumianowego i (prawdziwego) modelu Poissona jest on słusznie ustalony na wartość jednego.

Scortchi - Przywróć Monikę
źródło