The Ultimate Guide to Data Cleaning

Missing values

Gezien het feit dat ontbrekende waarden onvermijdelijk zijn, blijven we zitten met de vraag wat we moeten doen als we ze tegenkomen. De ontbrekende gegevens negeren is hetzelfde als gaten in een boot graven; hij zal zinken.

Er zijn drie, of misschien wel meer, manieren om ermee om te gaan.

– Eén. Drop.

Als de ontbrekende waarden in een kolom zelden voorkomen en willekeurig zijn, dan is de gemakkelijkste en meest voor de hand liggende oplossing om waarnemingen (rijen) met ontbrekende waarden te laten vallen.

Als de meeste waarden in de kolom ontbreken en willekeurig voorkomen, dan is een typische beslissing om de hele kolom te laten vallen.

Dit is vooral nuttig bij statistische analyse, omdat het invullen van de ontbrekende waarden onverwachte of vertekende resultaten kan opleveren.

– Twee. Impute.

Het betekent het berekenen van de ontbrekende waarde op basis van andere waarnemingen. Er zijn heel wat methoden om dat te doen.

– De eerste is het gebruik van statistische waarden zoals gemiddelde, mediaan. Geen van deze garandeert echter onvertekende gegevens, vooral als er veel ontbrekende waarden zijn.

De mediaan is het nuttigst als de oorspronkelijke gegevens niet scheef zijn, terwijl de mediaan robuuster is, niet gevoelig voor uitschieters, en dus wordt gebruikt als de gegevens scheef zijn.

In een normaal verdeelde gegevens kan men alle waarden krijgen die binnen 2 standaardafwijkingen van het gemiddelde liggen. Vul vervolgens de ontbrekende waarden aan door willekeurige getallen te genereren tussen (mean — 2 * std) & (mean + 2 * std)

– Ten tweede. Met behulp van een lineaire regressie. Op basis van de bestaande gegevens kan men de best passende lijn tussen twee variabelen berekenen, bijvoorbeeld huizenprijs vs. grootte m².

Het is vermeldenswaard dat lineaire regressiemodellen gevoelig zijn voor uitschieters.

– Ten derde. Hot-deck: Het kopiëren van waarden uit andere soortgelijke records. Dit is alleen nuttig als je voldoende beschikbare gegevens hebt. En het kan worden toegepast op numerieke en categorische gegevens.

Een kan de willekeurige aanpak volgen waarbij we de ontbrekende waarde invullen met een willekeurige waarde. Als we nog een stap verder gaan, kunnen we de dataset eerst in twee groepen (strata) verdelen op basis van een kenmerk, bijvoorbeeld geslacht, en dan de ontbrekende waarden voor de verschillende geslachten afzonderlijk willekeurig invullen.

In sequentiële hot-deck imputatie wordt de kolom met ontbrekende waarden gesorteerd op basis van hulpvariabele(n), zodat records die soortgelijke hulpvariabelen hebben, achtereenvolgens voorkomen. Vervolgens wordt elke ontbrekende waarde ingevuld met de waarde van het eerstvolgende beschikbare record.

Wat interessanter is, is dat ook gebruik kan worden gemaakt van 𝑘 nearest neighbour imputation, waarbij vergelijkbare records worden geclassificeerd en samengevoegd. Een ontbrekende waarde wordt dan aangevuld door eerst de 𝑘 records te vinden die het dichtst bij de record met ontbrekende waarden liggen. Vervolgens wordt een waarde gekozen uit (of berekend uit) de 𝑘 dichtstbijzijnde buren. In het geval van berekeningen kunnen statistische methoden zoals gemiddelde (zoals eerder besproken) worden gebruikt.

– Drie. Vlag.

Sommigen stellen dat het invullen van de ontbrekende waarden leidt tot een verlies aan informatie, ongeacht de imputatiemethode die we hebben gebruikt.

Dat komt omdat zeggen dat de gegevens ontbreken op zichzelf informatief is, en het algoritme moet dat weten. Anders versterken we alleen maar het patroon dat al door andere kenmerken wordt gevormd.

Dit is vooral van belang wanneer de ontbrekende gegevens niet willekeurig voorkomen. Neem bijvoorbeeld een gehouden enquête waarbij de meeste mensen van een bepaald ras weigeren een bepaalde vraag te beantwoorden.

Missende numerieke gegevens kunnen worden ingevuld met zeg, 0, maar heeft deze nullen moeten worden genegeerd bij het berekenen van een statistische waarde of het plotten van de verdeling.

Terwijl categorische gegevens kunnen worden ingevuld met zeg, “Ontbreekt”: Een nieuwe categorie die aangeeft dat dit gegeven ontbreekt.

