Solved – Multilevel TimeSeries modelling in Python

multilevel-analysispythontime series

At work I have been asked to model using Time Series data and I am not very familiar with time series(haven't done end to end project). Now the problem at hand is to understand company's price position with respect to the market and other economic variables.

We had a simple model log(Applications) ~ log(Price Relative to Market), this gave us a coefficient value which was used previously in an optimisation tool.

We now want to bring a more sophisticated approach to this, as we know that its not only Relative market price but many other variables that will effect this relationship.

i.e. log(Applications) ~ log(Price Relative to Market)+ Others...

Also we want to segment this at various levels. for e.g. we might differentiate our price by some features of a customer's profile. This could mean having to model various models but the problem then is how do you manage and explain so many of them?

However, I am looking for something in Python
i.e. not only solves the problem but also helps to code within a language and an environment at work.

Any help or guidance will be highly appreciated.

Best Answer

To answer your main question:

Multilevel TimeSeries modelling in Python

There is nothing equivalent to the HTS package in Python. The two things that I know of that are the closest are PyAF and htsprophet. However they use different forecasting models than those used in HTS.

PyAF uses models from scikit-learn to do forecasting, which is unusual since the sklearn models aren't usually amenable to time series problems. htsprophet uses only the FB Prophet model.

By contrast HTS uses ARIMA and ETS, which are more standard forecasting methods (although FB Prophet is increasing in popularity).


From what you described in your post though, I'm not entirely sure whether your problem is indeed a time series problem, or if it is indeed hierarchical in nature the way it hierarchy is understood in HTS.

Can you please clarify the details of what you are trying to do?

Related Question