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

pub trait Continuous<T> where
    T: Real
{ pub fn pdf(&self, x: T) -> T;
pub fn cdf(&self, x: T) -> T;
pub fn quantile(&self, p: T) -> T;
pub fn mean(&self) -> T;
pub fn variance(&self) -> T;
pub fn skewness(&self) -> T;
pub fn median(&self) -> T;
pub fn entropy(&self) -> T; }

Continuous distribution

Required methods

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

*x:

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

*x:

pub fn quantile(&self, p: T) -> T[src]

Quantile function, inverse cdf

pub fn mean(&self) -> T[src]

Mean

pub fn variance(&self) -> T[src]

Variance

pub fn skewness(&self) -> T[src]

Skewness is a measure of the asymmetry of the probability distribution of a real-valued random variable about its mean

pub fn median(&self) -> T[src]

Median is the value separating the higher half from the lower half of a probability distribution.

pub fn entropy(&self) -> T[src]

Loading content...

Implementors

impl<K> Continuous<K> for T<K> where
    K: Real + Beta + Hypergeometric + Gamma
[src]

pub fn pdf(&self, x: K) -> K[src]

Probability density function

Arguments

  • x Random variable x &isin ࡃ

Example

use mathru::statistics::distrib::{Continuous, T};

let distrib: T<f64> = T::new(2.0);
let x: f64 = 0.5;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: K) -> K[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{Continuous, T};

let distrib: T<f64> = T::new(1.3);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, _p: K) -> K[src]

Quantile function of inverse cdf

pub fn mean(&self) -> K[src]

Expected value

Panics

if self.n <= 1.0

Example

use mathru::statistics::distrib::{Continuous, T};

let distrib: T<f64> = T::new(1.2);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> K[src]

Variance

Example

use mathru::statistics::distrib::{Continuous, T};

let distrib: T<f64> = T::new(2.2);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> K[src]

Panics

if self.n <= 3

pub fn median(&self) -> K[src]

Median is the value separating the higher half from the lower half of a probability distribution.

pub fn entropy(&self) -> K[src]

impl<T> Continuous<T> for Beta<T> where
    T: Real + Beta
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x &isin ࡃ

Example

use mathru::statistics::distrib::{Beta, Continuous};

let distrib: Beta<f64> = Beta::new(0.2, 0.3);
let x: f64 = 0.5;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x

Example

use mathru::statistics::distrib::{Beta, Continuous};

let distrib: Beta<f64> = Beta::new(0.3, 0.2);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, _p: T) -> T[src]

Quantile function of inverse cdf

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::statistics::distrib::{Beta, Continuous};

let distrib: Beta<f64> = Beta::new(0.2, 0.3);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{Beta, Continuous};

let distrib: Beta<f64> = Beta::new(0.2, 0.3);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

Skewness

Example

use mathru::statistics::distrib::{Beta, Continuous};

let distrib: Beta<f64> = Beta::new(0.2, 0.3);
let skewness: f64 = distrib.skewness();

impl<T> Continuous<T> for ChiSquared<T> where
    T: Real + Gamma + Error
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x Random variable x ∈ &#x2115

Example

use mathru::statistics::distrib::{ChiSquared, Continuous};

let distrib: ChiSquared<f64> = ChiSquared::new(2);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{ChiSquared, Continuous};

let distrib: ChiSquared<f64> = ChiSquared::new(3);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, p: T) -> T[src]

Quantile function of inverse cdf

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::statistics::distrib::{ChiSquared, Continuous};

let distrib: ChiSquared<f64> = ChiSquared::new(2);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{ChiSquared, Continuous};

let distrib: ChiSquared<f64> = ChiSquared::new(2);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

Skewness is a measure of the asymmetry of the probability distribution of a real-valued random variable about its mean

pub fn median(&self) -> T[src]

Median is the value separating the higher half from the lower half of a probability distribution.

pub fn entropy(&self) -> T[src]

impl<T> Continuous<T> for Exponential<T> where
    T: Real
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x Random variable x ∈ &#x2115 | x > 0.0

Example

use mathru::statistics::distrib::{Continuous, Exponential};

