LR_seasonal_adjust
- class hana_ml.algorithms.pal.tsa.lr_seasonal_adjust.LR_seasonal_adjust(forecast_length=None, trend=None, affect_future_only=None, seasonality=None, seasonal_period=None, accuracy_measure=None, seasonal_handle_method=None, expost_flag=None, ignore_zero=None)
Linear regression with damped trend and seasonal adjust is an approach for forecasting when a time series presents a trend.
- Parameters
- forecast_lengthint, optional
Specifies the length of forecast results.
Defaults to 1.
- trendfloat, optional
Specifies the damped trend factor, with valid range (0, 1].
Defaults to 1.
- affect_future_onlybool, optional
Specifies whether the damped trend affect future only or it affects the entire history.
Defaults to True.
- seasonalityint, optional
Specifies whether the data represents seasonality.
0: Non-seasonality.
1: Seasonality exists and user inputs the value of periods.
2: Automatically detects seasonality.
Defaults to 0.
- seasonal_periodint, optional
Length of seasonal_period.seasonal_period is only valid when seasonality is 1.
If this parameter is not specified, the seasonality value will be changed from 1 to 2, that is, from user-defined to automatically-detected.
No default value.
- seasonal_handle_method{'average', 'lr'}, optional
Method used for calculating the index value in the seasonal_period.
'average': Average method.
'lr': Fitting linear regression.
Defaults to 'average'.
- accuracy_measurestr or list of str, optional
The metric to quantify how well a model fits input data. Options: "mpe", "mse", "rmse", "et", "mad", "mase", "wmape", "smape", "mape".
No default value.
Note
Specify a measure name if you want the corresponding measure value to be reflected in the output statistics self.stats_.
- ignore_zerobool, optional
False: Uses zero values in the input dataset when calculating 'mpe' or 'mape'.
True: Ignores zero values in the input dataset when calculating 'mpe' or 'mape'.
Only valid when
accuracy_measure
is 'mpe' or 'mape'.Defaults to False.
- expost_flagbool, optional
False: Does not output the expost forecast, and just outputs the forecast values.
True: Outputs the expost forecast and the forecast values.
Defaults to True.
Examples
Input Dataframe df:
>>> df.collect() TIMESTAMP Y 0 1 5384 1 2 8081 2 3 10282 3 4 9156 4 5 6118 5 6 9139 6 7 12460 7 8 10717 8 9 7825 9 10 9693 10 11 15177 11 12 10990
Create a LR_seasonal_adjust instance:
>>> lr = LR_seasonal_adjust(forecast_length=10, trend=0.9, affect_future_only=True, seasonality=1, seasonal_period=4, accuracy_measure='mse')
Perform fit_predict on the given data:
>>> lr.fit_predict(data=df)
Output:
>>> lr.forecast_.collect().set_index('TIMESTAMP').head(3) TIMESTAMP VALUE 0 1 5328.171741 1 2 7701.608247 2 3 11248.606332
>>> lr.stats_.collect() STAT_NAME STAT_VALUE 0 Intercept 7626.072428 1 Slope 301.399114 2 Periods 4.000000 3 Index0 0.672115 4 Index1 0.935925 5 Index2 1.318669 6 Index3 1.073290 7 MSE 332202.479082 8 HandleZero 0.000000
- Attributes
- forecast_DataFrame
Forecast values.
- stats_DataFrame
Statistics analysis content.
Methods
fit_predict
(data[, key, endog])Fit and predict based on the given time series.
- property fit_hdbprocedure
Returns the generated hdbprocedure for fit.
- fit_predict(data, key=None, endog=None)
Fit and predict based on the given time series.
- Parameters
- dataDataFrame
Input data. At least two columns, one is ID column, the other is raw data.
- keystr, optional
The 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.
- property predict_hdbprocedure
Returns the generated hdbprocedure for predict.