Ga naar hoofdinhoud

Z-score: de complete gids voor statistische standaardisatie

Leer de wiskundige basis van z-scores, verken praktische rekenmethoden en ontdek toepassingen in statistiek en data science.
· 8 min lezen

Verken met AI

Je vergelijkt SAT-scores uit 2020 met ACT-scores uit hetzelfde jaar. Een student scoorde 1200 op de SAT, terwijl een ander 24 haalde op de ACT, maar welke prestatie is beter? Precies dit probleem lossen z-scores op door verschillende metingen om te zetten naar één gemeenschappelijke schaal.

Z-scores zetten ruwe data om in gestandaardiseerde waarden, waardoor zinvolle vergelijkingen mogelijk worden over compleet verschillende verdelingen heen. Deze standaardisatie helpt wanneer je data uit verschillende bronnen analyseert, uitschieters identificeert of kansen berekent in statistische analyses. We behandelen de wiskundige basis achter z-scores, doorlopen stap voor stap praktische rekenmethoden en passen deze technieken toe op verschillende scenario’s. 

Wat is een z-score?

Z-scores geven je een gestandaardiseerde manier om te begrijpen waar een datapunt zich bevindt ten opzichte van zijn verdeling.

Definitie en kernformule

Een z-score geeft het aantal standaarddeviaties weer dat een datapunt van het gemiddelde van zijn verdeling afligt. De formule is eenvoudig:

Z-score formula

waarbij X je ruwe score is, μ (mu) het populatiegemiddelde, en σ (sigma) de populatiestandaarddeviatie. Z-scores laten je datapunten uit verschillende verdelingen direct vergelijken, ongeacht hun oorspronkelijke eenheden of schalen.

Eigenschappen van de standaardnormale verdeling

Z-scores transformeren normaal verdeelde data naar de standaardnormale verdeling, een speciale klokvorm met gemiddelde = 0 en standaarddeviatie = 1. Deze transformatie ontgrendelt handige analysemogelijkheden: ongeveer 68% van de waarden valt binnen één standaarddeviatie van het gemiddelde (z-scores tussen -1 en +1), 95% binnen twee standaarddeviaties (-2 tot +2) en 99,7% binnen drie standaarddeviaties (-3 tot +3).

Z-scoreformule en variaties

De basisformule voor z-scores werkt goed voor populatiedata, maar in de praktijk zijn vaak kleine aanpassingen nodig, afhankelijk van je datatype en steekproefgrootte.

Standaard z-scoreformules

Zoals eerder geïntroduceerd, is de basisformule voor een z-score: 

standard z-score formula

Vanuit dit startpunt ontstaan variaties, afhankelijk van of je met steekproefdata werkt of een steekproefgemiddelde test ten opzichte van een populatiegemiddelde. 

Voor individuele datapunten in een steekproef: 

standard z-score formula for individual data points

waarbij X̄ het steekproefgemiddelde is en s de steekproefstandaarddeviatie is (berekend met noemer n−1). Deze variant laat zien hoeveel steekproefstandaarddeviaties een punt van het steekproefgemiddelde afligt, wat handig is om relatieve posities en mogelijke uitschieters in je dataset te identificeren.

Wanneer je wilt testen of een steekproefgemiddelde significant verschilt van een populatiegemiddelde, gebruiken we de standaardfout van het gemiddelde in onze berekening:

z-score for sample mean

waarbij X̄ je steekproefgemiddelde is, μ het populatiegemiddelde, σ de populatiestandaarddeviatie, en n je steekproefgrootte. De noemer (σ/√n) is de standaardfout van het gemiddelde, die rekening houdt met steekproefgrootte bij toetsen van hypothesen.

Een ruwe score berekenen uit een z-score

Soms werk je achteruit vanuit z-scores om de oorspronkelijke waarden te vinden. Herschikken van de formule levert je op: 

z-score for population mean

