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 and
scale
parameter has amplitude density given by
.
Where
is a modified Bessel function of the second kind.
For
, the K-distrubution tends to a Rayleigh
distribution, and for
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. very small or
very large.
The cumulative distribution function for
the amplitude,
is given by
.
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
th moments are given by
, so that the root mean square
value of x is the
scale
factor, .
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))