IMP logo
Public Member Functions | Static Public Member Functions
IMP::isd::vonMisesSufficient Class Reference

Detailed Description

vonMisesSufficient

Probability density function and -log(p) of von Mises distribution of N iid von Mises observations, provided through their sufficient statistics. This is much more efficient than multiplying N von Mises densities.

\[ f(\chi|N, R_0, \chi_{exp}, \kappa) = \frac{\exp \left(R_0 \kappa \cos (\chi - \chi_{exp})\right)} {2\pi I_0(\kappa)^N} \]

where

\[ R = \sqrt{\left(\sum_{i=1}^N \cos \chi_{exp}^i\right)^2 + \left(\sum_{i=1}^N \cos \chi_{exp}^i\right)^2} \]

\[ \exp (i \chi_{exp}) = \frac{1}{R} \sum_{j=1}^N \exp(i \chi_{exp}^j) \]

If $N=1$ and $\mu_1=\mu_2$ this reduces to the original von Mises distribution with known mean and concentration.

Note:
derivative with respect to the mean $\chi_{exp}$ is not provided.
+ Inheritance diagram for IMP::isd::vonMisesSufficient:

List of all members.

Public Member Functions

 vonMisesSufficient (double chi, unsigned N, double R0, double chiexp, double kappa)
 vonMisesSufficient (double chi, Floats obs, double kappa)
virtual double density () const
virtual double evaluate () const
virtual double evaluate_derivative_kappa () const
virtual double evaluate_derivative_x () const
double get_chiexp ()
double get_kappa ()
double get_N ()
double get_R0 ()
double get_x ()
void set_chiexp (double chiexp)
void set_kappa (double kappa)
void set_N (unsigned N)
void set_R0 (double R0)
void set_x (double x)
- Public Member Functions inherited from IMP::base::Object
std::size_t __hash__ () const
virtual std::string get_type_name () const =0
 Return a string identifying the type of the object.
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
void set_check_level (CheckLevel l)
void set_log_level (LogLevel l)
 Set the logging level used in this object.
void set_was_used (bool tf) const
void show (std::ostream &out=std::cout) const
const std::string & get_name () const
void set_name (std::string name)

Static Public Member Functions

static vonMisesSufficientget_from (IMP::base::Object *o)
static Floats get_sufficient_statistics (Floats data)
 Compute sufficient statistics from a list of observations.

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)

Constructor & Destructor Documentation

IMP::isd::vonMisesSufficient::vonMisesSufficient ( double  chi,
unsigned  N,
double  R0,
double  chiexp,
double  kappa 
)

compute von Mises given the sufficient statistics

Parameters:
[in]chi
[in]Nnumber of observations
[in]R0component of N observations on the x axis ( $R_0$)
[in]chiexpmean ( $\chi_{exp}$)
[in]kappaconcentration
IMP::isd::vonMisesSufficient::vonMisesSufficient ( double  chi,
Floats  obs,
double  kappa 
)

compute von Mises given the raw observations this is equivalent to calling get_sufficient_statistics and then the other constructor.

Parameters:
[in]chi
[in]obsa list of observed angles (in radians).
[in]kappaconcentration

Member Function Documentation

static Floats IMP::isd::vonMisesSufficient::get_sufficient_statistics ( Floats  data)
static

Compute sufficient statistics from a list of observations.

See Mardia and El-Atoum, "Bayesian inference for the von Mises-Fisher distribution ", Biometrika, 1967.

Returns:
the number of observations, $R_0$ (the component on the x axis) and $\chi_{exp}$

The documentation for this class was generated from the following files:

Generated on Tue May 22 2012 23:33:36 for IMP by doxygen 1.8.1