Pregunta:
Se puede realizar una regresión logit en R usando dicho código:
> library(MASS)
> data(menarche)
> glm.out = glm(cbind(Menarche, Total-Menarche) ~ Age,
+ family=binomial(logit), data=menarche)
> coefficients(glm.out)
(Intercept) Age
-21.226395 1.631968
Parece que el algoritmo de optimización ha convergido; hay información sobre el número de pasos del algoritmo de puntuación de Fisher:
Call:
glm(formula = cbind(Menarche, Total - Menarche) ~ Age, family = binomial(logit),
data = menarche)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0363 -0.9953 -0.4900 0.7780 1.3675
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -21.22639 0.77068 -27.54 <2e-16 ***
Age 1.63197 0.05895 27.68 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3693.884 on 24 degrees of freedom
Residual deviance: 26.703 on 23 degrees of freedom
AIC: 114.76
Number of Fisher Scoring iterations: 4
¿Tengo curiosidad sobre qué algoritmo optim es? ¿Es el algoritmo de Newton-Raphson (descenso de gradiente de segundo orden)? ¿Puedo configurar algunos parámetros para usar el algoritmo de Cauchy (descenso de gradiente de primer orden)?
Respuesta:
Le interesará saber que la documentación de glm
, a la que se accede a través de ?glm
proporciona muchas ideas útiles: en el method
encontramos que los mínimos cuadrados reponderados iterativamente es el método predeterminado para glm.fit
, que es la función de caballo de batalla de glm
. Además, la documentación menciona que las funciones definidas por el usuario se pueden proporcionar aquí, en lugar de las predeterminadas.