[][src]Trait mathru::statistics::distrib::Discrete

pub trait Discrete<A, B> {
    fn pmf<'a, 'b>(&'a self, x: A) -> f64;
fn cdf<'a, 'b>(&'a self, x: B) -> f64;
fn mean<'a>(&'a self) -> f64;
fn variance<'a>(&'a self) -> f64; }

Discrete distribution

Required methods

fn pmf<'a, 'b>(&'a self, x: A) -> f64

Probability mass function

Arguments

*x: random variable

fn cdf<'a, 'b>(&'a self, x: B) -> f64

Cumulative distribution function

Arguments

  • x: random variable

fn mean<'a>(&'a self) -> f64

Mean

fn variance<'a>(&'a self) -> f64

Variance

Loading content...

Implementors

impl Discrete<u32, f64> for Binomial[src]

fn pmf<'a>(&'a self, x: u32) -> f64[src]

Probability mass function

Arguments

  • x Random variable x &isin ࡃ

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let x: u32 = 0;
let p: f64 = distrib.pmf(x);

fn cdf<'a>(&'a self, x: f64) -> f64[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

fn mean<'a>(&'a self) -> f64[src]

Expected value

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let mean: f64 = distrib.mean();

fn variance<'a>(&'a self) -> f64[src]

Variance

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let var: f64 = distrib.variance();

impl Discrete<u32, u32> for Poisson[src]

fn pmf<'a>(&'a self, x: u32) -> f64[src]

Probability mass function

Arguments

  • x Random variable x ∈ ℕ

Example

use mathru::statistics::distrib::{Discrete, Poisson};

let distrib: Poisson = Poisson::new(&0.2);
let x: u32 = 5;
let p: f64 = distrib.pmf(x);

fn cdf<'a>(&'a self, x: u32) -> f64[src]

Cumulative distribution function of the Bernoulli distribution

Arguments

  • x Random variable x ∈ ℕ

Example

use mathru::statistics::distrib::{Discrete, Poisson};

let distrib: Poisson = Poisson::new(&0.2);
let x: u32 = 4;
let p: f64 = distrib.cdf(x);

fn mean<'a>(&'a self) -> f64[src]

Expected value

Example

use mathru::statistics::distrib::{Discrete, Poisson};

let distrib: Poisson = Poisson::new(&0.2);
let mean: f64 = distrib.mean();

fn variance<'a>(&'a self) -> f64[src]

Variance

Example

use mathru::statistics::distrib::{Discrete, Poisson};

let distrib: Poisson = Poisson::new(&0.2);
let var: f64 = distrib.variance();

impl Discrete<u8, f64> for Bernoulli[src]

fn pmf<'a>(&'a self, x: u8) -> f64[src]

Probability mass function of the Bernoulli distribution

Arguments

  • x Random variable x ∈ {0, 1}

Panics

if x ∉ {0, 1}

Example

use mathru::statistics::distrib::{Discrete, Bernoulli};

let distrib: Bernoulli = Bernoulli::new(0.2);
let x: u8 = 0;
let p: f64 = distrib.pmf(x);

fn cdf<'a>(&'a self, x: f64) -> f64[src]

Cumulative distribution function of the Bernoulli distribution

Arguments

  • x Random variable x ∈ {0, 1}

Example

use mathru::statistics::distrib::{Discrete, Bernoulli};

let distrib: Bernoulli = Bernoulli::new(0.2);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

fn mean<'a>(&'a self) -> f64[src]

Expected value

Example

use mathru::statistics::distrib::{Discrete, Bernoulli};

let distrib: Bernoulli = Bernoulli::new(0.2);
let mean: f64 = distrib.mean();

fn variance<'a>(&'a self) -> f64[src]

Variance

Example

use mathru::statistics::distrib::{Discrete, Bernoulli};

let distrib: Bernoulli = Bernoulli::new(0.2);
let var: f64 = distrib.variance();

impl Discrete<Vector<u32>, Vector<f64>> for Multinomial[src]

fn pmf<'a>(&'a self, x: Vector<u32>) -> f64[src]

Probability mass function

Arguments

  • x Random variable x &isin ࡃ

Example

use mathru::*;
use mathru::statistics::distrib::{Discrete, Multinomial};
use mathru::algebra::linear::Vector;

let p: Vector<f64> = vector![0.3; 0.7];
let distrib: Multinomial = Multinomial::new(p);
let x: Vector<u32> = vector![1; 2];
let p: f64 = distrib.pmf(x);

fn cdf<'a>(&'a self, _x: Vector<f64>) -> f64[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

fn mean<'a>(&'a self) -> f64[src]

Expected value

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let mean: f64 = distrib.mean();

fn variance<'a>(&'a self) -> f64[src]

Variance

Example

use mathru::statistics::distrib::{Discrete, Binomial};

let distrib: Binomial = Binomial::new(&5, &0.3);
let var: f64 = distrib.variance();
Loading content...