Opens in a new tab

Wat doe je met ontbrekende data in een dataset?

Jaap de Roos ·
Bureau van data-analist met onvoltooid puzzel, gedrukte spreadsheets en laptop met kleurrijke grafieken in blauw-witte kantooromgeving.

Ontbrekende data in een dataset los je op door eerst te begrijpen waarom de waarden ontbreken, en daarna een aanpak te kiezen die past bij het patroon van de ontbrekende data. De juiste methode hangt af van de hoeveelheid ontbrekende waarden, het type variabele en het doel van de analyse. De secties hieronder beantwoorden de meest gestelde vragen over dit onderwerp, van herkennen tot voorkomen.

Welke soorten ontbrekende data bestaan er in een dataset?

Ontbrekende data valt in drie categorieën uiteen: volledig willekeurig ontbrekend (MCAR), willekeurig ontbrekend afhankelijk van andere variabelen (MAR) en niet-willekeurig ontbrekend (MNAR). Dit onderscheid bepaalt welke aanpak je mag gebruiken zonder vertekening in je analyse te introduceren.

Bij MCAR (Missing Completely At Random) is er geen verband tussen het ontbreken van een waarde en welke data er wel of niet aanwezig is. Denk aan een sensor die willekeurig een meting overslaat door een tijdelijke storing. Dit patroon is het minst problematisch.

Bij MAR (Missing At Random) hangt het ontbreken af van andere variabelen in de dataset, maar niet van de ontbrekende waarde zelf. Een voorbeeld: oudere medewerkers vullen een digitale enquête minder vaak volledig in. De leeftijdsvariabele verklaart het ontbreken, niet de inhoud van het antwoord zelf.

Bij MNAR (Missing Not At Random) is het ontbreken gerelateerd aan de waarde die zou ontbreken. Mensen met een hoog inkomen laten die vraag vaker leeg. Dit patroon is het lastigst te corrigeren, omdat de ontbrekende waarden systematisch afwijken van de aanwezige waarden.

Wat zijn de gevolgen van ontbrekende data voor analyses?

Ontbrekende data leidt tot vertekende resultaten, verminderde statistische kracht en onbetrouwbare modellen, zeker als het patroon niet willekeurig is. Hoe meer waarden ontbreken en hoe systematischer dat gebeurt, hoe groter de impact op de kwaliteit van je conclusies.

Een direct gevolg is dat veel analysetools rijen met ontbrekende waarden automatisch verwijderen. Dit verlaagt de steekproefomvang en kan de representativiteit aantasten. Als de ontbrekende rijen een specifieke groep vertegenwoordigen, trek je uiteindelijk conclusies die niet voor de hele populatie gelden.

Voor AI-toepassingen is dit bijzonder relevant. Een model traint op de data die beschikbaar is, niet op de werkelijkheid. Als bepaalde klantgroepen, transactietypen of tijdsperioden structureel ontbreken, leert het model een vertekend beeld van de werkelijkheid. Het model presenteert zijn uitkomsten vervolgens met dezelfde stelligheid, ongeacht of de onderliggende data compleet was. Dit maakt data voor AI kwalitatief fundamenteel anders dan data voor een eenmalig rapport. Binnen het AI Foundationsmodel voor datakwaliteit is dit een van de kernprincipes.

Daarnaast verstoort ontbrekende data correlatieberekeningen, regressiemodellen en tijdreeksanalyses. Zelfs een klein percentage ontbrekende waarden in een sleutelvariabele kan een analyse volledig onbruikbaar maken als dat patroon niet willekeurig is.

Wanneer verwijder je rijen of kolommen met ontbrekende waarden?

Je verwijdert rijen of kolommen wanneer het percentage ontbrekende waarden hoog is, het patroon niet willekeurig is én imputatie de data eerder zou vervormen dan verbeteren. Als een kolom voor meer dan 60 tot 70 procent uit lege waarden bestaat, voegt die variabele doorgaans weinig toe aan een model.

Voor rijen geldt een soortgelijke redenering. Als een observatie op meerdere variabelen tegelijk ontbreekt en je geen betrouwbare manier hebt om die waarden in te schatten, is verwijderen de eerlijkste keuze. Zorg er wel voor dat je documenteert hoeveel rijen je hebt verwijderd en of die rijen een specifiek patroon vertegenwoordigen.

Verwijder nooit klakkeloos zonder eerst het patroon te analyseren. Een kolom met 30 procent ontbrekende waarden kan nog steeds waardevol zijn als die waarden MCAR zijn en de variabele sterk voorspellend is. Verwijdering is een keuze, geen standaard eerste stap.

Hoe vul je ontbrekende waarden in zonder de data te vervormen?

Je vult ontbrekende waarden in met een methode die past bij het patroon en het type variabele. De meest gebruikte technieken zijn mean/median/mode-imputatie voor eenvoudige gevallen, en modelgebaseerde of meervoudige imputatie voor complexere situaties. De keuze bepaalt in grote mate of je analyse betrouwbaar blijft.

Statistische imputatie voor eenvoudige gevallen

Bij numerieke variabelen met een MCAR-patroon is het invullen van het gemiddelde of de mediaan vaak acceptabel. De mediaan verdient de voorkeur bij scheve verdelingen, omdat het gemiddelde gevoelig is voor uitschieters. Voor categorische variabelen gebruik je de modus, de meest voorkomende waarde.

