Drie collega's hebben de EARL-conferentie in Londen bezocht

Indrukken van de EARL-conferentie

Vorige week ben ik met twee Ordina-collega’s in de trein gestapt naar Londen om de EARL-conferentie (Enterprise Applications of the R Language) bij te wonen. De conferentie duurde drie dagen: de eerste dag hebben we workshops gevolgd van ervaren data scientists, en de twee dagen daarna bestonden uit presentaties en drie keynotes.

Ik wil hier graag wat vertellen over wat ik in Londen heb geleerd. De stukjes hieronder staan min of meer in volgorde van hoe technisch ze zijn, dus als je zelf geen data scientist bent zou het kunnen dat het na de eerste twee kopjes iets te technisch voor je wordt.

Geloofwaardigheid van data science

Eén van de keynotes, door Garrett Grolemund van RStudio, ging over de reproducibility crisis binnen de wetenschap: het blijkt dat veel gepubliceerd onderzoek bij herhaling niet dezelfde resultaten oplevert als in het artikel wordt beschreven. Dat is een groot probleem voor de geloofwaardigheid van de wetenschap, en volgens Grolemund dreigt eenzelfde probleem voor data science. Hij wijst op bekende voorbeelden, zoals de polls voorafgaand aan verkiezing van Trump, het fotoclassificatiealgoritme van Google, of de poging van Microsoft een hippe Twitter-bot te lanceren.

Dit wordt volgens Grolemund voor een deel veroorzaakt door wat hij een ‘cargo-cult phenomenon‘ noemt: data scientists gebruiken technieken zonder te weten wat er onder de motorkap gaande is. De oplossing die hij voorstelt is het vergroten van de transparantie, door bijvoorbeeld gebruikte code te delen via R Markdown-scripts. Over dit onderwerp heeft hij onlangs een boek geschreven dat online gratis beschikbaar is. Zijn slides kun je hier downloaden.

Organisaties tot in de vezels datagedreven maken

De twee andere keynotes gingen grotendeels over hetzelfde onderwerp: het transformeren van organisaties. Richard Pugh van Mango Solutions verwoordde dit als: Hoe creëren we een datagedreven organisatie vanuit een verzameling data science-projecten? Volgens Pugh is het vaak duidelijk waarom je meer data moet gebruiken, maar de manier waarop je dat precies moet doen kan erg lastig zijn. Hij schetst hiervoor een stappenplan dat grofweg bestaat uit drie fasen:

  • de eerste is dat alle data-analisten binnen de organisatie zich verenigen en een gemeenschappelijke manier van werken ontwikkelen, zodat er een coherente analytics-capaciteit binnen de organisatie ontstaat;
  • de tweede dat deze analisten intensieve contacten leggen met de business, zodat zij weten wat er leeft en de business weet voor welke vragen ze bij hun analisten terecht kunnen;
  • de derde is dat deze aanpak geconsolideerd wordt door de hele organisatie, waarbij duidelijk wordt vastgelegd wat het doel en de meerwaarde van analytics zijn voor de gehele organisatie.

De keynote van Pugh maakte erg veel indruk op me (slides hier). Vooraf had ik niet gedacht dat hij deze vraag, die vaak wordt gesteld en meestal een vaag antwoord krijgt, zo specifiek zou kunnen beantwoorden, met bruikbaar advies en een uitgebreid stappenplan. Pugh werkt dan ook al meer dan een decennium met R en heeft veel verschillende organisaties geadviseerd over het maken van deze transitie. Die ervaring kon je duidelijk merken en daardoor was het een leerzame keynote.

Cloudomgevingen en plug-n-play API’s

Een aantal presentaties ging over wat je zou kunnen omschrijven als ‘plug and play data science’: manieren om snel van start te gaan met complexe infrastructuur of algoritmes. Zo vertelde David Smith van Microsoft (slides) over de Microsoft Custom Vision API. Dit is een state-of-the-art machine vision model dat voor heel veel doelen gebruikt kan worden. Het enige wat je de API moet aanbieden, is een beperkte trainingsset met de classificaties die je het wil aanleren. Het model heeft al van heel veel afbeeldingen geleerd hoe het patronen kan herkennen, en hoeft nu alleen nog maar te leren hoe het die algemene patronen toepast op de afbeeldingen waar je geïnteresseerd in bent.

Qua infrastructuur vond het ik het praatje van Christoph Bodner van de Oostenrijkse postdienst interessant (slides). De Oostenrijkse post heeft heel veel modellen getraind om per postcodegebied te voorspellen hoeveel pakketten er in per maand worden verzonden. Om al deze modellen te draaien hadden zij serverruimte nodig, en Bodner vertelde over de opties die ze daarvoor overwogen hebben. Uiteindelijk kozen zij voor Azure Batch, vanwege een aantal argumenten die Bodner uitlegt in zijn slides.

Tekstanalyse

Ik heb erg veel geleerd van de presentatie van Chris Billingham (slides) over topic modelling met het stm package. Billingham vertelt over een tool die zijn team heeft gebouwd om automatisch te bepalen waar een online review over gaat. Het interessante hieraan is dat hij weinig vertelt over de technieken die ze daarbij hebben gebruikt, en veel meer over het proces dat ze doorlopen hebben. Hierbij is hij erg eerlijk: hij vertelt bijvoorbeeld dat ze aanvankelijk voor het package stm kozen, omdat het een voortgangsbalkje toont (en dus niet vanwege een inhoudelijke reden). Al met al vond ik deze presentatie erg inspirerend en inmiddels ben ik zelf wat aan het uitproberen met dit package. Hopelijk kan ik daar binnenkort een blogpost over plaatsen.

Shiny

Een groot aantal presentaties ging over Shiny. Het lijkt alsof elke business tegenwoordig verslaafd is geraakt aan deze eenvoudige manier om een dashboardje te bouwen. Een presentatie die me vooral is bijgebleven was van Andreas Wittman van MAN trucks (slides). Wittman werkt met enorme hoeveelheden positiedata en heeft een script geschreven om deze data intelligent te clusteren, zodat ze gevisualiseerd kunnen worden in leaflet, ook als je uitzoomt. Als je hier zelf mee aan de slag wilt, kun je zijn code hier vinden.

Forecasting

De laatste presentatie die ik wil noemen is die van Dan Erben van Dyson (slides). Erben heeft een forecastingmodel ontwikkeld voor de verkoop van producten van Dyson. Het model waar zij uiteindelijk voor kozen, is ontwikkeld met het package prophet van Facebook. Het interessante hieraan is dat ze ook externe voorspellers wilden toevoegen aan het model, zoals weerdata. Dit kan niet in het package prophet, dus kozen ze ervoor om de trends in de weerdata ook te modelleren met een apart prophet-model, en daarna de residuals van het verkoopmodel te voorspellen op basis van de residuals van de weerdata.

Ik weet persoonlijk niet hoe robuust zo’n model is (en de meerwaarde van die tweede stap leek ook beperkt te zijn), maar de aanpak is in elk geval interessant. Toen ik in mijn werk een vergelijkbare situatie tegenkwam heb ik gekozen voor een ARIMA-model met regressors, voornamelijk omdat ik geen manier zag om mijn externe variabelen te integreren in een model vanuit prophet. Ik ga wellicht nog eens terug naar die dataset en kijken hoe het model presteert als ik deze aanpak kies.