Można wykonać regresję logit w R przy użyciu takiego kodu:
> 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
Wygląda na to, że algorytm optymalizacji jest zbiegnięty - jest informacja o liczbie kroków algorytmu oceniania Fishera:
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
Jestem ciekawy, jaki to optymalny algorytm? Czy to algorytm Newtona-Raphsona (spadek gradientu drugiego rzędu)? Czy mogę ustawić niektóre parametry, aby korzystać z algorytmu Cauchy'ego (spadek gradientu pierwszego rzędu)?
Newton's method
jest to metoda spadku gradientu drugiego rzędu.