Het nadeel van deze aanpak is dat je de variantie in de dataset kunstmatig verlaagt. Als je veel waarden invult met hetzelfde getal, worden verbanden in de data minder zichtbaar. Gebruik deze methode daarom alleen als het aandeel ontbrekende waarden klein is.

Modelgebaseerde en meervoudige imputatie

Bij MAR-patronen is modelgebaseerde imputatie betrouwbaarder. Hierbij gebruik je andere variabelen in de dataset om de ontbrekende waarden te schatten, bijvoorbeeld via een regressiemodel of een k-nearest neighbours-algoritme. De ontbrekende waarde wordt dan niet vervangen door een algemeen gemiddelde, maar door een schatting op basis van vergelijkbare observaties.

Meervoudige imputatie gaat een stap verder: je maakt meerdere versies van de dataset met verschillende geschatte waarden, voert je analyse op elke versie uit en combineert de resultaten. Dit geeft een eerlijker beeld van de onzekerheid die de ontbrekende data introduceert. Voor serieuze statistische analyses en data voor AI-toepassingen is dit de meest verantwoorde methode.

Welke tools helpen bij het detecteren en aanpakken van ontbrekende data?

Python en R bieden de meest complete toolsets voor het detecteren en aanpakken van ontbrekende data. In Python gebruik je pandas voor detectie en visualisatie, en bibliotheken zoals scikit-learn of missingno voor imputatie en patroonanalyse. In R zijn mice en VIM de meest gebruikte pakketten voor meervoudige imputatie.

  • missingno (Python): visualiseert ontbrekende waarden als heatmap of matrix, zodat je snel patronen herkent
  • pandas (Python): isnull() en info() geven een eerste overzicht van de volledigheid per kolom
  • scikit-learn SimpleImputer / IterativeImputer: voor mean, median en modelgebaseerde imputatie binnen een pipeline
  • mice (R): meervoudige imputatie via chained equations, geschikt voor complexe MAR-patronen
  • Great Expectations / dbt tests: voor geautomatiseerde validatie van volledigheid in datapipelines
  • Power BI / Tableau: signaleren ontbrekende waarden visueel in rapporten, maar bieden geen imputatie

Voor organisaties die werken met Azure, Snowflake of Databricks zijn ingebouwde datakwaliteitscontroles beschikbaar die ontbrekende waarden in een pipeline automatisch kunnen signaleren en escaleren. Dit maakt het mogelijk om problemen te onderscheppen voordat ze een model of dashboard bereiken.

Hoe voorkom je ontbrekende data bij de bron?

Je voorkomt ontbrekende data bij de bron door validatieregels in te bouwen op het moment van data-invoer, duidelijk data-eigenaarschap te beleggen en afspraken te maken over wat een veld verplicht maakt. Preventie is altijd goedkoper dan herstel achteraf.

Concrete maatregelen zijn:

  1. Verplichte velden en invoervalidatie: zorg dat formulieren, API’s en systemen geen lege waarden accepteren voor variabelen die altijd aanwezig moeten zijn
  2. Datacontracten: maak expliciete afspraken tussen producenten en consumenten van data over gegarandeerde velden, versheid en schema. Als een bronsysteem zijn definitie wijzigt, moet dat zichtbaar worden voordat het een downstream probleem veroorzaakt
  3. Monitoring op volledigheid: stel SLA’s in op kritieke datasets en laat geautomatiseerde checks draaien die een signaal geven bij een stijging van het percentage ontbrekende waarden
  4. Data ownership: wijs per dataset een eigenaar aan die verantwoordelijk is voor kwaliteit en correctheid. Zonder eigenaar is er niemand die ingrijpt als de volledigheid verslechtert
  5. Datacatalogus: documenteer wat elk veld betekent, wie het beheert en wat de verwachte volledigheid is. Zo voorkom je dat teams onbewust onvolledige data als compleet behandelen

Ontbrekende data is zelden een technisch probleem alleen. Het is bijna altijd ook een organisatorisch probleem: onduidelijk eigenaarschap, geen afspraken over kwaliteitsnormen of systemen die niet op elkaar zijn afgestemd. Structurele preventie vraagt daarom om zowel technische als organisatorische maatregelen.

Hoe wij helpen met datakwaliteit en ontbrekende data

Ontbrekende data klinkt als een technisch detail, maar het is een van de meest voorkomende redenen waarom analyses vertekend uitvallen en AI-projecten niet het verwachte resultaat geven. Het probleem ligt zelden bij de tools, maar bij de manier waarop data wordt beheerd, eigenaarschap is belegd en kwaliteit wordt gemonitord.

Via ons netwerk verbinden we je met de juiste professionals die dit concreet aanpakken:

  • Data Quality Engineers die validatieregels en monitoring inrichten
  • Data Engineers die pipelines bouwen die datacontracten respecteren
  • Data Owners en Stewards die eigenaarschap en definities borgen
  • Analytics Engineers die zorgen dat ontbrekende waarden niet ongemerkt doorstromen naar dashboards of modellen

Of je nu een eenmalig vraagstuk hebt of structureel wilt werken aan je datakwaliteit, we kijken samen naar de aanpak die past bij jouw organisatie en doelstellingen. Geen standaardoplossing, maar een match op inhoud, aanpak en prijs. Vertel ons wat jouw uitdaging is en we kijken samen naar de beste aanpak. Neem contact op en vertel ons wat je uitdaging is.

Related Articles