module mlforecast.target_transforms


class BaseTargetTransform

Base class used for target transformations.

method fit_transform

fit_transform(
    df: Union[DataFrame, pl_DataFrame]
) → Union[DataFrame, pl_DataFrame]

method inverse_transform

inverse_transform(
    df: Union[DataFrame, pl_DataFrame]
) → Union[DataFrame, pl_DataFrame]

method set_column_names

set_column_names(id_col: str, time_col: str, target_col: str)

method stack

stack(
    transforms: Sequence[ForwardRef('BaseTargetTransform')]
) → BaseTargetTransform

method update

update(df: Union[DataFrame, pl_DataFrame]) → Union[DataFrame, pl_DataFrame]

class Differences

Subtracts previous values of the serie. Can be used to remove trend or seasonalities.

method __init__

__init__(differences: Iterable[int])

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(scalers: Sequence[ForwardRef('Differences')]) → Differences

method take

take(idxs: ndarray) → Differences

method update

update(ga: GroupedArray) → GroupedArray

class AutoDifferences

Find and apply the optimal number of differences to each serie. Args:
  • max_diffs (int): Maximum number of differences to apply.

method __init__

__init__(max_diffs: int)

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → AutoDifferences

method update

update(ga: GroupedArray) → GroupedArray

class AutoSeasonalDifferences

Find and apply the optimal number of seasonal differences to each group. Args:
  • season_length (int): Length of the seasonal period.
  • max_diffs (int): Maximum number of differences to apply.
  • n_seasons (int, optional): Number of seasons to use to determine the number of differences. Defaults to 10. If None will use all samples, otherwise season_length * n_seasons samples will be used for the test. Smaller values will be faster but could be less accurate.

method __init__

__init__(season_length: int, max_diffs: int, n_seasons: Optional[int] = 10)

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → AutoDifferences

method update

update(ga: GroupedArray) → GroupedArray

class AutoSeasonalityAndDifferences

Find the length of the seasonal period and apply the optimal number of differences to each group. Args:
  • max_season_length (int): Maximum length of the seasonal period.
  • max_diffs (int): Maximum number of differences to apply.
  • n_seasons (int, optional): Number of seasons to use to determine the number of differences. Defaults to 10. If None will use all samples, otherwise max_season_length * n_seasons samples will be used for the test. Smaller values will be faster but could be less accurate.

method __init__

__init__(max_season_length: int, max_diffs: int, n_seasons: Optional[int] = 10)

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → AutoDifferences

method update

update(ga: GroupedArray) → GroupedArray

class LocalStandardScaler

Standardizes each serie by subtracting its mean and dividing by its standard deviation.

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → _BaseLocalScaler

method update

update(ga: GroupedArray) → GroupedArray

class LocalMinMaxScaler

Scales each serie to be in the [0, 1] interval.

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → _BaseLocalScaler

method update

update(ga: GroupedArray) → GroupedArray

class LocalRobustScaler

Scaler robust to outliers. Args:
  • scale (str): Statistic to use for scaling. Can be either ‘iqr’ (Inter Quartile Range) or ‘mad’ (Median Asbolute Deviation). Defaults to ‘iqr’.

method __init__

__init__(scale: str)

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → _BaseLocalScaler

method update

update(ga: GroupedArray) → GroupedArray

class LocalBoxCox

Finds the optimum lambda for each serie and applies the Box-Cox transformation

method __init__

__init__()

method fit_transform

fit_transform(ga: GroupedArray) → GroupedArray

method inverse_transform

inverse_transform(ga: GroupedArray) → GroupedArray

method inverse_transform_fitted

inverse_transform_fitted(ga: GroupedArray) → GroupedArray

method set_num_threads

set_num_threads(num_threads: int) → None

method stack

stack(
    scalers: Sequence[ForwardRef('_BaseGroupedArrayTargetTransform')]
) → _BaseGroupedArrayTargetTransform

method take

take(idxs: ndarray) → _BaseLocalScaler

method update

update(ga: GroupedArray) → GroupedArray

class GlobalSklearnTransformer

Applies the same scikit-learn transformer to all series.

method __init__

__init__(transformer: TransformerMixin)

method fit_transform

fit_transform(
    df: Union[DataFrame, pl_DataFrame]
) → Union[DataFrame, pl_DataFrame]

method inverse_transform

inverse_transform(
    df: Union[DataFrame, pl_DataFrame]
) → Union[DataFrame, pl_DataFrame]

method set_column_names

set_column_names(id_col: str, time_col: str, target_col: str)

method stack

stack(
    transforms: Sequence[ForwardRef('GlobalSklearnTransformer')]
) → GlobalSklearnTransformer

method update

update(df: Union[DataFrame, pl_DataFrame]) → Union[DataFrame, pl_DataFrame]