Trait statrs::distribution::Discrete [−][src]
The Discrete
trait provides an interface for interacting with discrete
statistical distributions
Remarks
All methods provided by the Discrete
trait are unchecked, meaning
they can panic if in an invalid state or encountering invalid input
depending on the implementing distribution.
Required methods
fn pmf(&self, x: T) -> K
[src]
Returns the probability mass function calculated at x
for a given
distribution.
May panic depending on the implementor.
Examples
use statrs::distribution::{Discrete, Binomial}; use statrs::prec; let n = Binomial::new(0.5, 10).unwrap(); assert!(prec::almost_eq(n.pmf(5), 0.24609375, 1e-15));
fn ln_pmf(&self, x: T) -> K
[src]
Returns the log of the probability mass function calculated at x
for
a given distribution.
May panic depending on the implementor.
Examples
use statrs::distribution::{Discrete, Binomial}; use statrs::prec; let n = Binomial::new(0.5, 10).unwrap(); assert!(prec::almost_eq(n.ln_pmf(5), (0.24609375f64).ln(), 1e-15));
Implementors
impl Discrete<i64, f64> for DiscreteUniform
[src]
fn pmf(&self, x: i64) -> f64
[src]
Calculates the probability mass function for the discrete uniform
distribution at x
Remarks
Returns 0.0
if x
is not in [min, max]
Formula
1 / (max - min + 1)
fn ln_pmf(&self, x: i64) -> f64
[src]
impl Discrete<u64, f64> for Bernoulli
[src]
fn pmf(&self, x: u64) -> f64
[src]
Calculates the probability mass function for the
bernoulli distribution at x
.
Formula
if x == 0 { 1 - p } else { p }
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the
bernoulli distribution at x
.
Formula
else if x == 0 { ln(1 - p) } else { ln(p) }
impl Discrete<u64, f64> for Binomial
[src]
fn pmf(&self, x: u64) -> f64
[src]
Calculates the probability mass function for the binomial
distribution at x
Formula
(n choose k) * p^k * (1 - p)^(n - k)
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the binomial
distribution at x
Formula
ln((n choose k) * p^k * (1 - p)^(n - k))
impl Discrete<u64, f64> for Categorical
[src]
fn pmf(&self, x: u64) -> f64
[src]
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the categorical
distribution at x
impl Discrete<u64, f64> for Geometric
[src]
fn pmf(&self, x: u64) -> f64
[src]
Calculates the probability mass function for the geometric
distribution at x
Formula
(1 - p)^(x - 1) * p
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the geometric
distribution at x
Formula
ln((1 - p)^(x - 1) * p)
impl Discrete<u64, f64> for Hypergeometric
[src]
fn pmf(&self, x: u64) -> f64
[src]
Calculates the probability mass function for the hypergeometric
distribution at x
Formula
(K choose x) * (N-K choose n-x) / (N choose n)
where N
is population, K
is successes, and n
is draws
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the hypergeometric
distribution at x
Formula
ln((K choose x) * (N-K choose n-x) / (N choose n))
where N
is population, K
is successes, and n
is draws
impl Discrete<u64, f64> for Poisson
[src]
fn pmf(&self, x: u64) -> f64
[src]
Calculates the probability mass function for the poisson distribution at
x
Formula
(λ^k * e^(-λ)) / x!
where λ
is the rate
fn ln_pmf(&self, x: u64) -> f64
[src]
Calculates the log probability mass function for the poisson
distribution at
x
Formula
ln((λ^k * e^(-λ)) / x!)
where λ
is the rate
impl<'a> Discrete<&'a [u64], f64> for Multinomial
[src]
fn pmf(&self, x: &[u64]) -> f64
[src]
Calculates the probability mass function for the multinomial
distribution
with the given x
’s corresponding to the probabilities for this
distribution
Panics
If the elements in x
do not sum to n
or if the length of x
is not
equivalent to the length of p
Formula
(n! / x_1!...x_k!) * p_i^x_i for i in 1...k
where n
is the number of trials, p_i
is the i
th probability,
x_i
is the i
th x
value, and k
is the total number of
probabilities
fn ln_pmf(&self, x: &[u64]) -> f64
[src]
Calculates the log probability mass function for the multinomial
distribution
with the given x
’s corresponding to the probabilities for this
distribution
Panics
If the elements in x
do not sum to n
or if the length of x
is not
equivalent to the length of p
Formula
ln((n! / x_1!...x_k!) * p_i^x_i) for i in 1...k
where n
is the number of trials, p_i
is the i
th probability,
x_i
is the i
th x
value, and k
is the total number of
probabilities