Struct statrs::distribution::Categorical
source · [−]pub struct Categorical { /* private fields */ }Expand description
Implements the Categorical distribution, also known as the generalized Bernoulli or discrete distribution
Examples
use statrs::distribution::{Categorical, Discrete};
use statrs::statistics::Distribution;
use statrs::prec;
let n = Categorical::new(&[0.0, 1.0, 2.0]).unwrap();
assert!(prec::almost_eq(n.mean().unwrap(), 5.0 / 3.0, 1e-15));
assert_eq!(n.pmf(1), 1.0 / 3.0);Implementations
Constructs a new categorical distribution
with the probabilities masses defined by prob_mass
Errors
Returns an error if prob_mass is empty, the sum of
the elements in prob_mass is 0, or any element is less than
0 or is f64::NAN
Note
The elements in prob_mass do not need to be normalized
Examples
use statrs::distribution::Categorical;
let mut result = Categorical::new(&[0.0, 1.0, 2.0]);
assert!(result.is_ok());
result = Categorical::new(&[0.0, -1.0, 2.0]);
assert!(result.is_err());Trait Implementations
Calculates the cumulative distribution function for the categorical
distribution at x
Formula
sum(p_j) from 0..xwhere p_j is the probability mass for the jth category
Generate a random value of T, using rng as the source of randomness.
Create an iterator that generates random values of T, using rng as
the source of randomness. Read more
Returns the mean of the categorical distribution
Formula
Σ(j * p_j)where p_j is the jth probability mass,
Σ is the sum from 0 to k - 1,
and k is the number of categories
Returns the variance of the categorical distribution
Formula
Σ(p_j * (j - μ)^2)where p_j is the jth probability mass, μ is the mean,
Σ is the sum from 0 to k - 1,
and k is the number of categories
Returns the entropy of the categorical distribution
Formula
-Σ(p_j * ln(p_j))where p_j is the jth probability mass,
Σ is the sum from 0 to k - 1,
and k is the number of categories
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for Categorical
impl Send for Categorical
impl Sync for Categorical
impl Unpin for Categorical
impl UnwindSafe for Categorical
Blanket Implementations
Mutably borrows from an owned value. Read more
The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
Checks if self is actually part of its subset T (and can be converted to it).
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
The inclusion map: converts self to the equivalent element of its superset.