circular (version 0.4-93)

KatoJones: Kato and Jones Density Function

Description

Density and random generation for the Kato and Jones distribution.

Usage

rkatojones(n, mu, nu, r, kappa, control.circular=list())
dkatojones(x, mu, nu, r, kappa)

Arguments

x

the angular value the density must be computed in.

n

number of observations.

mu

the Mobius 'mu' parameter. The object is coerced to class circular.

nu

the Mobius 'nu' parameter. The object is coerced to class circular.

r

the Mobius 'r' parameter. It must be in [0,1).

kappa

the positive vonMises parameter.

control.circular

the attribute of the resulting object.

Value

The density. dkatojones gives the density and rkatojones generates random deviates.

Details

The Kato and Jones distribution has density $$ f(x)= \frac{1-r^2}{2\pi\mathcal I_0(\kappa)} \exp\left[ \frac{\kappa\{ \xi\cos(x-\eta)-2r\cos\nu \}} {1+r^2-2r\cos(x -\gamma)} \right]\\ \phantom{\exp[]} \times \frac1{1+r^2-2r\cos(x -\gamma)}, $$ for \(0 \le x < 2\pi\), where \(\gamma=\mu+\nu\), \(\xi=\{r^4+2r^2\cos(2\nu)+1\}^{1/2}\) and \(\eta=\mu+\arg[ r^2\{\cos(2\nu)+i\sin(2\nu)\}+1 ]\).

Original code for random generation is by Kato, S. and Jones, M.C. and can be found at the address http://pubs.amstat.org/doi/suppl/10.1198/jasa.2009.tm08313/suppl_file/t08-313code.txt.

References

Kato , S. and Jones, M.C. (2010). A family of distributions on the circle with links to, and applications arising from, Mobius transformation. J. Am. Statist. Assoc. 105, 249-262.

Examples

Run this code
# NOT RUN {
data1 <- rkatojones(n=100, mu=circular(0), nu=circular(pi/4), r=.2, kappa=1)
plot(data1)

data1 <- rkatojones(n=100, mu=circular(pi/3), nu=circular(pi), r=.7, kappa=2.3)
plot(data1)

ff <- function(x) dkatojones(x, mu=circular(pi/3), nu=circular(pi), r=.7, kappa=2.3)
curve.circular(ff, join=TRUE, xlim=c(-1, 1), ylim=c(-1.2, 1.2),
  main="Density of a KatoJones Distribution",
  xlab=expression(paste(mu,"=",pi,"/3, ",nu,"=",pi,", r=0.7, ",kappa,"=2.3"))
  )
# }

Run the code above in your browser using DataLab