Hoofdstuk 27 Kruistabellen

In dit hoofdstuk wordt besproken:
  • Verband tussen categorische variabelen
  • Associatiematen bij een kruistabel
  • Chi-kwadraat toets
  • Inleiding correspondentieanalyse
Deze stof wordt behandeld in de volgende Open Universiteitscursus(sen):
  • Onderzoekspractium inleiding data analyse
Dit hoofdstuk bouwt voort op deze andere hoofdstukken:
  • geen

27.1 Inleiding

In een kruistabel worden de frequenties van twee variabelen gezamelijk getoond. Deze variabelen zijn categorisch, met een nominaal of ordinaal meetniveau. De tabel toont de frequentie verdeling van de ene variabele voor elke categorie van de andere variabele en vice versa. Om de samenhang tussen de twee categorische variabelen te quantificeren zijn er diverse associatiematen ontwikkeld. Ook kan er getoetst worden of het verband tussen de variabelen statistisch significant is. In dit hoofdstuk worden eerst enkele associatiematen besproken, daarna wordt de chi-kwadraattoets besproken en hoe de samenhang tussen de variabelen kan worden gevisualiseerd.

In tabel 27.1 wordt een verzonnen voorbeeld gegeven van mensen met een positieve corona test. de klachten zijn in vier categorieen ingedeeld: de 4 typen coronaklachten zijn gekruisd met drie leeftijdsklassen en in een kruistabel gezet. Het gaat hier dus om een nominale (klachten) en een ordinale (leeftijdsklasse) variable. Het aantal personen in deze tabel is \(n=\) 72.

Tabel 27.1: Kruistabel leeftijdsklasse versus klachten.
Benauwdheid Hoofdpijn Smaakverlies Overig
Jong 4 5 5 3
Middelbaar 5 6 7 4
Oud 8 10 9 6

De vraag hier is of het patroon van klachten (klachtenprofiel of in het algemeen het rijprofiel) anders is voor de verschillende leeftijdsgroepen. Of anders geformuleerd of het leeftijdsprofiel anders is voor de verschillende klachten. Hiervoor voegen we allereerst de rijtotalen en rijproporties toe, evenals de kolomtotalen en kolomproporties.

Tabel 27.2: Kruistabel leeftijdsklasse versus klachten met proporties.
Benauwdheid Hoofdpijn Smaakverlies Overig rijSom rijProportie
Jong 4 5 5 3 17 0.24
Middelbaar 5 6 7 4 22 0.31
Oud 8 10 9 6 33 0.46
kolSom 17 21 21 13 72 1
kolProportie 0.24 0.29 0.29 0.18 1

