Vous avez découvert une propriété intime, mais générique, de GLM qui s'adapte parfaitement . Le résultat disparaît dès que l'on considère le cas le plus simple: ajuster un seul paramètre à une seule observation!
Une réponse de la phrase : Si tout ce que nous préoccupons convient des moyens séparés pour des sous - ensembles disjoints de notre échantillon, puis GLM produira toujours μ j = ˉ y pour chaque sousensemble j ,sortela structure d'erreur réelle et paramétrisation de la densitéfois devenu sans objet à l'estimation (point)!μ^j=y¯jj
Un peu plus : ajuster les facteurs catégoriels orthogonaux au maximum de vraisemblance équivaut à ajuster des moyens distincts à des sous-ensembles disjoints de notre échantillon, ce qui explique pourquoi les GLM de Poisson et binomiaux négatifs génèrent les mêmes estimations de paramètres. En fait, il en va de même si nous utilisons une régression de Poisson, Negbin, Gaussienne, Gaussienne Inverse ou Gamma (voir ci-dessous). Dans le cas de Poisson et negbin, la fonction de liaison par défaut est la liaison de , mais il s’agit d’un faux fil rouge. Bien que cela produise les mêmes estimations de paramètres bruts , nous verrons ci-dessous que cette propriété n'a vraiment rien à voir avec la fonction de liaison.bûche
Lorsque nous nous intéressons à une paramétrisation avec plus de structure, ou qui dépend de prédicteurs continus, alors la structure d'erreur supposée devient pertinente en raison de la relation moyenne-variance de la distribution en relation avec les paramètres et de la fonction non linéaire utilisée pour modéliser le conditionnel veux dire.
GLM et familles de dispersion exponentielle: cours intensif
Une famille de dispersion exponentielle sous forme naturelle est telle que la densité de log est de la forme
logf(y;θ,ν)=θy−b(θ)ν+a(y,ν).
Ici est le paramètre naturel et ν le paramètre de dispersionθν . Si était connu, il ne s'agirait que d'une famille exponentielle standard à un paramètre. Tous les GLM considérés ci-dessous supposent un modèle d'erreur de cette famille.ν
Prenons un exemple d’une seule observation de cette famille. Si nous nous situons par maximum de vraisemblance, on obtient que y = b ' ( θ ) , quelle que soit la valeur de ν . Cela va facilement au cas d'un échantillon IID depuis les vraisemblances log ajouter, ce qui donne ˉ y = b ' ( θ ) .θy=b′(θ^)νy¯=b′(θ^)
Mais, nous savons aussi, en raison de la belle régularité de la densité du journal en fonction de , que
∂θ
Donc, en fait, b ′ ( θ ) = E Y
∂∂θElogf(Y;θ,ν)=E∂∂θlogf(Y;θ,ν)=0.
.
b′(θ)=EY=μ
Étant donné que les estimations du maximum de vraisemblance sont invariantes par transformation, cela signifie que
y¯=μ^
pour cette famille de densités.
Maintenant, dans un GLM, nous modélisons tant que μ i = g - 1 (μioùgest la fonction de liaison. Mais si x i est un vecteur de tous les zéros à l'exception d'un seul 1 en positionj, alors µ i =g( β j ). La vraisemblance du GLM est alors factorisée en fonction de la βμi=g−1(xTiβ)gxijμi=g(βj) et on procède comme ci-dessus. C'est précisément le cas des facteurs orthogonaux.βj
En quoi les prédicteurs continus sont-ils si différents?
Lorsque les prédicteurs sont continus ou catégoriques, mais ne peuvent pas être réduits à une forme orthogonale, la probabilité ne tient plus compte de termes individuels avec une moyenne distincte dépendant d'un paramètre distinct. A ce stade, la structure d'erreur et la fonction de lien n'entrent en jeu.
Si une manivelle par le biais de l'algèbre (fastidieux), les équations de vraisemblance deviennent
Pour tout j = 1 , ... , p où λ i = x T i β . Ici, les β et ν
∑i=1n(yi−μi)xijσ2i∂μi∂λi=0,
j = 1 , … , pλje= xTjeββν paramètres entrent implicitement via la relation de liaison
et la variance
σ 2 iμje= g( λje) = g( xTjeβ)σ2je .
De cette manière, la fonction de lien et le modèle d'erreur supposé deviennent pertinents pour l'estimation.
Exemple: le modèle d'erreur (presque) n'a pas d'importance
Dans l'exemple ci-dessous, nous générons des données aléatoires binomiales négatives en fonction de trois facteurs catégoriels. Chaque observation provient d’une seule catégorie et du même paramètre de dispersion ( k = 6 utilise ).
Nous nous sommes ensuite adaptés à ces données en utilisant cinq GLM différents, chacun avec un lien de : ( a ) binôme négatif, ( b ) Poisson, ( c ) gaussien, ( d ) gaussien inverse et (bûche e ) GLM. Ce sont tous des exemples de familles de dispersion exponentielle.
Dans le tableau, nous pouvons constater que les estimations de paramètres sont identiques , même si certains de ces GLM concernent des données discrètes et d’autres des données continues, et d’autres des données non négatives, d’autres non.
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
La mise en garde dans l'en-tête vient du fait que la procédure d'ajustement échouera si les observations ne relèvent pas du domaine de la densité particulière. Par exemple, si nous avions 0 comptes générés aléatoirement dans les données ci-dessus, le GLM Gamma ne pourra pas converger car les GLM Gamma nécessitent des données strictement positives.
Exemple: la fonction de lien (presque) n'a pas d'importance
En utilisant les mêmes données, nous répétons la procédure en ajustant les données avec un GLM de Poisson avec trois fonctions de liaison différentes: ( a )bûchebûche( β^)bûche( β^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
La mise en garde dans l'en-tête fait simplement référence au fait que les estimations brutes varieront avec la fonction de lien, mais pas les estimations implicites en paramètres moyens.
Code 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))