PredictabilityAnalyzer#

class PredictabilityAnalyzer(feature_extractor: BaseTimeSeriesFeatureExtractor, classifier: ClassifierMixin, threshold: float = 0.5)[source]#

Bases: TimeSeriesBinaryClassifier

Class for holding time series predictability prediction.

Init PredictabilityAnalyzer with given parameters.

Parameters:
  • feature_extractor (BaseTimeSeriesFeatureExtractor) – Instance of time series feature extractor.

  • classifier (ClassifierMixin) – Instance of classifier with sklearn interface.

  • threshold (float) – Positive class probability threshold.

Methods

analyze_predictability(ts)

Analyse the time series in the dataset for predictability.

download_model(model_name, dataset_freq, path)

Return the list of available models.

dump(path, *args, **kwargs)

Save the object.

fit(x, y)

Fit the classifier.

get_available_models()

Return the list of available models.

get_series_from_dataset(ts)

Transform the dataset into the array with time series samples.

load(path, *args, **kwargs)

Load the object.

masked_crossval_score(x, y, mask)

Calculate classification metrics on cross-validation.

predict(x)

Predict classes with threshold.

predict_proba(x)

Predict probabilities of the positive class.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

Attributes

This class stores its __init__ parameters as attributes.

NEGATIVE_CLASS

POSITIVE_CLASS

analyze_predictability(ts: TSDataset) Dict[str, int][source]#

Analyse the time series in the dataset for predictability.

Parameters:

ts (TSDataset) – Dataset with time series.

Returns:

The indicators of predictability for the each segment in the dataset.

Return type:

Dict[str, int]

static download_model(model_name: str, dataset_freq: str, path: str)[source]#

Return the list of available models.

Parameters:
  • model_name (str) – Name of the pretrained model.

  • dataset_freq (str) – Frequency of the dataset.

  • path (str) – Path to save the file with model.

Raises:

ValueError: – If the model does not exist in s3.

dump(path: str, *args, **kwargs)[source]#

Save the object.

Parameters:

path (str) –

fit(x: List[ndarray], y: ndarray) TimeSeriesBinaryClassifier[source]#

Fit the classifier.

Parameters:
Returns:

Fitted instance of classifier.

Return type:

TimeSeriesBinaryClassifier

static get_available_models() List[str][source]#

Return the list of available models.

Return type:

List[str]

static get_series_from_dataset(ts: TSDataset) List[ndarray][source]#

Transform the dataset into the array with time series samples.

Series in the result array are sorted in the alphabetical order of the corresponding segment names.

Parameters:

ts (TSDataset) – TSDataset with the time series.

Returns:

Array with time series from TSDataset.

Return type:

List[ndarray]

static load(path: str, *args, **kwargs)[source]#

Load the object.

Parameters:

path (str) –

masked_crossval_score(x: List[ndarray], y: ndarray, mask: ndarray) Dict[str, list][source]#

Calculate classification metrics on cross-validation.

Parameters:
  • x (List[ndarray]) – Array with time series.

  • y (ndarray) – Array of class labels.

  • mask (ndarray) – Fold mask (array where for each element there is a label of its fold)

Returns:

Classification metrics for each fold

Return type:

Dict[str, list]

predict(x: List[ndarray]) ndarray[source]#

Predict classes with threshold.

Parameters:

x (List[ndarray]) – Array with time series.

Returns:

Array with predicted labels.

Return type:

ndarray

predict_proba(x: List[ndarray]) ndarray[source]#

Predict probabilities of the positive class.

Parameters:

x (List[ndarray]) – Array with time series.

Returns:

Probabilities for classes.

Return type:

ndarray

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 a Pipeline.

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 = 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, )
to_dict()[source]#

Collect all information about etna object in dict.