Struct goko::plugins::discrete::dirichlet::Dirichlet [−][src]
pub struct Dirichlet { /* fields omitted */ }
Simple probability density function for where things go by count
Implementations
impl Dirichlet
[src]
impl Dirichlet
[src]pub fn new() -> Dirichlet
[src]
New all 0 Dirichlet distribution. The child counts are uninitialized
pub fn weight(&mut self, weight: f64)
[src]
Multiplies all parameters by this weight
pub fn total(&self) -> f64
[src]
The total of the parameters. This is a proxy for the total count, and the “concentration” of the distribution
pub fn prob_vector(&self) -> Option<(Vec<(NodeAddress, f64)>, f64)>
[src]
Gives the probability vector for this
pub fn ln_prob_vector(&self) -> Option<(Vec<(NodeAddress, f64)>, f64)>
[src]
Gives the probability vector for this
pub fn add_observation(&mut self, loc: Option<NodeAddress>)
[src]
Adds a single observation to the Dirichlet distribution. Mutates the distribution in place to the posterior given the new evidence.
pub fn add_evidence(&mut self, other: &Categorical)
[src]
Adds a a group of observations to the Dirichlet distribution. Mutates the distribution in place to the posterior given the new evidence.
pub fn posterior_kl_divergence(&self, other: &Categorical) -> Option<f64>
[src]
Computes KL(prior || posterior), where the prior is the distribution and the posterior is based on the evidence provided.
pub fn ln_pdf(&self, loc: Option<&NodeAddress>) -> Option<f64>
[src]
Computes the log of the expected PDF of the Dirichlet distribution
pub fn sample<R: Rng>(&self, rng: &mut R) -> Option<NodeAddress>
[src]
Samples from the expected PDF of the Dirichlet distribution
pub fn kl_divergence(&self, other: &Dirichlet) -> Option<f64>
[src]
from http://bariskurt.com/kullback-leibler-divergence-between-two-dirichlet-and-beta-distributions/ We assume that the Dirichlet distribution passed into this one is conditioned on this one! It assumes they have the same keys!
Trait Implementations
impl<D: PointCloud> NodePlugin<D> for Dirichlet
[src]
impl<D: PointCloud> NodePlugin<D> for Dirichlet
[src]Auto Trait Implementations
impl RefUnwindSafe for Dirichlet
impl RefUnwindSafe for Dirichlet
impl UnwindSafe for Dirichlet
impl UnwindSafe for Dirichlet
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub unsafe fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,