R: Estimate theta of the Negative Binomial

theta.md {MASS} | R Documentation

## Estimate theta of the Negative Binomial

### Description

Given the estimated mean vector, estimate `theta` of the Negative Binomial Distribution.

### Usage

    theta.md(y, mu, dfr, weights, limit = 20, eps = .Machine$double.eps^0.25)

    theta.ml(y, mu, n, weights, limit = 10, eps = .Machine$double.eps^0.25,
             trace = FALSE)

    theta.mm(y, mu, dfr, weights, limit = 10, eps = .Machine$double.eps^0.25)

### Arguments

`y` | Vector of observed values from the Negative Binomial.
`mu` | Estimated mean vector.
`n` | Number of data points (defaults to the sum of `weights`)
`dfr` | Residual degrees of freedom (assuming `theta` known). For a weighted fit this is the sum of the weights minus the number of fitted parameters.
`weights` | Case weights. If missing, taken as 1.
`limit` | Limit on the number of iterations.
`eps` | Tolerance to determine convergence.
`trace` | logical: should iteration progress be printed?

### Details

`theta.md` estimates by equating the deviance to the residual degrees of freedom, an analogue of a moment estimator.

`theta.ml` uses maximum likelihood.

`theta.mm` calculates the moment estimator of `theta` by equating the Pearson chi-square sum((y-mu)^2/(mu+mu^2/theta)) to the residual degrees of freedom.

### Value

The required estimate of `theta`, as a scalar. For `theta.ml`, the standard error is given as attribute `"SE"`.

### See Also

`glm.nb`

### Examples

    quine.nb <- glm.nb(Days ~ .^2, data = quine)
    theta.md(quine$Days, fitted(quine.nb), dfr = df.residual(quine.nb))
    theta.ml(quine$Days, fitted(quine.nb))
    theta.mm(quine$Days, fitted(quine.nb), dfr = df.residual(quine.nb))

    ## weighted example
    yeast <- data.frame(cbind(numbers = 0:5, fr = c(213, 128, 37, 18, 3, 1)))
    fit <- glm.nb(numbers ~ 1, weights = fr, data = yeast)
    summary(fit)
    mu <- fitted(fit)
    theta.md(yeast$numbers, mu, dfr = 399, weights = yeast$fr)
    theta.ml(yeast$numbers, mu, limit = 15, weights = yeast$fr)
    theta.mm(yeast$numbers, mu, dfr = 399, weights = yeast$fr)

[Package MASS version 7.3-52 Index]