Innovatie & Strategie

Dit is een bijdrage van Itility
Datamanagement
Alledaagse problemen oplossen met data science

Data science voor alledaagse problemen

Er schuilt een data scientist in iedereen. 3 alledaagse voorbeelden om de logica van data science technieken te laten zien

23 april 2019
Door: Itility, partner

Er schuilt een data scientist in iedereen. 3 alledaagse voorbeelden om de logica van data science technieken te laten zien

Data science: het wordt vaak als iets ingewikkelds gezien waarvan de meeste mensen niet weten hoe het precies werkt. Waarschijnlijk begrijp je in grote lijnen wel wat een data scientist doet: “data scientists verzamelen data, analyseren het, maken er een model van en proberen de resultaten daarvan zodanig te visualiseren dat ze gemakkelijk kunnen worden uitgelegd aan anderen”. Met deze kennis ben je al vrij goed op de hoogte van wat dit beruchte volk doet. Maar begrijp je dan ook daadwerkelijk wat er zich in hun hoofd afspeelt, en volg je de complexe besluitvorming die onderdeel is van hun werk?

Goed nieuws is dat er een data scientist schuilt in iedereen. Mensen maken datagedreven beslissingen sneller dan een Tesla Roadster kan rijden. Je brein is veel krachtiger dan de meeste algoritmen die in het leven zijn geroepen door de mensheid. Vaak proberen die namelijk iets te repliceren wat de natuur of het menselijk brein al lang kan. Lees hieronder drie alledaagse voorbeelden waarin je technieken van een data scientist gebruikt.

 

Wat trek ik aan? (Machine learning + simulation)

07:15. De wekker gaat. Natuurlijk snooze je, dus tien minuten later spring je haastig uit bed en onder de douche. Daarna loop je naar de kast om te bedenken wat je aantrekt vandaag. Maar het kiezen van een outfit kan best een lastige beslissing zijn. Toch zijn hersenen in staat deze taak relatief snel uit te voeren. Desondanks kun je ook een slechte dag hebben en de verkeerde beslissing maken. Als we hier met een data science-bril naar kijken kunnen we dit proces imiteren en zo mogelijk verbeteren.

Of je uiteindelijk blij bent met de gekozen outfit hangt af van meerdere factoren. Belangrijk kan zijn of de outfit recentelijk gedragen is. De meesten van ons willen immers niet hoeven wassen of strijken, maar je wil een outfit ook niet te vaak dragen. Daarnaast zijn er speciale regels rondom wat wel en echt NIET kan, bijvoorbeeld het dragen van sokken in sandalen of het combineren van de kleuren paars en bruin. En gaan we werken of sporten? Schijnt de zon of gaat het regenen? Hoe kunnen we deze informatie gebruiken om de kleding te kiezen waar je vandaag het meest blij van wordt?

We maken een tabel op basis van de punten hierboven. Iedere rij is een nieuwe dag – en dus een nieuwe observatie – en iedere kolom is een factor die van belang kan zijn in ons keuzeproces. Dit ziet er als volgt uit:

Dataset van outfit-keuzemogelijkheden

 
In dit voorbeeld hebben we slechts vijf dagen met observaties, maar stel je voor dat we deze informatie hebben over iedere dag in ons leven. Door een techniek als machine learning toe te passen kunnen we, op basis van de informatie uit de kolommen, voorspellen hoe blij je wordt van een bepaalde outfit. We observeren daarvoor resultaten uit het verleden om daarin verborgen patronen te ontdekken. Op basis van de tabel hierboven lijkt het aannemelijk dat je blij wordt van een blauwe trui en beige broek op een niet-regenachtige werkdag. Als zo’n dag weer voorkomt, is het aan te bevelen deze outfit weer aan te trekken. Hersenen ontwikkelen na verloop van tijd het vermogen om deze beslissing in een split second te maken.

Een andere techniek die het brein nabootst is simulation. Je hebt de volgende keuzemogelijkheden: ‘groen shirt + witte broek’, ‘gele trui + badpak’ of ‘rode polo + zwarte broek’. We moeten bedenken welke daarvan we de volgende dag aantrekken. Dit kan door nadenken en onszelf voorstellen hoe we eruit zien in elke outfit. Maar we kunnen ook testen wat ons zojuist gefabriceerde machine learning-model voorspelt als geluksindicatie wanneer we de andere kolommen invullen. Nadat het model enkele voorspellingen heeft gedaan, kunnen we de beste outfit kiezen. In dit geval zou dat ‘rode polo + zwarte broek’ zijn. 

