# quasi-likelihood in glm (PR#284)

**ripley@stats.ox.ac.uk
**
ripley@stats.ox.ac.uk

*Wed, 22 Sep 1999 12:38:29 +0200 (MET DST)*

On Wed, 22 Sep 1999 plummer@iarc.fr wrote:
>* I have been using quasi-likelihood to analyze some overdispersed lesion
*>* count data which requires the variance function "mu^2" (specifically,
*>* I am using glm with the family quasi(var="mu^2", link="log")). Some of
*>* the counts are zero which led to problems fitting the model in R.
*>*
*>* 1) glm was unable to find starting values
*>* 2) after I supplied initial values from the fit of a Poisson
*>* model, glm could not proceed because the deviance was infinite.
*>*
*>* Splus 5.0 had no problems fitting the model. I was able to
*>* reproduce the Splus results by editing the quasi() family
*>* generator and using the unnormalized quasi-likelihood
*>*
*>* - log(mu) - y/mu (*)
*>*
*>* in place of the normalized version
*>*
*>* log(y/mu) - (y - mu)/mu (**)
*>*
*>* Further investigation of Splus shows how it overcomes these
*>* two problems
*>* 1) A fudge factor (in this case 0.167) is added to zero observations
*>* so that they can be used as starting values.
*>* 2) The contribution to the deviance is (*) for zero observations
*>* and (**) for the rest.
*>*
*>* I suggest that R also uses this approach for quasi-likelihood
*>* models.
*
That is not quite what S-PLUS 5.1 and 2000 have: replace
(*) by
-log(mu) - (y - mu)/mu
That is, the formula is
-log(mu) - (y - mu)/mu + log(y)I(y > 0)
Note that earlier versions of S-PLUS (e.g. 3.4) are plain wrong (and as
I found the bug I know what the replacment is).
Unless there are any objections I will put these fixes in.
--
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 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._