Skip to main content

SeasonalNaiveForecaster

Model
DashAI.back.models.forecasting.SeasonalNaiveForecaster

Predict that each season repeats the one before it.

Every future value is forecast as the value one full season earlier, so a monthly series with season_length = 12 predicts next January from last January.

On anything with a strong repeating pattern this is a much harder baseline than the plain naive forecast, and a seasonal model that cannot beat it has learned nothing beyond the repetition. With season_length = 1 it is exactly :class:NaiveForecaster.

The season length is not inferred. Monthly data may repeat yearly or not repeat at all, and only someone who knows what the series measures can say which.

References

Parameters

season_length : integer, default=1
How many observations make up one full cycle: 12 for monthly data repeating yearly, 7 for daily data repeating weekly. Leave it at 1 when the series has no season, which makes this the plain naive forecast.

Methods

predict(self, x: 'DashAIDataset') -> 'np.ndarray'

Defined on SeasonalNaiveForecaster

Repeat the last full season out to the dates requested.

Parameters

x : DashAIDataset
The rows to forecast, whose dates say how far ahead each one is.

Returns

np.ndarray
The last observed season, tiled to the requested length.

train(self, x_train: 'DashAIDataset', y_train: 'DashAIDataset', x_validation: 'DashAIDataset' = None, y_validation: 'DashAIDataset' = None) -> 'SeasonalNaiveForecaster'

Defined on SeasonalNaiveForecaster

Remember the most recent full season of the series.

Parameters

x_train : DashAIDataset
The date column, used to record where the training data ends so a later partition can be forecast at its own dates.
y_train : DashAIDataset
The series to forecast.
x_validation : DashAIDataset, optional
Unused.
y_validation : DashAIDataset, optional
Unused.

Returns

SeasonalNaiveForecaster
The fitted model.

calculate_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.VALIDATION: 'validation'>, level: DashAI.back.core.enums.metrics.LevelEnum = <LevelEnum.LAST: 'last'>, log_index: int = None, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None, fold_index: int = None, inner_fold_index: int = None)

Defined on BaseModel

Calculate and save metrics for a given data split and level.

Parameters

split : SplitEnum
The data split to evaluate (TRAIN, VALIDATION, or TEST). Defaults to SplitEnum.VALIDATION.
level : LevelEnum
The metric granularity level (LAST, TRIAL, STEP, or BATCH). Defaults to LevelEnum.LAST.
log_index : int, optional
Explicit step index for the metric entry. If None, the next step index is computed automatically. Defaults to None.
x_data : DashAIDataset, optional
Input features. If None, the dataset stored in the model for the given split is used. Defaults to None.
y_data : DashAIDataset, optional
Target labels. If None, the labels stored in the model for the given split are used. Defaults to None.

compute_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.TEST: 'test'>, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None) -> Dict[str, float]

Defined on BaseModel

Calculate and return metric scores for a given data split.

Parameters

split : SplitEnum
The data split to evaluate (TRAIN, VALIDATION, or TEST). Defaults to SplitEnum.VALIDATION.
x_data : DashAIDataset, optional
Input features. If None, the dataset stored in the model for the given split is used. Defaults to None.
y_data : DashAIDataset, optional
Target labels. If None, the labels stored in the model for the given split are used. Defaults to None.

Returns

Dict[str, float]
A dictionary mapping metric names to their computed scores.

get_credential(self, name: str)

Defined on ConfigObject

Resolve a registered credential component by name.

Parameters

name : str
Credential component class name (e.g. "HuggingFaceCredential").

Returns

BaseCredential
An instance of the requested credential component.

get_metadata(cls) -> Dict[str, Any]

Defined on BaseModel

Get metadata values for the current model.

Returns

Dict[str, Any]
Dictionary containing UI metadata such as the model icon used in the DashAI frontend.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

load(filename: str) -> Any

Defined on ForecastingModel

Deserialise a model from disk using joblib.

Parameters

filename : str
Path to the file previously written by :meth:save.

Returns

ForecastingModel
The loaded model instance.

predict_prepared(self, features: Any) -> Any

Defined on BaseModel

Predict from data that is already in this model's feature space.

Parameters

features : pandas.DataFrame or numpy.ndarray
Feature matrix as returned by prepare_dataset(..., is_fit=False). No further preparation is applied to it.

Returns

Any
The same kind of output as predict: predicted values for regressors, class probabilities for DashAI classifiers.

predict_proba_prepared(self, features: Any) -> Any

Defined on BaseModel

Return class probabilities for data already in the feature space.

Parameters

features : pandas.DataFrame or numpy.ndarray
Feature matrix as returned by prepare_dataset(..., is_fit=False).

Returns

numpy.ndarray
Array of shape (n_samples, n_classes) with class probabilities.

prepare_dataset(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'

Defined on BaseModel

Hook for model specific preprocessing of input features.

Parameters

dataset : DashAIDataset
The input dataset to preprocess.
is_fit : bool
Whether the call is part of a fitting phase. Defaults to False.

Returns

DashAIDataset
The preprocessed dataset ready to be fed into the model.

prepare_output(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'

Defined on BaseModel

Hook for model-specific preprocessing of output targets.

Parameters

dataset : DashAIDataset
The output dataset (target labels) to preprocess.
is_fit : bool
Whether the call is part of a fitting phase. Defaults to False.

Returns

DashAIDataset
The preprocessed output dataset.

save(self, filename: str) -> None

Defined on ForecastingModel

Serialise the model to disk using joblib.

Parameters

filename : str
Destination file path where the model will be written.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.

Compatible with