Let's say I've got the the following time series (duration = 2.5 years) grouped by hour:

2017-04-01 00:00:00,12
2017-04-01 01:00:00,5
2017-04-01 02:00:00,2
2017-04-01 03:00:00,4 

The data has a seasonal and trend component (it looks sth like that): enter image description here

The task is to predict the next 24 values (for each hour of the following day) by using Holt-Winters method only.

My questions: I'm going to play with the following parameters:

  1. lenOfPeriod (i.e., data has at least 4 periods: day/week/month/year).
  2. len(observedData): pass the whole data ($2.5$ years) or the data for the last month only. I read that $len(observedData) >= 2 * lenOfPeriod$.
  3. Differentiate my data ($D_i$ = $X_i$ - $X_{i-24}$ to avoid period=1 day = 24 hours).

Do you have any other recommendations?



1 Answer 1


Update since I first posted this response: FB Prophet has been updated since I first posted this answer, and can now handle hourly data, and is overall more flexible as an api

Holt-Winters can't handle multiple periodicities/seasonalities. It is explicitly built with one seasonal component, one trend component and one level component.

TBATS should work for multiple seasonalities.

Facebook's Prophet algorithm can handle multiple seasonalities as well, but their API is rigid and cannot handle data more granular than the day level. However their code is open source and the math behind their algorithm is published so you can still use their approach as a starting point.

Also differencing isn't recommended for Holt-Winters or the methods I mentioned above, since that might remove the seasonalities you are trying to model. Differencing is used for AR models mainly.


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.