Holt Winters Model

Holt Winters Model

Overview

This module contains Holt Winters or Exponential Smoothing model.

Examples

All parameters can be optimized by choosing seasonal type: additive or multiplicative. Additive seasonal is set by default.

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = HoltWinters()
>>> model
HoltWinters(alpha = None, beta = None, gamma = None, seasonal = additive)
>>> model = model.fit(ts)
>>> model
HoltWinters(alpha = 0.9431148766692634, beta = -0.01672977657608948, gamma = 1.1316906369406132, seasonal = additive)
>>> fitted_model = model.predict(ts)
>>> prediction = model.forecast(ts, periods = 2)
>>> prediction
            ci_inf  ci_sup       series
1972-10-01     NaN     NaN  6956.026617
1972-11-01     NaN     NaN  9781.377960
>>> prediction = model.forecast(ts, periods = 2, confidence_interval = 0.95)
>>> prediction
                 ci_inf       ci_sup       series
1972-10-01  6926.882859  6972.451355  6956.026617
1972-11-01  9736.753331  9800.036027  9781.377960

None parameters will be optimized even if other parameters are set:

>>> model = HoltWinters(alpha = 0.9)
>>> model
HoltWinters(alpha = 0.9, beta = None, gamma = None, seasonal = additive)
>>> model = model.fit(ts)
>>> model
HoltWinters(alpha = 0.9, beta = 0.03907917462126841, gamma = 0.4460278959365619, seasonal = additive)
>>> prediction = model.forecast(ts, periods = 2, confidence_interval = 0.95)
>>> prediction
                 ci_inf       ci_sup       series
1972-10-01  6886.289320  7023.164500  6979.791228
1972-11-01  9647.482355  9859.399028  9815.530180

Parameters can also be False if they do not want to be found:

>>> model = HoltWinters(alpha = 0.9, beta = 0.1, gamma = False)
>>> model
HoltWinters(alpha = 0.9, beta = 0.1, gamma = False, seasonal = additive)
>>> model = model.fit(ts)
>>> model
HoltWinters(alpha = 0.9, beta = 0.1, gamma = False, seasonal = additive)
>>> prediction = model.forecast(ts, periods = 2, confidence_interval = 0.95)
>>> prediction
                 ci_inf       ci_sup       series
1972-10-01  4845.924337  5785.073295  5495.803368
1972-11-01  4655.213339  5976.207380  5572.626448   
class skfore.HoltWinters.HoltWinters(alpha=None, beta=None, gamma=None, seasonal='additive')[source]

Bases: skfore.base_model.base_model

additive(ts, forecast=False)[source]
fit(ts, error_function=None)[source]
fit_model = None

Checks parameters

forecast(ts, periods, confidence_interval=None, iterations=300)[source]
multiplicative(ts, forecast=False)[source]
params2vector()[source]
predict(ts)[source]
simulate(ts, periods=5, confidence_interval=0.95, iterations=1000)[source]
vector2params(vector)[source]