Hai scoperto una proprietà intima, ma generica, dei GLM adatti alla massima probabilità . Il risultato cade una volta si considera il caso più semplice di tutte: Montaggio di un singolo parametro per una singola osservazione!
Una frase risposta : Se tutti abbiamo a cuore si addice mezzi separati per sottoinsiemi disgiunti di nostro campione, quindi GLMs sarà sempre resa μ j = ˉ y j per ogni sottoinsieme j , pertanto la struttura errore effettivo e parametrizzazione della densità sia diventato irrilevante alla (punto) stima!μ^j= y¯jj
Un po 'di più : l'adattamento di fattori categorici ortogonali con la massima probabilità equivale a adattamento di mezzi separati per disgiungere sottoinsiemi del nostro campione, quindi questo spiega perché Poisson e GLM binomiali negativi producono le stesse stime dei parametri. In effetti, lo stesso accade se usiamo la regressione di Poisson, negbin, Gaussian, Gaussian inversa o Gamma (vedi sotto). Nel caso di Poisson e negbin, la funzione di collegamento predefinita è il collegamento di , ma si tratta di un'aringa rossa; mentre questo produce le stesse stime dei parametri grezzi , vedremo di seguito che questa proprietà non ha assolutamente nulla a che fare con la funzione link.log
Quando siamo interessati a una parametrizzazione con più struttura, o che dipende da continui predittori, la struttura dell'errore assunto diventa rilevante a causa della relazione media-varianza della distribuzione in quanto si riferisce ai parametri e alla funzione non lineare utilizzata per modellare il condizionale si intende.
GLM e famiglie di dispersione esponenziale: corso di arresto
Una famiglia di dispersione esponenziale in forma naturale è tale che la densità del registro è del modulo
logf( y;θ , ν) = θ y- b ( θ )ν+ a ( y, ν).
Qui è il parametro naturale e ν è il parametro di dispersione . Se ν fosse noto, sarebbe solo una famiglia esponenziale standard a un parametro. Tutti i GLM considerati di seguito assumono un modello di errore da questa famiglia.θνν
Considera un campione di una singola osservazione di questa famiglia. Se ci troviamo massima verosimiglianza, otteniamo che y = b ' ( θ ) , indipendentemente dal valore di ν . Questo si estende facilmente al caso di un campione iid poiché le verosimiglianze registro aggiungono, cedendo ˉ y = b ' ( θ ) .θy= b'( θ^)νy¯= b'( θ^)
Ma sappiamo anche, grazie alla bella regolarità della densità del tronco in funzione di , che
∂θ
Quindi, in effetti b ′ ( θ ) = E Y = μ .
∂∂θE logf( Y; θ , ν) = E ∂∂θlogf( Y; θ , ν) = 0.
B'( θ ) = E Y= μ
Poiché stime di massima verosimiglianza sono invarianti per trasformazioni, ciò significa che
per questa famiglia di densità.y¯= μ^
Ora, in un GLM, modelliamo come μ i = g - 1 ( x T i β ) dove gμioμio= g- 1(xTiβ)g è la funzione di collegamento. Ma se è un vettore di tutti gli zeri ad eccezione di un singolo 1 in posizione j , allora μ i = g ( β j ) . La probabilità della GLM quindi si fattorizza secondo i β j e procediamo come sopra. Questo è precisamente il caso di fattori ortogonali.xijμio= g( βj)βj
Cosa c'è di così diverso nei predittori continui?
Quando i predittori sono continui o sono categorici, ma non possono essere ridotti a una forma ortogonale, allora la probabilità non viene più considerata in termini individuali con una media separata a seconda di un parametro separato. A questo punto, la struttura di errore e la funzione di collegamento non entrano in gioco.
Se si attraversa l'algebra (noiosa), le equazioni di probabilità diventano
per tutti j = 1 , … , p dove λ i = x T i β . Qui, iparametri β e ν entrano implicitamente attraverso la relazione di collegamento μ i = g ( λ i ) = g ( x T i β ) e varianza σ 2 i .
Σi = 1n( yio- μio) xio jσ2io∂μio∂λio= 0,
j = 1 , … , pλio= xTioββνμio= g( λio) = g( xTioβ)σ2io
In questo modo, la funzione di collegamento e il modello di errore assunto diventano rilevanti per la stima.
Esempio: il modello di errore (quasi) non ha importanza
Nell'esempio seguente, generiamo dati casuali binomiali negativi in base a tre fattori categorici. Ogni osservazione proviene da una singola categoria e viene utilizzato lo stesso parametro di dispersione ( ).k = 6
Ci adattiamo quindi a questi dati utilizzando cinque diversi GLM, ciascuno con un collegamento : ( a ) binomiale negativo, ( b ) Poisson, ( c ) gaussiano, ( d ) gaussiano inverso e ( e ) Gamma GLM. Tutti questi sono esempi di famiglie di dispersione esponenziale.log
Dalla tabella, possiamo vedere che le stime dei parametri sono identiche , anche se alcuni di questi GLM sono per dati discreti e altri sono per dati continui, altri per dati non negativi mentre altri no.
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
L'avvertenza nell'intestazione deriva dal fatto che la procedura di adattamento fallirà se le osservazioni non rientrano nel dominio della densità particolare. Ad esempio, se avessimo conteggi generati casualmente nei dati sopra, allora i Gamma GLM non riuscirebbero a convergere poiché i Gamma GLM richiedono dati strettamente positivi.0
Esempio: la funzione di collegamento (quasi) non ha importanza
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
L'avvertenza nell'intestazione si riferisce semplicemente al fatto che le stime grezze varieranno con la funzione di collegamento, ma le stime implicite dei parametri medi non lo faranno.
Codice 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))