Crates.io | pyaugurs |
lib.rs | pyaugurs |
version | 0.1.0 |
source | src |
created_at | 2023-09-25 08:19:22.322442 |
updated_at | 2023-09-25 08:29:23.440875 |
description | Python bindings for the augurs time series library. |
homepage | |
repository | |
max_upload_size | |
id | 982465 |
size | 20,585 |
Eventually wheels will be provided as part of GitHub releases and maybe even on PyPI. At that point it will be as easy as:
$ pip install augurs
Until then it's a bit more manual. You'll need maturin installed and a local copy of this
repository. Then, from the crates/pyaugurs
directory, with your virtualenv activated:
$ maturin build --release
You'll probably want numpy as well:
$ pip install numpy
import augurs as aug
import numpy as np
y = np.array([1.5, 3.0, 2.5, 4.2, 2.7, 1.9, 1.0, 1.2, 0.8])
periods = [3, 4]
# Use an AutoETS trend forecaster
model = aug.MSTL.ets(periods)
model.fit(y)
out_of_sample = model.predict(10, level=0.95)
print(out_of_sample.point())
print(out_of_sample.lower())
in_sample = model.predict_in_sample(level=0.95)
# Or use your own forecaster
class CustomForecaster:
"""See docs for more details on how to implement this."""
def fit(self, y: np.ndarray):
pass
def predict(self, horizon: int, level: float | None) -> aug.Forecast:
return aug.Forecast(point=np.array([5.0, 6.0, 7.0]))
def predict_in_sample(self, level: float | None) -> aug.Forecast:
return aug.Forecast(point=y)
...
model = aug.MSTL.custom_trend(periods, aug.TrendModel(CustomForecaster()))
model.fit(y)
model.predict(10, level=0.95)
model.predict_in_sample(level=0.95)
import augurs as aug
import numpy as np
y = np.array([1.5, 3.0, 2.5, 4.2, 2.7, 1.9, 1.0, 1.2, 0.8])
model = aug.AutoETS(3, "ZZN")
model.fit(y)
model.predict(10, level=0.95)
More to come!