Modelo Lineal Generalizado (Generalized Linear Model)
Los modelos lineales generalizados (GLM) son una extensión de las regresiones o modelos lineales a través de una función, denominada "función de enlace".
En los modelos GLM se asume que la variable dependiente Y
está generada por una función de distribución de la familia exponencial. La media M
de la distribución depende de las variables independientes X
}, a través de la fórmula:
E(Y) = M = InvG(B'X)
donde B'X
es el "predictor lineal", B
la matriz de parámetros y InvG
la inversa de la función de enlace.
Para más detalles, véase el artículo sobre el modelo lineal genearalizado en es.wikipedia.org.
Modelo Logit
La función de enlace del modelo logit es:
Logit(p) = Log(p/(1-p))
y su inversa:
InvLogit(z) = 1/(1+Exp(-z)) = Exp(z)/(Exp(z)+1)
conocida como la función de distribución logística.
Verosimilitud y derivadas
Log-Likelihood
El logaritmo de la verosimilitud (log-likelihood) es:
LogL = Sum_i( Y_i*Log(P_i) + (1-Y_i)*Log(1-P_i) )
donde el subíndice i
hace referencia a la i
-ésima observación.
Teniendo en cuenta que la probabilidad de la i
-ésima observación viene dada por:
P_i = InvLogit(B'X_i) = 1/(1+Exp(-B'X_i))
podemos escribir:
LogL = Sum_i( Y_i*Log(1/(1+Exp(-B'X_i))) + (1-Y_i)*Log(1-1/(1+Exp(-B'X_i))) ) = = - Sum_i( Y_i*Log(1+Exp(-B'X_i)) + (1-Y_i)*Log(1+Exp(B'X_i)) )
Gradient
La primera derivada respecto a la matriz de parámetros (B
) es el gradiente del logaritmo de la verosimilitud:
G(B) = d(LogL(B))/dB = = - Sum_i( Y_i*Exp(-B'X_i)*(-X_i)/(1+Exp(-B'X_i)) + (1-Y_i)*Exp(B'X_i)*X_i/(1+Exp(B'X_i)) ) = = Sum_i( Y_i*X_i/(1+Exp(B'X_i)) - (1-Y_i)*X_i/(1+Exp(-B'X_i)) ) = = Sum_i( ( Y_i/(1+Exp(B'X_i)) - (1-Y_i)/(1+Exp(-B'X_i)) ) * X_i )
Hessian
La segunda derivada respecto a la matriz de parámetros (B
) es la hessiana del logaritmo de la verosimilitud:
H(B) = d^2(LogL(B))/(dB dB') = = Sum_i( ( - Y_i*Exp(B'X_i)/(1+Exp(B'X_i))^2 + (1-Y_i)*Exp(-B'X_i)/(1+Exp(-B'X_i))^2 ) * X_i * X'_i ) = = - Sum_i( Exp(B'X_i)/(1+Exp(B'X_i))^2 * X_i * X'_i )
Nótese que la hessiana puede reescribirse como:
H(B) = - Sum_i( P_i*(1-P_i) * X_i * X'_i )
Modelo Probit
La función de enlace del modelo probit es la inversa de la función de distribución normal (con parámetros: media 0 y varianza 1):
Probit(p) = InvDistNormal(p)
cuya inversa es:
InvProbit(z) = DistNormal(z)
Así, la primera derivada de la inversa de la función de enlace, no es otra que la función de densidad normal:
d(InvProbit(z))/dz = DensNormal(z) = 1/Sqrt(2Pi) * Exp(-z^2/2)
Verosimilitud y derivadas
Log-Likelihood
El logaritmo de la verosimilitud (log-likelihood) es:
LogL = Sum_i( Y_i*Log(P_i) + (1-Y_i)*Log(1-P_i) )
donde el subíndice i
hace referencia a la i
-ésima observación.
Teniendo en cuenta que la probabilidad de la i
-ésima observación viene dada por:
P_i = DistNormal(B'X_i)
podemos escribir:
LogL = Sum_i( Y_i*Log(DistNormal(B'X_i)) + (1-Y_i)*Log(1-DistNormal(B'X_i)) ) = = Sum_i( Y_i*Log(DistNormal(B'X_i)) + (1-Y_i)*Log(DistNormal(-B'X_i)) )
Gradient
La primera derivada respecto a la matriz de parámetros (B
) es el gradiente del logaritmo de la verosimilitud:
G(B) = d(LogL(B))/dB = = Sum_i( ( Y_i*DensNormal(B'X_i)/DistNormal(B'X_i) - (1-Y_i)*DensNormal(-B'X_i)/DistNormal(-B'X_i) ) * X_i ) = Sum_i( ( Y_i*Q(B'X_i) - (1-Y_i)*Q(-B'X_i) ) * X_i )
donde el cociente entre las funciones de densidad y distribución se ha definido como:
Q(x) = DensNormal(x)/DistNormal(x)
Hessian
La segunda derivada respecto a la matriz de parámetros (B
) es la hessiana del logaritmo de la verosimilitud:
H(B) = d^2(LogL(B))/(dB dB') = = - Sum_i( ( Y_i*Q(B'X_i)*(Q(B'X_i)+B'X_i) + (1-Y_i)*Q(-B'X_i)*(Q(-B'X_i)-B'X_i) ) * X_i * X'_i )
donde se usado que:
d(Q(x))/dx = (-x*DensNormal(x)*DistNormal(x)-DensNormal(x)^2)/DistNormal(x)^2 = = - DensNormal(x)/DistNormal(x) * (x + DensNormal(x)/DistNormal(x)) = - Q(x) * (Q(x) + x)