TotoForecaster
TotoForecaster
- class TotoForecaster(seed=None, num_samples: int = 1, samples_per_batch: int = 1, prediction_type: str = 'median', scale_factor_exponent: int = 10, stabilize_with_global: bool = True, use_memory_efficient_attention: bool = False, model_path: str = 'Datadog/Toto-Open-Base-1.0', device=None)[source]
Toto foundation model forecaster for zero-shot forecasting.
Direct interface to forecaster from DataDog/toto [1].
Toto is a foundation model for multivariate time series forecasting with a focus on observability metrics. This model leverages innovative architectural designs to efficiently handle the high-dimensional, complex time series that are characteristic of observability data. Generate both point forecasts and uncertainty estimates using a Student-T mixture model. Support for variable prediction horizons and context lengths.
Known-future exogenous variables
Xare supported via Toto’s native exogenous mechanism: the columns ofXare appended after the target channels as exogenous variates. WhenXis used, it must be supplied for every step of the forecast horizon, i.e. for all steps1 .. max(fh)ahead of the cutoff (no gaps), since Toto consumes the known future values at each autoregressive step.- Parameters:
- num_samplesint
Number of samples for probabilistic forecasting
- samples_per_batchint, optional (default=1)
Control memory usage during inference
- prediction_typestring, optional (default=’median’)
Type of prediction to generate (‘mean’ or ‘median’).
- scale_factor_exponentint, optional (default=10)
Exponent for the scale factor used in the model.
- stabilize_with_globalboolean, optional (default=True)
Whether to stabilize the model with global context.
- use_memory_efficient_attentionboolean, optional (default=True)
Whether to use memory-efficient attention mechanisms using Xformers.
- model_pathstring, optional (default=’Datadog/Toto-Open-Base-1.0’)
Path to the Toto huggingface model.
- devicestring, optional (default=None)
Specifies the device on which to run the model on (‘cpu’ or ‘cuda’).
- Attributes:
cutoffCut-off = “present time” state of forecaster.
fhForecasting horizon that was passed.
is_fittedWhether
fithas been called.stateState of the estimator.
References
Examples
>>> from sktime.datasets import load_longley >>> from sktime.forecasting.toto import TotoForecaster >>> _, y = load_longley() >>> model = TotoForecaster() >>> model.fit(y) TotoForecaster() >>> forecast = model.predict(fh=[1,2,5])
With known-future exogenous variables:
>>> from sktime.forecasting.model_selection import temporal_train_test_split >>> X, y = load_longley() >>> y_train, _, X_train, X_test = temporal_train_test_split(y, X, test_size=3) >>> model = TotoForecaster() >>> model.fit(y_train, X=X_train) TotoForecaster() >>> forecast = model.predict(fh=[1, 2, 3], X=X_test)
Methods
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
fit(y[, X, fh])Fit forecaster to training data.
fit_predict(y[, X, fh, X_pred])Fit and forecast time series at future horizon.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_pretrained_params([deep])Get pretrained parameters of this estimator.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict([fh, X])Forecast time series at future horizon.
predict_interval([fh, X, coverage])Compute/return prediction interval forecasts.
predict_proba([fh, X, marginal])Compute/return fully probabilistic forecasts.
predict_quantiles([fh, X, alpha])Compute/return quantile forecasts.
predict_residuals([y, X])Return residuals of time series forecasts.
predict_var([fh, X, cov])Compute/return variance forecasts.
pretrain(y[, X, fh])Pre-train forecaster on panel (global) data.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
score(y[, X, fh])Scores forecast against ground truth, using MAPE (non-symmetric).
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
update(y[, X, update_params])Update cutoff value and, optionally, fitted parameters.
update_predict(y[, cv, X, update_params, ...])Make predictions and update model iteratively over the test set.
update_predict_single([y, fh, X, update_params])Update model with new data and make forecasts.

