Kwantielen

Het leven van een academicus bestaat erin om gemakkelijke dingen moeilijk te maken. Kwantielen zijn daar een mooi voorbeeld van. Je wordt overladen met allerlei technische definities en formules die op zich wel een bestaansreden hebben, maar die compleet voorbij gaan aan de essentie van de zaak. Het is daarbij vooral ongelukkig dat in de cursus statistiek 1 kwantielen eerst worden besproken in de context van beschrijvende statistiek. In de context van inductieve statistiek, en dan in het bijzonder in het geval van continue verdelingsfuncties, is het concept veel gemakkelijker te begrijpen. Eens je weet waar het over gaat, kan je ook beter plaatsen waarom al die ingewikkelde extra's toch nodig zijn eens je over discrete verdelingen begint te praten.

Kwantielen voor continue verdelingsfuncties

Je hebt wellicht al wel ergens opgevangen dat het IQ van een populatie vaak theoretisch voorgesteld wordt met een normale verdeling met gemiddelde $\mu_{IQ} = 100$ en een standaardafwijking $\sigma_{IQ} = 15$. Dat is een voorbeeld van een continue verdelingsfunctie. Er zijn veel mensen die een IQ dicht bij $100$ hebben, terwijl de extremen in beide richtingen (heel domme of heel slimme mensen) steeds zeldzamer worden. Aangezien een normale verdeling symmetrisch is, zijn er evenveel mensen met een IQ boven 100 als met een IQ kleiner dan 100. Symbolisch: $P(IQ < 100) = \Phi_{IQ}(100) = 0.50 = P(IQ > 100)$. De twee groepen samen vormen heel de populatie ($100\%$), dus het is logisch dat ze elk apart $50\%$ van de populatie vertegenwoordigen.

Als je je voor een IQ van $90$ dezelfde vraag stelt, wordt het al iets moeilijker. In statistische tabellen kunnen we terugvinden dat $P(IQ \leq 90) = \Phi_{IQ}(90) \approx 0.25$. Een kwart van de bevolking heeft dus een IQ kleiner dan of gelijk aan $90$. Zo kunnen we voor elk IQ-niveau bepalen hoeveel procent van de bevolking een IQ onder dat niveau heeft.

Een kwantiel is in deze context gewoon die vraag, maar dan omgekeerd gesteld. Wat is het IQ-niveau waar $25\%$ van de populatie onder ligt? Anders gezegd: hoe hoog moet je IQ zijn om net slimmer te zijn dan de domste $25\%$ van de populatie? Symbolisch: $iq_{0.25}^* = 90$ want $\Phi_{IQ}(90) = 0.25$. Wiskundig kan je dat noteren met een inverse functie: $iq_r^* = \Phi_{IQ}^{-1}(r)$. Op een grafiek moet je in dat geval niet van de $x$-as vertrekken en dan de bijhorende $y$-waarde aflezen maar andersom: de $x$-waarde aflezen die bij een bepaalde $y$-waarde hoort.

Dit verhaal wordt hieronder grafisch weergegeven. De code zelf dient enkel om de grafiek op te stellen en mag je uiteraard negeren. Heel dit verhaal is opgebouwd rond IQ, maar is op net dezelfde manier van toepassing op eender welke andere continu verdeelde toevalsvariabele.

In [2]:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch
from scipy.stats import norm
plt.style.use('fivethirtyeight')
In [3]:
mu = 100
sigma = 15
xmin = norm.ppf(0.001, mu, sigma)
xmax = norm.ppf(0.999, mu, sigma)
In [4]:
x0 = 90
p = norm.cdf(x0, mu, sigma)
In [9]:
fig, [ax, ax2] = plt.subplots(2, 1, figsize=(9,6), sharex=True)
ax.set_title('IQ verdeling')
ax.set_xlim([xmin, xmax])
ax.set_ylabel(r'$\varphi_{IQ}$')
ax2.set_xlabel('$IQ$')
ax2.set_ylabel(r'$\Phi_{IQ}$')

x_all = np.arange(xmin, xmax, 0.01)
y_all = norm.pdf(x_all, mu, sigma)
ax.plot(x_all, y_all)

x = np.arange(xmin, x0, 0.01)
y = norm.pdf(x, mu, sigma)
ax.fill_between(x, y, alpha=0.3)
ax.text(x0, 0.01, f"$iq_{{{p:.2f}}}^* = {x0}$")

x_all = np.arange(xmin, xmax, 0.01)
y_all = norm.cdf(x_all, mu, sigma)
ax2.plot(x_all, y_all, alpha=0.3)

x = np.arange(xmin, x0, 0.01)
y = norm.cdf(x, mu, sigma)
ax2.plot([xmin, x0], [p, p], 'k--', linewidth=2)

con = ConnectionPatch(xyA=(x0, 0), xyB=(x0, ax.get_ylim()[1]), coordsA="data", coordsB="data", 
                      axesA=ax2, axesB=ax, linestyle="--", linewidth=2, color="k")
ax2.add_artist(con);
No description has been provided for this image

Kwantielen voor discrete verdelingsfuncties

Kwantielen zijn op zich dus zeker geen moeilijk concept. Je moet gewoon de grafiek van $\Phi_{IQ}$ omgekeerd lezen. Helaas valt heel ons verhaal in duigen als we met discrete verdelingsfuncties zitten. Dan krijg je getrapte grafieken waar bij één $y$-waarde vaak meerdere $x$-waarden horen ("geval 2"). Bij andere $y$-waarden horen dan weer helemaal geen $x$-waarden ("geval 1"). Dan komt het er op neer om praktische afspraken te maken zodat je in beide situaties toch één uniek kwantiel kan bekomen. Op dat vlak is er niet zoiets als "de juiste" of "de beste" manier. In veel statistische programma's (o.a. SPSS, R, SAS of SciPy zoals hierboven) zitten vijf of meer verschillende manieren ingebouwd om een kwantiel te berekenen die dus alle vrijf een andere uitkomst kunnen geven voor dezelfde gegevens. Ironisch genoeg is de prof extra creatief geweest met zijn definities in de cursus, want die komen voor zover ik weet in geen enkel statistisch programma voor. Dat is ook de reden waarom je de waardes van $Q_1$ en $Q_3$ uit je rekentoestel niet mag gebruiken. Die gebruiken achterliggend ook een andere formule dan diegene die we in de cursus gebruiken.

Tot slot: boodschap van algemeen nut. Een kwantiel en een kwartiel zijn twee verschillende zaken. Meer specifiek: elk kwartiel is ook een kwantiel, maar niet elk kwantiel is een kwartiel. Goed uit elkaar houden.

Achtergrondinfo