21 releases (6 breaking)

new 0.7.0 Nov 25, 2024
0.6.3 Nov 20, 2024
0.5.4 Oct 28, 2024
0.4.3 Oct 18, 2024
0.1.0 Sep 25, 2023

#997 in Development tools

Download history 8/week @ 2024-08-09 3/week @ 2024-08-16 3/week @ 2024-08-30 6/week @ 2024-09-06 4/week @ 2024-09-13 23/week @ 2024-09-20 27/week @ 2024-09-27 67/week @ 2024-10-04 409/week @ 2024-10-11 490/week @ 2024-10-18 407/week @ 2024-10-25 106/week @ 2024-11-01 364/week @ 2024-11-08 182/week @ 2024-11-15 225/week @ 2024-11-22

892 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
~111K SLoC