I want to apply a clustering algorithm to some time series datasets. I've tried DTW, but it hasn't quite achieved what I want (which is to cluster similarly behaving series such that I can tune fbprophet once per cluster and have the model perform within acceptable error rates).

So, what I want to try is to create a new dataset that has features describing the seasonality and trend of each time series and then apply more traditional clustering to that, but I'm not quite sure what statistics to use for those features. For example, I could perhaps have the R^2 of the trend as one feature, the min, max, mean and standard deviation of the seasonal component as others.

fbprophet's parameters control the sensitivity to change in trend over the course of the time series; I've no idea how to capture that kind of thing really. Maybe have $Y$ be the trend of the time series and simply count the times $Y_{n} - Y_{n-7}$ is above a particular threshold?

Any suggestions very welcome

  • $\begingroup$ Have you considered/tested automatic forecast selection functions like forecast::ets()? I’m familiar with prophet but haven’t used it, is it possible for you to take the same approach as ets() and automate yourself? (Run it n different ways, measure according to whatever your accuracy metric is, and choose the one that minimizes it) $\endgroup$ – Chris Umphlett Jun 24 '19 at 0:35
  • $\begingroup$ @ChrisUmphlett I'm unfamiliar with forecast::ets() but I have been running an automated tuning process similar to what you describe; my problem is that the automated tuning takes too long for the number of time series I have, which is why I want to cluster them into groups with similar characteristics so I can just tune once per cluster. $\endgroup$ – Dan Scally Jun 24 '19 at 7:21
  • $\begingroup$ depending on how complex your prophet tuning is, it may be faster to use et. do you have multiple seasonal cycles? that would be an adv for using prophet. if just one, then ets could be a good option and the "tuning" would be to just allow it to do its thing. ets also has the option of multiplicative errors, prophet is only additive. multiplicative is very useful if you have time series with significant level shifts. $\endgroup$ – Chris Umphlett Jun 24 '19 at 13:12
  • $\begingroup$ @ChrisUmphlett Yeah, there's Weekly, Monthly, Quarterly and Yearly seasonality modelled. The Seasonal changes are relatively stable, so I think that the additive model is appropriate. $\endgroup$ – Dan Scally Jun 24 '19 at 13:31
  • $\begingroup$ I think you mean u have series with different seasons, but not multiple seasons in same series? (You wouldn’t usually combine these intervals, I was wondering if you had something like hourly+daily). Consider trying ets— I cant say how Much faster it will be. $\endgroup$ – Chris Umphlett Jun 24 '19 at 13:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.