16 releases (4 breaking)

new 0.5.4 Oct 28, 2024
0.5.3 Oct 25, 2024
0.4.3 Oct 18, 2024
0.3.1 Jul 30, 2024
0.1.0 Sep 25, 2023

#967 in Development tools

Download history 77/week @ 2024-07-08 4/week @ 2024-07-15 48/week @ 2024-07-22 265/week @ 2024-07-29 11/week @ 2024-08-12 9/week @ 2024-09-02 7/week @ 2024-09-16 29/week @ 2024-09-23 61/week @ 2024-09-30 38/week @ 2024-10-07 743/week @ 2024-10-14 401/week @ 2024-10-21

1,249 downloads per month
Used in 3 crates

MIT/Apache

180KB
3K SLoC

Exponential smoothing models

This crate provides exponential smoothing models for time series forecasting in the augurs framework. The models are implemented entirely in Rust and are based on the statsforecast Python package.

Important: This crate is still in development and the API is subject to change. Seasonal models are not yet implemented, and some model types have not been tested.

Example

use augurs::ets::AutoETS;

let data: Vec<_> = (0..10).map(|x| x as f64).collect();
let mut search = AutoETS::new(1, "ZZN")
    .expect("ZZN is a valid model search specification string");
let model = search.fit(&data).expect("fit should succeed");
let forecast = model.predict(5, 0.95);
assert_eq!(forecast.point.len(), 5);
assert_eq!(forecast.point, vec![10.0, 11.0, 12.0, 13.0, 14.0]);

Credits

This implementation is based heavily on the statsforecast implementation.

References

Dependencies

~5.5MB
~112K SLoC