Het principe van de werking van Random Forest

Random Forest [Breiman, 1993, 2001] is net als het neurale netwerk een methode uit het onderzoeksveld Machinaal Leren. Het machinaal leren houdt in dat de methode op basis van een trainingsset met gegevens ‘leert’ om bij een bepaalde invoer de daarbij behorende uitvoer te schatten.

Zoals de bloemrijke naam al doet vermoeden bestaat Random Forest uit een verzameling beslisbomen (decision trees), waarbij een beslisboom een schema is dat de verschillende mogelijke trajecten naar een bepaald doel (de uitvoer) weergeeft. Dit schema bestaat uit een opeenvolging van binaire beslisregels.

We zullen hieronder de werking van een beslisboom toelichten voor een eenvoudige dataset met twee predictoren (de verklarende variabelen  X1 en X2) en een uitvoerreeks (Y) die slechts twee mogelijke waarden heeft, zoals A of B (maar vele andere voorbeelden zijn mogelijk, zoals 0 of 1, goed of slecht, winst of verlies, storing of geen storing etc.).

De onderstaande figuur toont links zeven willekeurige records van de dataset en rechts een tweedimensionale weergave van de gehele dataset, waarbij voor de overzichtelijkheid een waarde A is weergegeven met een rode cirkel en een waarde B met een groene cirkel.

Figuur 1: Dataset met twee predictoren (verklarende variabelen) en één uitvoerreeks, om de werking van een beslisboom van Random Forest toe te lichten. Links zeven willekeurige records van de dataset en rechts een tweedimensionale weergave van de gehele dataset.

De beslisboom wordt als volgt serieel opgebouwd uit een aantal knooppunten.

  1. Bij het eerste knooppunt wordt bepaald bij welke waarde van één van de predictoren (X1 of X2) de verzameling Y-waarden in de twee meest homogene delen wordt opgesplitst. Dit blijkt de waarde 5 van X1 te zijn. Bij X1 ≥ 5 is  Y  bijna altijd rood (A).
  2. Bij het tweede knooppunt wordt bepaald bij welke waarde van één van de predictoren de deelverzameling Y-waarden met X1 < 5 in de twee meest homogene delen wordt opgesplitst. Dit blijkt de waarde 3 van X2 te zijn. Bij X1 < 5 en X2 ≥ 3 is Y bijna altijd rood (A).
  3. Bij het derde knooppunt wordt bepaald bij welke waarde van één van de predictoren de deelverzameling Y-waarden met X1 < 5 en X2 < 3 in de twee meest homogene delen wordt opgesplitst. Dit blijkt de waarde 2 van X1 te zijn. Bij 2 ≤ X1 < 5 en X2 < 3 is Y altijd groen (B), terwijl deze bij X1 < 2 altijd rood (A) is.

De resulterende beslisboom is in onderstaande figuur links weergegeven. Rechts zien we hoe de dataset door de splitsingswaarden van de drie knooppunten in zo homogeen mogelijke deelverzamelingen is opgesplitst.

Figuur 2: Links: de beslisboom die is afgeleid voor de voorbeelddataset, met drie knooppunten. Rechts: Opsplitsing van de dataset door de splitsingswaarden van de drie knooppunten.

Het principe van de beslisboom is dus dat de verzameling Y-waarden door de optimale splitsingswaarden van de predictoren wordt opgesplitst in zo homogeen mogelijke deelverzamelingen. In het bovenstaande voorbeeld is dit uitgewerkt voor een uitvoerreeks Y met slechts twee nominale uitkomsten (A en B), maar het principe werkt net zo goed voor een uitvoerreeks Y met numerieke uitkomsten.

Beslisbomen kunnen worden opgevat als zwakke voorspellers, aangezien ze doorgaans geen zeer betrouwbare schattingen opleveren. Door  vele beslisbomen te combineren en ook enkele stochastische elementen toe te voegen ontstaat een veel sterkere voorspeller. Deze, door Breiman ontwikkelde methode, kreeg de toepasselijke naam  Random Forest.

Random Forest is een geschikte methode, zeker in vergelijking met andere methodes, als er in de dataset sprake is van multicollineariteit, interacties tussen predictoren en niet-lineaire verbanden. Random Forest kan ook overweg met niet-numerieke (ordinale en nominale) predictoren en ongebalanceerde data, waarbij gebeurtenissen onevenredig verdeeld zijn, zoals bij storingen en calamiteiten. Random Forest heeft bijzonder goede eigenschappen voor:

  • Het voorspellen of het schatten van kansen op gebeurtenissen
  • Het imputeren van ontbrekende waarden in een dataset
  • Het detecteren van de belangrijkste invloedsfactoren (predictoren) voor gebeurtenissen in een dataset
  • Het detecteren van verdachte gebeurtenissen of veranderingen in een dataset
  • Het detecteren van patronen of de classificatie van verbanden of kenmerken in een dataset.

De methode Random Forest is vooral bruikbaar bij complexe niet-lineaire processen en grote datasets.