Dataset van geluksindicatie outfit keuzemogelijkheden

 
Met deze technieken kunnen we de beste outfit vinden voor iedere dag. In de praktijk worden dit proces op hoge snelheid uitgevoerd in je hoofd. De moeite die het kost om dit model iedere dag te laten draaien als je wakker wordt, zorgt voor een lagere geluksindicatie dan het af en toe kiezen van een mindere outfit.

In het bedrijfsleven gaan slechte beslissingen echter vaak gepaard met hoge kosten. In die context kunnen deze technieken van grote waarde zijn. Een machine ‘aankleden’ komt in feite neer op bepalen wanneer deze in of uit moet schakelen en wanneer er moet worden op- of afgeschaald. Dit is vrijwel dezelfde beslissing als het ‘wat zal ik aantrekken’-probleem, behalve dat de kosten die bij deze afweging komen kijken vele malen groter zijn in het bedrijfsleven.

 

Boodschappen doen (pattern mining + mathematical programming)

Je ligt op de bank en krijgt honger. Je loopt naar de koelkast om iets te eten te pakken, maar deze is helaas leeg. Op naar de winkel om eten te kopen. Maar wat koop je? Hersenen beantwoorden deze vraag met een algoritme dat in de wereld van data science bekend staat als pattern mining. Stel dat je graag producten koopt als kaas, ham en jam. Het is zeer waarschijnlijk dat je dan ook brood koopt, aangezien jij – en vele anderen – weten dat deze producten goed samengaan. Mensen die brood kopen, kopen vaak ook melk. In Nederland is het namelijk gangbaar om melk te drinken bij een boterham. Iedereen heeft deze verbindingen tussen producten in hun hoofd: eieren met spek, pasta met tomatensaus, etc. Stel je voor dat we al die (verborgen) juweeltjes uit ieders hoofd tevoorschijn kunnen toveren... 

Supermarkten zouden heel blij zijn met die informatie. Als ze ham bijvoorbeeld voor de helft afprijzen, kunnen ze niet alleen van hun overtollige voorraad af komen, maar verkopen ze ook meer brood en melk. Als ze de prijs daarvan enigszins verhogen kunnen ze dus meer verdienen. Door de kassabonnen van mensen te analyseren proberen ze erachter te komen welke boodschappen vaak samen gekocht worden. In onderstaande tabel staan de bonnetjes van 5 verschillende klanten.

Dataset inhoud kassabon van vijf klanten

 
Zoals je ziet kopen de mensen die ham, kaas of jam kopen altijd brood. En blijkbaar wordt melk altijd tegelijkertijd gekocht met ham. Daaruit kunnen we afleiden dat een grotere vraag naar ham, de vraag naar brood en melk waarschijnlijk doet toenemen. Het vinden van dit soort verbanden op een constructieve en datagedreven manier kan resulteren in waardevolle (verborgen) juweeltjes in zo ongeveer iedere branche. Door gebruik te maken van een slim algoritme dat alle mogelijkheden ziet, kunnen dergelijke verbanden worden ontdekt.

Zodra je hebt bepaald welke producten goed samengaan en het boodschappenlijstje is gemaakt, ben je klaar om naar de supermarkt te gaan. Daar volgt de volgende vraag: welke route moet ik lopen om zo efficient mogelijk boodschappen te doen? Je hersenen bedenken een route die waarschijnlijk bijna optimaal is, maar niet het meest optimaal. Zeker niet als je veel verschillende producten koopt in een grote winkel. Dat is waar mathematical programming om de hoek komt kijken. Het algoritme dat bij dit vraagstuk past is zeer bekend bij wiskundigen en heet het ‘travelling salesman problem’ (TSP). De eerste situatie waarin dit probleem voorkwam was namelijk een deur-tot-deur verkoper die de kortste route wilde vinden langs een groot aantal huizen, zodat hij op tijd klaar zou zijn met werken.

De optimale oplossing voor dit TSP-probleem vraagt om enkele wiskundige formules (y=x1 +x2, etc). Eenmaal opgelost vertellen deze de optimale route voor je boodschappen. Dit kan veel tijd besparen. Het enige dat je nodig hebt is informatie over prioriteit (ijs pak je bijvoorbeeld als laatst) en afstand tussen de verschillende producten. Uiteraard duurt het langer om deze oplossing te berekenen dan wanneer je start met lopen en kiest voor een bijna optimale route. Maar als we kijken naar transportbedrijven of productielijnen kan dit algoritme duizenden of zelfs miljoenen euro’s opleveren.

 

Een avond uit (speech recognition + statistical theory)

