4 releases

0.1.2 Feb 20, 2024
0.1.1 Feb 16, 2024
0.1.0 Sep 25, 2023

#2 in #forecasting

26 downloads per month
Used in 2 crates

MIT/Apache

170KB
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
~113K SLoC