#random

mix-distribution

Mixture distributions

4 releases

✓ Uses Rust 2018 edition

0.2.1 Mar 30, 2019
0.2.0 Jan 5, 2019
0.1.1 Nov 18, 2018
0.1.0 Oct 24, 2018

#251 in Algorithms

27 downloads per month

MIT/Apache

10KB
166 lines

Mixture Distribution

Build Status mix-distribution mix-distribution

Examples

use rand::distributions::{Distribution, Normal};
use mix_distribution::Mix;

let mut rng = rand::thread_rng();

// Mixture of two distributions
let mix = {
    let dists = vec![Normal::new(0.0, 1.0), Normal::new(1.0, 2.0)];
    let weights = &[2, 1];
    Mix::new(dists, weights).unwrap()
};

mix.sample(&mut rng);

// Mixture of three distributions
let mix = {
    let dists = vec![Normal::new(0.0, 1.0), Normal::new(1.0, 2.0), Normal::new(-1.0, 1.0)];
    let weights = &[2, 1, 3];
    Mix::new(dists, weights).unwrap()
};

mix.sample(&mut rng);

License

Copyright 2018 Hidehito Yabuuchi <hdht.ybuc@gmail.com>

Licensed under the MIT license <LICENSE-MIT or http://opensource.org/licenses/MIT>, or the Apache License, Version 2.0 <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> at your option. All files in the project carrying such notice may not be copied, modified, or distributed except according to those terms.

Dependencies

~1MB