1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
//! Kernel density estimation in Rust.
//!
//! Kernel density estimation (KDE) is a non-parametric method to estimate the probability
//! density function of a random variable by taking the summation of kernel functions centered
//! on each data point. This crate serves three major purposes based on this idea:
//! 1) Evaluate the probability density function of a random variable.
//! 2) Evaluate the cumulative distribution function of a random variable.
//! 3) Sample data points from the probability density function.
//!
//! An excellent technical description of the method is available
//! [here](https://bookdown.org/egarpor/NP-UC3M/kde-i.html)[^citation].
//!
//! [^citation]: García-Portugués, E. (2022). Notes for Nonparametric Statistics.
//! Version 6.5.9. ISBN 978-84-09-29537-1.
#[warn(missing_docs)]
pub mod bandwidth;
pub mod float;
mod internal;
pub mod kde;
pub mod kernel;
pub mod prelude {
//! `use kernel_density_estimation::prelude::*;` to import all common functionality.
pub use crate::bandwidth::scott::Scott;
pub use crate::bandwidth::silverman::Silverman;
pub use crate::bandwidth::Bandwidth;
pub use crate::float::KDEFloat;
pub use crate::kde::univariate::UnivariateKDE;
pub use crate::kde::KernelDensityEstimator;
pub use crate::kernel::cosine::Cosine;
pub use crate::kernel::epanechnikov::Epanechnikov;
pub use crate::kernel::logistic::Logistic;
pub use crate::kernel::normal::Normal;
pub use crate::kernel::quartic::Quartic;
pub use crate::kernel::sigmoid::Sigmoid;
pub use crate::kernel::silverman::SilvermanKernel;
pub use crate::kernel::triangular::Triangular;
pub use crate::kernel::tricube::Tricube;
pub use crate::kernel::triweight::Triweight;
pub use crate::kernel::uniform::Uniform;
pub use crate::kernel::Kernel;
}