## EM Algorithm for Identity-link Poisson GLM

### Description

Finds the maximum likelihood estimate of an identity-link Poisson GLM using an EM algorithm, where each of the coefficients is restricted to be non-negative.

### Usage

```nnpois(y, x, standard, offset, start, control = addreg.control(),
accelerate = c("em", "squarem", "pem", "qn"),
control.method = list())
```

### Arguments

 `y` non-negative integer response vector. `x` non-negative covariate matrix. `standard` standardising vector, where each element is a positive constant that (multiplicatively) standardises the fitted value of the corresponding element of the response vector. The default is a vector of ones. `offset` non-negative additive offset vector. The default is a vector of zeros. `start` starting values for the parameter estimates. Each element must be greater than `control\$bound.tol`. `control` an `addreg.control` object, which controls the fitting process. `accelerate` a character string that determines the acceleration algorithm to be used, (partially) matching one of `"em"` (no acceleration – the default), `"squarem"`, `"pem"` or `"qn"`. See `turboem` for further details. Note that `"decme"` is not permitted. `control.method` a list of control parameters for the acceleration algorithm. See `turboem` for details of the parameters that apply to each algorithm. If not specified, the defaults are used.

### Details

This is a workhorse function for `addreg`, and runs the EM algorithm to find the constrained non-negative MLE associated with an identity-link Poisson GLM. See Marschner (2010) for full details.

### Value

A list containing the following components

 `coefficients` the constrained non-negative maximum likelihood estimate of the parameters. `residuals` the residuals at the MLE, that is `y - fitted.values` `fitted.values` the fitted mean values. `rank` the number of parameters in the model (named “`rank`" for compatibility — we assume that models have full rank) `family` included for compatibility — will always be `poisson(identity)`. `linear.predictors` included for compatibility — same as `fitted.values` (as this is an identity-link model). `deviance` up to a constant, minus twice the maximised log-likelihood. `aic` a version of Akaike's An Information Criterion, minus twice the maximised log-likelihood plus twice the number of parameters. `aic.c` a small-sample corrected version of Akaike's An Information Criterion (Hurvich, Simonoff and Tsai, 1998). `null.deviance` the deviance for the null model, comparable with `deviance`. The null model will include the offset and an intercept. `iter` the number of iterations of the EM algorithm used. `weights` included for compatibility — a vector of ones. `prior.weights` included for compatibility — a vector of ones. `standard` the `standard` vector passed to this function. `df.residual` the residual degrees of freedom. `df.null` the residual degrees of freedom for the null model. `y` the `y` vector used. `converged` logical. Did the EM algorithm converge (according to `conv.test`)? `boundary` logical. Is the MLE on the boundary of the parameter space — i.e. are any of the `coefficients < control\$bound.tol`? `loglik` the maximised log-likelihood. `nn.design` the non-negative `x` matrix used.

### Author(s)

Mark W. Donoghoe markdonoghoe@gmail.com.

This function is based on code from Marschner, Gillett and O'Connell (2012) written by Alexandra Gillett.

### References

Hurvich, C. M., J. S. Simonoff and C.-L. Tsai (1998). Smoothing parameter selection in nonparametric regression using an improved Akaike information criterion. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 60(2): 271–293.

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.

Marschner, I. C., A. C. Gillett and R. L. O'Connell (2012). Stratified additive Poisson models: Computational methods and applications in clinical epidemiology. Computational Statistics and Data Analysis 56(5): 1115–1130.