etna.models.nn.deepstate.CompositeSSM#

class CompositeSSM(seasonal_ssms: List[SeasonalitySSM], nonseasonal_ssm: LevelSSM | LevelTrendSSM | None = None)[source]#

Bases: SSM

Class to compose several State Space Models.

Note

This class requires torch extension to be installed. Read more about this at installation page.

Create instance of CompositeSSM.

Parameters:
  • seasonal_ssms (List[SeasonalitySSM]) – List with the instances of Seasonality State Space Models.

  • nonseasonal_ssm (LevelSSM | LevelTrendSSM | None) – Instance of Level or Level-Trend State Space Model.

Methods

emission_coeff(datetime_index)

Emission coefficient matrix.

generate_datetime_index(timestamps)

Generate datetime index to use in the State Space Model.

innovation_coeff(datetime_index)

Innovation coefficient matrix.

latent_dim()

Dimension of the latent space.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

transition_coeff(datetime_index)

Transition coefficient matrix.

Attributes

This class stores its __init__ parameters as attributes.

emission_coeff(datetime_index: Tensor) Tensor[source]#

Emission coefficient matrix.

Parameters:

datetime_index (Tensor) – Tensor with the index values. Values should be from 0 to seasonal period.

Returns:

Emission coefficient matrix.

Return type:

Tensor

generate_datetime_index(timestamps: ndarray) ndarray[source]#

Generate datetime index to use in the State Space Model.

Parameters:

timestamps (ndarray) – Array with timestamps.

Returns:

Datetime index for State Space Model.

Return type:

ndarray

innovation_coeff(datetime_index: Tensor) Tensor[source]#

Innovation coefficient matrix.

Parameters:

datetime_index (Tensor) – Tensor with the index values. Values should be from 0 to seasonal period.

Returns:

Innovation coefficient matrix.

Return type:

Tensor

latent_dim() int[source]#

Dimension of the latent space.

Returns:

Dimension of the latent space.

Return type:

int

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 = 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.

transition_coeff(datetime_index: Tensor) Tensor[source]#

Transition coefficient matrix.

Parameters:

datetime_index (Tensor) – Tensor with the index values. Values should be from 0 to seasonal period.

Returns:

Transition coefficient matrix.

Return type:

Tensor