Fisher | R Documentation |
Density, distribution function and random generation for the matrix-Fisher distribution with concentration kappa
κ.
dfisher(r, kappa = 1, nu = NULL, Haar = TRUE) pfisher(q, kappa = 1, nu = NULL, lower.tail = TRUE) rfisher(n, kappa = 1, nu = NULL)
r, q |
vector of quantiles. |
kappa |
concentration parameter. |
nu |
circular variance, can be used in place of |
Haar |
logical; if TRUE density is evaluated with respect to the Haar measure. |
lower.tail |
logical; if TRUE (default), probabilities are P(X ≤ x) otherwise, P(X > x). |
n |
number of observations. If |
The matrix-Fisher distribution with concentration κ has density
C(r|κ)=exp[2κ cos(r)][1-cos(r)]/(2π[I0(2κ)-I1(2κ)])
with respect to Lebesgue measure where Ip() denotes the Bessel function of order p defined as
Ip(κ). If kappa>354
then random deviates
are generated from the Cayley
distribution because they agree closely for large kappa
and generation is
more stable from the Cayley distribution.
For large κ, the Bessel functon gives errors so a large κ approximation to the matrix-Fisher distribution is used instead, which is the Maxwell-Boltzmann density.
dfisher |
gives the density |
pfisher |
gives the distribution function |
rfisher |
generates random deviates |
Angular-distributions for other distributions in the rotations package.
r <- seq(-pi, pi, length = 500) #Visualize the matrix Fisher density fucntion with respect to the Haar measure plot(r, dfisher(r, kappa = 10), type = "l", ylab = "f(r)") #Visualize the matrix Fisher density fucntion with respect to the Lebesgue measure plot(r, dfisher(r, kappa = 10, Haar = FALSE), type = "l", ylab = "f(r)") #Plot the matrix Fisher CDF plot(r,pfisher(r,kappa = 10), type = "l", ylab = "F(r)") #Generate random observations from matrix Fisher distribution rs <- rfisher(20, kappa = 1) hist(rs, breaks = 10)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.