k {kdist} | R Documentation |
The K-distribution.
Description
Density, distribution function, quantile function and random generation for
the K-distribution with parameters shape
and scale
.
Usage
dk(x, shape = 1, scale = 1, intensity = FALSE, log = FALSE)
pk(q, shape = 1, scale = 1, intensity = FALSE, log.p = FALSE,
lower.tail = TRUE)
qk(p, shape = 1, scale = 1, intensity = FALSE, log.p = FALSE)
rk(n, shape = 1, scale = 1, intensity = FALSE)
Arguments
x , q |
vector of quantiles |
shape , scale |
shape and scale parameters both defaulting to 1. |
intensity |
logical; if TRUE, quantiles are intensities not amplitudes. |
log , log.p |
logical; if TRUE, probabilities p are given as log(p). |
lower.tail |
logical; if TRUE (default), probabilities are P[X = x], otherwise, P[X > x]. |
p |
vector of probabilities |
n |
number of observations |
Details
The K-distribution with shape
parameter \nu
and
scale
parameter b
has amplitude density given by
f(x) = [4 x^\nu / \Gamma(\nu)]
[(\nu / b)^(1+\nu/2)]
K(2 x \sqrt(\nu/b),\nu-1)
.
Where K
is a modified Bessel function of the second kind.
For \nu -> Inf
, the K-distrubution tends to a Rayleigh
distribution, and for \nu = 1
it is the Exponential
distribution.
The function base::besselK
is used in the calculation, and
care should be taken with large input arguements to this function,
e.g. b
very small or x, \nu
very large.
The cumulative distribution function for
the amplitude, x
is given by
F(x) = 1 - 2 x^\nu (\nu/b)^(\nu/2) K(2 x \sqrt(\nu/b), \nu)
.
The K-Distribution is a compound distribution, with Rayleigh
distributed amplitudes (exponential intensities) modulated by another
underlying process whose amplitude is chi-distributed and whose
intensity is Gamma distributed. An Exponential distributed number
multiplied by a Gamma distributed random number is used to
generate the random variates.
The m
th moments are given by \mu_m = (b/\nu)^(m/2) \Gamma(0.5m + 1)
\Gamma(0.5m + \nu) / \Gamma(\nu)
, so that the root mean square
value of x is the scale
factor, <x^2> = b
.
Value
The function dk
gives the density, pk
gives the distribution
function, qk
gives the quantile function, and rk
generates random variates.
References
E Jakeman and R J A Tough, "Non-Gaussian models for the statistics of scattered waves", Adv. Phys., 1988, vol. 37, No. 5, pp471-529
See Also
Distributions
for other standard distributions, including dweibull
for the Weibull
distribution and dexp
for the exponential distribution.
Examples
#=====
r <- rk(10000, shape = 3, scale = 5, intensity = FALSE)
fn <- stats::ecdf(r)
x <- seq(0, 10, length = 100)
plot(x, fn(x))
lines(x, pk(x, shape = 3, scale = 5, intensity = FALSE))
#======
r <- rk(10000, shape = 3, scale = 5, intensity = FALSE)
d <- density(r)
x <- seq(0, 10, length = 100)
plot(d, xlim=c(0,10))
lines(x, dk(x, shape = 3, scale = 5, intensity = FALSE))