A Julia package providing kernel density estimation (KDE) for univariate and bivariate data with flexible bandwidth selection and interpolation.
KernelDensity.jl is a Julia package that implements kernel density estimation (KDE), a technique for estimating the probability density function of a dataset non-parametrically. It provides tools to smooth and visualize data distributions, supporting both univariate and bivariate data with configurable kernels, bandwidths, and interpolation. The package solves the problem of deriving continuous density estimates from discrete samples, which is fundamental for statistical analysis and plotting.
Data scientists, statisticians, and researchers using Julia for statistical computing, data exploration, or visualization who need robust density estimation methods.
Developers choose KernelDensity.jl for its seamless integration with Julia's statistical ecosystem (e.g., Distributions.jl), efficient FFT-based implementation, and flexibility in bandwidth selection and kernel customization, all within a high-performance, open-source framework.
Kernel density estimators for Julia
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses fast Fourier transforms with power-of-two grid points (npoints default=2048) for efficient computation, as noted in the README for optimal efficiency.
Provides automatic methods like Silverman's rule and least-squares cross-validation (kde_lscv), allowing data-driven smoothing without manual tuning.
Integrates with Distributions.jl for kernels and Interpolations.jl for evaluation, enabling easy customization and interoperability within statistical workflows.
Accepts various weight types, including custom vectors and StatsBase.Weights, making it suitable for complex observational data analysis.
Requires careful management of boundaries and grid points to prevent FFT wrap-around artifacts, which can be error-prone for inexperienced users.
Only supports univariate and bivariate KDE, lacking functionality for higher-dimensional density estimation that is common in advanced statistical modeling.
The README focuses on API details but lacks comprehensive tutorials or plotting examples, forcing users to seek external guidance for practical application.