Learn R Programming

circular (version 0.5-1)

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)

Value

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

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.

Author

Federico Rotolo

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
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