Learn R Programming

VGAM (version 0.8-1)

erlang: Erlang Distribution

Description

Estimates the scale parameter of the Erlang distribution by maximum likelihood estimation.

Usage

erlang(shape.arg, link = "loge", earg=list(), method.init = 1)

Arguments

shape.arg
The shape parameter. The user must specify a positive integer.
link
Link function applied to the (positive) $scale$ parameter. See Links for more choices.
earg
List. Extra argument for the link. See earg in Links for general information.
method.init
An integer with value 1 or 2 which specifies the initialization method. If failure to converge occurs try the other value.

Value

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

Details

The Erlang distribution is a special case of the gamma distribution with shape that is a positive integer. If shape.arg=1 then it simplifies to the exponential distribution. As illustrated in the example below, the Erlang distribution is the distribution of the sum of shape.arg independent and identically distributed exponential random variates.

The probability density function of the Erlang distribution is given by $$f(y) = \exp(-y/scale) y^{shape-1} scale^{-shape} / \Gamma(shape)$$ for known positive integer $shape$, unknown $scale > 0$ and $y > 0$. Here, $\Gamma(shape)$ is the gamma function, as in gamma. The mean of Y is $\mu=shape \times scale$ and its variance is $shape \times scale^2$. The linear/additive predictor, by default, is $\eta=\log(scale)$.

References

Most standard texts on statistical distributions describe this distribution, e.g.,

Evans, M., Hastings, N. and Peacock, B. (2000) Statistical Distributions, New York: Wiley-Interscience, Third edition.

See Also

gamma2.ab, exponential.

Examples

Run this code
rate = exp(2); myshape = 3
edata = data.frame(y = rep(0, nn <- 1000))
for(ii in 1:myshape)
    edata = transform(edata, y = y + rexp(nn, rate = rate))
fit = vglm(y ~ 1, erlang(shape = myshape), edata, trace = TRUE) 
coef(fit, matrix = TRUE)
Coef(fit) # Answer = 1/rate
1/rate
summary(fit)

Run the code above in your browser using DataLab