Als de z-score van iemands toetsresultaat 1,5 is op een examen met gemiddelde 75 en standaarddeviatie 10, dan is de werkelijke score 75 + (1,5 × 10) = 90.

Hoe bereken je een z-score

Het omzetten van ruwe data naar z-scores is een systematisch proces dat met oefening vanzelf gaat.

Stapsgewijze berekening

Zo bereken je z-scores handmatig: Zoek eerst het gemiddelde van je verdeling door alle waarden op te tellen en te delen door het aantal. Bereken vervolgens de standaarddeviatie door de wortel te nemen van het gemiddelde van de gekwadrateerde afwijkingen van het gemiddelde. Pas tot slot de z-scoreformule toe door het gemiddelde van je ruwe score af te trekken en te delen door de standaarddeviatie.

Laten we een voorbeeld uitwerken: Als de examencijfers 85, 92, 78, 96, 88 onze volledige dataset vormen (gemiddelde = 87,8, standaarddeviatie = 6,14), dan heeft een score van 92 een z-score van (92 - 87,8) / 6,14 = 0,68.

Je kunt z-scores ook snel berekenen met de Excel-functie STANDARDIZE() of dezelfde functie in Google Spreadsheets, gecombineerd met AVERAGE() en STDEV.P() voor populatiedata of STDEV.S() voor steekproefdata.

Richtlijnen voor interpretatie

De interpretatie van z-scores volgt consistente richtingregels, ongeacht je oorspronkelijke data. Positieve z-scores duiden op waarden boven het gemiddelde, terwijl negatieve z-scores waarden onder het gemiddelde aangeven. Een z-score van 0 betekent dat je datapunt precies gelijk is aan het gemiddelde.

Voor normaal verdeelde data kun je extra interpretatieve richtlijnen toepassen: waarden met z-scores buiten ±2 zijn ongebruikelijk (komen in ongeveer 5% van de gevallen voor), terwijl z-scores buiten ±3 zeldzaam zijn (minder dan 1% kans). Je kunt exacte percentielen voor normale verdelingen vinden met z-tabellen, die laten zien welk percentage observaties onder een gegeven z-score valt.

Voor niet-normale data geven z-scores nog steeds de relatieve positie aan en helpen ze mogelijke uitschieters te identificeren, maar de specifieke percentages zijn dan niet van toepassing.

Z-scores en standaarddeviatie interpreteren

De relatie tussen z-scores en standaarddeviatie begrijpen helpt je te vatten wat deze gestandaardiseerde waarden daadwerkelijk vertegenwoordigen.

Relatie met standaarddeviatie

Z-scores meten direct de afstand tot het gemiddelde in eenheden van standaarddeviatie. Een z-score van 2,5 betekent dat je datapunt 2,5 standaarddeviaties boven het gemiddelde ligt. Dit verschilt van de standaarddeviatie zelf, die de typische spreiding van data rond het gemiddelde meet.

Standaarddeviatie beschrijft de variabiliteit binnen één dataset, terwijl z-scores vergelijking mogelijk maken tussen verschillende datasets met verschillende gemiddelden en spreidingen. Zie standaarddeviatie als het meten van de “breedte” van je verdeling, terwijl z-scores je precies vertellen waar individuele punten binnen die breedte vallen.

Percentage observaties onder een z-score

Voor normaal verdeelde data zetten z-tabellen z-scores om in percentielen en tonen ze welk percentage observaties onder jouw waarde valt. In een normale verdeling komt een z-score van 1,0 overeen met het 84e percentiel, wat betekent dat 84% van de observaties kleiner is.

Moderne online calculators en statistische software maken deze omzettingen direct voor normale verdelingen. Voor niet-normale data heb je echter verdelingsspecifieke methoden nodig om percentielen te bepalen, omdat de percentages uit standaard z-tabellen dan niet gelden.

Toepassingen van z-scores

Z-scores komen overal in statistiek en data science voor en lossen praktische problemen op in uiteenlopende domeinen.

