En una regresión lineal múltiple es posible encontrar el coeficiente con la siguiente fórmula.
beta = solve(t(X) %*% X) %*% (t(X) %*% Y) ; beta
Por ejemplo:
> y <- c(9.3, 4.8, 8.9, 6.5, 4.2, 6.2, 7.4, 6, 7.6, 6.1)
> x0 <- c(1,1,1,1,1,1,1,1,1,1)
> x1 <- c(100,50,100,100,50,80,75,65,90,90)
> x2 <- c(4,3,4,2,2,2,3,4,3,2)
> Y <- as.matrix(y)
> X <- as.matrix(cbind(x0,x1,x2))
> beta = solve(t(X) %*% X) %*% (t(X) %*% Y);beta
[,1]
x0 -0.8687015
x1 0.0611346
x2 0.9234254
> model <- lm(y~+x1+x2) ; model$coefficients
(Intercept) x1 x2
-0.8687015 0.0611346 0.9234254
Me gustaría calcular de la misma manera "manual" la beta para una regresión logística. Donde, por supuesto, y sería 1 o 0. Suponiendo que estoy usando la familia binomial con un enlace logit.
Respuestas:
El estimador OLS en el modelo de regresión lineal es bastante raro al tener la propiedad de que puede representarse en forma cerrada, es decir, sin necesidad de ser expresado como el optimizador de una función. Sin embargo, es un optimizador de una función, la función de suma de cuadrados residual, y puede calcularse como tal.
El MLE en el modelo de regresión logística también es el optimizador de una función de probabilidad de registro definida adecuadamente, pero como no está disponible en una expresión de forma cerrada, debe calcularse como un optimizador.
La mayoría de los estimadores estadísticos solo se pueden expresar como optimizadores de funciones construidas apropiadamente de los datos llamadas funciones de criterio. Dichos optimizadores requieren el uso de algoritmos de optimización numéricos apropiados. Los optimizadores de funciones se pueden calcular en R utilizando la
optim()
función que proporciona algunos algoritmos de optimización de propósito general, o uno de los paquetes más especializados comooptimx
. Saber qué algoritmo de optimización usar para diferentes tipos de modelos y funciones de criterio estadístico es clave.Regresión lineal suma residual de cuadrados
Los OLS estimador se define como el optimizador de la suma residual conocido de cuadrados
En el caso de una función convexa dos veces diferenciable como la suma residual de cuadrados, la mayoría de los optimizadores basados en gradiente hacen un buen trabajo. En este caso, usaré el algoritmo BFGS.
Esto produce:
Regresión logística log-verosimilitud
La función de criterio correspondiente al MLE en el modelo de regresión logística es la función de log-verosimilitud.
Muestro cómo construir y optimizar la función de criterio usando la
optim()
función una vez más empleando el algoritmo BFGS.Esto produce
Como advertencia, tenga en cuenta que los algoritmos de optimización numérica requieren un uso cuidadoso o puede terminar con todo tipo de soluciones patológicas. Hasta que los entienda bien, es mejor usar las opciones empaquetadas disponibles que le permiten concentrarse en especificar el modelo en lugar de preocuparse por cómo calcular numéricamente las estimaciones.
fuente
-sum(vY%*%(mX%*%vBeta)-log(1+exp(mX%*%vBeta)))
No puedes llegar desde aquí. Las soluciones tanto para el modelo lineal general como para el modelo logístico surgen de la resolución de las respectivas ecuaciones de máxima verosimilitud, pero solo el modelo lineal tiene una solución de forma cerrada.
Si consulta el libro de McCullagh y Nelder, puede aprender cómo se obtienen las soluciones en el caso logístico (u otro modelo generalizado). En efecto, las soluciones se producen de forma iterativa, donde cada iteración implica resolver una regresión lineal ponderada. Los pesos dependen en parte de la función de enlace.
fuente