Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seatonullberg/kernel-density-estimation
Kernel density estimation in Rust.
https://github.com/seatonullberg/kernel-density-estimation
kernel-density-estimation probability-density statistics
Last synced: about 1 month ago
JSON representation
Kernel density estimation in Rust.
- Host: GitHub
- URL: https://github.com/seatonullberg/kernel-density-estimation
- Owner: seatonullberg
- License: mit
- Created: 2022-10-07T18:20:29.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-22T20:51:48.000Z (9 months ago)
- Last Synced: 2024-11-01T21:42:21.725Z (about 2 months ago)
- Topics: kernel-density-estimation, probability-density, statistics
- Language: Rust
- Homepage: https://crates.io/crates/kernel-density-estimation
- Size: 232 KB
- Stars: 26
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# kernel-density-estimation
![Crates.io](https://img.shields.io/crates/d/kernel-density-estimation)
![Crates.io](https://img.shields.io/crates/l/kernel-density-estimation)
![Crates.io](https://img.shields.io/crates/v/kernel-density-estimation)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).__Note:__ Currently only univariate distributions are supported but multivariate is a goal in the future!
## Examples
__[univariate](examples/univariate.rs)__ - This example showcases the core `pdf`, `cdf`, and `sample` functionalities for a univariate distribution.
```
cargo run --example univariate
```
![Univariate Distribution](assets/univariate.png)__[kernel](examples/kernel.rs)__ - This example showcases each of the available kernel functions.
```
cargo run --example kernel
```
![Kernel Functions](assets/kernel.png)## Roadmap
Refer to the [milestone issues](https://github.com/seatonullberg/kernel-density-estimation/issues) to see the direction the project is headed in future releases or [CHANGELOG.md](./CHANGELOG.md) to see the changes between each release.
## License
Distributed under the MIT License. See [LICENSE](./LICENSE) for more information.
## Acknowledgements
* Notes for Nonparametric Statistics[^citation] - An excellent technical description of nonparametric methods referenced heavily in the development of this project.
[^citation]: García-Portugués, E. (2022). Notes for Nonparametric Statistics.
Version 6.5.9. ISBN 978-84-09-29537-1.