2

There are additional concepts of additivity and multiplicativity for

  • trend (trend{“add”, “mul”, “additive”, “multiplicative”, None}) and
  • seasonality (seasonal{“add”, “mul”, “additive”, “multiplicative”, None})

in the Statsmodels implementation [1, 2] of the Triple Exponential Smoothing (Holt-Winter's Method).

Actually, this means different methods of calculating the initializing values ​​of seasonality and trend correspondingly (according to source code):

m = self.seasonal_periods
l0 = initial_level
b0 = initial_trend
if has_seasonal:
    l0 = y[np.arange(self.nobs) % m == 0].mean() if l0 is None else l0
    if b0 is None and has_trend:
        # TODO: Fix for short m
        lead, lag = y[m : m + m], y[:m]
        if trend == "mul":
            b0 = np.exp((np.log(lead.mean()) - np.log(lag.mean())) / m)
        else:
            b0 = ((lead - lag) / m).mean()
    s0 = list(y[:m] / l0) if seasonal == "mul" else list(y[:m] - l0)
elif has_trend:
    l0 = y[0] if l0 is None else l0
    if b0 is None:
        b0 = y[1] / y[0] if trend == "mul" else y[1] - y[0]
    s0 = []
else:
    if l0 is None:
        l0 = y[0]
    b0 = None
    s0 = []

In other words, when there is seasonality

  • the initial additive trend will be:

$$ b_0 = \frac{1}{N} \sum^{N}_{i=0} \frac{y_{i+m} - y_i}{m}$$

  • the initial multiplicative trend will be:

$$ b_0 = \frac{ \ln \left( {\frac{1}{m}\sum^{m}_{i=0}y_{i+m}} \right) - \ln \left({\frac{1}{m}\sum^{m}_{i=0}y_{i}} \right)}{m} $$

where $m$ is the length of the one period, and $\mathbf{y}$ is the input vector (time series).

When there is no seasonality

  • the initial additive trend will be:

$$ b_0 = y_1 - y_0 $$

  • the initial multiplicative level will be:

$$ \ln(b_0) = \ln(y_1) - \ln(y_0) $$

The zero value of the seasonality (zero period) for its additive or multiplicative form is defined as the difference or ratio between the first m samples and the zero value of the level, respectively.

AND this is NEITHER a classical additive/multiplicative decomposition or additive/multiplicative Exponential smoothing as I understand. Moreover, trend and seasonality can be additive or multiplicative independently of each other in Statsmodels.

So, the questions:

  1. Does somebody have got any reference about the right selection of the values of the parameters?
  2. Can anybody explain for what cases these parameters should be used?

I'll be appreciated your replies!

References:

  1. Statsmodels.Tsa.Holtwinters.Exponentialsmoothing — Statsmodels.
  2. GitHub. 2020. Statsmodels/Statsmodels.
  • I was researching a little about it and find this [reference](https://books.google.com.br/books?id=gcspLg1fR7EC&pg=PA76&lpg=PA76&dq=Multiplicative+Trend&source=bl&ots=VsHq4mvo7V&sig=ACfU3U15-7ndp1a_1LwyV0JlnzACwO72-A&hl=pt-BR&sa=X&ved=2ahUKEwjakIC_9Z7wAhW3D7kGHcHKDt8Q6AEwEHoECBEQAw#v=onepage&q=Multiplicative%20Trend&f=false). Perhaps it could help you. – viniciusrf1992 Apr 27 '21 at 17:23

0 Answers0