= 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 [http://es.wikipedia.org/wiki/Modelo_lineal_generalizado 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 ) }}} == 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) }}}