Solved – Logistic regression: Fisher’s scoring iterations do not match the selected iterations in glm

fisher-scoringirlslogisticrregression

it happened to me that in a logistic regression in R with glm the Fisher scoring iterations in the output are less than the iterations selected with the argument control=glm.control(maxit=25) in glm itself.

I see this as the effect of divergence in the iteratively reweighted least
squares algorithm behind glm.

My question is: under which criteria does glm stop the iterations and provides with a partial output? I was thinking about something like "when the new coefficients-old coefficients < epsilon, then STOP". Is this the case? If not, what does make glm stop?
Thanks,
Avitus

Best Answer

In glm.control you can specify a positive $\epsilon$ which is used to decide whether the algorithm has converged or not. The documentation page of glm.control states that the algorithm converges if

$$ \frac{|dev - dev_{old}|}{(|dev| + 0.1)} < \epsilon $$ Where "dev" means Deviance. These three resources maybe helpful in clarifying Deviance: first, second, third.

Related Question