Learn R Programming

rotations (version 1.5)

MCMCSO3: MCMC for rotation data

Description

Use non-informative Bayesian methods to infer about the central orientation and concentration parameter for a sample of rotations.

Usage

MCMCSO3(x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)
"MCMCSO3" (x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)
"MCMCSO3" (x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)

Arguments

x
$n-by-p$ matrix where each row corresponds to a random rotation in matrix ($p=9$) or quaternion ($p=4$) form.
type
Angular distribution assumed on R. Options are Cayley, Fisher or Mises
S0
initial estimate of central orientation
kappa0
initial estimate of concentration parameter
tuneS
central orientation tuning parameter, concentration of proposal distribution
tuneK
concentration tuning parameter, standard deviation of proposal distribution
burn_in
number of draws to use as burn-in
m
number of draws to keep from posterior distribution

Value

list of
  • S Draws from the posterior distribution for central orientation S
  • kappa Draws from the posterior distribution for concentration parameter kappa
  • Saccept Acceptance rate for central orientation draws
  • Kaccept Acceptance rate for concentration draws

Details

The procedures detailed in Bingham et al. (2009) and Bingham et al. (2010) are implemented to obtain draws from the posterior distribution for the central orientation and concentration parameters for a sample of 3D rotations. A uniform prior on SO(3) is used for the central orientation and the Jeffreys prior determined by type is used for the concentration parameter.

References

Bingham MA, Vardeman SB and Nordman DJ (2009). "Bayes one-sample and one-way random effects analyses for 3-D orientations with application to materials science." Bayesian Analysis, 4(3), pp. 607-629.

Bingham MA, Nordman DJ and Vardeman SB (2010). "Finite-sample investigation of likelihood and Bayes inference for the symmetric von Mises-Fisher distribution." Computational Statistics & Data Analysis, 54(5), pp. 1317-1327.

Examples

Run this code
#Not run due to time constraints
## Not run: 
# Rs <- ruars(20, rvmises, kappa = 10)
# draws <- MCMCSO3(Rs, type = "Fisher", S0 = mean(Rs), kappa0 = 10, tuneS = 5000,
#                  tuneK = 1,burn_in = 1000, m = 5000)## End(Not run)

Run the code above in your browser using DataLab