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..x
where p_j
is the probability mass for the j
th 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 j
th 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 j
th 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 j
th 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.