Eindelijk, het is weekend! Je vraagt wat vrienden om mee te gaan naar de club vanavond. Je drink vooraf wat biertjes bij het eten en verplaatst je daarnaa naar je favoriete club. Om vervolgens nog meer bier te drinken. Helaas is het daar zo rumoerig dat je slechts de helft kan verstaan van wat je vrienden zeggen. Ondanks dit ongemak heeft iedereen het naar zijn zin, jullie besluiten te blijven en het algoritme voor speech recognition te gebruiken tijdens de gesprekken.

Dit werkt, omdat je gedeeltes van zinnen hoort en deze automatisch aanvult. Als je hoort: ‘hey, … nog een… voor je halen?’ vul je de gaten aan en maak je de inschatting dat werd gevraagd of je nog een biertje lust. Nu willen we dit trucje van de hersenen omzetten in echte data. 

Spraak kan weergegeven worden als geluidsgolven van een bepaalde frequentie. Hoewel ieder persoon een unieke stem heeft, zijn de geluidsgolven vrijwel gelijkwaardig. Als we voldoende van deze fragmenten – en de woorden of zinnen waar ze voor staan – verzamelen, kunnen we voorspellen wat iemand zegt door na te gaan welk geluidspatroon het meest lijkt op het patroon dat iemand produceert. Zelfs als er woorden – en dus data – missen, is het algoritme nog steeds in staat de meest waarschijnlijke boodschap te vinden. Deze techniek kan worden gebruikt om robots of voice assistants te leren op menselijke bevelen te reageren. Dat zou natuurlijk ontzettend cool zijn voor de wereld en ook waardevol, mits goed gebruikt. 

Nadat je wat gekletst hebt met vrienden, zie je een prachtige man of vrouw. Jezelf afvragend of dit de liefde van je leven kan zijn. Gelukkig kan statistical theory ons vertellen welke strategie je moet hanteren, waarmee je de grootste kans hebt om te eindigen met je perfecte partner.

Om dit probleem te analyseren zijn er de volgende voorwaarden:

  • In een bepaalde tijdsspanne kom je één voor één honderd mogelijke partners tegen.
  • Je mag de huidige persoon kiezen of wijst de persoon af en wacht op de volgende mogelijke partner die in je leven verschijnt.
  • Als je eenmaal iemand kiest is het spel voorbij en kun je niemand anders meer kiezen.
  • Als je iemand afwijst komt deze persoon niet meer terug, aangezien ze niet blij zijn met jouw afwijzing.

Helaas weet je niet wanneer je ‘die ene’ tegenkomt. De vraag is: welke afwijzingstrategie geeft de grootste kans om te eindigen met de perfecte match?

Het antwoord is als volgt. Je begint met een periode van marktonderzoek waarbij je alle potentiele partners afwijst tot aan een bepaald punt. Nu heb je een basis waarmee je toekomstige partners kunt vergelijken, en moet je de eerste partner kiezen die beter is dan alle afgewezen kandidaten. Maar op welk punt moet je stoppen met het marktonderzoek en beginnen met het accepteren van een partner?

Na wat wiskundige berekeningen kunnen we concluderen dat dit optimale punt wordt bereikt op 1/e (een wiskundige constante, zoals pi). Dit komt neer op ongeveer 1 / 2.718, dus 37 procent van de observaties. Dus nadat je 36 potentiele partners hebt afgewezen, kies je degene die beter is dan alle voorgaande kandidaten en zo heb je de grootste kans op het winnen van de ultieme prijs.

Desondanks is het advies om zelf te bepalen of je nog in de fase van marktonderzoek bent, of al klaar bent om aan iemand te binden. In dat geval is de kans het grootst dat die persoon in de club je perfecte partner is. Maar sommige dingen zijn niet op te lossen met data science, want liefde komt uit het hart, niet het hoofd!

 

Conclusies

Hopelijk heb je met behulp van bovenstaande voorbeelden geleerd hoe data science-technieken kunnen worden gebruikt om alledaagse problemen op te lossen. De volgende keer dat je je kleren uitkiest, boodschappen gaat doen of op stap gaat, denk je er misschien aan hoe data science je kan helpen bij het maken van de juiste beslissingen. Daarnaast laten we hiermee zien dat data scientists gebruikmaken van de logica die ook gebruikt wordt door het menselijke brein. Ze gebruiken de hersenkracht, die we allemaal bezitten, om modellen te maken die een computer snel kan oplossen. Dit is vooral waardevol wanneer problemen zo groot zijn dat het zeer complexe puzzels worden die mensen niet meer binnen een redelijke tijdsspanne kunnen oplossen. 

Reactie toevoegen