View source: R/family.aunivariate.R
zetaff | R Documentation |
Estimates the parameter of the zeta distribution.
zetaff(lshape = "loglink", ishape = NULL, gshape = 1 + exp(-seq(7)),
zero = NULL)
lshape , ishape , zero |
These arguments apply to the (positive) parameter |
gshape |
See |
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.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
The zeta
function may be used to compute values
of the zeta function.
T. W. Yee
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, FL, USA: Chapman & Hall/CRC Press.
zeta
,
Zeta
,
gaitdzeta
,
oazeta
,
oizeta
,
otzeta
,
diffzeta
,
hzeta
,
zipf
.
zdata <- data.frame(y = 1:5, w = c(63, 14, 5, 1, 2)) # Knight, p.304
fit <- vglm(y ~ 1, zetaff, data = zdata, trace = TRUE, weight = w, crit = "c")
(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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.