IMP
2.4.0
The Integrative Modeling Platform
|
#include <IMP/isd/vonMisesSufficient.h>
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.
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::base::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::base::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... | |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
IMP::isd::vonMisesSufficient::vonMisesSufficient | ( | double | chi, |
unsigned | N, | ||
double | R0, | ||
double | chiexp, | ||
double | kappa | ||
) |
compute von Mises given the sufficient statistics
[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.
[in] | chi | |
[in] | obs | a list of observed angles (in radians). |
[in] | kappa | concentration |
Definition at line 62 of file vonMisesSufficient.h.
Compute sufficient statistics from a list of observations.
See Mardia and El-Atoum, "Bayesian inference for the von Mises-Fisher distribution ", Biometrika, 1967.
Definition at line 121 of file vonMisesSufficient.h.
|
virtual |
Get information about the module and version of the object.
Reimplemented from IMP::base::Object.
Definition at line 140 of file vonMisesSufficient.h.