UnifiedTimeSeries

class hana_ml.algorithms.pal.unified_timeseries.UnifiedTimeSeries(func, **kwargs)

The Python wrapper for SAP HANA PAL Unified Time Series function. The Unified Time Series algorithms include:

  • Additive Model Time Series Analysis (AMTSA)

  • Auto Regressive Integrated Moving Average (ARIMA)

  • Bayesian Structural Time Series (BSTS)

  • Exponential Smoothing (SMOOTH)

Parameters:
funcstr

The name of a specified time series algorithm.

The following algorithms are supported:

  • 'AMTSA': Additive Model Time Series Analysis

  • 'ARIMA': Auto Regressive Integrated Moving Average

  • 'BSTS': Bayesian Structural Time Series

  • 'SMOOTH': Auto Exponential Smoothing

**kwargskeyword arguments

Arbitrary keyword arguments and please referred to the responding algorithm for the parameters' key-value pair.

  • 'AMTSA' : AdditiveModelTimeSeriesAnalysis AMTSA in UnifiedTimeSeries has some additional parameters, please see the following section.

    • target_type : str, optional, specify the type when converting the INT type of key column to other types.

    • start_point : str, optional, specify a start point in type conversion.

    • interval : int, optional, specify an interval in type conversion.

    • holiday : str, optional, add holiday to model in a json format, including name, timestamp, (optional) lower_window, and (optional) upper_window elements. For example: '{ "name": "New Year", "timestamp": "2025-01-01" }'.

  • 'ARIMA' : AutoARIMA

  • 'BSTS' : TripleExponentialSmoothing

  • 'SMOOTH' : AutoExponentialSmoothing

For more parameter mappings of hana_ml and HANA PAL, please refer to the doc page: Parameter Mappings

Attributes:
model_DataFrame

Model information.

statistics_DataFrame

Statistics.

decompose_DataFrame

Decomposition values.

Methods

fit(data[, key, endog, exog])

Fit function.

make_future_dataframe([data, key, periods, ...])

Create a new dataframe for time series prediction.

predict(data[, key, exog])

Predict function.

Examples

>>> uts = UnifiedTimeSeries(func='AMTSA')

Perform fit_predict():

>>> uts.fit_predict(data=df)

Output:

>>> uts.model_.collect()
>>> uts.statistics_.collect()
>>> uts.decompose_.collect()
fit(data, key=None, endog=None, exog=None)

Fit function.

Parameters:
dataDataFrame

Training data.

keystr, optional

Name of ID column.

Defaults to the first column of data if the index column of data is not provided. Otherwise, defaults to the index column of data.

endogstr, optional

The column of series to be fitted and predicted.

Defaults to the first non-ID column.

exogstr or list of str, optional

The column(s) of exogenous variables to be used in the model.

Defaults to all non-ID, non-endog columns if not provided.

make_future_dataframe(data=None, key=None, periods=1, increment_type='seconds')

Create a new dataframe for time series prediction.

Parameters:
dataDataFrame, optional

The training data contains the index.

Defaults to the data used in the fit().

keystr, optional

The index defined in the training data.

Defaults to the specified key in fit function or the data.index or the first column of the data.

periodsint, optional

The number of rows created in the predict dataframe.

Defaults to 1.

increment_type{'seconds', 'days', 'months', 'years'}, optional

The increment type of the time series.

Defaults to 'seconds'.

Returns:
DataFrame
predict(data, key=None, exog=None, **kwargs)

Predict function.

Parameters:
dataDataFrame

Data for prediction.

keystr, optional

Name of ID column.

Defaults to the first column of data if the index column of data is not provided. Otherwise, defaults to the index column of data.

exogstr or list of str, optional

The column(s) of exogenous variables to be used in the model.

Defaults to all non-ID columns if not provided.

**kwargskeyword arguments

Arbitrary keyword arguments and please referred to the responding algorithm for the parameters' key-value pair.

Returns:
DataFrame 1

DataFrame containing the forecast values and other related statistics(like standard error estimation, upper/lower quantiles).

DataFrame 2

DataFrame containing the trend/seasonal/regression components w.r.t. the forecast values.

Inherited Methods from PALBase

Besides those methods mentioned above, the UnifiedTimeSeries class also inherits methods from PALBase class, please refer to PAL Base for more details.