pub struct FisherSnedecor { /* private fields */ }
Expand description
Implements the Fisher-Snedecor distribution also commonly known as the F-distribution
§Examples
use statrs::distribution::{FisherSnedecor, Continuous};
use statrs::statistics::Distribution;
use statrs::prec;
let n = FisherSnedecor::new(3.0, 3.0).unwrap();
assert_eq!(n.mean().unwrap(), 3.0);
assert!(prec::almost_eq(n.pdf(1.0), 0.318309886183790671538, 1e-15));
Implementations§
Source§impl FisherSnedecor
impl FisherSnedecor
Sourcepub fn new(freedom_1: f64, freedom_2: f64) -> Result<FisherSnedecor>
pub fn new(freedom_1: f64, freedom_2: f64) -> Result<FisherSnedecor>
Constructs a new fisher-snedecor distribution with
degrees of freedom freedom_1
and freedom_2
§Errors
Returns an error if freedom_1
or freedom_2
are NaN
.
Also returns an error if freedom_1 <= 0.0
or freedom_2 <= 0.0
§Examples
use statrs::distribution::FisherSnedecor;
let mut result = FisherSnedecor::new(1.0, 1.0);
assert!(result.is_ok());
result = FisherSnedecor::new(0.0, 0.0);
assert!(result.is_err());
Trait Implementations§
Source§impl Clone for FisherSnedecor
impl Clone for FisherSnedecor
Source§fn clone(&self) -> FisherSnedecor
fn clone(&self) -> FisherSnedecor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Continuous<f64, f64> for FisherSnedecor
impl Continuous<f64, f64> for FisherSnedecor
Source§fn pdf(&self, x: f64) -> f64
fn pdf(&self, x: f64) -> f64
Calculates the probability density function for the fisher-snedecor
distribution
at x
§Remarks
Returns NaN
if freedom_1
, freedom_2
is INF
, or x
is +INF
or
-INF
§Formula
sqrt(((d1 * x) ^ d1 * d2 ^ d2) / (d1 * x + d2) ^ (d1 + d2)) / (x * β(d1
/ 2, d2 / 2))
where d1
is the first degree of freedom, d2
is
the second degree of freedom, and β
is the beta function
Source§fn ln_pdf(&self, x: f64) -> f64
fn ln_pdf(&self, x: f64) -> f64
Calculates the log probability density function for the fisher-snedecor
distribution
at x
§Remarks
Returns NaN
if freedom_1
, freedom_2
is INF
, or x
is +INF
or
-INF
§Formula
ln(sqrt(((d1 * x) ^ d1 * d2 ^ d2) / (d1 * x + d2) ^ (d1 + d2)) / (x *
β(d1 / 2, d2 / 2)))
where d1
is the first degree of freedom, d2
is
the second degree of freedom, and β
is the beta function
Source§impl ContinuousCDF<f64, f64> for FisherSnedecor
impl ContinuousCDF<f64, f64> for FisherSnedecor
Source§fn inverse_cdf(&self, p: T) -> K
fn inverse_cdf(&self, p: T) -> K
cdf
to obtain an approximation
of F^-1(p) := inf { x | F(x) >= p }
. Needless to say, performance may
may be lacking.Source§impl Debug for FisherSnedecor
impl Debug for FisherSnedecor
Source§impl Distribution<f64> for FisherSnedecor
impl Distribution<f64> for FisherSnedecor
Source§impl Distribution<f64> for FisherSnedecor
impl Distribution<f64> for FisherSnedecor
Source§fn skewness(&self) -> Option<f64>
fn skewness(&self) -> Option<f64>
Returns the skewness of the fisher-snedecor distribution
§Panics
If freedom_2 <= 6.0
§Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
§Formula
((2d1 + d2 - 2) * sqrt(8 * (d2 - 4))) / ((d2 - 6) * sqrt(d1 * (d1 + d2
- 2)))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
Source§impl Max<f64> for FisherSnedecor
impl Max<f64> for FisherSnedecor
Source§impl Min<f64> for FisherSnedecor
impl Min<f64> for FisherSnedecor
Source§impl PartialEq for FisherSnedecor
impl PartialEq for FisherSnedecor
impl Copy for FisherSnedecor
impl StructuralPartialEq for FisherSnedecor
Auto Trait Implementations§
impl Freeze for FisherSnedecor
impl RefUnwindSafe for FisherSnedecor
impl Send for FisherSnedecor
impl Sync for FisherSnedecor
impl Unpin for FisherSnedecor
impl UnwindSafe for FisherSnedecor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.