Kansschatting en hypothesetoetsing

Z-scores vormen de basis van kansberekeningen in normale verdelingen. Als je de kans wilt vinden om boven de 600 te scoren op normaal verdeelde examencijfers met gemiddelde 500 en standaarddeviatie 100, zet je 600 eerst om naar een z-score van 1,0 en kijk je vervolgens de bijbehorende kans op (ongeveer 16%). Je kunt ook kansen tussen twee z-scores berekenen door het verschil tussen hun cumulatieve kansen te nemen.

Bij hypothesetoetsing helpen z-scores de statistische significantie te bepalen door steekproefstatistieken te vergelijken met verwachte populatiewaarden onder de aanname van normaliteit. Onze cursus Hypothesis Testing in R behandelt deze toepassingen en laat zien hoe z-scores samenhangen met p-waarden en betrouwbaarheidsintervallen. 

Detectie van uitschieters en datastandaardisatie

Data scientists gebruiken z-scores regelmatig om mogelijke uitschieters te identificeren. Voor normaal verdeelde data zijn waarden met z-scores buiten ±3 zeer ongebruikelijk (komen minder dan 1% van de tijd voor) en wijzen ze vaak op invoerfouten, meetproblemen of echt uitzonderlijke gevallen die nader onderzoek verdienen. Ook bij niet-normale data kunnen extreme z-scores observaties markeren die nadere inspectie waard zijn.

Het standaardiseren van volledige datasets met z-scores creëert variabelen met gemiddelde 0 en standaarddeviatie 1, waardoor ze direct vergelijkbaar zijn. Dit is waardevol in machinelearning-algoritmen die gevoelig zijn voor schaalverschillen, zoals k-means-clustering of neurale netwerken. 

Scores op verschillende schalen vergelijken

Z-scores maken eerlijke vergelijkingen mogelijk tussen verschillende toetsen of metingen met vergelijkbare verdelingsvormen. Die eerdere vergelijking tussen SAT en ACT wordt eenvoudig zodra je beide scores omzet naar z-scores met hun respectieve gemiddelden en standaarddeviaties. Een student met een SAT-z-score van 1,2 presteerde beter dan iemand met een ACT-z-score van 0,8, ongeacht de verschillende schalen.

Geavanceerde toepassingen in statistiek en data science

Z-scores komen voor in geavanceerde analysetechnieken zoals clusteranalyse (waar standaardisatie ervoor zorgt dat alle variabelen evenveel bijdragen), multidimensionale schaling en principal component analysis. 

In regressieanalyse helpen gestandaardiseerde coëfficiënten (ook wel bètacoëfficiënten) je om het relatieve belang van continue voorspellers te vergelijken door ze op dezelfde schaal te plaatsen. Dit proces houdt in dat je alle variabelen (zowel voorspellers als uitkomsten) omzet naar z-scores voordat je de regressie draait. De resulterende gestandaardiseerde coëfficiënten vertellen je: "met hoeveel standaarddeviaties de uitkomst naar verwachting verandert wanneer deze voorspeller met één standaarddeviatie toeneemt?", waardoor directe vergelijkingen mogelijk worden tussen voorspellers met verschillende oorspronkelijke eenheden.

Gezondheidszorg en onderwijsevaluatie

Medische professionals gebruiken z-scores om testresultaten te interpreteren door ze te vergelijken met referentiepopulatiedata. Botdichtheids-z-scores vergelijken individuele metingen met leeftijdsgenoten en helpen aandoeningen zoals osteoporose vast te stellen. Onderwijsevaluaties vertrouwen op z-scores om toetsresultaten over verschillende jaren en populaties te standaardiseren, waardoor eerlijke vergelijkingen mogelijk zijn ondanks variërende toetsomstandigheden. 

Computationele methoden en tools

Moderne analyses steunen op softwaretools die z-scoreberekeningen automatiseren.

