invchisquaredUC: The Inverse Chi-squared Distribution In VGAMextra: Additions and Extensions of the 'VGAM' Package

 inv.chisqDist R Documentation

The Inverse Chi–squared Distribution

Description

Density, CDF, quantile function and random number generator for the Inverse Chi–squared distribution.

Usage

    dinv.chisq(x, df, log = FALSE)
pinv.chisq(q, df, lower.tail = TRUE, log.p = FALSE)
qinv.chisq(p, df, lower.tail = TRUE, log.p = FALSE)
rinv.chisq(n, df)



Arguments

 x, q, p, n Same as Chisquare. df, lower.tail, log, log.p Same as Chisquare.

Details

The inverse chi–squared distribution with non–negative df = \nu degrees of freedom implemented here has density

f(x; \nu) = \frac{ 2^{-\nu / 2} x^{-\nu/2 - 1} e^{-1 / (2x)} }{ \Gamma(\nu / 2) }, 

where x > 0, and \Gamma is the gamma function.

The mean is 1 / (\nu - 2), for \nu > 2, and the variance is given by 2 / [(\nu - 2)^2 (\nu - 4)], for \nu > 4.

Also, as with Chisquare, the degrees of freedom can be non–integer.

Value

dinv.chisq returns the density, pinv.chisq returns the distribution function, qinv.chisq gives the quantiles, and rinv.chisq generates random numbers from this distribution.

Source

Specifically, it is the probability distribution of a random variable whose reciprocal follows a chi–squared distribution, i.e.,

If Y \sim chi–squared(\nu), then 1/Y \sim Inverse chi–squared(\nu).

As a result, dinv.chisq, pinv.chisq, qinv.chisq and rinv.chisq use the functions Chisquare as a basis. Hence, invalid arguments will lead these functions to return NA or NaN accordingly.

Note

Yet to do: A non–central parameter as an argument, if amenable.

Two similar versions of the Inverse chi–squared distribution with \nu degrees of freedom may be found in the literature, as follows:

Let Y \sim chi–squared(\nu), then

I. 1 / Y \sim Inverse chi–squared(\nu), and II.  \nu / Y \sim Inverse chi–squared(\nu).

Here, the former, which is the popular version, has been implemented.

V. Miranda

References

Johnson, N.L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions. Chapters 18 (volume 1) and 29 (volume 2). Wiley, New York.

Chisquare, gamma.

Examples


##  Example 1  ##
nn <- 50; df <- 1.4
data.1   <- ppoints(nn)
data.q   <- qinv.chisq(-data.1, df = df, log.p = TRUE)
data.p   <- -log(pinv.chisq(data.q, df = df))
max(abs(data.p - data.1))     # Should be zero

##  Example 2  ##

xx    <- seq(0, 3.0, len = 301)
yy    <- dinv.chisq(xx, df = df)
qtl   <- seq(0.1, 0.9, by = 0.1)
d.qtl <- qinv.chisq(qtl, df = df)
plot(xx, yy, type = "l", col = "orange",
main = "Orange is density, blue is cumulative distribution function",
sub  = "Brown dashed lines represent the 10th, ... 90th percentiles",
las = 1, xlab = "x", ylab = "", ylim = c(0, 1))
abline(h = 0, col= "navy", lty = 2)
lines(xx, pinv.chisq(xx, df = df), col = "blue")
lines(d.qtl, dinv.chisq(d.qtl, df = df), type ="h", col = "brown", lty = 3)



VGAMextra documentation built on Nov. 2, 2023, 5:59 p.m.