IMP Reference Guide  develop.79b55d17a3,2021/04/16 The Integrative Modeling Platform
IMP::isd::vonMisesSufficient Class Reference

#include <IMP/isd/vonMisesSufficient.h>

Inheritance diagram for IMP::isd::vonMisesSufficient:

Detailed Description

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.

Definition at line 36 of file vonMisesSufficient.h.

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 ()

virtual std::string get_type_name () const

virtual ::IMP::VersionInfo get_version_info () const
Get information about the module and version of the object. More...

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::Object
virtual void clear_caches ()

CheckLevel get_check_level () const

LogLevel get_log_level () const

void set_check_level (CheckLevel l)

void set_log_level (LogLevel l)
Set the logging level used in this object. More...

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 Floats get_sufficient_statistics (Floats data)
Compute sufficient statistics from a list of observations. More...

Protected Member Functions inherited from IMP::Object
Object (std::string name)
Construct an object with the given name. More...

virtual void do_destroy ()

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] N number of observations [in] R0 component of N observations on the x axis ( $$R_0$$) [in] chiexp mean ( $$\chi_{exp}$$) [in] kappa concentration

Definition at line 45 of file vonMisesSufficient.h.

 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] obs a list of observed angles (in radians). [in] kappa concentration

Definition at line 62 of file vonMisesSufficient.h.

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}$$

Definition at line 121 of file vonMisesSufficient.h.

 virtual ::IMP::VersionInfo IMP::isd::vonMisesSufficient::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 140 of file vonMisesSufficient.h.

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