Z-tabellen en percentielomzetting

Traditionele z-tabellen blijven nuttig om het verband tussen z-scores en kansen in normale verdelingen te begrijpen. Deze tabellen geven cumulatieve kansen voor waarden van de standaardnormale verdeling, doorgaans van z = -3,49 tot z = 3,49. Om een z-tabel te lezen, zoek je de eerste twee cijfers van je z-score in de linkerkolom en vervolgens het derde cijfer op de bovenste rij.

Programmeren gebruiken om z-scores te berekenen

We hebben de Excel-functie STANDARDIZE() al behandeld bij de stapsgewijze berekening. Laten we voor Python en R hetzelfde voorbeeld doorlopen met examencijfers: 85, 92, 78, 96, 88.

Python met scipy.stats:

import numpy as np
from scipy import stats

# Our exam scores
scores = np.array([85, 92, 78, 96, 88])

# Calculate z-scores using scipy (uses population std by default)
# This means dividing by N, not N-1
z_scores = stats.zscore(scores)
print(f"Z-scores: {z_scores}")
# Output: [-0.46  0.68 -1.59  1.33  0.03]

# Manual calculation for verification
mean_score = np.mean(scores)
std_score = np.std(scores, ddof=0)  # Population standard deviation
z_manual = (scores - mean_score) / std_score
print(f"Manual z-scores: {z_manual}")

R met de functie scale():

# Our exam scores
scores <- c(85, 92, 78, 96, 88)

# Calculate z-scores using scale() (uses sample std by default)
z_scores <- scale(scores)[,1]  # Extract vector from matrix
print(paste("Z-scores:", z_scores))
# Output: [-0.41  0.61 -1.43  1.19  0.03]

# Manual calculation for verification
z_manual <- (scores - mean(scores)) / sd(scores)
print(paste("Manual z-scores:", z_manual))

Let op dat Python en R licht verschillende resultaten geven, omdat scipy.stats.zscore() de populatiestandaarddeviatie gebruikt (delen door N), terwijl R’s scale() de steekproefstandaarddeviatie gebruikt (delen door N-1). Voor onze score van 92 geeft Python een z-score van 0,68, terwijl R 0,61 geeft. Beide zijn correct, afhankelijk van of je je data als een volledige populatie of als een steekproef behandelt. 

Conclusie

Z-scores slaan een brug tussen ruwe data en betekenisvolle statistische interpretatie. Ze maken eerlijke vergelijkingen mogelijk over verschillende schalen, ondersteunen kansberekeningen wanneer data normale verdelingen volgt en helpen ongebruikelijke observaties te identificeren die nader onderzoek verdienen.

Deze gestandaardiseerde waarden lopen van basale data-analyse tot geavanceerde machinelearningtoepassingen en zijn daarmee nuttige tools voor iedereen die met kwantitatieve data werkt. Bekijk onze cursus Inference for Numerical Data in R om statistische inferentietechnieken met echte datasets te zien, en onze A/B Testing in R-cursus voor hypothesetoetsingsmethoden waarbij z-scoreconcepten vaak van toepassing zijn.

Vinod Chugani

Auteur

Vinod Chugani

Vinod Chugani begon zijn carrière in Tokio als JPMorgans jongste Head van de Hedge Fund Sales Desk en vestigde later een individueel verkooprecord bij Lehman Brothers, bouwde daarna een elektronicadistributiebedrijf in 30 landen uit tot voorbij SG$100 miljoen omzet en maakte vervolgens de overstap naar data. Als afgestudeerde Economie aan Duke en alumnus van de NYC Data Science Academy was hij een van de drie beursontvangers uit meer dan 100 aanmeldingen voor Hugo Bowne-Andersons Building AI Applications-cursus op Maven. Tegenwoordig schrijft hij voor DataCamp, KDnuggets, Machine Learning Mastery en Statology over onderwerpen van statistiek tot agentische AI, en coacht hij dataprofessionals bij de NYC Data Science Academy met meer dan 1.000 één-op-één-sessies op zijn naam.

 

