glm.nb {MASS} | R Documentation |

## Fit a Negative Binomial Generalized Linear Model

### Description

A modification of the system function `glm()`

to include
estimation of the additional parameter, `theta`

, for a
Negative Binomial generalized linear model.

### 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 |

`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 |

### 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

```
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)
```

*MASS*version 7.3-61 Index]