Learn R Programming

VGAM (version 1.1-9)

yulesimon: Yule-Simon Family Function

Description

Estimating the shape parameter of the Yule-Simon distribution.

Usage

yulesimon(lshape = "loglink", ishape = NULL, nsimEIM = 200,
          zero = NULL)

Value

An object of class "vglmff"

(see vglmff-class). The object is used by modelling functions such as vglm

and vgam.

Arguments

lshape

Link function for the shape parameter, called \(\rho\) below. See Links for more choices and for general information.

ishape

Optional initial value for the (positive) parameter. See CommonVGAMffArguments for more information. The default is to obtain an initial value internally. Use this argument if the default fails.

nsimEIM, zero

See CommonVGAMffArguments for more information.

Author

T. W. Yee

Details

The probability function is $$f(y;\rho) = \rho*beta(y,\rho+1),$$ where the parameter \(\rho>0\), \(beta\) is the beta function, and \(y=1,2,\ldots\). The function dyules computes this probability function. The mean of \(Y\), which is returned as fitted values, is \(\rho/(\rho-1)\) provided \(\rho > 1\). The variance of \(Y\) is \(\rho^2/((\rho-1)^2 (\rho-2))\) provided \(\rho > 2\).

The distribution was named after Udny Yule and Herbert A. Simon. Simon originally called it the Yule distribution. This family function can handle multiple responses.

References

Simon, H. A. (1955). On a class of skew distribution functions. Biometrika, 42, 425--440.

See Also

ryules, simulate.vlm.

Examples

Run this code
ydata <- data.frame(x2 = runif(nn <- 1000))
ydata <- transform(ydata, y = ryules(nn, shape = exp(1.5 - x2)))
with(ydata, table(y))
fit <- vglm(y ~ x2, yulesimon, data = ydata, trace = TRUE)
coef(fit, matrix = TRUE)
summary(fit)

Run the code above in your browser using DataLab