Learn R Programming

VGAM (version 0.9-0)

zetaff: Zeta Distribution Family Function

Description

Estimates the parameter of the zeta distribution.

Usage

zetaff(link = "loge", init.p = NULL, zero = NULL)

Arguments

link, init.p, zero
See CommonVGAMffArguments for more information. These arguments apply to the (positive) parameter $p$. See Links for more choices. Choosing

Value

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

Details

In this long tailed distribution the response must be a positive integer. The probability function for a response $Y$ is $$P(Y=y) = 1/[y^{p+1} \zeta(p+1)],\ \ \ p>0,\ \ \ y=1,2,...$$ where $\zeta$ is Riemann's zeta function. The parameter $p$ is positive, therefore a log link is the default. The mean of $Y$ is $\mu = \zeta(p) / \zeta(p+1)$ (provided $p>1$) and these are the fitted values. The variance of $Y$ is $\zeta(p-1) / \zeta(p+1) - \mu^2$ provided $p>2$.

It appears that good initial values are needed for successful convergence. If convergence is not obtained, try several values ranging from values near 0 to values about 10 or more.

Multiple responses are handled.

References

pp.527-- of Chapter 11 of Johnson N. L., Kemp, A. W. and Kotz S. (2005) Univariate Discrete Distributions, 3rd edition, Hoboken, New Jersey: Wiley.

Knight, K. (2000) Mathematical Statistics. Boca Raton: Chapman & Hall/CRC Press.

See Also

zeta, dzeta, hzeta, zipf.

Examples

Run this code
zdata <- data.frame(y = 1:5, w =  c(63, 14, 5, 1, 2)) # Knight, p.304
fit <- vglm(y ~ 1, zetaff, zdata, trace = TRUE, weight = w, crit = "coef")
(phat <- Coef(fit)) # 1.682557
with(zdata, cbind(round(dzeta(y, phat) * sum(w), 1), w))

with(zdata, weighted.mean(y, w))
fitted(fit, matrix = FALSE)
predict(fit)

# The following should be zero at the MLE:
with(zdata, mean(log(rep(y, w))) + zeta(1+phat, deriv = 1) / zeta(1+phat))

Run the code above in your browser using DataLab