We kunnen nu ook per leeftijdsklasse het klachtenprofiel berekenen door simpelweg de aantallen te delen door het desbetreffende rijtotaal. Dit is gedaan in tabel 27.3. Wanneer deze profielen ongeveer gelijk zijn en dus ook ongeveer gelijk aan het totale profiel (dat zijn de kolomproporties zoals getoond in tabel 27.2, dan zijn de rijen en kolommen onafhankelijk. Er is dan geen verband tussen beide variabelen. In dit voorbeeld zijn de profielen ongeveer gelijk aan elkaar. Er is dus geen verband tussen klachten en leeftijdsklasse. Op dezelfde manier hadden we de leeftijdsprofielen per klacht kunnen bekijken, en daar zou noodzakelijkerwijs dezelfde conclusie uitkomen.

Tabel 27.3: Profielen van de klachten per leeftijdsklasse.
Benauwdheid Hoofdpijn Smaakverlies Overig
Jong 0.24 0.29 0.29 0.18
Middelbaar 0.23 0.27 0.32 0.18
Oud 0.24 0.30 0.27 0.18

27.2 Associatiematen

De \(\chi^2\) is de belangrijkste maat om samenhang in een kruistabel aan te geven. Bij deze maat worden de geobserveerde waarden in de tabel vergeleken met de verwachte waarden, waarbij verwachte waarden, de waarden zijn onder de aanname dat er geen samenhang is tussen de rijen en kolommen. Een verwachte waarde in een cel wordt volledig bepaald door zijn rij- en kolomproportie. Als we de rijporporties voorstellen door \(r\) en de kolomproporties door \(c\) dan wordt de verwachte waarde (\(e\)) van cel \(ij\) (\(i^{de}\) rij en \(j^{de}\) kolom):

\[\begin{equation} e_{ij} = n \times r_i \times c_j \tag{27.1} \end{equation}\]

De formule voor de \(\chi^2\) ziet er als volgt uit:

\[\begin{equation} \chi^2 = \sum{\frac{(n_{ij} - e_{ij})^2} {e_{ij}}} \tag{27.2} \end{equation}\]

Hierbij is \(n_{ij}\) het geobserveerde aantal in cel \(ij\), \(e_{ij} = nr_{i}c_{j}\), het product van de rij- en kolomproporties maal het totaal aantal. Het somteken geeft hier aan dat over alle cellen wordt gesommeerd. De \(\chi^2\) is afhankelijk van het aantal observaties en de grootte van de tabel.
In het voorgaande voorbeeld was de \(\chi^2\) = \(0.15\). Een hele lage waarde die aangeeft dat er geen samenhang in deze tabel is.

In tabel 27.4 staat een ander voorbeeld van een kruistabel. Het gaat hier om de politieke voorkeur en het favoriete nieuwsmedium. Aan \(n =\) 130 mensen is gevraagd op welke politiek partij zij nu zouden stemmen en welke medium zij vooral gebruikten om het dagelijks nieuws te volgen. Iedere cel in de kruistabel geeft het aantal mensen aan dat op de desbetreffende partij zou stemmen en het desbetreffende medium vooral gebruikt. De vraag is of er samenhang is tussen de nominale variabelen politieke voorkeur en het favoriete nieuwsmedium. Gebruiken mensen met een bepaalde politieke voorkeur, een ander medium dan mensen met een andere politieke voorkeur. Anders geformuleerd: zijn de profielen van nieuwsmediagebruik anders voor de verschillende politieke partijen.

Tabel 27.4: Kruistabel Politieke voorkeur versus favoriete nieuws medium.
GL PVV VVD CDA D66 PvdA
Twitter 3 10 1 2 4 2
Facebook 4 3 4 4 4 2
Krant 5 1 6 10 8 2
Televisie 1 8 12 6 2 6
Online 2 3 6 2 4 3

Voor deze kruistabel geldt: \(\chi^2 =\) 33.79. Om te weten of dit een hoge of lage waarde is, moeten we ook de grootte van de tabel erbij betrekken. Bij het toetsen van de samenhang komen we hier op terug.

De tweede associatiemaat is \(Cramer's\ V\). Dit is een maat die de samenhang aangeeft tussen twee nominale variabelen. De samenhang wordt uitgedrukt in ene getal dat tussen \(0\) en \(1\) ligt, waarbij \(0\) aangeeft dat er geen enkele samenhang is, dus de rij- en kolomvariabele zijn volledig onafhankelijk van elkaar. Als de waarde \(1\) is dan kan je de ene variabele perfect voorspellen uit de andere; er is volledige samenhang. Voor deze tabel geldt: \(Cramer's\ V =\) 0.255. \(Cramer's\ V\) is gebaseerd op de \(\chi^2\) en wordt als volgt berekend:

\[\begin{equation} Cramer's\ V = \sqrt{\frac{\chi^2} {n(k-1)}} \tag{27.3} \end{equation}\]

Hierbij is \(k\) het minimum van het aantal rijen (\(nr\)) en kolommen (\(nk\)) in de tabel. Dus bij \(5\) rijen en \(4\) kolommen is \(k = 4\) en \(n\) is het totaal aantal observaties in de tabel. \(Cramer's\ V\) is minder afhankelijk van de steekproefgrootte. Het is ook mogelijk om een betrouwbaarheidinterval (BI) rond de puntschatting van \(Cramer's\ V\) te genereren. Het \(95\%\) BI is hier: [0.087, 0.409].

27.2.1 Chi-kwadraattoets

Hierboven is uitgelegd hoe de \(\chi^2\) statistiek kan worden berekend. Vaak zal men ook willen weten of de gevonden waarde statistisch significant is. Met andere woorden kunnen we met een bepaalde mate van zekerheid stellen dat de gevonden samenhang uit een populatie komt waar echt samenhang is of kan er sprake zijn van toevallige fluctuatie. Als \(n\) voldoende groot is dan is de \(\chi^2\) statistiek onder \(H0\) (dus onder de aanname dat de rijen en kolommen onafhankelijk zijn) bij benadering verdeeld volgens de chi-kwadraatverdeling met vrijheidsgraden \(df = (nr-1)(nk-1)\), waarbij \(nr\) het aantal rijen is en \(nk\) het aantal kolommen. Als de gevonden \(\chi^2\) groter is dan een gekozen kritieke waarde uit deze verdeling dan kan deze waarde significant worden genoemd. Omdat de \(\chi^2\) afhankelijk is van het aantal observaties en de grootte van de tabel, zegt deze toets niet zo veel bij grote tabellen.

In dit geval geldt \(\chi^2 =\) 33.79 (\(df=\) 20), \(p =\) 0.028.

27.3 Visualiseren van de afhankelijkheid: correspondentieanalyse

Als er sprake lijkt van samenhang tussen de twee categorische variabelen, kan het interessant zijn een figuur te maken om deze samenhang te visualiseren. Dit kan door middel van een techniek genaamd correspondentieanalyse. Het idee achter correspondentieanalyse (CA) is een wiskundige techniek, genaamd singuliere waarden (value) decompositie (SVD), die de kruistabel ontbindt in scores voor rijen en scores voor kolommen in maximaal \(k\) dimensies. Voor de visualisatie worden meestal alleen de eerste twee dimensies gebruikt. Per dimensie wordt ook een eigenwaarde (aangeduid met het symbool \(\phi^2\)) berekend, die een indicatie is hoe goed die dimensie de getallen in de tabel kan benaderen. Per definitie “verklaart” de eerste dimensie het meest, daarna de tweede enzovoort. Met \(k\) dimensies kan de volledige tabel perfect worden gereconstrueerd. De eigenwaarden zijn gerelateerd aan de \(\chi^2\). De som van de eigenwaarden is namelijk gelijk aan de \(\chi^2\) gedeeld door \(n\), in formule:

\[\begin{equation} \chi^2 = n\sum(\phi^2_k) \tag{27.4} \end{equation}\]

De \(\phi^2_k\) gedeeld door de som van alle \(\phi^2_k\) geeft een percentage welke een maat is voor hoe goed de dimensie \(k\) de samenhang in de tabel beschrijft. De visualisatie houdt in dat de categorieen van beide variabelen, de rijpunten en de kolompunten, worden weergegeven in een twee-dimensionele figuur. Met deze figuur kunnen bepaalde eigenschappen van de oorsprongelijke kruistabel worden gevisualiseerd.

Samenhang in kruistabel gevisualiseerd.

Figuur 27.1: Samenhang in kruistabel gevisualiseerd.

Figuur 27.1 laat de oplossing van de eerste twee dimensies van een CA zien. De eerste dimensie “verklaart” \(54.4\%\) en de tweede \(38.6\%\) van de variatie in deze kruistabel. Categorieen van dezelfde variabele (dezelfde kleur) die dicht bij elkaar liggen hebben een vergelijkbaar profiel. GL en D66 zijn twee categorieen van de variable politieke voorkeur die dicht bij elkaar liggen. In de kruistabel kunnen we inderdaad zien dat beide partijen een vergelijkbaar profiel hebben met betrekking tot de media. CDA en PVV liggen ver uit elkaar op de eerste dimensie en hebben een van elkaar afwijkend profiel. Categorieen die dicht bij de oorsprong liggen hebben een gemiddeld profiel. In dit voorbeeld liggen de media Facebook and Online relatief dicht bij de oorsprong en hebben dus een niet heel extreem profiel met betrekking tot de politieke voorkeur. Het medium Krant daarentegen ligt vrij extreem en heeft dus een afwijkend patroon met betrekking tot politieke voorkeur.

De afstand tussen twee rijpunten (of twee kolompunten) in een kruistabel kunnen we definieren met de zogenaamde \(\chi^2\) afstand. Dit is de afstand tussen twee rijprofielen (cq. kolomprofielen). Het rijprofiel van de \(i^{de}\) rij, genoteerd als \(p_i\), is:

\[\begin{equation} p_i = \frac{n_i} {\sum_j{(n_{ij})}} \tag{27.5} \end{equation}\]

Hierbij is \(n_i\) de \(i^{de}\) rij uit de kruistabel. De som van de getallen in \(p_i\) is per definitie gelijk aan 1. De \(\chi^2\) afstand tussen twee rijen (\(i\) en \(k\)) is gedefineerd als:

\[\begin{equation} d_{ik} = \sum{\frac{(p_{i} - p_{k})^2} {r}} \tag{27.6} \end{equation}\]

De sommatie is over de elementen van \(p\) en \(r\), (b.v. \(r=\) \(0.12, 0.19, 0.22, 0.18, 0.17, 0.12\)) . Op deze manier kunnen we voor iedere twee rijen en voor iedere twee kolommen een afstand uitrekenen. De afstanden tussen de politieke partijen staan in tabel 27.5. Op dezelfde wijze kan er een tabel met de onderlinge afstanden van de nieuwsmedia worden verkregen.

Tabel 27.5: Chi-kwadraat afstanden tussen de politieke voorkeuren.
GL PVV VVD CDA D66 PvdA
GL 0.000 0.979 0.901 0.558 0.260 0.860
PVV 0.979 0.000 0.993 1.100 0.975 0.723
VVD 0.901 0.993 0.000 0.630 0.795 0.284
CDA 0.558 1.100 0.630 0.000 0.477 0.721
D66 0.260 0.975 0.795 0.477 0.000 0.775
PvdA 0.860 0.723 0.284 0.721 0.775 0.000

De \(\chi^2\) afstand tussen bijvoorbeeld VVD en het CDA is \(0.63\). Een eigenschap van de visualtisatie van de correspondentieanalyse is dat de afstanden tussen politieke partijen en tusssen de nieuwsmedia in de figuur een benadering zijn van de chi-kwadraat afstanden. De afstanden in de figuur zijn de “gewone” Euclidische afstanden, waarmee we in het dagelijks level ook afstanden meten. Deze afstand is met de coordinaten van beide partijen en via de stelling van Pythagoras eenvoudig te berekenen. Hoe meer dimensies we gebruiken, hoe beter de Euclidische afstand in de figuur de \(\chi^2\) afstand van de kruistabel zal benaderen. Bij het maximaal aantal dimensies worden beide afstanden gelijk aan elkaar.

In figuur 27.2 is de afstand getoond. De afstand in de figuur tussen CDA en VVD op de eerste dimensie is \(0.342\) en op de tweede dimensie \(0.451\). Dit zijn de lengtes van de twee gestreepte lijntjes. De wortel uit de som van deze kwadraten (Pythagoras) geeft de afstand tussen beide partijen: \(d=\) \(0.57\). Dit is een benadering van de \(\chi^2\) afstand \(0.63\). Zouden we de afstand in vier dimensies berekenen dan komt er precies \(0.63\) uit.

Afstand tussen punten in kruistabel gevisualiseerd.

Figuur 27.2: Afstand tussen punten in kruistabel gevisualiseerd.

We kunnen ook de samenhang bekijken tussen categorieen van de verschillende variabelen. Als voorbeeld nemen we Twitter en de PVV. Allereerst trekken we pijlen vanuit de oorsprong naar deze punten, zie figuur 27.3. De hoek, aangeduid met \(r\), tussen deze pijlen is een maat voor de samenhang tussen deze categorieen. Het symbool \(r\) wordt vaak gebruikt als symbool voor een correlatiecoefficient en ook in deze situatie kunnen we \(r\) (of beter gezegd de cosinus van \(r\)) opvatten als een correlatie tussen de twee categorieen. Hoe kleiner de hoek wordt hoe groter de correlatie tussen beide punten. Bij een hoek van 90 graden (de cosinus is dan 0) is er geen samenhang tussen de punten.

Samenhang in kruistabel gevisualiseerd.

Figuur 27.3: Samenhang in kruistabel gevisualiseerd.

27.4 Verdieping: hoek tussen vectoren symboliseert samenhang

Wanneer we de samenhang tussen twee punten willen weten dan kunnen we die uitrekenen door gebruik te maken van enkele wiskundige stellingen. Allereerst gaan we de twee punten opvatten als vectoren vanuit de oorsprong. De twee pijlen zijn twee vectoren in een twee-dimensionele ruimte. In het algemeen geldt dat het inwendig product van twee vectoren, \(a\) en \(b\), op twee manieren kan worden gedefinieerd. De notatie van het inwendig product is \(a'b\).

\[\begin{align*} a'b & = ||a|| \times ||b|| \times cos(\alpha_{ab}) \\ a'b & = a_1b_1 + a_2b_2 \end{align*}\]

Hier geldt dat ||a|| en ||b|| de lengte van de vectoren representeren, en \(\alpha_{ab}\) de hoek is tussen beide vectoren. De \(a_1\) en \(a_2\) zijn de coordinaten van punt \(a\) op respectievelijk dimensie 1 en 2. Hetzelfde geldt voor \(b_1\) en \(b_2\). Bovenstaande formules kunnen we combineren tot een uitdrukking voor de cosinus:

\[\begin{equation} cos(\alpha_{ab}) = \frac{a_1b_1 + a_2b_2}{||a|| \times ||b|| } \tag{27.7} \end{equation}\]

De teller in deze breuk geeft een som van de kruisproducten, dit is dus een maat voor de covariantie tussen twee variabelen. De noemer geeft de lengte van de vectoren aan, dus de wortel uit de som van de kwadraten (stelling van Pythagoras) van de coordinaten. De lengte is dus een maat voor de standaardafwijking van een variabele.

De definitie van de correlatiecoefficient tussen \(a\) en \(b\) is als volgt:

\[\begin{equation} \rho_{ab} = \frac{cov_{ab}}{\sigma_a \sigma_{b}} \tag{27.8} \end{equation}\]

Hiermee is dus geillustreerd dat de cosinus van de hoek tussen twee vectoren gezien kan worden als de correlatie tussen deze vectoren.