glm2: Fitting Generalized Linear Models with Convergence Problems

Abstract:

The R function glm uses step-halving to deal with certain types of convergence problems when using iteratively reweighted least squares to fit a generalized linear model. This works well in some circumstances but non-convergence remains a possibility, particularly with a non-standard link function. In some cases this is because step-halving is never invoked, despite a lack of convergence. In other cases step-halving is invoked but is unable to induce convergence. One remedy is to impose a stricter form of step-halving than is currently available in glm, so that the deviance is forced to decrease in every iteration. This has been implemented in the glm2 function available in the glm2 package. Aside from a modified computational algorithm, glm2 operates in exactly the same way as glm and provides improved convergence properties. These improvements are illustrated here with an identity link Poisson model, but are also relevant in other contexts.

Cite PDF Tweet

Author

Affiliation

Ian C. Marschner

 

Published

Nov. 30, 2011

DOI

10.32614/RJ-2011-012

Volume

Pages

3/2

12 - 15

CRAN packages used

glm2

CRAN Task Views implied by cited packages

Footnotes

    Reuse

    Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

    Citation

    For attribution, please cite this work as

    Marschner, "The R Journal: glm2: Fitting Generalized Linear Models with Convergence Problems", The R Journal, 2011

    BibTeX citation

    @article{RJ-2011-012,
      author = {Marschner, Ian C.},
      title = {The R Journal: glm2: Fitting Generalized Linear Models with Convergence Problems},
      journal = {The R Journal},
      year = {2011},
      note = {https://doi.org/10.32614/RJ-2011-012},
      doi = {10.32614/RJ-2011-012},
      volume = {3},
      issue = {2},
      issn = {2073-4859},
      pages = {12-15}
    }