# predictive clustering trees in Python?

I am faced with a time series forecasting cold-start problem, specifically I am forecasting energy consumption of businesses where historic consumption data is available only for training but not new businesses. What I have for new (and existing) businesses is metadata such as business type, turnover etc.

I am trying to approach this problem as a multi-outcome regression where the predictors is represented by the metadata, and the outcomes are each time point in the consumption time-series. Thus, the outcomes are correlated. Some articles mentioned Predictive Clustering Trees (see this and this articles for example) as a possible solution to this problem.

Do you know if there is an implementation in Python or any similar algorithm? Alternatively, do you know of any other algorithm already implemented in Python that could be used for cold-start forecasting/multi-output regression?

Thank you.

• Have you examined the possibility that the solution you are looking for is a time-series analysis (not multiple, but a single one which describes your time series data)? – Juan Esteban de la Calle Apr 22 '19 at 0:48
• Could you please expand on that? Notice that I have no historical data to use for forecasting - I just have historical data of other (possibly similar) businesses – EFoglia Apr 24 '19 at 16:39
• Yes, you have no historical data on the bussiness but similar, what I meant was that maybe you could do predictions on your known bussinesses and then assign the new bussiness to a (modified) trajectory. As an example: You forecasted the bussinesses A, B and C for the next 3 months. You have to forecast D without data, you find (with your metadata) that bussiness D is similar to B, so you assign B's forecast to D and modify it with a multiplier. $Y_{(D,t+1)} = \alpha Y_{(B,t+1)}$ – Juan Esteban de la Calle Apr 24 '19 at 16:48
• I see what you mean, thank you. At the moment I'm doing a similar thing using K nearest neighbours regression (i.e. taking the average consumption for the K nearest neighbours to my target customer). I am not very experienced in timeseries analysis, could you please tell me how I would get that multiplier? – EFoglia Apr 24 '19 at 17:18
• The multiplier could be obtained comparing between bussinesses which belong to the same group, and how do I know that they belong to the same group? by clustering – Juan Esteban de la Calle Apr 24 '19 at 17:27