R: Beta-geometric Distribution Family Function

betageometric {VGAM} | R Documentation

## Beta-geometric Distribution Family Function

### Description

Maximum likelihood estimation for the beta-geometric distribution.

### Usage

    betageometric(lprob = "logit", lshape = "loge",
                  iprob = NULL,    ishape = 0.1,
                  moreSummation = c(2, 100), tolerance = 1.0e-10, zero = NULL)

### Arguments

`lprob, lshape` | Parameter link functions applied to the parameters prob and phi (called `prob` and `shape` below). The former lies in the unit interval and the latter is positive. See `Links` for more choices.
`iprob, ishape` | Numeric. Initial values for the two parameters. A `NULL` means a value is computed internally.
`moreSummation` | Integer, of length 2. When computing the expected information matrix a series summation from 0 to `moreSummation[1]*max(y)+moreSummation[2]` is made, in which the upper limit is an approximation to infinity. Here, `y` is the response.
`tolerance` | Positive numeric. When all terms are less than this then the series is deemed to have converged.
`zero` | An integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. If used, the value must be from the set {1,2}.

### Details

A random variable Y has a 2-parameter beta-geometric distribution if P(Y=y) = prob * (1-prob)^y for y=0,1,2,... where prob are generated from a standard beta distribution with shape parameters `shape1` and `shape2`. The parameterization here is to focus on the parameters prob and phi = 1/(shape1+shape2), where phi is `shape`. The default link functions for these ensure that the appropriate range of the parameters is maintained. The mean of Y is E(Y) = shape2 / (shape1-1) = (1-prob) / (prob-phi) if `shape1 > 1`, and if so, then this is returned as the fitted values.

The geometric distribution is a special case of the beta-geometric distribution with phi=0 (see `geometric`). However, fitting data from a geometric distribution may result in numerical problems because the estimate of log(phi) will 'converge' to `-Inf`.

### Value

An object of class `"vglmff"` (see `vglmff-class`). The object is used by modelling functions such as `vglm`, and `vgam`.

### Note

The first iteration may be very slow; if practical, it is best for the `weights` argument of `vglm` etc. to be used rather than inputting a very long vector as the response, i.e., `vglm(y ~ 1, ..., weights = wts)` is to be preferred over `vglm(rep(y, wts) ~ 1, ...)`. If convergence problems occur try inputting some values of argument `ishape`.

If an intercept-only model is fitted then the `misc` slot of the fitted object has list components `shape1` and `shape2`.

### Author(s)

T. W. Yee

### References

Paul, S. R. (2005) Testing goodness of fit of the geometric distribution: an application to human fecundability data. Journal of Modern Applied Statistical Methods, 4, 425–433.

### See Also

`geometric`, `betaff`, `rbetageom`.

### Examples

    bdata <- data.frame(y = 0:11, wts = c(227,123,72,42,21,31,11,14,6,4,7,28))
    fitb <- vglm(y ~ 1, betageometric, data = bdata, weight = wts, trace = TRUE)
    fitg <- vglm(y ~ 1,     geometric, data = bdata, weight = wts, trace = TRUE)
    coef(fitb, matrix = TRUE)
    Coef(fitb)
    sqrt(diag(vcov(fitb, untransform = TRUE)))
    fitb@misc$shape1
    fitb@misc$shape2
    # Very strong evidence of a beta-geometric:
    pchisq(2 * (logLik(fitb) - logLik(fitg)), df = 1, lower.tail = FALSE)

[Package VGAM version 1.0-3 Index]