Veelgestelde vragen over z-scores

Wat is een t-score en wanneer gebruik je die in plaats van een z-score?

Een t-score is een gestandaardiseerde score die aangeeft hoe ver een steekproefgemiddelde van het populatiegemiddelde afligt in termen van standaardfout. Hij wordt vooral gebruikt wanneer de populatiestandaarddeviatie onbekend is en de steekproef klein is, doorgaans onder de 30. In zulke gevallen geeft de t-verdeling een betere schatting dan de normale verdeling die voor z-scores wordt gebruikt.

Hoe interpreteer je negatieve z-scores?

Negatieve z-scores geven aan dat je datapunt onder het gemiddelde van de verdeling ligt. Een z-score van -1,5 betekent bijvoorbeeld dat de waarde 1,5 standaarddeviaties onder het gemiddelde ligt. De grootte geeft aan hoe ongebruikelijk de waarde is; het minteken geeft alleen de richting aan ten opzichte van het gemiddelde.

Kun je z-scores berekenen voor niet-normale verdelingen?

Hoewel je z-scores wiskundig voor elke verdeling kunt berekenen, verandert de interpretatie voor niet-normale data. De 68-95-99,7-regel en de standaardkansen uit z-tabellen gelden alleen voor normale verdelingen. Voor andere verdelingen geven z-scores nog steeds de relatieve positie aan, maar komen ze niet overeen met dezelfde kanswaarden.

Wat is het verschil tussen standaardisatie en normalisatie?

Standaardisatie (met z-scores) levert data op met gemiddelde 0 en standaarddeviatie 1, terwijl de oorspronkelijke verdelingsvorm behouden blijft. Normalisatie schaalt data meestal naar een vast bereik zoals 0-1, wat de verdelingsvorm kan veranderen. Z-scorestandaardisatie heeft de voorkeur wanneer je de onderlinge verhoudingen tussen datapunten wilt behouden.

Hoe worden z-scores gebruikt in kwaliteitscontrole?

Kwaliteitscontrole gebruikt z-scores in regelkaarten om de stabiliteit van processen te monitoren, typisch wanneer procesdata ongeveer normaal verdeeld is. Datapunten met z-scores buiten ±2 of ±3 standaarddeviaties geven waarschuwingen over mogelijke procesproblemen. Dit helpt fabrikanten problemen op te sporen voordat ze de productkwaliteit beïnvloeden, met dezelfde statistische principes die ook elders uitschieters identificeren.

Wat betekent een z-score van 0?

Een z-score van 0 geeft aan dat je datapunt exact gelijk is aan het gemiddelde van de verdeling. Dit staat voor perfect gemiddelde prestaties—noch boven, noch onder de typische waarden. In de praktijk betekent het dat je observatie in het centrum van de verdeling ligt.

Hoe helpen z-scores bij datapreprocessing in machine learning?

Z-scorestandaardisatie zorgt ervoor dat alle features dezelfde schaal hebben (gemiddelde 0, standaarddeviatie 1), zodat variabelen met grotere bereiken algoritmen niet domineren. Dit is vooral belangrijk voor afstandsgebaseerde algoritmen zoals k-means-clustering of k-nearest neighbors, waar ongestandaardiseerde data tot bevooroordeelde resultaten kan leiden.

Kunnen z-scores groter zijn dan 3 of kleiner dan -3?

Ja, z-scores kunnen groter zijn dan ±3, al is dat zeldzaam in normale verdelingen (minder dan 0,3% van de tijd). Zulke extreme z-scores wijzen vaak op uitschieters of data uit niet-normale verdelingen. In de praktijk verdienen waarden buiten ±3 nader onderzoek om te bepalen of het om fouten of echt uitzonderlijke observaties gaat.

Onderwerpen

Gerelateerd