Learn R Programming

VGAM (version 0.8-7)

kumar: Kumaraswamy Distribution Family Function

Description

Estimates the two parameters of the Kumaraswamy distribution by maximum likelihood estimation.

Usage

kumar(lshape1 = "loge", lshape2 = "loge",
      eshape1 = list(), eshape2 = list(),
      ishape1 = NULL,   ishape2 = NULL, grid.shape1 = c(0.4, 6.0),
      tol12 = 1.0e-4, zero = NULL)

Arguments

lshape1, lshape2
Link function for the two positive shape parameters, respectively, called $a$ and $b$ below. See Links for more choices.
eshape1, eshape2
List. Extra argument for each of the links. See earg in Links for general information.
ishape1, ishape2
Numeric. Optional initial values for the two positive shape parameters.
tol12
Numeric and positive. Tolerance for testing whether the second shape parameter is either 1 or 2. If so then the working weights need to handle these singularities.
grid.shape1
Lower and upper limits for a grid search for the first shape parameter.

Value

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

Details

The Kumaraswamy distribution has density function $$f(y;a = shape1,b = shape2) = a b y^{a-1} (1-y^{a})^{b-1}$$ where $0 < y < 1$ and the two shape parameters, $a$ and $b$, are positive. The mean is $b \times Beta(1+1/a,b)$ (returned as the fitted values) and the variance is $b \times Beta(1+2/a,b) - (b \times Beta(1+1/a,b))^2$. Applications of the Kumaraswamy distribution include the storage volume of a water reservoir. Fisher scoring is implemented.

References

Kumaraswamy, P. (1980). A generalized probability density function for double-bounded random processes. Journal of Hydrology, 46, 79--88.

Jones, M. C. (2009). Kumaraswamy's distribution: A beta-type distribution with some tractability advantages. Statistical Methodology, 6, 70--81.

See Also

dkumar, betaff.

Examples

Run this code
shape1 <- exp(1); shape2 <- exp(2);
kdata <- data.frame(y = rkumar(n = 1000, shape1, shape2))
fit <- vglm(y ~ 1, kumar, kdata, trace = TRUE)
c(with(kdata, mean(y)), head(fitted(fit), 1))
coef(fit, matrix = TRUE)
Coef(fit)
summary(fit)

Run the code above in your browser using DataLab