leipnik {VGAM} | R Documentation |
Estimates the two parameters of a (transformed) Leipnik distribution by maximum likelihood estimation.
leipnik(lmu = "logitlink", llambda = logofflink(offset = 1), imu = NULL, ilambda = NULL)
lmu, llambda |
Link function for the mu and lambda parameters.
See |
imu, ilambda |
Numeric. Optional initial values for mu and lambda. |
The (transformed) Leipnik distribution has density function
f(y;mu,lambda) = (y(1-y))^(-1/2) * (1 + (y-mu)^2 / (y*(1-y)))^(-lambda/2) / Beta((lambda+1)/2, 1/2)
where 0 < y < 1 and lambda > -1. The mean is mu (returned as the fitted values) and the variance is 1/lambda.
Jorgensen (1997) calls the above the transformed Leipnik distribution, and if y = (x+1)/2 and mu = (theta+1)/2, then the distribution of X as a function of x and theta is known as the the (untransformed) Leipnik distribution. Here, both x and theta are in (-1, 1).
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
rrvglm
and vgam
.
Convergence may be slow or fail.
Until better initial value estimates are forthcoming try assigning the
argument ilambda
some numerical value if it fails to converge.
Currently, Newton-Raphson is implemented, not Fisher scoring.
Currently, this family function probably only really works for
intercept-only models, i.e., y ~ 1
in the formula.
T. W. Yee
Jorgensen, B. (1997) The Theory of Dispersion Models. London: Chapman & Hall
Johnson, N. L. and Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, 2nd edition, Volume 2, New York: Wiley. (pages 612–617).
ldata <- data.frame(y = rnorm(n = 2000, mean = 0.5, sd = 0.1)) # Not proper data fit <- vglm(y ~ 1, leipnik(ilambda = 1), data = ldata, trace = TRUE) head(fitted(fit)) with(ldata, mean(y)) summary(fit) coef(fit, matrix = TRUE) Coef(fit) sum(weights(fit)) # Sum of the prior weights sum(weights(fit, type = "work")) # Sum of the working weights