# glm.nb

##### Fit a Negative Binomial Generalized Linear Model

A modification of the system function `glm()`

to include
estimation of the additional parameter, `theta`

, for a
Negative Binomial generalized linear model.

- Keywords
- models, regression

##### Usage

```
glm.nb(formula, data, weights, subset, na.action,
start = NULL, etastart, mustart,
control = glm.control(...), method = "glm.fit",
model = TRUE, x = FALSE, y = TRUE, contrasts = NULL, ...,
init.theta, link = log)
```

##### Arguments

- formula, data, weights, subset, na.action, start, etastart, mustart, control, method, model, x, y, contrasts, …
arguments for the

`glm()`

function. Note that these exclude`family`

and`offset`

(but`offset()`

can be used).- init.theta
Optional initial value for the theta parameter. If omitted a moment estimator after an initial fit using a Poisson GLM is used.

- link
The link function. Currently must be one of

`log`

,`sqrt`

or`identity`

.

##### Details

An alternating iteration process is used. For given `theta`

the GLM
is fitted using the same process as used by `glm()`

. For fixed means
the `theta`

parameter is estimated using score and information
iterations. The two are alternated until convergence of both. (The
number of alternations and the number of iterations when estimating
`theta`

are controlled by the `maxit`

parameter of
`glm.control`

.)

Setting `trace > 0`

traces the alternating iteration
process. Setting `trace > 1`

traces the `glm`

fit, and
setting `trace > 2`

traces the estimation of `theta`

.

##### Value

A fitted model object of class `negbin`

inheriting from `glm`

and `lm`

. The object is like the output of `glm`

but contains
three additional components, namely `theta`

for the ML estimate of
theta, `SE.theta`

for its approximate standard error (using
observed rather than expected information), and `twologlik`

for
twice the log-likelihood function.

##### References

Venables, W. N. and Ripley, B. D. (2002)
*Modern Applied Statistics with S.* Fourth edition. Springer.

##### See Also

`glm`

, `negative.binomial`

,
`anova.negbin`

, `summary.negbin`

,
`theta.md`

There is a `simulate`

method.

##### Examples

```
# NOT RUN {
quine.nb1 <- glm.nb(Days ~ Sex/(Age + Eth*Lrn), data = quine)
quine.nb2 <- update(quine.nb1, . ~ . + Sex:Age:Lrn)
quine.nb3 <- update(quine.nb2, Days ~ .^4)
anova(quine.nb1, quine.nb2, quine.nb3)
# }
```

*Documentation reproduced from package MASS, version 7.3-53, License: GPL-2 | GPL-3*