SAP Predictive Analytics: hands-on

SAP Predictive Analytics: hands-on

Predictive analysis is het voorspellen van uitkomsten op basis van historische data en statistiek. In deze blog geef ik aan de hand van een voorbeeld stapsgewijs uitleg hoe er door middel van SAP Predictive Analytics inzicht gekregen kan worden uit een dataset. Er wordt gewerkt met een fictieve dataset waarin verschillende gegevens van bewoners van een stad zijn opgenomen en waarmee we gaan kijken of het mogelijk is om aan de hand van deze data voorspellingen te doen over toekomstige verhuizingen.

De dataset bestaat uit de volgende attributen:

  • Leeftijd
  • Geslacht
  • Status
  • Aantal kinderen in het gezin
  • Voornaam
  • Achternaam
  • Salaris
  • Verhuisd (Ja/Nee)

In SAP Predictive Analytics kiezen we voor een nieuwe dataset waarna we de Excel met benodigde data selecteren en uploaden.

 

Vervolgens hebben we de mogelijkheid om in de Prepare tab de dataset te bewerken. Zo kunnen bestaande kolommen worden aangepast of gehele nieuwe kolommen worden toegevoegd. Denk aan zaken als converteren naar tekst, samenvoegen van kolommen, het creëren van nieuwe kengetallen of dimensies, nieuwe berekeningen of het aanpassen van headers.
In ons voorbeeld beperken we ons tot het aanpassen van een header.

 

In dit scenario hebben we data met kenmerken van werkende mensen zoals leeftijd en salaris en een indicator of men onlangs is verhuisd, ja of nee. We gaan door middel van classificatie kijken welke variabelen het best in staat zijn om het verhuisgedrag van mensen te voorspellen.

Om de classificatie te gebruiken op de dataset gaan we naar de Predict tab. Bij het selecteren van deze tab zien we de toegevoegde dataset linksboven al staan.

Aan de rechterkant zien we verschillende algoritmes die we met de dataset kunnen gebruiken, als regressie, clustering en classificatie. We kiezen Auto Classification en slepen deze in het analyse canvas waarna de dataset automatisch wordt gekoppeld aan het door ons gekozen algoritme.

 

Vervolgens selecteren we welke kolommen er moeten worden meegenomen door de classificatie. In dit voorbeeld kiezen we leeftijd en salaris als de componenten die de gekozen doelvariabele, Verhuisd, zullen voorspellen. Het veld verhuisd is een binaire variabele, waarbij een nul aangeeft dat iemand niet is verhuisd en een één een verhuizing representeert. Een eigenschap van een binaire variabele binnen Predictive is dat het model de minst voorkomende waarde van de variabele beschouwd als de doel categorie. In ons voorbeeld zijn er veel minder regels met een één, een verhuizing, waardoor het model herkend dat we juist geïnteresseerd zijn in verhuizingen van mensen.

 

Nadat we het model gedraaid hebben, kunnen we de initiële resultaten bekijken in het Grid scherm. Hierin zal je zien dat er twee nieuwe kolommen zijn toegevoegd door het model, een Predicted kolom en een Probability kolom. De kolom met header Predicted geeft met één of nul een voorspelling aan of een persoon gaat verhuizen ja of nee en de Probability geeft de kans in dat het gaat gebeuren.

 

De grafiek “Model Performance” geeft een grafische presentatie van de effectiviteit van het model. Hierin zijn 3 lijnen te zien. De groene lijn is een weergave van het model als deze perfecte voorspellingen zou kunnen doen. De blauwe lijn laat ons huidig gebruikte model zien en de rode lijn laat een volstrekt willekeurige uitslag zien, dit zou de uitslag zijn wanneer er geen model zou zijn gebruikt. We zien dat de blauwe lijn mooi richting de groene gaat wat aangeeft dat ons model redelijke voorspellende kracht bevat en de uitkomsten niet op willekeur gebaseerd zijn.

 

Nu we gezien hebben dat er enig voorspellend vermogen in ons model zit kunnen we het model gebruiken om resultaten te visualiseren en voorzichtige voorspellingen te doen. Als eerste plotten we de verdeling van salaris over de verschillende leeftijden in een staafdiagram in de tab Visualize.

 

We zien hier een toename van salaris, hoewel niet bepaald vloeiend, naarmate men ouder wordt en is er een afname zichtbaar rond de pensioenleeftijd. Als we hierin een onderscheid maken tussen mensen die verhuisd zijn op basis van de “Verhuisd” kolom uit de dataset zien we dat mensen in de leeftijd 25 t/m 35 die verhuisd zijn meer verdienen dan mensen uit dezelfde leeftijdscategorie en niet zijn verhuisd.

 

Als we het kengetal “Verhuisd” vervangen met de door het classificatie model gegenereerd kengetal “PredictedValuesClassification” kunnen we zien welke categorie mensen het meest waarschijnlijk zijn om te gaan verhuizen. In ons geval zijn dit mensen tussen de 25 en 35 jaar en met een salaris van rond de 50.000 per jaar. Een dergelijke voorspelling zou een marketing afdeling van een hypotheekverstrekker kunnen helpen bij het identificeren van nieuwe mogelijke klanten.

Bovenstaande laat zien hoe je door middel van SAP Predictive Analytics historische data kunt gebruiken om patronen aan het licht te krijgen en voorspellingen te doen. In dit geval hebben we een causaal verband aangetoond tussen leeftijd en salaris en de kans op verhuizen. Let wel dat we hier te maken hadden met een trainingset, een dataset die gebruikt wordt voor het ontdekken van een voorspellende relatie, met een risico op een ‘overfit’ van de data. Om te kijken of de gevonden relatie in het echt ook standhoudt zal deze relatie ook tegen een representatieve testset gehouden moeten worden.

Bas Visser