– Houd rekening met …

Missende waarden zijn niet hetzelfde als standaardwaarden. Zo kan nul worden geïnterpreteerd als ontbrekend of als standaard, maar niet als beide.

Afwijkende waarden zijn niet “onbekend”. Een uitgevoerd onderzoek waarbij sommige mensen zich niet konden herinneren of ze op school al dan niet waren gepest, moet worden behandeld en gelabeld als onbekend en niet als ontbrekend.

Telkens wanneer we waarden weglaten of toerekenen, verliezen we informatie. Markering kan dus uitkomst bieden.

Outliers

Het gaat om waarden die significant verschillen van alle andere waarnemingen. Elke gegevenswaarde die meer dan (1,5 * IQR) verwijderd ligt van de kwartielen Q1 en Q3, wordt beschouwd als een uitbijter.

Outliers zijn onschuldig tot hun schuld is bewezen. Met dat gezegd zijnde, moeten zij niet worden verwijderd tenzij er een goede reden voor is.

Zo kan men bijvoorbeeld enkele vreemde, verdachte waarden opmerken die onwaarschijnlijk zijn, en dus besluiten om ze te verwijderen. Hoewel, ze de moeite waard te onderzoeken alvorens te verwijderen.

Het is ook de moeite waard te vermelden dat sommige modellen, zoals lineaire regressie, zeer gevoelig zijn voor uitbijters. Met andere woorden, uitbijters kunnen het model afleiden van waar de meeste gegevens liggen.

In-record & cross-datasets fouten

Deze fouten zijn het gevolg van het hebben van twee of meer waarden in dezelfde rij of over datasets die met elkaar in tegenspraak zijn.

Bijvoorbeeld, als we een dataset hebben over de kosten van levensonderhoud in steden. De kolom totaal moet gelijk zijn aan de som van huur, vervoer en voedsel.

city rent transportation food total
libson 500 20 40 560
paris 750 40 60 850

Ook kan een kind niet getrouwd zijn. Het salaris van een werknemer mag niet lager zijn dan de berekende belastingen.

Hetzelfde idee geldt voor verwante gegevens in verschillende datasets.

Verificatie

Wanneer men klaar is, moet men de juistheid verifiëren door de gegevens opnieuw te inspecteren en ervoor te zorgen dat de regels en beperkingen wel degelijk gelden.

Bijv. na het invullen van de ontbrekende gegevens, zouden zij een van de regels en beperkingen kunnen overtreden.

Het kan enige handmatige correctie met zich meebrengen als dat niet anders mogelijk is.

Rapportage

Rapportage over hoe gezond de gegevens zijn, is even belangrijk voor het opschonen.

Zoals eerder vermeld, kunnen softwarepakketten of bibliotheken rapporten genereren van de aangebrachte wijzigingen, welke regels zijn overtreden, en hoe vaak.

Naast het loggen van de overtredingen, moet ook worden gekeken naar de oorzaken van deze fouten. Waarom zijn ze in de eerste plaats gemaakt?

Eindwoorden …

Als je zover bent gekomen, ben ik blij dat je het tot het eind hebt volgehouden. Maar, niets van het genoemde is waardevol zonder de kwaliteitscultuur te omarmen.

Hoe robuust en sterk het validatie- en opschoningsproces ook is, men zal blijven lijden als er nieuwe gegevens binnenkomen.

Het is beter zich te wapenen tegen een kwaal in plaats van de tijd en moeite te besteden aan het verhelpen ervan.

Deze vragen helpen bij het evalueren en verbeteren van de gegevenskwaliteit:

Hoe de gegevens zijn verzameld, en onder welke omstandigheden?. De omgeving waarin de gegevens zijn verzameld, is van belang. De omgeving omvat, maar is niet beperkt tot, de plaats, het tijdstip, de weersomstandigheden, enz.

Vragen stellen aan proefpersonen over hun mening over wat dan ook terwijl ze op weg zijn naar hun werk, is niet hetzelfde als wanneer ze thuis zijn. Patiënten in een onderzoek die moeite hebben met het gebruik van de tabletten om een vragenlijst te beantwoorden, kunnen de resultaten in de war sturen.

Wat stellen de gegevens voor? Omvat het iedereen? Alleen de mensen in de stad? Of, misschien, alleen degenen die ervoor kozen te antwoorden omdat ze een sterke mening hadden over het onderwerp.

Welke methoden zijn gebruikt om de gegevens te schonen en waarom? Verschillende methoden kunnen beter zijn in verschillende situaties of met verschillende soorten gegevens.

Investeert u tijd en geld in het verbeteren van het proces? Investeren in mensen en het proces is even belangrijk als investeren in technologie.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.