Data science is not about bigger data and deeper learning

← Nieuws
July 07, 2019

Pieter Buzing heeft voor medium.com een blog geschreven over data science in het Engels, hieronder zie je de Nederlandse vertaling.

Het team van West IT Solutions bestaat uit hoogopgeleide IT experts, met uiteenlopende specialisaties als econometrie, wiskunde, elektronica, IT development, business consultancy en implementatie methodieken. Een van de vakgebieden waar onze mensen zich mee bezighouden is Data Science.

Pieter Buzing, software engineer bij West, houdt zich voor meerdere opdrachtgevers bezig met data science methodieken. Zijn visie op data science is dat het voor ieder vraagstuk weer anders is hoe hier mee om te gaan en dat er goed gekeken moet worden welke methodiek het meest effectief is om de juiste invulling te geven aan een project. Hij licht deze visie toe aan de hand van een voorbeeld uit zijn dagelijkse praktijk.

De laatste jaren worden Big Data en Deep Learning AI-systemen steeds populairder. Maar zijn ze echt de oplossing die probleemeigenaren nodig hebben? Een recent project dat we hebben uitgevoerd heeft die vraag enigszins voor ons in perspectief gezet. Het lijkt erop dat expertise op het gebied van menselijke data science wellicht nog steeds belangrijker is dan rekenkracht.

Onze klant Juva had het volgende probleem. Ze zijn een DSO (Distribution Network Operator) die elektriciteit (en aardgas) meestal leveren aan landbouwbedrijven. In tegenstelling tot particulieren hebben high-volume zakelijke klanten een gecontracteerd maximaal vermogen dat ze kunnen verbruiken (per tijdsinterval van 15 minuten), ook al zou hun fysieke verbinding een hoger verbruik mogelijk maken. Deze individuele beperkingen dienen om de infrastructuur van de leverancier te beschermen tegen een vraagoverbelasting wanneer alle gebruikers gelijktijdig een grote hoeveelheid elektriciteit verbruiken. Dit verlaagt inderdaad de totale hoeveelheid energie die Juva zou kunnen leveren als hun klanten hun stroomverbruik zouden spreiden. Om hun klanten een betere service te bieden, hebben ze de ambitie om hun elektriciteitsnet te optimaliseren.

In dit project willen ze de individuele stroomverbruik caps in bepaalde omstandigheden ontlasten. Deze omstandigheden zijn meestal de uren vóór en na de stroompieken in de ochtend. Op deze manier verwacht Juva dat ze hun industriële klanten kunnen overtuigen om hun vraag te spreiden, wat de noodzaak om hun netwerk te upgraden zou verminderen - een dure operatie. Tegelijkertijd stelt het de klant ook in staat om af en toe zijn gecontracteerde maximale stroombehoefte te overschrijden zonder extra kosten, dus het is een win-win situatie.

Om te beslissen of een (willekeurig geselecteerde) groep klanten het "groene licht" krijgt voor het extra energieverbruik, moet Juva voorspellen wanneer de vraagpiek zal optreden. Op basis van deze voorspelling worden de precieze tijdsloten voor de toewijzing van groen licht gemaakt. Ze hebben daarvoor een prognosevenster nodig van ongeveer 36 uur vooruit.

Juva heeft ons gevraagd om eerst de historische stroomverbruiksgegevens te analyseren. Ze hadden een historische tijdreeks van de laatste zeven jaar, bestaande uit het geaggregeerde stroomverbruik (in MWh) per interval van 15 minuten. Niet precies wat je Big Data zou noemen, maar kwalitatief een mooie dataset.

Om te beginnen heb ik een algemene opmerking over de voorspelling van de tijdreeks. Bij het voorspellen van een tijdreeks zijn er twee belangrijke aspecten. Er zijn vaak mondiale patronen die repetitief en voorspelbaar zijn. Wanneer het tijdsinterval van een cyclisch patroon constant is, wordt het "seizoensgebonden" genoemd, in tegenstelling tot b.v. zakelijke cycli. Maar er zijn ook 'lokale' invloeden die de trend van een tijdreeks bepalen, zoals de temperatuur of de waarden van het recente verleden. Deze afhankelijkheid van het recente verleden wordt autoregressie genoemd. Het maken van een betrouwbare voorspelling heeft alles te maken met het modelleren van de seizoens- en lokale aspecten.

