# [R] Negative Binomial Regression - glm.nb

Ben Bolker bbolker at gmail.com
Thu Feb 28 14:48:01 CET 2013

Martin Spindler <Martin.Spindler <at> gmx.de> writes:

>
> Dear all,
>
> I would like to ask, if there is a way to make the
> variance / dispersion parameter $\theta$ (referring to
> MASS, 4th edition, p. 206) in the function glm.nb dependent on the
> data, e.g. $1/ \theta = exp(x \beta)$ and
> to estimate the parameter vector $\beta$ additionally.
>
> If this is not possible with glm.nb, is there another
> function / package which might do that?
>

As Brian Ripley says, that's outside the scope of glm.nb(),
and a later chapter in MASS tells you how to do it.

The mle2 function in the bbmle package offers a possibly
convenient shortcut.  Something like

mle2(response~dnbinom(mu=exp(logmu),size=exp(logtheta)),
parameters=list(logmu~[formula for linear predictor of log(mu)],
logtheta~[formula for linear predictor of log(beta)]),
start=list(logmu=[starting value for logmu intercept],
logbeta=[starting value for logbeta intercept]),
data=...)

should work ...

Ben Bolker