¿Qué algoritmo de optimización se usa en la función glm en R?

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım