Q1) How to interpret the Seasonal Decompose (Additive V/S Multiplicative) plotted against the same dataset?

Q2) And, on the basis of the below plotted Observed data-points, which decomposition one makes more sense, and why?

enter image description here

Observations from Multiplicative Decomposition:

  • Seasonal & Trend chart scales between 0.99 to 1.00

Observations from Additive Decomposition:

  • Seasonal chart scales between -3 to 3
  • Trend chart scales between -2 to 2

Code Used:

import statsmodels.datasets.co2 as co2
co2_df = co2.load().data
co2_data = co2_data.fillna(co2_data.interpolate()); co2_data.columns=["co2_interpolated"]

y = co2_data["co2_interpolated"]

decomposition_mul = sm.tsa.seasonal_decompose(y, model='multiplicative')
decomposition_add = sm.tsa.seasonal_decompose(y, model='additive')


def plotseasonal(res, axes, title):
    res.observed.plot(ax=axes[0], legend=False)
    res.trend.plot(ax=axes[1], legend=False)
    res.seasonal.plot(ax=axes[2], legend=False)
    res.resid.plot(ax=axes[3], legend=False)

fig, axes = plt.subplots(ncols=2, nrows=4, sharex=False, figsize=(30,15))
plotseasonal(decomposition_mul, axes[:,0], title="Multiplicative")
plotseasonal(decomposition_add, axes[:,1], title="Additive")

1 Answer 1

  1. An additive component is added to "everything else" (which usually means "to the baseline and trend, and anything left over is noise), and a multiplicative component is multiplied by "everything else". In your plots, the additive component adds $\pm 3$ units, while a multiplicative component changes "everything else" by $\pm 0.9\%$.

  2. In your particular example, there is very little difference between the two columns. In particular, the bottom noise series does not exhibit any pattern in one column against the other. (For instance, if the noise increased in the "additive" column but not in the "multiplicative" one, that would indicate that a multiplicative decomposition models a signal that the additive one can't - but we don't see that here.) Compare the classical Airline Passengers time series, where you see how the seasonal fluctuations increase in amplitude over time, i.e., with the increasing trend, which clearly indicates that a multiplicative seasonality is more appropriate here:

    enter image description here

    In your case, there is some trend (but the cut-off vertical axis suggests a stronger trend than there is in reality), but we don't see such increases in seasonal amplitude. As such, I don't think it makes a lot of difference whether you pick a multiplicative or an additive decomposition.

    You could always take a holdout sample, model and forecast with either decomposition and check which one gives better forecasts. But again, I don't think the differences in accuracy will be large, and they could be simply due to noise.

  • $\begingroup$ That explanation was very helpful, thank you $\endgroup$ Commented Oct 18, 2022 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.