Hoe zuiver is mijn sensor data?

Validatie in het water domein met een data-science model


“Data is het nieuwe goud,” wordt vaak gezegd. Wellicht zijn er net nieuwe sensoren geïnstalleerd in jouw waterzuiveringsinstallatie, riool – of stuwen systeem, of misschien wordt er al jaren data verzameld. Hoe het ook zei – je staat klaar om het nieuwe goud te verzilveren. Nu rest alleen nog een prangende vraag: is de inkomende data te vertrouwen? Is het water echt zoveel gestegen? Was er hier echt zo’n grote piek in mijn ammonium concentratie? En, kan het kloppen dat deze rioolbuis al twee weken leeg lijkt te staan? In deze blog laat ik zien hoe je met data science-technieken antwoorden kan vinden op deze ‘data validatie’ vragen.

Data fouten

Er zijn een aantal typische fouten die we vaak zien in tijdreeksen. Zo kan de data bijvoorbeeld plotseling verspringen naar een andere ‘baseline’ waarde, kan de data langzaam omhoog ‘driften’, kunnen er extreme waardes in zitten, of kan een tijdreeks plotseling ‘flatlinen’:

Hoe weet je nou of deze duidelijk in het oog springende evenementen ‘waargebeurd’ zijn, of dat het fouten in de data zijn die bijvoorbeeld worden veroorzaakt door een kapotte sensor? Als voorbeeld kunnen we waterhoogte in het riool nemen. Een baseline shift kan dan bijvoorbeeld voorkomen als een flinke regenbui zand meeneemt de rioolbuizen in, waardoor het waterniveau standaard hoger staat dan daarvoor. Na een schoonmaak sessie is de pijp weer leeg, waardoor het water weer terugkeert naar normaal niveau. In dat geval was deze baseline shift dus een waargebeurd evenement en geen fout in de data. Ook is het mogelijk dat zand langzaam wordt afgezet in de rioolbuis, waardoor waterniveaus langzaam oplopen over de tijd (drift), of dat een fikse regenbui helemaal geen zand meeneemt. Dat laatste resulteert dan alleen in een sterke korte piek. Dit zou een extreme waarde kunnen verklaren in de data. Een flatline kan bijvoorbeeld voorkomen als het simpelweg een lange tijd droog was. En het komt uiteraard ook voor dat er geen plausibel scenario te verzinnen die zo’n “raar” data-evenement kan verklaren. Hoe moet je dan weten of je de data nog kan vertrouwen?

Data validatie met een model

Het is dus niet zo eenvoudig om te weten te komen of een bepaald evenement in je data te verwachten is of dat het een sensor fout betreft. Dat wil zeggen, wanneer je alleen naar de data zelf kijkt. In combinatie met data science-modellen kunnen we ervoor zorgen dat we hier meer inzicht in krijgen. Ik zal dit uitleggen aan de hand van een voorbeeld. In samenwerking met Aquasuite hebben we de volgende aanpak ontwikkeld voor de beluchtingsfrequentie van een blower installatie op een waterzuiveringsinstallatie. In de data is te zien dat er na 20 augustus sprake is van een ‘baseline shift’: waar de waarde voor 20 augustus gemiddeld rond de 1000 lag, is het vanaf 20 augustus gemiddeld rond de 1250. Hoe komen we er nu achter of deze verhoging een data- of een proces fout is? We weten dat de belangrijkste voorspeller voor beluchting de aanvoer naar de zuivering is. Hoe viezer het water, hoe meer er belucht moet worden om het water weer schoon te krijgen. 

Gelukkig hebben we ook data over de water aanvoer concentraties. We hebben een Quantile Regression Neural Network opgezet om te voorspellen wat een verwachte hoeveelheid beluchting zou moeten zijn gegeven een bepaalde aanvoer. Dat geeft de volgende resultaten:

De blauwe lijn in het figuur hierboven geeft de verwachte beluchting aan gegeven de aanvoer, en de regio’s eromheen vormen de range van waardes die het normaal aan kan nemen. Data-waardes die buiten de buitenste onzekerheids-regio vallen zijn hier aangeduid als ‘outlier’. Je ziet inderdaad dat er een aantal waardes als outlier worden aangeduid na 20 Augustus. Ook zie je dat gemiddeld de beluchting boven de voorspelling ligt vanaf 20 Augustus. Om dat beter weer te geven visualiseren we de resultaten op het gemiddelde per dag:

Hierbij zijn waardes die buiten de eerste grens vallen als ‘outlier’ aangeduid. Je ziet hier dat het daggemiddelde na 20 augustus boven de verwachte bandbreedte begint te liggen. Met dit model in hand kunnen we dus zeggen: beluchting is inderdaad hoger dan we zouden verwachten aan de hand van aanvoer. Wellicht is er dus inderdaad iets mis met de beluchtingsmeting of -proces.

Quantile Regression Neural Network

Het mooie aan een Quantile Regression Neural Network is dat het alle soorten van data-fouten kan detecteren: van drift, baseline shift, extreme waardes en flatlines tot alle soorten vormen van gekke fouten die je maar kan bedenken. Het grote voordeel is dus niet dat voor elke mogelijke foutsoort een aparte regel hoeft te worden bedacht. Ook is het een zeer schaalbare oplossing aangezien het model de te verwachte relaties leert uit de historie. Hierdoor hoeft er niks te worden gefinetuned per sensor. Als we eenmaal zo’n Quantile Regression Neural Network hebben getraind, kunnen we niet alleen weergeven welke waardes outliers zijn, maar kunnen we die ook vervangen door de voorspelling van het model. Deze voorspelde waardes kunnen dan gebruikt worden verder in het zuiveringsproces. Dit zorgt ervoor dat de zuiveringsinstallatie stabiel en data-gedreven kan blijven draaien, ook als sensor waardes soms niet betrouwbaar genoeg zijn.

Combinatie domeinkennis & data science 

Het is erg lastig om alleen aan de hand van de data en een aantal stelregels vast te stellen of bepaalde waardes gek zijn of niet. Data validatie kan dus het beste gedaan worden met behulp van een data science-model, waarmee je voorspelt wat logische waardes zijn aan de hand van andere gegevens die voor handen zijn. Door domeinkennis te combineren met de juiste data science-technieken kan data validatie een stuk eenvoudiger worden. Wil je ook aan de slag met data validatie op je sensor data? Wij bespreken graag de mogelijkheden. 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *