6
$\begingroup$

We have some power load functions that of course are driven heavily by a workday rhythm that we need to forecast, and after some light research into the topic, I see that using ARIMA would seemingly be the logical/usual way to go here. However a colleague suggested that an Random Forest could do just as well and would be much less work. I know RFs can be somewhat magical in their ability to fit things, almost like Neural Networks, and I suppose the proof of the pudding is in the eating. But what is the opinion of this community? Is this a naive approach that will likely not work, or is it worth a try?

$\endgroup$
3
  • $\begingroup$ Odd that no one has taken a crack at this, especially as I am only asking for an opinion. $\endgroup$
    – Mike Wise
    Apr 29, 2015 at 13:56
  • 1
    $\begingroup$ Take a look here, here, here, and most of all here. $\endgroup$ May 4, 2015 at 5:35
  • $\begingroup$ Those are great links, and is essentially the answer to my question. Write them up as an answer and I will confirm it. $\endgroup$
    – Mike Wise
    May 16, 2015 at 8:33

2 Answers 2

5
$\begingroup$

It has been awhile, but this is still getting upvotes. So ...

In the event, I did use a Random Forest, and it worked really well. A boosted tree did a bit better that that even. Also since then I know of several other similar projects that took the same route with success and very little fuss. While ARIMA is surely a powerful method with a distinguished history, it seems in today's world the ensemble methods will usually get you where you want to go much quicker, but maybe with the disadvantage of not shed as much light as to what is really going on under the covers.

One thing to watch out for is don't just split your training/test set randomly and test on it, you have to chunk it out so that the test points are not right up against to the training points (on the time axis). This is necessary for any time series which has slowly changing data, otherwise the forest always gets to see training points almost identical to the test points and will thus fit it almost exactly, giving you highly misleading performance that will not reflect real life performance on unseen data.I made that mistake in the first round and was euphoric about my model explaining 90% plus of the variation - for about a day until I realized what was going on. 60% to 80% was what it really did.

$\endgroup$
1
0
$\begingroup$

I don't see the argument that Random Forest is less work than ARIMA. I would present RF is more work.

Here is the process for ARIMA: 1. Detrend / transform your data 2. Test for stationarity 3. Run autocorrelation plots 4. Set your parameters for your model 5. Run a grid search if you want 6. Look at RMSE

Here is the process for Random Forest: 1. You still have to transform your data 2. You still have to test for stationarity 3. You have to think about creating a bunch of useful features like season, time of day, t-1, t-7, t-14, split weeks, holidays, features that go into all machine learning models 4. Set up cross validation (train, test) 5. Optimize with gridsearch or kfold 6. Pick parameters, then run a model 7. Look at results

$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.