let distrib: Exponential<f64> = Exponential::new(0.3);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{Continuous, Exponential};

let distrib: Exponential<f64> = Exponential::new(0.3);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, p: T) -> T[src]

Quantile function of inverse cdf

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::statistics::distrib::{Continuous, Exponential};

let distrib: Exponential<f64> = Exponential::new(0.2);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{Continuous, Exponential};

let distrib: Exponential<f64> = Exponential::new(0.2);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

pub fn median(&self) -> T[src]

pub fn entropy(&self) -> T[src]

impl<T> Continuous<T> for Gamma<T> where
    T: Real + Gamma
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x Random variable x ∈ &#x2115 | x > 0.0

Panics

if x <= 0.0

Example

use mathru::statistics::distrib::{Continuous, Gamma};

let distrib: Gamma<f64> = Gamma::new(0.3, 0.2);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x Random variable

Example

use mathru::statistics::distrib::{Continuous, Gamma};

let distrib: Gamma<f64> = Gamma::new(0.3, 0.2);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, _p: T) -> T[src]

Quantile function of inverse cdf

pub fn mean(&self) -> T[src]

Expected value

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{Continuous, Gamma};

let distrib: Gamma<f64> = Gamma::new(0.2, 0.5);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

pub fn median(&self) -> T[src]

Median is the value separating the higher half from the lower half of a probability distribution.

pub fn entropy(&self) -> T[src]

impl<T> Continuous<T> for LogNormal<T> where
    T: Real + Error + Gamma
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x: x ∈ &#x2115

Example

use mathru::statistics::distrib::{Continuous, LogNormal};

let distrib: LogNormal<f64> = LogNormal::new(0.3, 0.2);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x:

Example

use mathru::statistics::distrib::{Continuous, LogNormal};

let distrib: LogNormal<f64> = LogNormal::new(0.3, 0.2);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, p: T) -> T[src]

Quantile: function of inverse cdf

Panics

if p <= 0.0 || p >= 1.0

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, LogNormal},
};

let distrib: LogNormal<f64> = LogNormal::new(0.0, 0.2);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, LogNormal},
};

let sigma_squared: f64 = 0.2;
let distrib: LogNormal<f64> = LogNormal::new(0.0, sigma_squared);
let var: f64 = distrib.variance();
assert_eq!((sigma_squared.exp() - 1.0) * sigma_squared.exp(),  var )

pub fn median(&self) -> T[src]

Median

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, LogNormal},
};

let mu: f64 = 0.0;

let distrib: LogNormal<f64> = LogNormal::new(mu, 0.2);
let median: f64 = distrib.median();
assert_eq!(median, 1.0);

pub fn skewness(&self) -> T[src]

Skewness

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, LogNormal},
};
let mu: f64 = 1.0;
let sigma_squared: f64 = 0.5;
let distrib: LogNormal<f64> = LogNormal::new(mu, sigma_squared);

pub fn entropy(&self) -> T[src]

Entropy

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, LogNormal},
};

let mu: f64 = 1.0;
let sigma_squared: f64 = 0.5;
let distrib: LogNormal<f64> = LogNormal::new(mu, sigma_squared);

impl<T> Continuous<T> for Normal<T> where
    T: Real + Gamma + Error
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x: x ∈ &#x2115

Example

use mathru::statistics::distrib::{Continuous, Normal};

let distrib: Normal<f64> = Normal::new(0.3, 0.2);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x:

Example

use mathru::statistics::distrib::{Continuous, Normal};

let distrib: Normal<f64> = Normal::new(0.3, 0.2);
let x: f64 = 0.4;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, p: T) -> T[src]

Quantile: function of inverse cdf

The Percentage Points of the Normal Distribution Author(s): Michael J. Wichura Year 1988 Journal of the Royal Statistical Society 0.0 < p < 1.0

Panics

if p <= 0.0 || p >= 1.0

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, Normal},
};

let distrib: Normal<f64> = Normal::new(0.0, 0.2);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, Normal},
};

let distrib: Normal<f64> = Normal::new(0.0, 0.2);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

