bayes.mean {rotations}R Documentation

Parameter estimates based on non-informative Bayes

Description

Use non-informative Bayes to estimate the central orientation and concentration parameter of a sample of rotations.

Usage

bayes.mean(x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)

## S3 method for class 'SO3'
bayes.mean(x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)

## S3 method for class 'Q4'
bayes.mean(x, type, S0, kappa0, tuneS, tuneK, burn_in, m = 5000)

Arguments

x

n\times 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

Details

The procedures detailed in bingham2009b and bingham2010 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.

bingham2009b bingham2010

Value

list of

See Also

mean.SO3, median.SO3

Examples

Rs <- ruars(20, rvmises, kappa = 10)

Shat <- mean(Rs)               #Estimate the central orientation using the projected mean
rotdist.sum(Rs, Shat, p = 2)   #The projected mean minimizes the sum of squared Euclidean
rot.dist(Shat)                 #distances, compute the minimized sum and estimator bias

#Estimate the central orientation using the posterior mode (not run due to time constraints)
#Compare it to the projected mean in terms of the squared Euclidean distance and bias

ests <- bayes.mean(Rs, type = "Mises", S0 = mean(Rs), kappa0 = 10, tuneS = 5000,
                   tuneK = 1, burn_in = 1000, m = 5000)

Shat2 <- ests$Shat             #The posterior mode is the 'Shat' object
rotdist.sum(Rs, Shat2, p = 2)  #Compute sum of squared Euclidean distances
rot.dist(Shat2)                #Bayes estimator bias

[Package rotations version 1.6.5 Index]