gamma.shape               package:MASS               R Documentation

Estimate the Shape Parameter of the Gamma Distribution in a GLM Fit

Description:

     Find the maximum likelihood estimate of the shape parameter of the
     gamma distribution after fitting a 'Gamma' generalized linear
     model.

Usage:

     ## S3 method for class 'glm':
     gamma.shape(object, it.lim = 10,
                 eps.max = .Machine$double.eps^0.25, verbose = FALSE, ...)

Arguments:

  object: Fitted model object from a 'Gamma' family or 'quasi' family
          with 'variance = "mu^2"'. 

  it.lim: Upper limit on the number of iterations. 

 eps.max: Maximum discrepancy between approximations for the iteration
          process to continue. 

 verbose: If 'TRUE', causes successive iterations to be printed out. 
          The initial estimate is taken from the deviance. 

     ...: further arguments passed to or from other methods. 

Details:

     A glm fit for a Gamma family correctly calculates the maximum
     likelihood estimate of the mean parameters but provides only a
     crude estimate of the dispersion parameter.  This function takes
     the results of the glm fit and solves the maximum likelihood
     equation for the reciprocal of the dispersion parameter, which is
     usually called the shape (or exponent) parameter.

Value:

     List of two components

   alpha: the maximum likelihood estimate 

      SE: the approximate standard error, the square-root of the
          reciprocal of the observed information. 

References:

     Venables, W. N. and Ripley, B. D. (2002) _Modern Applied
     Statistics with S._ Fourth edition.  Springer.

See Also:

     'gamma.dispersion'

Examples:

     clotting <- data.frame(
         u = c(5,10,15,20,30,40,60,80,100),
         lot1 = c(118,58,42,35,27,25,21,19,18),
         lot2 = c(69,35,26,21,18,16,13,12,12))
     clot1 <- glm(lot1 ~ log(u), data = clotting, family = Gamma)
     gamma.shape(clot1)
     ## Not run: 
     Alpha: 538.13
        SE: 253.60
     ## End(Not run)
     gm <- glm(Days + 0.1 ~ Age*Eth*Sex*Lrn,
               quasi(link=log, variance="mu^2"), quine,
               start = c(3, rep(0,31)))
     gamma.shape(gm, verbose = TRUE)
     ## Not run: 
     Initial estimate: 1.0603
     Iter.  1  Alpha: 1.23840774338543
     Iter.  2  Alpha: 1.27699745778205
     Iter.  3  Alpha: 1.27834332265501
     Iter.  4  Alpha: 1.27834485787226

     Alpha: 1.27834
        SE: 0.13452
     ## End(Not run)
     summary(gm, dispersion = gamma.dispersion(gm))  # better summary

