Struct statrs::distribution::ChiSquared
source · [−]pub struct ChiSquared { /* private fields */ }
Expand description
Implements the Chi-squared distribution which is a special case of the Gamma distribution (referenced Here)
Examples
use statrs::distribution::{ChiSquared, Continuous};
use statrs::statistics::Distribution;
use statrs::prec;
let n = ChiSquared::new(3.0).unwrap();
assert_eq!(n.mean().unwrap(), 3.0);
assert!(prec::almost_eq(n.pdf(4.0), 0.107981933026376103901, 1e-15));
Implementations
Constructs a new chi-squared distribution with freedom
degrees of freedom. This is equivalent to a Gamma distribution
with a shape of freedom / 2.0
and a rate of 0.5
.
Errors
Returns an error if freedom
is NaN
or less than
or equal to 0.0
Examples
use statrs::distribution::ChiSquared;
let mut result = ChiSquared::new(3.0);
assert!(result.is_ok());
result = ChiSquared::new(0.0);
assert!(result.is_err());
Returns the degrees of freedom of the chi-squared distribution
Examples
use statrs::distribution::ChiSquared;
let n = ChiSquared::new(3.0).unwrap();
assert_eq!(n.freedom(), 3.0);
Returns the shape of the underlying Gamma distribution
Examples
use statrs::distribution::ChiSquared;
let n = ChiSquared::new(3.0).unwrap();
assert_eq!(n.shape(), 3.0 / 2.0);
Trait Implementations
Calculates the probability density function for the chi-squared
distribution at x
Formula
1 / (2^(k / 2) * Γ(k / 2)) * x^((k / 2) - 1) * e^(-x / 2)
where k
is the degrees of freedom and Γ
is the gamma function
Calculates the cumulative distribution function for the
chi-squared distribution at x
Formula
(1 / Γ(k / 2)) * γ(k / 2, x / 2)
where k
is the degrees of freedom, Γ
is the gamma function,
and γ
is the lower incomplete gamma function
Due to issues with rounding and floating-point accuracy the default
implementation may be ill-behaved.
Specialized inverse cdfs should be used whenever possible.
Performs a binary search on the domain of cdf
to obtain an approximation
of F^-1(p) := inf { x | F(x) >= p }
. Needless to say, performance may
may be lacking. Read more
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 entropy of the chi-squared distribution
Formula
(k / 2) + ln(2 * Γ(k / 2)) + (1 - (k / 2)) * ψ(k / 2)
where k
is the degrees of freedom, Γ
is the gamma function,
and ψ
is the digamma function
Returns the skewness of the chi-squared distribution
Formula
sqrt(8 / k)
where k
is the degrees of freedom
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 ChiSquared
impl Send for ChiSquared
impl Sync for ChiSquared
impl Unpin for ChiSquared
impl UnwindSafe for ChiSquared
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.