pub struct BetaDistribution {
pub alpha: f64,
pub beta: f64,
}Expand description
Beta distribution on [0, 1].
§Mathematical Definition
- PDF: f(x) = x^(α−1) (1−x)^(β−1) / B(α, β)
- CDF: F(x) = I_x(α, β) (regularized incomplete beta)
- Mean: α / (α + β)
- Variance: αβ / ((α+β)²(α+β+1))
§Examples
use u_numflow::distributions::BetaDistribution;
let beta = BetaDistribution::new(2.0, 5.0).unwrap();
assert!((beta.mean() - 2.0 / 7.0).abs() < 1e-10);
assert!(beta.pdf(0.3) > 0.0);
assert!((beta.cdf(0.0)).abs() < 1e-10);
assert!((beta.cdf(1.0) - 1.0).abs() < 1e-10);§References
Johnson, N. L., Kotz, S., & Balakrishnan, N. (1995). Continuous Univariate Distributions, Vol. 2, Chapter 25.
Fields§
§alpha: f64Shape parameter α > 0.
beta: f64Shape parameter β > 0.
Implementations§
Source§impl BetaDistribution
impl BetaDistribution
Sourcepub fn new(alpha: f64, beta: f64) -> Result<Self, DistributionError>
pub fn new(alpha: f64, beta: f64) -> Result<Self, DistributionError>
Creates a new Beta distribution with shape parameters α and β.
§Errors
Returns DistributionError if α ≤ 0 or β ≤ 0.
Trait Implementations§
Source§impl Clone for BetaDistribution
impl Clone for BetaDistribution
Source§fn clone(&self) -> BetaDistribution
fn clone(&self) -> BetaDistribution
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BetaDistribution
impl RefUnwindSafe for BetaDistribution
impl Send for BetaDistribution
impl Sync for BetaDistribution
impl Unpin for BetaDistribution
impl UnwindSafe for BetaDistribution
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
Mutably borrows from an owned value. Read more