addreg v3.0

0

Monthly downloads

0th

Percentile

Additive Regression for Discrete Data

Methods for fitting identity-link GLMs and GAMs to discrete data, using EM-type algorithms with more stable convergence properties than standard methods.

Readme

addreg

CRAN\_Status\_Badge

addreg provides methods for fitting identity-link GLMs and GAMs to discrete data, using EM-type algorithms with more stable convergence properties than standard methods.

An example of periodic non-convergence using glm (run with trace = TRUE to see deviance at each iteration):

require(glm2, quietly = TRUE)
data(crabs)

crabs.boot <- crabs[crabs$Rep1, -c(5:6)]

t.glm <- system.time(
  fit.glm <- glm(Satellites ~ Width + Dark + GoodSpine, data = crabs.boot, family = poisson(identity),
                    start = rep(1, 4), maxit = 500)
)

The combinatorial EM method (Marschner, 2010) provides stable convergence:

require(addreg, quietly = TRUE)
t.cem <- system.time(
  fit.cem <- addreg(Satellites ~ Width + Dark + GoodSpine, data = crabs.boot, family = poisson,
                    start = rep(1, 4))
)

...but it can take a while. Using an overparameterised EM approach removes the need to run (2^3 = 8) separate EM algorithms:

t.em <- system.time(fit.em <- update(fit.cem, method = "em"))

while generic EM acceleration algorithms from the turboEM package --- implemented in version (\geq) 3.0 --- can speed this up further still:

t.cem.acc <- system.time(fit.cem.acc <- update(fit.cem, accelerate = "squarem"))
t.em.acc <- system.time(fit.em.acc <- update(fit.em, accelerate = "squarem"))

Comparison of results:

#>         converged    logLik iterations time
#> glm         FALSE -518.2579        500 0.06
#> cem          TRUE -500.8886       6101 0.69
#> em           TRUE -500.8886       1680 0.13
#> cem.acc      TRUE -500.8886        128 0.11
#> em.acc       TRUE -500.8886         38 0.05

The combinatorial EM algorithms for identity-link binomial (Donoghoe and Marschner, 2014) and negative binomial (Donoghoe and Marschner, 2016) models are also available, using family = binomial and family = negbin1, respectively.

Semi-parametric regression using B-splines (Donoghoe and Marschner, 2015) can be incorporated by using the addreg.smooth function. See example(addreg.smooth) for a simple example.

Installation

Get the released version from CRAN:

install.packages("addreg")

Or the development version from github:

# install.packages("devtools")
devtools::install_github("mdonoghoe/addreg")

References

  • Donoghoe, M. W. and I. C. Marschner (2014). Stable computational methods for additive binomial models with application to adjusted risk differences. Computational Statistics and Data Analysis 80: 184-196.
  • Donoghoe, M. W. and I. C. Marschner (2015). Flexible regression models for rate differences, risk differences and relative risks. International Journal of Biostatistics 11(1): 91-108.
  • Donoghoe, M. W. and I. C. Marschner (2016). Estimation of adjusted rate differences using additive negative binomial regression. Statistics in Medicine 35(18): 3166-3178.
  • Marschner, I. C. (2010). Stable computation of maximum likelihood estimates in identity link Poisson regression. Journal of Computational and Graphical Statistics 19(3): 666-683.

Functions in addreg

Name Description
addreg Additive Regression for Discrete Data
addreg.control Auxiliary for Controlling addreg Fitting
conv.test Convergence Test Based on L2 Norm
interpret.addreg.smooth Interpret an addreg.smooth Formula
addreg.smooth Smooth Additive Regression for Discrete Data
anova.addreg Analysis of Deviance for addreg Fits
B.Iso Defining Smooths in addreg.smooth Formulae
addreg-package Additive Regression for Discrete Data
confint.addreg Confidence Intervals for addreg Model Parameters
contr.isotonic Contrast Matrix for Isotonic Covariate
negbin1 Family Functions for Negative Binomial 1 Models
nnnegbin ECME Algorithm for Additive Negative Binomial 1 Model
summary.addreg Summarizing addreg Model Fits
vcov.addreg Calculate Variance-Covariance Matrix for a Fitted addreg Model Object
nnpois EM Algorithm for Identity-link Poisson GLM
plot.addreg.smooth Default addreg.smooth Plotting
predict.addreg Predict Method for addreg Fits
predict.addreg.smooth Predict Method for addreg.smooth Fits
No Results!

Last month downloads

Details

Date 2017-12-20
License GPL (>= 2)
LazyData true
URL https://github.com/mdonoghoe/addreg
NeedsCompilation no
Packaged 2017-12-19 22:01:13 UTC; 42674999
Repository CRAN
Date/Publication 2017-12-23 23:22:06 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/addreg)](http://www.rdocumentation.org/packages/addreg)