decomposer#
Component that removes trends from time series and returns the decomposed components.
Module Contents#
Classes Summary#
Component that removes trends and seasonality from time series and returns the decomposed components. |
Contents#
- class evalml.pipelines.components.transformers.preprocessing.decomposer.Decomposer(component_obj=None, random_seed: int = 0, degree: int = 1, seasonal_period: int = - 1, time_index: str = None, **kwargs)[source]#
Component that removes trends and seasonality from time series and returns the decomposed components.
- Parameters
parameters (dict) – Dictionary of parameters to pass to component object.
component_obj (class) – Instance of a detrender/deseasonalizer class.
random_seed (int) – Seed for the random number generator. Defaults to 0.
degree (int) – Currently the degree of the PolynomialDecomposer, not used for STLDecomposer.
seasonal_period (int) – The best guess, in units, for the period of the seasonal signal.
time_index (str) – The column name of the feature matrix (X) that the datetime information should be pulled from.
Attributes
hyperparameter_ranges
None
modifies_features
False
modifies_target
True
name
Decomposer
needs_fitting
True
training_only
False
Methods
Constructs a new component with the same parameters and random state.
Returns the default parameters for this component.
Describe a component and its parameters.
Function that uses autocorrelative methods to determine the first, signficant period of the seasonal signal.
Fits component to data.
Removes fitted trend and seasonality from target variable.
Return a list of dataframes, each with 3 columns: trend, seasonality, residual.
Add the trend + seasonality back to y.
Loads component at file path.
Returns the parameters which were used to initialize the component.
Plots the decomposition of the target signal.
Saves component at file path.
Function to set the component's seasonal period based on the target's seasonality.
Transforms data X.
- clone(self)#
Constructs a new component with the same parameters and random state.
- Returns
A new instance of this component with identical parameters and random state.
- default_parameters(cls)#
Returns the default parameters for this component.
Our convention is that Component.default_parameters == Component().parameters.
- Returns
Default parameters for this component.
- Return type
dict
- describe(self, print_name=False, return_dict=False)#
Describe a component and its parameters.
- Parameters
print_name (bool, optional) – whether to print name of component
return_dict (bool, optional) – whether to return description as dictionary in the format {“name”: name, “parameters”: parameters}
- Returns
Returns dictionary if return_dict is True, else None.
- Return type
None or dict
- determine_periodicity(self, X: pandas.DataFrame, y: pandas.Series, method: str = 'autocorrelation')[source]#
Function that uses autocorrelative methods to determine the first, signficant period of the seasonal signal.
- Parameters
X (pandas.DataFrame) – The feature data of the time series problem.
y (pandas.Series) – The target data of a time series problem.
method (str) – Either “autocorrelation” or “partial-autocorrelation”. The method by which to determine the first period of the seasonal part of the target signal. “partial-autocorrelation” should currently not be used. Defaults to “autocorrelation”.
- Returns
- The integer numbers of entries in time series data over which the seasonal part of the target data
repeats. If the time series data is in days, then this is the number of days that it takes the target’s seasonal signal to repeat. Note: the target data can contain multiple seasonal signals. This function will only return the first, and thus, shortest period. E.g. if the target has both weekly and yearly seasonality, the function will only return “7” and not return “365”. If no period is detected, returns [None].
- Return type
(list[int])
- fit(self, X, y=None)#
Fits component to data.
- Parameters
X (pd.DataFrame) – The input training data of shape [n_samples, n_features]
y (pd.Series, optional) – The target training data of length [n_samples]
- Returns
self
- Raises
MethodPropertyNotFoundError – If component does not have a fit method or a component_obj that implements fit.
- fit_transform(self, X: pandas.DataFrame, y: pandas.Series = None) tuple[pandas.DataFrame, pandas.Series] [source]#
Removes fitted trend and seasonality from target variable.
- Parameters
X (pd.DataFrame, optional) – Ignored.
y (pd.Series) – Target variable to detrend and deseasonalize.
- Returns
- The first element are the input features returned without modification.
The second element is the target variable y with the fitted trend removed.
- Return type
tuple of pd.DataFrame, pd.Series
- abstract get_trend_dataframe(self, y: pandas.Series)[source]#
Return a list of dataframes, each with 3 columns: trend, seasonality, residual.
- static load(file_path)#
Loads component at file path.
- Parameters
file_path (str) – Location to load file.
- Returns
ComponentBase object
- property parameters(self)#
Returns the parameters which were used to initialize the component.
- plot_decomposition(self, X: pandas.DataFrame, y: pandas.Series, show: bool = False) tuple[matplotlib.pyplot.Figure, list] [source]#
Plots the decomposition of the target signal.
- Parameters
X (pd.DataFrame) – Input data with time series data in index.
y (pd.Series or pd.DataFrame) – Target variable data provided as a Series for univariate problems or a DataFrame for multivariate problems.
show (bool) – Whether to display the plot or not. Defaults to False.
- Returns
- The figure and axes that have the decompositions
plotted on them
- Return type
matplotlib.pyplot.Figure, list[matplotlib.pyplot.Axes]
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
Saves component at file path.
- Parameters
file_path (str) – Location to save file.
pickle_protocol (int) – The pickle data stream format.
- set_seasonal_period(self, X: pandas.DataFrame, y: pandas.Series)[source]#
Function to set the component’s seasonal period based on the target’s seasonality.
- Parameters
X (pandas.DataFrame) – The feature data of the time series problem.
y (pandas.Series) – The target data of a time series problem.
- abstract transform(self, X, y=None)#
Transforms data X.
- Parameters
X (pd.DataFrame) – Data to transform.
y (pd.Series, optional) – Target data.
- Returns
Transformed X
- Return type
pd.DataFrame
- Raises
MethodPropertyNotFoundError – If transformer does not have a transform method or a component_obj that implements transform.