Learn R Programming

Directional (version 7.0)

Simulation of random values from a Bingham distribution: Simulating from a Bingham distribution

Description

It simulates from a Bingham distribution using the code suggested by Kent et al. (2013).

Usage

f.rbing(n, lam, fast = FALSE)

Value

A list including:

X

The simulated data.

avtry

The estimate of M in the rejection sampling. The average number of simulated values before a value is accepted. If the argument fast is set to TRUE this information will not appear.

Arguments

n

Sample size.

lam

Eigenvalues of the diagonal symmetric matrix of the Bingham distribution.

fast

If you want a fast, efficient simulation set this to TRUE.

Author

Michail Tsagris.

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

Details

The user must have calculated the eigenvalues of the diagonal symmetric matrix of the Bingham distribution. The function accepts the q-1 eigenvalues only. This means, that the user must have subtracted the lowest eigenvalue from the rest and give the non zero ones. The function uses rejection sampling and it was written by Chris Fallaize and Theo Kypraios (University of Nottingham) and kindly offered. Any questions on the code can be addressed to one of the two aforementioned people. It is slightly different than the one Kent et al. (2013) suggests.

References

Kent J. T., Ganeiber A. M. and Mardia K. V. (2018). A new unified approach for the simulation of a wide class of directional distributions. Journal of Computational and Graphical Statistics, 27(2): 291--301.

Kent J.T., Ganeiber A.M. and Mardia K.V. (2013). A new method to simulate the Bingham and related distributions in directional data analysis with applications. http://arxiv.org/pdf/1310.8110v1.pdf

Fallaize C. J. and Kypraios T. (2016). Exact bayesian inference for the Bingham distribution. Statistics and Computing, 26(1): 349--360. http://arxiv.org/pdf/1401.2894v1.pdf

See Also

rfb, rvmf, rbingham, rkent, link{rsop}

Examples

Run this code
x <- f.rbing( 100, c(1, 0.6, 0.1) )
x

Run the code above in your browser using DataLab