Odkryłeś intymną, ale ogólną właściwość GLM pasującą według maksymalnego prawdopodobieństwa . Wynik zanika, gdy weźmie się pod uwagę najprostszy ze wszystkich przypadków: dopasowanie jednego parametru do jednej obserwacji!
Odpowiedź w jednym zdaniu : Jeśli zależy nam tylko na oddzielnych środkach do rozłączania podzbiorów naszej próbki, wówczas GLM zawsze da dla każdego podzestawu , więc rzeczywista struktura błędu i parametryzacja gęstości stają się oba nie ma znaczenia dla (punktowego) oszacowania!μ^j=y¯jj
Trochę więcej : dopasowanie ortogonalnych czynników kategorialnych według maksymalnego prawdopodobieństwa jest równoważne dopasowaniu osobnych środków do rozłącznych podzbiorów naszej próbki, więc wyjaśnia to, dlaczego Poisson i ujemne dwumianowe GLM dają te same oszacowania parametrów. Rzeczywiście, to samo dzieje się bez względu na to, czy stosujemy regresję Poissona, negbina, gaussa, odwrotną regresję gaussowską czy gamma (patrz poniżej). W przypadku Poissona i Negbina domyślną funkcją łącza jest link , ale jest to czerwony śledź; chociaż daje to takie same surowe oszacowania parametrów, zobaczymy poniżej, że ta właściwość naprawdę nie ma nic wspólnego z funkcją link.log
Gdy interesuje nas parametryzacja o większej strukturze lub zależna od ciągłych predyktorów, wówczas przyjęta struktura błędu staje się istotna ze względu na relację średniej wariancji rozkładu, ponieważ odnosi się do parametrów i funkcji nieliniowej zastosowanej do modelowania warunkowego znaczy.
GLM i rodziny dyspersji wykładniczej: kurs zderzeniowy
Wykładniczy rodziny dyspersja w naturalnej postaci jest taki, że gęstość dziennika ma postać
logf(y;θ,ν)=θy−b(θ)ν+a(y,ν).
Tutaj jest parametrem naturalnym, a jest parametrem dyspersji . Gdyby były znane, byłaby to tylko standardowa jednoparametrowa rodzina wykładnicza. Wszystkie GLM rozważane poniżej zakładają model błędu z tej rodziny.θνν
Rozważ próbkę pojedynczej obserwacji z tej rodziny. Jeśli dopasujemy według maksymalnego prawdopodobieństwa, otrzymamy, że , niezależnie od wartości . Rozciąga się to na przypadek próbki iid, ponieważ prawdopodobieństwa dziennika są dodawane, dając .θy=b′(θ^)νy¯=b′(θ^)
Ale wiemy również, ze względu na ładną regularność gęstości logów w funkcji , że
Tak więc w rzeczywistości .θ
∂∂θElogf(Y;θ,ν)=E∂∂θlogf(Y;θ,ν)=0.
b′(θ)=EY=μ
Ponieważ szacunki maksymalnego prawdopodobieństwa są niezmienne podczas transformacji, oznacza to, że
dla tej rodziny gęstości.y¯=μ^
Teraz w GLM modelujemy jako gdzie jest funkcją łącza. Ale jeśli jest wektorem wszystkich zer, z wyjątkiem pojedynczego 1 w pozycji , to . Prawdopodobieństwo GLM jest następnie rozkładane na czynniki według i postępujemy jak wyżej. Dokładnie tak jest w przypadku czynników ortogonalnych.μiμi=g−1(xTiβ)gxijμi=g(βj)βj
Co takiego różni się w ciągłych predyktorach?
Gdy predyktory są ciągłe lub mają charakter kategoryczny, ale nie można ich sprowadzić do postaci ortogonalnej, wówczas prawdopodobieństwo nie uwzględnia już poszczególnych terminów z oddzielną średnią w zależności od osobnego parametru. W tym momencie, struktura i funkcja błędu Link nie wchodzą w grę.
Jeśli przejdziemy przez (nużącą) algebrę, równania prawdopodobieństwa staną się
dla wszystkich gdzie . Tutaj parametry i wchodzą domyślnie poprzez relację łącza i wariancję .j = 1 , … , p λ i = x T i β β ν μ i = g ( λ i ) = g ( x T i β ) σ 2 i
∑i=1n(yi−μi)xijσ2i∂μi∂λi=0,
j=1,…,pλi=xTiββνμi=g(λi)=g(xTiβ)σ2i
W ten sposób funkcja łącza i przyjęty model błędu stają się istotne dla oszacowania.
Przykład: model błędu (prawie) nie ma znaczenia
W poniższym przykładzie generujemy ujemne losowe dane dwumianowe w zależności od trzech czynników kategorialnych. Każda obserwacja pochodzi z jednej kategorii i zastosowano ten sam parametr dyspersji ( ).k=6
Następnie dopasowujemy się do tych danych przy użyciu pięciu różnych GLM, każdy z linkiem : ( a ) dwumian ujemny, ( b ) Poisson, ( c ) gaussowski, ( d ) odwrotny gaussowski i ( e ) gamma GLM. Wszystkie są przykładami wykładniczych rodzin dyspersyjnych.log
Z tabeli wynika, że oszacowania parametrów są identyczne , nawet jeśli niektóre z tych GLM dotyczą danych dyskretnych, a inne ciągłe, a niektóre są danymi nieujemnymi, a inne nie.
negbin poisson gaussian invgauss gamma
XX1 4.234107 4.234107 4.234107 4.234107 4.234107
XX2 4.790820 4.790820 4.790820 4.790820 4.790820
XX3 4.841033 4.841033 4.841033 4.841033 4.841033
Zastrzeżenie w nagłówku wynika z faktu, że procedura dopasowania zakończy się niepowodzeniem, jeśli obserwacje nie mieszczą się w zakresie określonej gęstości. Na przykład, gdybyśmy mieli liczb losowo generowanych w powyższych danych, wówczas Gamma GLM nie zbiegałby się, ponieważ Gamma GLM wymagają ściśle dodatnich danych.0
Przykład: Funkcja link (prawie) nie ma znaczenia
Korzystając z tych samych danych, powtarzamy procedurę dopasowywania danych do Poissona GLM z trzema różnymi funkcjami łącza: ( a ) link, ( b ) łącze tożsamości i ( c ) łącze pierwiastka kwadratowego. Poniższa tabela pokazuje szacunki współczynników po konwersji z powrotem do parametryzacji dziennika. (Tak więc druga kolumna pokazuje a trzecia pokazuje przy użyciu surowego z każdego pasowania). Ponownie, szacunki są identyczne.log ( β ) log ( β 2 ) βloglog(β^)log(β^2)β^
> coefs.po
log id sqrt
XX1 4.234107 4.234107 4.234107
XX2 4.790820 4.790820 4.790820
XX3 4.841033 4.841033 4.841033
Zastrzeżenie w nagłówku odnosi się po prostu do faktu, że surowe oszacowania będą się różnić w zależności od funkcji łącza, ale implikowane oszacowania parametru średniego nie będą.
Kod R.
# Warning! This code is a bit simplified for compactness.
library(MASS)
n <- 5
m <- 3
set.seed(17)
b <- exp(5+rnorm(m))
k <- 6
# Random negbin data; orthogonal factors
y <- rnbinom(m*n, size=k, mu=rep(b,each=n))
X <- factor(paste("X",rep(1:m,each=n),sep=""))
# Fit a bunch of GLMs with a log link
con <- glm.control(maxit=100)
mnb <- glm(y~X+0, family=negative.binomial(theta=2))
mpo <- glm(y~X+0, family="poisson")
mga <- glm(y~X+0, family=gaussian(link=log), start=rep(1,m), control=con)
miv <- glm(y~X+0, family=inverse.gaussian(link=log), start=rep(2,m), control=con)
mgm <- glm(y~X+0, family=Gamma(link=log), start=rep(1,m), control=con)
coefs <- cbind(negbin=mnb$coef, poisson=mpo$coef, gaussian=mga$coef
invgauss=miv$coef, gamma=mgm$coef)
# Fit a bunch of Poisson GLMs with different links.
mpo.log <- glm(y~X+0, family=poisson(link="log"))
mpo.id <- glm(y~X+0, family=poisson(link="identity"))
mpo.sqrt <- glm(y~X+0, family=poisson(link="sqrt"))
coefs.po <- cbind(log=mpo$coef, id=log(mpo.id$coef), sqrt=log(mpo.sqrt$coef^2))