Skip to main content
added 58 characters in body
Source Link
Stephan Kolassa
  • 130.7k
  • 22
  • 264
  • 497

You have : load varies within days, but this is modulated by the day of week. Depending on where you are in the world, you may have a third seasonal component for the time within the year (because electrical heating and air conditioning is differently prevalent in different parts of the world). Take a look at the tag wiki for literature.

This signal is likely the strongest thing to model here. Additional predictors might be calendar events, where load may look quite different (think Thanksgiving or Christmas in the US).

(Nonseasonal) ARIMA cannot deal with this at all, and (seasonal) SARIMA can model only one kind of seasonality, via differencing. It has major problems with "long" seasonality: SARIMA is fine for quarterly or monthly data with seasonal lengths of 4 or 12, but data in minute buckets has a season length of 1440 just for the intra-daily patterns. I would not look to ARIMA.

I would use some of the methods discussed in the tag wiki linked to above. TBATS may struggle with your amount of data. MSTL would probably be my method of choice.

As you write, using a "standard" ML tool and feeding in appropriate predictors is absolutely also a possibility. In that case, do not use the hour of day as a predictor, but use harmonic (sine/cosine) transforms of the minutetimestamp, with periodicity of a day, half a day, one third of the day etc.. I would indeed use Boolean dummies for the days of the week, and if you are using a simple statistical model, model the interaction between the (sine/cosine of) minute of day and day of week. In addition, play around with sine/cosine transforms of the minute of the year if you suspect yearly seasonality. And look at any calendar events, especially the kind that moves around in the year.

You have : load varies within days, but this is modulated by the day of week. Depending on where you are in the world, you may have a third seasonal component for the time within the year (because electrical heating and air conditioning is differently prevalent in different parts of the world). Take a look at the tag wiki for literature.

This signal is likely the strongest thing to model here. Additional predictors might be calendar events, where load may look quite different (think Thanksgiving or Christmas in the US).

(Nonseasonal) ARIMA cannot deal with this at all, and (seasonal) SARIMA can model only one kind of seasonality, via differencing. It has major problems with "long" seasonality: SARIMA is fine for quarterly or monthly data with seasonal lengths of 4 or 12, but data in minute buckets has a season length of 1440 just for the intra-daily patterns. I would not look to ARIMA.

I would use some of the methods discussed in the tag wiki linked to above. TBATS may struggle with your amount of data. MSTL would probably be my method of choice.

As you write, using a "standard" ML tool and feeding in appropriate predictors is absolutely also a possibility. In that case, do not use the hour of day as a predictor, but use harmonic (sine/cosine) transforms of the minute of the day. I would indeed use Boolean dummies for the days of the week, and if you are using a simple statistical model, model the interaction between the (sine/cosine of) minute of day and day of week. In addition, play around with sine/cosine transforms of the minute of the year if you suspect yearly seasonality. And look at any calendar events, especially the kind that moves around in the year.

You have : load varies within days, but this is modulated by the day of week. Depending on where you are in the world, you may have a third seasonal component for the time within the year (because electrical heating and air conditioning is differently prevalent in different parts of the world). Take a look at the tag wiki for literature.

This signal is likely the strongest thing to model here. Additional predictors might be calendar events, where load may look quite different (think Thanksgiving or Christmas in the US).

(Nonseasonal) ARIMA cannot deal with this at all, and (seasonal) SARIMA can model only one kind of seasonality, via differencing. It has major problems with "long" seasonality: SARIMA is fine for quarterly or monthly data with seasonal lengths of 4 or 12, but data in minute buckets has a season length of 1440 just for the intra-daily patterns. I would not look to ARIMA.

I would use some of the methods discussed in the tag wiki linked to above. TBATS may struggle with your amount of data. MSTL would probably be my method of choice.

As you write, using a "standard" ML tool and feeding in appropriate predictors is absolutely also a possibility. In that case, do not use the hour of day as a predictor, but use harmonic (sine/cosine) transforms of the timestamp, with periodicity of a day, half a day, one third of the day etc.. I would indeed use Boolean dummies for the days of the week, and if you are using a simple statistical model, model the interaction between the (sine/cosine of) minute of day and day of week. In addition, play around with sine/cosine transforms of the minute of the year if you suspect yearly seasonality. And look at any calendar events, especially the kind that moves around in the year.

Source Link
Stephan Kolassa
  • 130.7k
  • 22
  • 264
  • 497

You have : load varies within days, but this is modulated by the day of week. Depending on where you are in the world, you may have a third seasonal component for the time within the year (because electrical heating and air conditioning is differently prevalent in different parts of the world). Take a look at the tag wiki for literature.

This signal is likely the strongest thing to model here. Additional predictors might be calendar events, where load may look quite different (think Thanksgiving or Christmas in the US).

(Nonseasonal) ARIMA cannot deal with this at all, and (seasonal) SARIMA can model only one kind of seasonality, via differencing. It has major problems with "long" seasonality: SARIMA is fine for quarterly or monthly data with seasonal lengths of 4 or 12, but data in minute buckets has a season length of 1440 just for the intra-daily patterns. I would not look to ARIMA.

I would use some of the methods discussed in the tag wiki linked to above. TBATS may struggle with your amount of data. MSTL would probably be my method of choice.

As you write, using a "standard" ML tool and feeding in appropriate predictors is absolutely also a possibility. In that case, do not use the hour of day as a predictor, but use harmonic (sine/cosine) transforms of the minute of the day. I would indeed use Boolean dummies for the days of the week, and if you are using a simple statistical model, model the interaction between the (sine/cosine of) minute of day and day of week. In addition, play around with sine/cosine transforms of the minute of the year if you suspect yearly seasonality. And look at any calendar events, especially the kind that moves around in the year.