MODULE REFERENCE

native

anomx.models.forecasting.native

Native, inspectable forecasting baselines operating on Anomx TimeSeries.

These implementations do not import Darts. Their fit/predict convention makes chronological experiments easy to read while keeping statistical assumptions explicit: inputs are regular, deterministic, finite series; forecasts begin immediately after the supplied history; no scaling or imputation is implicit.

ForecastingModel

ForecastingModel()

Bases: NormalityModel, Predictive

Base for deterministic local forecasts with explicit horizons.

Fit returns the model; predict(n, series=...) returns the next n time steps. A supplied series changes the prediction context without changing fitted parameters. Subclasses declare min_train_series_length and implement _fit_values and _predict_values.

Members

min_train_series_lengthattribute
min_predict_series_lengthattribute
preferred_viewattribute
preferred_view = 'timeseries'
capabilitiesattribute
capabilities = ComponentCapabilities(supports_unordered_samples=False, supports_sequences=True, supports_irregular_sampling=False, requires_regular_sampling=True)
fitmethod
fit(series: TimeSeries, **kwargs: object) -> ForecastingModel

Fit one series, recording the exact training time span and components.

Signature parameters
ParameterTypeDefault
seriesTimeSeriesrequired
**kwargsobject—

Returns ForecastingModel

predictmethod
predict(n: int, series: TimeSeries | None = None, *, num_samples: int = 1) -> TimeSeries

Forecast after the context's end; no test observations are consumed.

Signature parameters
ParameterTypeDefault
nintrequired
seriesTimeSeries | NoneNone
num_sampleskeyword onlyint1

Returns TimeSeries

forecastmethod
forecast(data: TimeSeries, horizon: int) -> TimeSeries

Implement the predictive capability using an explicit history and horizon.

Signature parameters
ParameterTypeDefault
dataTimeSeriesrequired
horizonintrequired

Returns TimeSeries

historical_forecastsmethod
historical_forecasts(series: TimeSeries, *, start: int | float = 0.5, forecast_horizon: int = 1, stride: int = 1, retrain: bool = True, last_points_only: bool = True, verbose: bool = False) -> TimeSeries | list[TimeSeries]

Walk forward without training on validation/future observations.

start is the first forecast origin (an integer position or fraction of series length). Only complete forecasts within series are made. Retraining uses a fresh model copy on each expanding history; with retrain=False the existing fitted parameters are reused.

Signature parameters
ParameterTypeDefault
seriesTimeSeriesrequired
startkeyword onlyint | float0.5
forecast_horizonkeyword onlyint1
stridekeyword onlyint1
retrainkeyword onlyboolTrue
last_points_onlykeyword onlyboolTrue
verbosekeyword onlyboolFalse

Returns TimeSeries | list[TimeSeries]

backtestmethod
backtest(series: TimeSeries, *, metric: Callable[[TimeSeries, TimeSeries], float] | None = None, **kwargs: object) -> float

Evaluate historical forecasts with a metric (mean absolute error by default).

Signature parameters
ParameterTypeDefault
seriesTimeSeriesrequired
metrickeyword onlyCallable[[TimeSeries, TimeSeries], float] | NoneNone
**kwargsobject—

Returns float

savemethod
save(path: str) -> None

Save fitted state with pickle; only load artifacts from trusted sources.

Signature parameters
ParameterTypeDefault
pathstrrequired

Returns None

loadmethod
load(path: str) -> ForecastingModel

Restore a trusted artifact of this same concrete model class.

Signature parameters
ParameterTypeDefault
pathstrrequired

Returns ForecastingModel

LinearRegressionModel

LinearRegressionModel(lags: int | list[int] = 12, *, ridge: float = 0.0, fit_intercept: bool = True)

Bases: ForecastingModel

Fit an autoregression with jointly modeled components and ridge regularization.

A positive integer lags uses the preceding lags observations. A sequence of distinct negative offsets selects specific history positions. ridge=0 uses ordinary least squares; the intercept is never penalized. Prediction recursively appends each one-step forecast to the context. Covariates and probabilistic forecasts are deliberately not implicit.

Signature parameters
ParameterTypeDefault
lagsint | list[int]12
ridgekeyword onlyfloat0.0
fit_interceptkeyword onlyboolTrue

Members

component_keyattribute
component_key = 'linear_regression'

NaiveDrift

NaiveDrift()

Bases: ForecastingModel

Extrapolate the line joining the first and last context observation.

Members

component_keyattribute
component_key = 'naive_drift'
min_train_series_lengthattribute
min_predict_series_lengthattribute

NaiveMean

NaiveMean()

Bases: ForecastingModel

Repeat the fitted per-component mean for every forecast step.

Members

component_keyattribute
component_key = 'naive_mean'

NaiveSeasonal

NaiveSeasonal(K: int = 1)

Bases: ForecastingModel

Repeat the last K observations; K=1 is persistence.

Signature parameters
ParameterTypeDefault
Kint1

Members

component_keyattribute
component_key = 'naive_seasonal'

TorchForecastingModel

TorchForecastingModel(input_chunk_length: int = 12, output_chunk_length: int = 1, module: Module | None = None, *, n_epochs: int = 20, batch_size: int = 32, learning_rate: float = 0.001, random_state: int = 42, device: str = 'cpu', loss_fn: Callable[[Tensor, Tensor], Tensor] | None = None, verbose: bool = False)

Bases: ForecastingModel

Train any PyTorch module on chronological time-series windows.

The module receives (batch, input_chunk_length, components) and must return (batch, output_chunk_length, components). If omitted, a small linear module is constructed on first fit. The model uses GenericModel's training adapter and recursively forecasts in output-sized chunks.

Signature parameters
ParameterTypeDefault
input_chunk_lengthint12
output_chunk_lengthint1
moduleModule | NoneNone
n_epochskeyword onlyint20
batch_sizekeyword onlyint32
learning_ratekeyword onlyfloat0.001
random_statekeyword onlyint42
devicekeyword onlystr'cpu'
loss_fnkeyword onlyCallable[[Tensor, Tensor], Tensor] | NoneNone
verbosekeyword onlyboolFalse

Members

component_keyattribute
component_key = 'torch_forecasting'