← Back

Module sampling

fn simple_random_sample<T: Clone>(population: &[T], n: usize) -> Vec<T>

Source: sampling.joule:10

fn sample_with_replacement<T: Clone>(population: &[T], n: usize) -> Vec<T>

Source: sampling.joule:26

fn systematic_sample<T: Clone>(population: &[T], n: usize) -> Vec<T>

Source: sampling.joule:34

fn stratified_sample<T: Clone>(

Source: sampling.joule:49

fn proportional_stratified_sample<T: Clone>(

Source: sampling.joule:65

fn cluster_sample<T: Clone>(

Source: sampling.joule:84

struct ReservoirSampler

Reservoir sampling (for streaming data)

Source: sampling.joule:99

fn new(k: usize) -> Self

Create new reservoir sampler

Source: sampling.joule:107

fn add(&mut self, item: T)

Source: sampling.joule:117

fn sample(&self) -> &[T]

Get current sample

Source: sampling.joule:132

fn count(&self) -> usize

Get count of items seen

Source: sampling.joule:137

fn weighted_sample<T: Clone>(

Source: sampling.joule:144

struct Bootstrap

Bootstrap resampling

Source: sampling.joule:190

fn new(data: &'a [T], n_bootstrap: usize) -> Self

Source: sampling.joule:196

fn run<F, R>(&self, statistic: F) -> Vec<R>

Source: sampling.joule:202

fn confidence_interval<F>(&self, statistic: F, alpha: f64) -> (f64, f64)

Source: sampling.joule:216

fn bca_confidence_interval<F>(&self, statistic: F, alpha: f64) -> (f64, f64)

Source: sampling.joule:231

struct Jackknife

Jackknife resampling

Source: sampling.joule:291

fn new(data: &'a [T]) -> Self

Source: sampling.joule:296

fn estimates<F, R>(&self, statistic: F) -> Vec<R>

Source: sampling.joule:302

fn bias<F>(&self, statistic: F) -> f64

Source: sampling.joule:320

fn standard_error<F>(&self, statistic: F) -> f64

Source: sampling.joule:333

struct PermutationTest

Permutation test

Source: sampling.joule:350

fn new(group1: &'a [f64], group2: &'a [f64], n_permutations: usize) -> Self

Source: sampling.joule:357

fn test<F>(&self, statistic: F) -> f64

Source: sampling.joule:367

struct CrossValidator

Cross-validation splits

Source: sampling.joule:395

fn new(n_splits: usize, shuffle_data: bool) -> Self

Source: sampling.joule:401

fn split(&self, n_samples: usize) -> Vec<(Vec<usize>, Vec<usize>)>

Source: sampling.joule:407

struct LeaveOneOut;

Leave-one-out cross-validation

Source: sampling.joule:438

fn split(n_samples: usize) -> Vec<(Vec<usize>, Vec<usize>)>

Source: sampling.joule:442

struct StratifiedKFold

Stratified k-fold cross-validation

Source: sampling.joule:454

fn new(n_splits: usize) -> Self

Source: sampling.joule:459

fn split(&self, labels: &[usize]) -> Vec<(Vec<usize>, Vec<usize>)>

Source: sampling.joule:465

struct MonteCarlo

Monte Carlo simulation

Source: sampling.joule:503

fn new(n_simulations: usize) -> Self

Source: sampling.joule:508

fn run<F, R>(&self, simulation: F) -> Vec<R>

Source: sampling.joule:514

fn estimate_probability<F>(&self, event: F) -> f64

Source: sampling.joule:525

fn estimate_expectation<F>(&self, random_variable: F) -> f64

Source: sampling.joule:538