etna.pipeline.FoldMask#
- class FoldMask(first_train_timestamp: Timestamp | int | str | None, last_train_timestamp: Timestamp | int | str, target_timestamps: List[Timestamp | int | str])[source]#
Bases:
BaseMixin
Container to hold the description of the fold mask.
Fold masks are expected to be used for backtest strategy customization.
Init FoldMask.
Values of
target_timestamps
are sorted in ascending order.Notes
String value is converted into :py:class`pd.Timestamps` using
pandas.to_datetime()
.- Parameters:
- Raises:
ValueError: – All timestamps should be one of two possible types: pd.Timestamp or int
ValueError: – Last train timestamp should be not sooner than first train timestamp
ValueError: – Target timestamps shouldn’t be empty
ValueError: – Target timestamps shouldn’t contain duplicates
ValueError: – Target timestamps should be strictly later then last train timestamp
Methods
set_params
(**params)Return new object instance with modified parameters.
to_dict
()Collect all information about etna object in dict.
validate_on_dataset
(ts, horizon)Validate fold mask on the dataset with specified horizon.
Attributes
This class stores its
__init__
parameters as attributes.- set_params(**params: dict) Self [source]#
Return new object instance with modified parameters.
Method also allows to change parameters of nested objects within the current object. For example, it is possible to change parameters of a
model
in aPipeline
.Nested parameters are expected to be in a
<component_1>.<...>.<parameter>
form, where components are separated by a dot.- Parameters:
**params (dict) – Estimator parameters
- Returns:
New instance with changed parameters
- Return type:
Self
Examples
>>> from etna.pipeline import Pipeline >>> from etna.models import NaiveModel >>> from etna.transforms import AddConstTransform >>> model = NaiveModel(lag=1) >>> transforms = [AddConstTransform(in_column="target", value=1)] >>> pipeline = Pipeline(model, transforms=transforms, horizon=3) >>> pipeline.set_params(**{"model.lag": 3, "transforms.0.value": 2}) Pipeline(model = NaiveModel(lag = 3, ), transforms = [AddConstTransform(in_column = 'target', value = 2, inplace = True, out_column = None, )], horizon = 3, )
- validate_on_dataset(ts: TSDataset, horizon: int)[source]#
Validate fold mask on the dataset with specified horizon.
- Parameters:
- Raises:
ValueError: – First train timestamp isn’t present in a given dataset
ValueError: – Last train timestamp isn’t present in a given dataset
ValueError: – Some of target timestamps aren’t present in a given dataset
ValueError: – First train timestamp should be later than minimal dataset timestamp
ValueError: – Last train timestamp should be not later than the ending of the shortest segment
ValueError: – Last target timestamp should be not later than horizon steps after last train timestamp