Skewness

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, Normal},
};
let mean: f64 = 1.0;
let variance: f64 = 0.5;
let distrib: Normal<f64> = Normal::new(mean, variance);
assert_eq!(0.0, distrib.skewness());

pub fn median(&self) -> T[src]

Median

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, Normal},
};

let mean: f64 = 0.0;

let distrib: Normal<f64> = Normal::new(mean, 0.2);
let median: f64 = distrib.median();

pub fn entropy(&self) -> T[src]

Entropy

Example

use mathru::{
    self,
    statistics::distrib::{Continuous, Normal},
};
use std::f64::consts::{E, PI};

let mean: f64 = 1.0;
let variance: f64 = 0.5;
let distrib: Normal<f64> = Normal::new(mean, variance);

let entropy: f64 =  distrib.entropy();

impl<T> Continuous<T> for RaisedCosine<T> where
    T: Real
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

  • x Random variable x

Panics

Example

use mathru::statistics::distrib::{Continuous, RaisedCosine};

let distrib: RaisedCosine<f64> = RaisedCosine::new(-1.2, 1.5);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

Example

use mathru::statistics::distrib::{Continuous, RaisedCosine};
use std::f64::consts::PI;

let distrib: RaisedCosine<f64> = RaisedCosine::new(1.0, PI);
let x: f64 = PI / 2.0;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, _p: T) -> T[src]

Quantile function of inverse cdf

pub fn mean(&self) -> T[src]

Expected value

Example

use mathru::statistics::distrib::{Continuous, RaisedCosine};

let distrib: RaisedCosine<f64> = RaisedCosine::new(-2.0, 0.5);
let mean: f64 = distrib.mean();

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{Continuous, RaisedCosine};
use std::f64::consts::PI;

let distrib: RaisedCosine<f64> = RaisedCosine::new(2.0, PI);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

pub fn median(&self) -> T[src]

Median is the value separating the higher half from the lower half of a probability distribution.

pub fn entropy(&self) -> T[src]

impl<T> Continuous<T> for Uniform<T> where
    T: Real
[src]

pub fn pdf(&self, x: T) -> T[src]

Probability density function

Arguments

x:

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let distrib: Uniform<f64> = Uniform::new(-0.1, 0.3);
let x: f64 = 5.0;
let p: f64 = distrib.pdf(x);

pub fn cdf(&self, x: T) -> T[src]

Cumulative distribution function

Arguments

  • x

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let distrib: Uniform<f64> = Uniform::new(0.0, 0.5);
let x: f64 = 0.3;
let p: f64 = distrib.cdf(x);

pub fn quantile(&self, q: T) -> T[src]

Quantile function or inverse cdf

Arguments

  • q: quantile 0 <= q <= 1

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let distrib: Uniform<f64> = Uniform::new(0.0, 0.5);
let q: f64 = 0.3;
let x: f64 = distrib.quantile(q);

pub fn mean(&self) -> T[src]

Mean

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let a: f64 = 0.2;
let b: f64 = 0.5;

let distrib: Uniform<f64> = Uniform::new(a, b);
let mean: f64 = distrib.mean();
assert_eq!((a + b) / 2.0, mean);

pub fn variance(&self) -> T[src]

Variance

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let distrib: Uniform<f64> = Uniform::new(0.2, 0.5);
let var: f64 = distrib.variance();

pub fn skewness(&self) -> T[src]

Skewness

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let distrib: Uniform<f64> = Uniform::new(0.2, 0.5);
let skewness: f64 = distrib.skewness();
assert_eq!(0.0, skewness);

pub fn median(&self) -> T[src]

Median

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let a: f64 = 0.2;
let b: f64 = 0.5;

let distrib: Uniform<f64> = Uniform::new(a, b);
let median: f64 = distrib.median();
assert_eq!((a + b) / 2.0, median);

pub fn entropy(&self) -> T[src]

Entropy

Example

use mathru::statistics::distrib::{Continuous, Uniform};

let a: f64 = 0.2;
let b: f64 = 0.5;

let distrib: Uniform<f64> = Uniform::new(a, b);
let entropy: f64 = distrib.entropy();
assert_eq!((b - a).ln(), entropy);
Loading content...