Toen we naar de dataset keken, werd al snel duidelijk dat deze data drie cyclische componenten had.

Allereerst was er de jaarlijkse cyclus. In de winter was er meer stroom verbruikt in vergelijking met de zomer. Dit is logisch omdat veel landbouwbedrijven in de regio in de winder meer strook verbruiken om hun kassen te verwarmen.

Als tweede component gaf de wekelijkse cyclus aan dat er tijdens het weekend minder vraag was. Maar ook doordeweeks waren er merkbare verschillen tussen b.v. een typische maandag en dinsdag. De grootte van deze cyclische component is echter de kleinste van de drie.

De derde component gaf aan dat het elektriciteitsverbruik overdag ook niet constant was. Tijdens de nacht is er een constante vraag met een piek rond 6 uur. Overdag is de vraag doorgaans negatief vanwege een terugkeer van elektriciteit door zonnepanelen of gecombineerde warmte- en elektriciteitsinstallaties (WKK).

Deze drie repetitieve patronen verklaren een groot deel van de vraagcurve. Vanuit het oogpunt van signaalverwerking lijkt het nu eenvoudig: filter gewoon deze drie "frequenties" uit en wat je uiteindelijk bereikt is de lokale invloed. Deze patronen bleken echter afhankelijk van elkaar te zijn: een dagelijks patroon ziet er in januari heel anders uit dan een dagelijks patroon in juli. Dit is belangrijk omdat standaard prognosemethodes aannemen dat er slechts één seizoenscomponent is en dat deze constant is. En we hebben drie seizoensgebonden componenten die van elkaar afhankelijk zijn. Dus moesten we improviseren.

Wij kozen ervoor om te beginnen met een eenvoudige prognosemethode waarmee we de seizoensgebonden componenten "handmatig" te verwijderden en vervolgens een standaard autoregressiemodel (Arima) te gebruiken om het model te trainen op lokale effecten, de komende uren te voorspellen en uiteindelijk de seizoenscomponenten weer toe te voegen.

Om het veranderende dagelijkse patroon vast te leggen, hebben we het gemiddelde dagpatroon per maand berekend. Op deze manier kunnen we eenvoudig het gemiddelde dagpatroon van de overeenkomstige maand aftrekken. Hoewel een beetje ruw, bleek het redelijk accuraat en gemakkelijk te implementeren.

Het autoregressiemodel drukt in principe de verwachte waarde van de volgende waarde uit als een lineaire combinatie van de vorige. Tijdens de trainingsfase worden de optimale gewichten geschat door regressie. In de voorspellingsfase worden de toekomstige waarden iteratief berekend op basis van deze gewichten.

We zijn geëindigd met een eenvoudig model dat goed presteerde en relatief weinig tijd kostte om uit te voeren. Tijdens de ontwikkeling vonden we gemakkelijk onze weg door het doolhof van parameterkeuzes, omdat het model zo intuïtief was. Maar bovenal was het transparant voor de klant.

Een alternatieve methode was een soort Deep Learning Black Box. Zou het beter zijn geweest dan ons handgemaakte model? Mogelijk. Maar dan zouden we nog heel wat uren hebben doorgebracht met het experimenteel afstemmen van de modelarchitectuur en de bijbehorende parameters. En van buiten is "de AI" altijd een orakel dat nooit de vragen beantwoordt "waarom?" en hoe?".

Dus ja, we hebben geleerd dat een eenvoudige methode voordelen kan hebben ten opzichte van een meer geavanceerde. Vooral als de "eenvoudige" manier precies zo krachtig is als je wilt.

Bron Medium.com: @medium Data Science Is Not About Bigger Data and Deeper Learning