Data

fffeed: achtergronden en projecten

Data is volledig ingeburgerd. Wie gebruik maakt van internet heeft en verzamelt bewust of onbewust steeds meer data. We profiteren van de voordelen en we zijn ons in toenemende mate bewust van de nadelen - die we net zo makkelijk negeren als dat ons beter uitkomt. Wie data het nieuwe goud noemde heeft het niet geheel begrepen: goud laat zich lastig delven en verwerken, maar data is dankzij onze moderne computers altijd gebruiksklaar en lekker standaard. Of toch niet?

Dit artikel schetst waar je zoal mee te maken kunt krijgen als je data wilt gebruiken in een computertoepassing.

Soorten data

Bij data denken veel mensen aan een tabel met getallen, maar er is natuurlijk ook data in andere vormen zoals tekst (een naam), een tijdstip, een geografische locatie, een afbeelding of video, een ja/nee waarde of een willekeurige combinatie van genoemde vormen. Computerdata is meestal georganiseerd als een verzameling records met velden (eigenschappen). Als je data in tabelvorm bekijkt (bijvoorbeeld in een spreadsheet) dan zijn de records de rijen van de tabel en de velden de kolommen.

Data kan zijn opgeslagen in een database, een spreadsheet of gewoon in een tekstbestand. Een databestand of -verzameling wordt tegenwoordig kortweg een dataset genoemd.

Veel data wordt automatisch gegenereerd vanuit een (bedrijfs)applicatie, zoals een financieel systeem of een transactioneel systeem. Dat kan periodiek gebeuren, maar ook handmatig.

Als je dergelijke data wilt gebruiken voor analyse of verdere verwerking moet je uiteraard precies weten welk formaat de data heeft, en welke betekenis is toegekend aan elk veld (of aan een combinatie van velden). Gaat het om formaten dan spreek je ook wel van de syntax van de data. Bij betekenis van data spreek je over de semantiek.

Big data

Wikipedia doet een poging tot definitie van het op zich heldere maar moeilijk in te kaderen begrip big data: wikipedia.org

big data laat zich alleen analyseren
door pogingen tot verregaande samenvatting te doen

Big data is allereerst veelomvattend en vaak complex - big dus. Dergelijke data laat zich alleen analyseren door pogingen tot verregaande samenvatting te doen. Samenvatten kan op basis van overeenkomsten, verschillen, of andere criteria. Vaak speelt statistiek een rol. Welke analysemethode je ook kiest, en hoe grof- of fijnmazig je vizier ook is, de waarde van de analyse staat of valt bij de mate van metakennis die de analist (al dan niet een computer) heeft. Wordt een leeftijd als een gewicht opgevat, of een telefoonnummer als salaris, dan is de betrouwbaarheid van iedere analyse nihil.

Datasets gebruiken

Bij de toepassing en interpretatie van datasets kan er veel misgaan, zowel op het gebied van syntax als van semantiek.

Juistheid

Het komt regelmatig voor dat data met de beste bedoelingen is opgeslagen en aangeleverd, maar toch verkeerd wordt geïnterpreteerd zonder dat dat tijdig wordt opgemerkt. Meestal ligt daar een syntaxkwestie of een legendakwestie aan ten grondslag. Bijvoorbeeld er is vergeten om de eenheid x1000 of Mton om te rekenen naar het volledige getal. Of een decimale punt is geïnterpreteerd als als duizendtallenscheider opgevat.

De data zelf is dan “correct”, maar de vertaalslag die nodig is voor verdere verwerking is niet of niet volledig juist. Zulke fouten komen voort uit onvoldoende analyse vooraf, of uit onvoldoende testen, of – en dat komt voor – worden door de data zelf ingeleid. Dit laatste gebeurt nog al eens bij onduidelijkheid over de lengte van records cq het markeren van het einde van een dataregel. Hierdoor “verschuiven” waarden zonder dat je het merkt, wat leidt tot de vreemdste resultaten. Als je ze al opmerkt is het vermoedelijk een hele klus om alles te corrigeren.

Een gedegen analyse vooraf (die wel eens “voorwas” wordt genoemd) kan veel van deze zeer lastig te ontdekken problemen in een vroeg stadium het hoofd bieden.

Onopgemerkte syntaxfouten kunnen tot onverwachte resultaten leiden

