Learn R Programming

VGAM (version 0.9-1)

tikuv: Short-tailed Symmetric Distribution Family Function

Description

Fits the short-tailed symmetric distribution of Tiku and Vaughan (1999).

Usage

tikuv(d, lmean = "identity", lsigma = "loge",
      isigma = NULL, zero = 2)

Arguments

d
The $d$ parameter. It must be a single numeric value less than 2. Then $h = 2-d>0$ is another parameter.
lmean, lsigma
Link functions for the mean and standard deviation parameters of the usual univariate normal distribution (see Details below). They are $\mu$ and $\sigma$ respectively. See Links for more choic
isigma
Optional initial value for $\sigma$. A NULL means a value is computed internally.
zero
An integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The values must be from the set {1,2} corresponding respectively to $\mu$, $\sigma$. If zero = NULL then all linear/additive predict

Value

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

Warning

Under- or over-flow may occur if the data is ill-conditioned, e.g., when $d$ is very close to 2 or approaches -Inf.

Details

The short-tailed symmetric distribution of Tiku and Vaughan (1999) has a probability density function that can be written $$f(y) = \frac{K}{\sqrt{2\pi} \sigma} \left[ 1 + \frac{1}{2h} \left( \frac{y-\mu}{\sigma} \right)^2 \right]^2 \exp\left( -\frac12 (y-\mu)^2 / \sigma^2 \right)$$ where $h=2-d>0$, $K$ is a function of $h$, $-\infty < y < \infty$, $\sigma > 0$. The mean of $Y$ is $E(Y) = \mu$ and this is returned as the fitted values.

References

Akkaya, A. D. and Tiku, M. L. (2008) Short-tailed distributions and inliers. Test, 17, 282--296.

Tiku, M. L. and Vaughan, D. C. (1999) A family of short-tailed symmetric distributions. Technical report, McMaster University, Canada.

See Also

dtikuv, normal1.

Examples

Run this code
m <- 1.0; sigma <- exp(0.5)
tdata <- data.frame(y = rtikuv(n = 1000, d = 1, m = m, s = sigma))
tdata <- transform(tdata, sy = sort(y))
fit <- vglm(y ~ 1, tikuv(d = 1), data = tdata, trace = TRUE)
coef(fit, matrix = TRUE)
(Cfit <- Coef(fit))
with(tdata, mean(y))
with(tdata, hist(y, prob = TRUE))
lines(dtikuv(sy, d = 1, m = Cfit[1], s = Cfit[2]) ~ sy, tdata, col = "orange")

Run the code above in your browser using DataLab