Learn R Programming

Directional (version 7.0)

Simulation of random values from some circular distributions: Simulation of random values from some circular distributions

Description

Simulation of random values from some circular distributions.

Usage

rvonmises(n, m, k, rads = TRUE)
rwrapcauchy(n, m, rho, rads = TRUE)
rspml(n, mu, rads = TRUE)
rcircbeta(n, m, a, b, rads = TRUE)
rcircpurka(n, m, a, rads = TRUE)
rcircexp(n, lambda, rads = TRUE)
rcipc(n, mu = NULL, omega, g, rads = TRUE)
rgcpc(n, mu = NULL, omega, g, rho, rads = TRUE)

Value

A vector with the simulated data.

Arguments

n

The sample size.

m

The mean angle expressed in radians or degrees.

mu

The mean vector of the SPML, CIPC and GCPC in \(R^2\). For the CIPC and GCPC, if this argument is not given, then the omega and g must be given.

omega

The location parameter for the CIPC and the GCPC expressed in radians or degrees.

k

The concentration parameter of the von Mises distribution. If k is zero the sample will be generated from the uniform distribution over \((0, 2\pi)\).

g

The norm of the mean vector for the CIPC and GCPC, if omega is given instead of mu.

rho

For the wrapped Cauchy distribution, this is the \(\rho\) parameter. For the GCPC distribution this is the eigenvalue parameter, or covariance determinant.

a

The \(\alpha\) parameter of the beta distribution.

b

The \(\beta\) parameter of the beta distribution.

lambda

The \(\lambda\) parameter of the circular (wrapped) exponential distribution.

rads

If the mean angle is expressed in radians, this should be TRUE and FALSE otherwise. The simulated data will be expressed in radians or degrees depending on what the mean angle is expressed.

Author

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr and Giorgos Athineou <gioathineou@gmail.com>.

Details

For the von Mises distribution, the mean direction is transformed to the Euclidean coordinates (i.e. unit vector) and then the rvmf function is employed. It uses a rejection smapling as suggested by Andrew Wood in 1994. We have mentioned the description of the algorithm as we found it in Dhillon and Sra in 2003. Finally, the data are transformed to radians or degrees.

For the wrapped Cauchy and wrapped exponential distributions the function generates Cauchy or exponential values \(x\) and then wrapps them around the circle \(x = x(mod 2 \pi)\). For the circular beta the function has some extra steps (see Zheng Sun's master thesis).

For the CIPC and GCPC distributions, data are generated from the bivariate Cauchy distribution, normalized to have unit norm and then transformed to angles.

References

Wood A.T.A. (1994). Simulation of the von Mises Fisher distribution. Communications in Statistics-Simulation and Computation, 23(1): 157-164.

Dhillon I.S. and Sra S. (2003). Modeling data using directional distributions. Technical Report TR-03-06, Department of Computer Sciences, The University of Texas at Austin. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.4122&rep=rep1&type=pdf

Zheng Sun (2006). Comparing measures of fit for circular distributions. Master thesis, University of Victoria. https://dspace.library.uvic.ca/bitstream/handle/1828/2698/zhengsun_master_thesis.pdf;sequence=1

Lai M. (1994). Some results in the statistical analysis of directional data. Master thesis, University of Hong Kong.

Presnell B., Morrison S.P. and Littell R.C. (1998). Projected multivariate linear models for directional data. Journal of the American Statistical Association, 93(443): 1068--1077.

Purkayastha S. (1991). A Rotationally Symmetric Directional Distribution: Obtained through Maximum Likelihood Characterization. The Indian Journal of Statistics, Series A, 53(1): 70--83

Jammalamadaka S.R. and Kozubowski T.J. (2003). A new family of circular models: The wrapped Laplace distributions. Advances and Applications in Statistics, 3(1): 77--103.

See Also

circ.summary, rvmf, racg

Examples

Run this code
x <- rvonmises(100, 2, 25, rads = TRUE)
circ.summary(x, rads = TRUE)

Run the code above in your browser using DataLab