Package 'vMF'

Title: Sampling from the von Mises-Fisher Distribution
Description: Provides fast sampling from von Mises-Fisher distribution using the method proposed by Andrew T.A Wood (1994) <doi:10.1080/03610919408813161>.
Authors: Aristide Houndetoungan [cre, aut]
Maintainer: Aristide Houndetoungan <[email protected]>
License: GPL-3
Version: 0.0.2
Built: 2024-11-07 04:27:39 UTC
Source: https://github.com/ahoundetoungan/vmf

Help Index


Normalization constant of von Mises - Fisher distribution.

Description

CpvMF returns the normalization constant of von Mises - Fisher density.

Usage

CpvMF(p, k)

Arguments

p

as sphere dimension.

k

as the intensity parameter.

Details

The probability density function of the von Mises - Fisher distribution is defined by :

f(ztheta)=Cp(theta)exp(ztheta)f(z|theta) = C_p(|theta|)\exp{(z theta)}

theta|theta| is the intensity parameter and thetatheta\frac{theta}{|theta|} the mean directional parameter. The normalization constant Cp()C_p() depends on the Bessel function of the first kind. See more details here.

Value

the normalization constant.

References

Wood, A. T. (1994). Simulation of the von Mises Fisher distribution. Communications in statistics-simulation and computation, 23(1), 157-164. https://www.tandfonline.com/doi/abs/10.1080/03610919408813161.

Hornik, K., & Grun, B. (2014). movMF: An R package for fitting mixtures of von Mises-Fisher distributions. Journal of Statistical Software, 58(10), 1-31. https://epub.wu.ac.at/4893/.

See Also

rvMF and dvMF

Examples

CpvMF(2,3.1)

PDF of the von Mises - Fisher distribution.

Description

dvMF computes the density of the von Mises - Fisher distribution, given a set of spherical coordinates and the distribution parameters.

Usage

dvMF(z, theta)

Arguments

z

as the set of points at which the spherical coordinate will be evaluated. z may be an one row matrix or vector if it contain one spherical coordinates or a matrix whose each row is one spherical coordinates.

theta

as the distribution parameter.

Details

The probability density function of the von Mises - Fisher distribution is defined by :

f(ztheta)=Cp(theta)exp(ztheta)f(z|theta) = C_p(|theta|)\exp{(z theta)}

theta|theta| is the intensity parameter and thetatheta\frac{theta}{|theta|} the mean directional parameter. The normalization constant Cp()C_p() depends on the Bessel function of the first kind. See more details here.

Value

the densities computed at each point

Author(s)

Aristide Houndetoungan <[email protected]>

References

Wood, A. T. (1994). Simulation of the von Mises Fisher distribution. Communications in statistics-simulation and computation, 23(1), 157-164. https://www.tandfonline.com/doi/abs/10.1080/03610919408813161.

Hornik, K., & Grun, B. (2014). movMF: An R package for fitting mixtures of von Mises-Fisher distributions. Journal of Statistical Software, 58(10), 1-31. https://epub.wu.ac.at/4893/.

See Also

rvMF and CpvMF

Examples

{}
# Draw 1000 vectors from vM-F with parameter 1, (1,0)
z <- rvMF(1000,c(1,0))

# Compute the density at these points
dvMF(z,c(1,0))

# Density of (0,1,0,0) with the parameter 3, (0,1,0,0)
dvMF(c(0,1,0,0),c(0,3,0,0))

Sample from von Mises - Fisher distribution.

Description

rvMF returns random draws from von Mises - Fisher distribution.

Usage

rvMF(size, theta)

Arguments

size

as the number of draws needed.

theta

as the distribution parameter.

Details

The parameter theta is such that dim(theta)dim(theta) is the sphere dimension, theta|theta| the intensity parameter and thetatheta\frac{theta}{|theta|} the mean directional parameter.

Value

A matrix whose each row is a random draw from the distribution.

References

Wood, A. T. (1994). Simulation of the von Mises Fisher distribution. Communications in statistics-simulation and computation, 23(1), 157-164. https://www.tandfonline.com/doi/abs/10.1080/03610919408813161.

Hornik, K., & Grun, B. (2014). movMF: An R package for fitting mixtures of von Mises-Fisher distributions. Journal of Statistical Software, 58(10), 1-31. https://epub.wu.ac.at/4893/.

Examples

# Draw 1000 vectors from vM-F with parameter 1, (1,0)
rvMF(1000,c(1,0))

# Draw 10 vectors from vM-F with parameter sqrt(14), (2,1,3)
rvMF(10,c(2,1,3))

# Draw from the vMF distribution with mean direction proportional 
# to c(1, -1) and concentration parameter 3
rvMF(10, 3 * c(1, -1) / sqrt(2))