Re: [R] glm with negative binomial family

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Sat 10 Jun 2006 - 02:35:05 EST

Did you consult the help page for neg.bin?

Details:

      These are not intended to be called by the user. Some are for
      compatibility with earlier versions of MASS (the book).

The book discusses the family negative.binomial() on p.206, and it is that which glm.nb uses.

On Fri, 9 Jun 2006, Elizabeth Rainwater wrote:

> I am analysing parasite egg count data and am having trouble with glm with a
> negative binomial family.
>
> In my first data set, 55% of the 3000 cases have a zero count, and the
> non-zero counts range from 94 to 145,781.
> Eventually, I want to run bic.glm, so I need to be able to use glm(family=
> neg.bin(theta)). But first I ran glm.nb to get an estimate of theta:
>
>> hook.nb<- glm.nb(fh, data=hook)
>
> This works fine, with no errors, and summary( hook.nb) produces the
> following:
>
> Call:
> glm.nb(formula = fh, data = hook, init.theta = 0.0938126159640384,
> link = log)
>
> Deviance Residuals:
> Min 1Q Median 3Q Max
> -1.45830 -1.16385 -1.01820 0.00535 2.86513
>
> <snip>
>
> Theta: 0.09381
> Std. Err.: 0.00299
>
> 2 x log-likelihood: -23750.45300
>
> Then I tried to use this estimate of theta to specify a glm of the negative
> binomial family but got the following error:
>
>> hook.fam<-glm(fh, data=hook, family=neg.bin(0.09381))
> Error: NA/NaN/Inf in foreign function call (arg 1)
> In addition: Warning message:
> step size truncated due to divergence
>
> When I change theta to be 1 or more, the glm converges (as does bic.glm), so
> I thought maybe the estimate of theta was wrong. But when I ran a negative
> binomial regression in Stata, I got the same theta. (theta = 1/alpha =
> 1/10.65954 = .09381268)
>
>
> In my second set of data, 75% of the cases have zero counts, and the
> non-zero cases range from 94 - 16,688. In this case, I get errors when I run
> the glm.nb:
>
>> asc.nb<-glm.nb (fa, data=asc)
> There were 26 warnings (use warnings() to see them)
>> warnings()
> Warning messages:
> 1: algorithm did not converge in: glm.fitter(x = X, y = Y, w = w, etastart =
> eta, offset = offset, ...
> <exactly the same message in 2-24>
> 25: algorithm did not converge in: glm.fitter(x = X, y = Y, w = w, etastart
> = eta, offset = offset, ...
> 26: alternation limit reached in: glm.nb(fa, data = asc)
>
> Despite these errors, I do get output:
>
> Call:
> glm.nb(formula = fa, data = asc, init.theta = 0.030379484707051,
> link = log)
>
> Deviance Residuals:
> Min 1Q Median 3Q Max
> - 0.949 -0.787 -0.745 -0.645 2.576
>
> <snip>
> Theta: 0.03038
> Std. Err.: 0.00125
> Warning while fitting theta: alternation limit reached
>
> 2 x log-likelihood: -15743.70600
>
> Again, this estimate of theta agrees with pretty well with Stata's estimate
> (theta = 1/alpha = 1/32.45225 = .03081451). But the glm with negative
> binomial family specification gave the same error as above:
>
>> asc.fam<-glm(fa, data=asc, family=neg.bin(0.0304))
> Error: NA/NaN/Inf in foreign function call (arg 1)
> In addition: Warning message:
> step size truncated due to divergence
>
> Everything runs smoothly when theta is 1 or more, so I don't think anything
> is wrong with my data (which has no missings and all real numbers). I think
> the problem must be with theta or with my specification of it. I have the
> Venables and Ripley book, and am able to run glm(family=negative binomial(
> 0.03)) and bic.glm(glm.family=negative.binomial(0.03)) on the quine data
> that comes with MASS. I have looked in the R-help archives and googled, but
> have not found much besides a few old bug reports (which have been fixed) to
> help me figure out why one of the glm.nb algorithms did not converge and why
> both of the glm(family=neg.bin()) calls throw errors. Any ideas?
>
> Thanks,
> Elizabeth
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Sat Jun 10 02:48:43 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sun 11 Jun 2006 - 05:34:58 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.