Random forest and gradient boosting are leading data mining techniques. They are designed to improve upon the poor predictive accuracy of decision trees. Random forest is by far the more popular, if the google trends chart below is anything to go by.
[trends h=”450″ w=”500″ q=”+random+forest,+gradient+boosting”]
Correlation between predictors is the data miners’ bugbear. It is an inevitable fact of life in many situations. Multicollinearity can lead to misleading conclusions and degrade predictive power. A natural question is: Which approach handles multicollinearity better? Random forest or gradient boosting?
Suppose there are observations and potential predictors . Assume that
where is the amplitude of gaussian noise (mean zero and unit variance). Only 2 of potential predictors actually play a role in generating the observations. The are independently distributed () with the exception of which is correlated with (correlation ).
As the correlation increases, it becomes harder for a data mining algorithm to ignore , even though is not present in (A) and it is not a “true” explanatory variable.
Variable importance charts for this class of problem show that gradient boosting does a better job of handling multicollinearity than random forest. The complex trees used by random forest tend to spread variable importance more widely, particularly to variables which are correlated with the “true” predictors. The simpler base learner trees of gradient boosting (4 terminal nodes in the above example) seem to have greater immunity from the evils of multicollinearity.
Random forest is an excellent data mining technique, but it’s greater popularity compared to boosting seems unjustified.