Onopgemerkte syntaxfouten kunnen tot onverwachte resultaten leiden

  • komma of punt

    1,0 of 1.0 of 1,000.00 of 1.000,00
  • 56 euro?

    €56
    56€
    56,=
  • geen waarde beschikbaar?

    is dat 0? of “”? -1?
  • -1

    geen waarde?
    onbekend?
    de waarde -1?
  • 010489

    1 januari 1989?
    1 april 1989?
    2089?
    10489 met voorloopnul?
  • Data
    DATA
    data
    DaTa

    Allemaal gelijk?
  • 1 komt voor 2
    10 komt voor 20

    komt 2 voor 11?
  • a komt voor b
    C komt voor E


    komt A voor b?
  • is

    23

    gelijk aan

    “23”?
  • komma of punt

    1,0 of 1.0 of 1,000.00 of 1.000,00
  • 56 euro?

    €56
    56€
    56,=
  • geen waarde beschikbaar?

    is dat 0? of “”? -1?
  • -1

    geen waarde?
    onbekend?
    de waarde -1?
  • 010489

    1 januari 1989?
    1 april 1989?
    2089?
    10489 met voorloopnul?
  • Data
    DATA
    data
    DaTa

    Allemaal gelijk?
  • 1 komt voor 2
    10 komt voor 20

    komt 2 voor 11?
  • a komt voor b
    C komt voor E


    komt A voor b?
  • is

    23

    gelijk aan

    “23”?

Volledigheid

Wanneer weet je dat je voldoende data hebt? Als je gegevens van 1 inwoner van een stad wilt analyseren, dan heb je aan de gegevens van die persoon genoeg. Als je de gegevens van alle inwoners wilt analyseren, dan moet je al die gegevens hebben. Of in elk geval een representatieve hoeveelheid gegevens. Maar welk aantal is representatief?

Incomplete data kan een probleem zijn voor analyses: de analyse kan niet uitgevoerd worden, en de analyse leidt tot verkeerde conclusies omdat belangrijke data ontbreekt.

Incomplete data kan een probleem zijn voor analyses

Naast de omvang van de dataset kan er ook binnen de dataset een deel van de data ontbreken. Denk aan een dataset met persoonsgegevens waarvan de leeftijd van slechts 30% van de personen beschikbaar is. Het is dan niet mogelijk om de werkelijke gemiddelde leeftijd van de personen in de dataset te bepalen. Je kunt wel de gemiddelde leeftijd van de beschikbare leeftijden bepalen, maar je kunt niets zeggen over de betrouwbaarheid van dat getal.

Wanneer de volledigheid van datasets een rol speelt komen technieken als extrapolatie, benadering en interpolatie in beeld.

Betrouwbaarheid

Fouten of onvolkomenheden in data kunnen leiden tot verkeerde conclusies, maar ook een verkeerde interpretatie van data zet je snel op het verkeerde been. De al genoemde gemiddelde leeftijd van een dataset met personen is hier een voorbeeld van. Maar veel subtieler wordt het als correlaties in de data lijkt te wijzen op een causaliteit.

Onvolkomenheden in data kunnen leiden tot verkeerde conclusies

Trek daarom in het algemeen geen conclusie op basis van één perspectief: kies altijd meerdere perspectieven en controleer of de waarnemingen de beoogde conclusie onderschrijven.

Gebruik altijd meerdere perspectieven — de basis van de fffact analyse-aanpak.

Historische data

Doordat we steeds meer data bewaren wordt het eenvoudiger en aantrekkelijker om data te gebruiken voor historisch inzicht. Historische data is simpelweg data die voorzien is van een dag- en/of tijdsaanduiding. Zo kun je overeenkomstige gegevens vergelijken in verschillende tijdsperiodes zoals jaren, maanden of dagen. Om de vergelijkingen goed te kunnen maken is het uiteraard van groot belang dat de gegevens van verschillende periodes eenzelfde syntax en semantiek hebben. Helaas gaat het daarbij heel vaak mis. Oudere data is vaak onvolledig of slechts in niet makkelijk bruikbare formaten beschikbaar. Applicaties die de data leverden waren niet of nauwelijks ingericht voor het leveren van data, anders dan “als backup”. Er zijn vaak afwijkende eenheden (zoals coördinatenstelsels of jaartallen van 2 cijfers), samengevoegde velden (voor namen en adressen) en niet-standaard notaties (zoals punten en komma’s in getallen of bedragen).

Historische data is steeds vaker beschikbaar en maakt vergelijkingen aantrekkelijk.

Voor historische data is het van belang om gelijke periodes en gelijke meetgegevens (velden/kolommen) en gelijke meetformaten te gebruiken. Wanneer je het gebruik van historische data overweegt, voer dan eerst een goede analyse uit: is er voldoende data aanwezig om voor je doelstelling, en is de kwaliteit van die data ook goed genoeg?