Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

negbin

Negative-Binomial Model for Counts


Description

The function fits a negative-binomial log linear model accounting for overdispersion in counts y.

Usage

negbin(formula, random, data, phi.ini = NULL, warnings = FALSE, 
         na.action = na.omit, fixpar = list(),
         hessian = TRUE, control = list(maxit = 2000), ...)

Arguments

formula

A formula for the fixed effects. The left-hand side of the formula must be the counts y i.e., positive integers (y >= 0). The right-hand side can involve an offset term.

random

A right-hand formula for the overdispersion parameter(s) φ.

data

A data frame containing the response (y) and explanatory variable(s).

phi.ini

Initial values for the overdispersion parameter(s) φ. Default to 0.1.

warnings

Logical to control printing of warnings occurring during log-likelihood maximization. Default to FALSE (no printing).

na.action

A function name. Indicates which action should be taken in the case of missing value(s).

fixpar

A list with 2 components (scalars or vectors) of the same size, indicating which parameters are fixed (i.e., not optimized) in the global parameter vector (b, φ) and the corresponding fixed values.
For example, fixpar = list(c(4, 5), c(0, 0)) means that 4th and 5th parameters of the model are set to 0.

hessian

A logical. When set to FALSE, the hessian and the variances-covariances matrices of the parameters are not computed.

control

A list to control the optimization parameters. See optim. By default, set the maximum number of iterations to 2000.

...

Further arguments passed to optim.

Details

For a given count y, the model is:

y | λ ~ Poisson(λ)

with λ following a Gamma distribution Gamma(r, θ).
If G denote the gamma function, then:

P(λ) = r^{-θ} * λ^{θ - 1} * exp(-λ / r) / G(θ)

E[λ] = θ * r

Var[λ] = θ * r^2

The marginal negative-binomial distribution is:

P(y) = G(y + θ) * (1 / (1 + r))^θ * (r / (1 + r))^y / (y! * G(θ))

The function uses the parameterization μ = θ * r = exp(X b) = exp(η) and φ = 1 / θ, where X is a design-matrix, b is a vector of fixed effects, η = X b is the linear predictor and φ the overdispersion parameter.
The marginal mean and variance are:

E[y] = μ

Var[y] = μ + φ * μ^2

The parameters b and φ are estimated by maximizing the log-likelihood of the marginal model (using the function optim()). Several explanatory variables are allowed in b. Only one is allowed in φ.
An offset can be specified in the formula argument to model rates y/T. The offset and the marginal mean are log(T) and μ = exp(log(T) + η), respectively.

Value

An object of formal class “glimML”: see glimML-class for details.

Author(s)

Matthieu Lesnoff matthieu.lesnoff@cirad.fr, Renaud Lancelot renaud.lancelot@cirad.fr

References

Lawless, J.F., 1987. Negative binomial and mixed Poisson regression. The Canadian Journal of Statistics, 15(3): 209-225.

See Also

glimML-class, glm and optim,
glm.nb in the recommended package MASS,
gnlr in package gnlm available at www.luc.ac.be/~jlindsey/rcode.html.

Examples

# without offset
  data(salmonella)
  negbin(y ~ log(dose + 10) + dose, ~ 1, salmonella)
  library(MASS) # function glm.nb in MASS
  fm.nb <- glm.nb(y ~ log(dose + 10) + dose,
                  link = log, data = salmonella)
  coef(fm.nb)
  1 / fm.nb$theta # theta = 1 / phi
  c(logLik(fm.nb), AIC(fm.nb))
  # with offset
  data(dja)
  negbin(y ~ group + offset(log(trisk)), ~ group, dja)
  # phi fixed to zero in group TREAT
  negbin(y ~ group + offset(log(trisk)), ~ group, dja,
    fixpar = list(4, 0))
  # glim without overdispersion
  summary(glm(y ~ group + offset(log(trisk)),
    family = poisson, data = dja))
  # phi fixed to zero in both groups
  negbin(y ~ group + offset(log(trisk)), ~ group, dja,
    fixpar = list(c(3, 4), c(0, 0)))

aod

Analysis of Overdispersed Data

v1.3.1
GPL (>= 2)
Authors
Matthieu Lesnoff <matthieu.lesnoff@cirad.fr> and Renaud Lancelot <renaud.lancelot@cirad.fr>
Initial release
2012-04-10

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.