Ha descubierto una propiedad íntima, pero genérica, de GLM ajustada por la máxima probabilidad . El resultado desaparece una vez que se considera el caso más simple de todos: ¡Ajustar un solo parámetro a una sola observación!
Una respuesta frase : Si todo lo que importa es apropiado medios separados de subconjuntos disjuntos de nuestra muestra, a continuación, GLM siempre dará μ j = ˉ y j para cada subconjuntoμ^j=y¯j , por lo que la estructura de error real y parametrización de la densidad tanto vuelto irrelevante a la (punto) estimación!j
Un poco más : ajustar factores categóricos ortogonales por máxima probabilidad es equivalente a ajustar medios separados para separar subconjuntos de nuestra muestra, por lo que esto explica por qué Poisson y los GLM binomiales negativos producen las mismas estimaciones de parámetros. De hecho, lo mismo sucede si utilizamos la regresión de Poisson, negbin, gaussiana, gaussiana inversa o gamma (ver más abajo). En el caso de Poisson y Negbin, la función de enlace predeterminada es el enlace de , pero es una pista falsa; Si bien esto produce las mismas estimaciones de parámetros sin procesar , veremos a continuación que esta propiedad realmente no tiene nada que ver con la función de enlace.log
Cuando estamos interesados en una parametrización con más estructura, o que depende de predictores continuos, entonces la estructura de error asumida se vuelve relevante debido a la relación media-varianza de la distribución, ya que se relaciona con los parámetros y la función no lineal utilizada para modelar el condicional medio.
GLMs y familias de dispersión exponencial: curso intensivo
Una familia de dispersión exponencial en forma natural es tal que la densidad logarítmica es de la forma
logf(y;θ,ν)=θy−b(θ)ν+a(y,ν).
Aquí es el parámetro natural y ν es el parámetro de dispersión . Si se conociera ν , esto sería solo una familia exponencial estándar de un parámetro. Todos los GLM considerados a continuación suponen un modelo de error de esta familia.θνν
Considere una muestra de una sola observación de esta familia. Si nos ajustamos a por máxima verosimilitud, obtenemos que y = b ' ( θ ) , independientemente del valor de ν . Esto se extiende fácilmente en el caso de una muestra iid ya que las probabilidades de registro añaden, produciendo ˉ y = b ' ( θ )θy=b′(θ^)νy¯=b′(θ^) .
Pero, también sabemos, debido a la agradable regularidad de la densidad logarítmica en función de , que
∂θ
Entonces, de hecho b ′ ( θ ) = E Y = μ .
∂∂θElogf(Y;θ,ν)=E∂∂θlogf(Y;θ,ν)=0.
b′(θ)=EY=μ
Dado que las estimaciones de máxima verosimilitud son invariantes bajo transformaciones, esto significa que
para esta familia de densidades.y¯=μ^
Ahora, en un GLM, modelamos como μ i = g - 1 ( x T i β ) donde g es la función de enlace. Pero si x i es un vector de todos los ceros a excepción de un solo 1 en la posición j , entonces μ i = g ( β j ) . La probabilidad de la GLM luego se factoriza de acuerdo con los β j 's y procedemos como se indica arriba. Este es precisamente el caso de los factores ortogonales.μiμi=g−1(xTiβ)gxijμi=g(βj)βj
¿Qué tienen de diferentes los predictores continuos?
Cuando los predictores son continuos o categóricos, pero no pueden reducirse a una forma ortogonal, entonces la probabilidad ya no se factoriza en términos individuales con una media separada que depende de un parámetro separado. En este punto, la estructura y la función de enlace de error no entran en juego.
Si uno atraviesa el álgebra (tedioso), las ecuaciones de probabilidad se convierten en
para todo j = 1 , ... , p donde λ i = x T i β . Aquí, losparámetros β y ν entran implícitamente a través de la relación de enlace μ i = g ( λ i ) = g ( x T i β ) y la varianza σ 2 i
∑i=1n(yi−μi)xijσ2i∂μi∂λi=0,
j=1,…,pλi=xTiββνμi=g(λi)=g(xTiβ)σ2i .
De esta manera, la función de enlace y el modelo de error asumido se vuelven relevantes para la estimación.
Ejemplo: el modelo de error (casi) no importa
En el siguiente ejemplo, generamos datos aleatorios binomiales negativos dependiendo de tres factores categóricos. Cada observación proviene de una sola categoría y el mismo parámetro de dispersión ( k=6 se utiliza ).
Luego ajustamos estos datos utilizando cinco GLM diferentes, cada uno con un enlace de : ( a ) binomio negativo, ( b ) Poisson, ( c ) gaussiano, ( d ) gaussiano inverso y (log e ) GLM gamma. Todos estos son ejemplos de familias de dispersión exponencial.
De la tabla, podemos ver que las estimaciones de los parámetros son idénticas , aunque algunos de estos GLM son para datos discretos y otros son para datos continuos, y algunos son para datos no negativos mientras que otros 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
La advertencia en el encabezado proviene del hecho de que el procedimiento de ajuste fallará si las observaciones no caen dentro del dominio de la densidad particular. Por ejemplo, si tuviéramos recuentos generados aleatoriamente en los datos anteriores, entonces el Gamma GLM no podría converger ya que los Gamma GLM requieren datos estrictamente positivos.0
Ejemplo: la función de enlace (casi) no importa
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
La advertencia en el encabezado simplemente se refiere al hecho de que las estimaciones sin procesar variarán con la función de enlace, pero las estimaciones de parámetros medios implícitos no lo harán.
Código 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))