FB {scorematchingad} | R Documentation |
Estimate the Fisher-Bingham Distribution
Description
Estimates parameters for the Fisher-Bingham distribution using score-matching.
Usage
FB(Y, km = NULL, A = NULL)
Arguments
Y |
A matrix of multivariate observations in Cartesian coordinates. Each row is a multivariate measurement (i.e. each row corresponds to an individual). |
km |
Optional. A vector of the same length as the dimension, representing the parameter vector for the von Mises-Fisher component (i.e. the |
A |
Optional. The Bingham matrix. If supplied the non-NA elements of the Bingham matrix are fixed.
The final element of the diagonal of |
Details
The density of the Fisher-Bingham distribution is proportional to
\exp(z^TAz + \kappa\mu^Tz),
where A
is a matrix as in the Bingham distribution, and
\kappa
and \mu
are the concentration and mean direction, respectively, as in the von Mises-Fisher distribution.
Warning: Slow Convergence with Sample Size
Score matching estimates of all elements of A
and \kappa\mu
converge slowly with sample size.
Even with a million simulated measurements,
the gradient of the score matching discrepancy at the true parameters can have size (L2 Euclidean norm) more than 0.001, which is substantially non-zero.
See Also
Other directional model estimators:
Bingham()
,
vMF_robust()
,
vMF()
Examples
p <- 3
A <- rsymmetricmatrix(p, -10, 10)
A[p,p] <- -sum(diag(A)[1:(p-1)]) #to satisfy the trace = 0 constraint
m <- runif(p, -10, 10)
m <- m / sqrt(sum(m^2))
if (requireNamespace("simdd")){
Y <- simdd::rFisherBingham(1000, 2 * m, A)
FB(Y)
}