Misurare l’associazione tra variabili dicotomiche

Negli ultimi mesi, in diverse occasioni mi sono trovato a utilizzare la correlazione tetracorica per misurare la relazione lineare tra due variabili dicotomiche. A seguito di alcune interessanti questioni sorte sul forum di Statistica@Ning, ho deciso di approfondire e di scrivere una serie di post sull’argomento, di cui questo è il primo. Un ringraziamento particolare va a Piergiorgio Mossi dell’Università del Salento per avermi messo a disposizione del materiale altrimenti irreperibile, e al prof. William Revelle della Northwestern University per alcune preziosissime indicazioni.

Il coefficiente di correlazione di Pearson misura l’intensità della relazione lineare tra due variabili quantitative, misurate almeno su scala a intervalli equivalenti. Ci sono però casi in cui le due variabili sono misurate su scale diverse da quelle a intervalli o a rapporti; in questo post ci occuperemo del caso in cui entrambe le variabili per le quali si vuole misurare l’intensità della relazione sono dicotomiche ordinali.

Nel caso di variabili ordinali a due categorie, spesso viene utilizzato il coefficiente di correlazione tetracorica. Tale coefficiente stima la correlazione tra le due variabili assumendo che la loro natura dicotomica derivi dalla discretizzazione di un processo in realtà continuo. Ciò significa che il fenomeno sottoposto a misurazione sarebbe per sua natura misurato come una variabile continua, ma per esigenze di misurazione questa è stata ridotta a soli due valori, cioè dicotomizzata.

Questo caso si presenta molto spesso nei questionari psicometrici, dove si va a quantificare un qualche tratto latente non misurabile in maniera diretta, oppure nei questionari per la rilevazione delle opinioni e della soddisfazione dei clienti. Si potrebbe assumere che la soddisfazione sia un fenomeno che varia da uno zero assoluto (insoddisfazione totale) a una massima soddisfazione possibile, e tra questi due estremi del continuum il fenomeno possa assumere un numero infinito di valori. La soddisfazione, tuttavia, potrebbe essere misurata attraverso un quesito che chiede di esprimere una valutazione su due sole categorie come “non sono soddisfatto” e “sono soddisfatto”. Analogo discorso potrebbe essere fatto nella valutazione di una performance, dove si suppone che una certa abilità sia costituita da un continuum che viene discretizzato in due categorie come “sbagliato” e “giusto”.

Un nodo fondamentale del processo che porta alla discretizzazione di una variabile continua è la soglia che determina il “taglio” tra le due categorie, cioè il punto di passaggio tra la categoria inferiore (che indicheremo con 0) e quella superiore (che indicheremo con 1). Per dicotomizzare una variabile, infatti, dovremo scegliere un valore soglia sotto il quale tutti i valori saranno ricondotti alla categoria 0 e sopra il quale tutti i valori saranno ricondotti alla categoria 1.

I due grafici nella figura sottostante rappresentano due possibili esempi di dicotomizzazione di una variabile che segue una distribuzione normale standardizzata; se le aree bianche indicano la parte della curva che sottende i valori che saranno categorizzati come 0, le aree grigie indicano la parte della curva che sottende i valori che saranno categorizzati come 1.

Dicotomizzazione

Scegliendo come soglia il valore z = 0, otterremo un perfetto equilibrio tra le due categorie, perché sia 0 che 1 avranno il 50% di probabilità di presentarsi. È questo il caso del grafico di sinistra. Diversamente, valori soglia inferiori o superiori allo zero porterebbero allo sbilanciamento verso l’una oppure l’altra categoria. Nel grafico di destra si è scelto come soglia il valore z = -0.67: in questo modo, la probabilità di occorrenza della categoria 0 sarà pari al 25%, mentre la probabilità di occorrenza della categoria 1 sarà del 75%.

La probabilità che un individuo risponda a un quesito utilizzando la categoria con rango più elevato, nel nostro caso 1, è comunemente detta probabilità di successo, che nei questionari psicometrici rappresenta la difficoltà dell’item: al diminuire di tale probabilità, diminuisce la probabilità di ottenere 1 piuttosto che 0, per cui l’item diventa più “difficile”. Il processo di dicotomizzazione proposto nel grafico di sinistra produrrà un item più difficile rispetto al processo descritto nel grafico di destra; infatti, se nel primo caso la probabilità di rispondere utilizzando la categoria 1 è del 50%, nel secondo caso tale probabilità è pari al 75%.

Ora vedremo come stimare con R la relazione lineare tra due variabili utilizzando l’indice di correlazione tetracorica. Partendo da due variabili numeriche continue, vedremo come dicotomizzarle e come calcolare la correlazione tetracorica fra le due.

Prendiamo due variabili, x1 e x2:

x1 <- c(11.6,12.7,8.4,12.3,9.1,9.7,9.6,9.1,12.4,10.0,
        6.0,11.3,5.6,9.7,7.3,12.7,5.6,10.5,7.7,11.5,
        8.7,9.9,12.1,11.7,12.6,7.7,7.2,10.1,9.6,8.6)
x2 <- c(11.8,10.5,7.1,8.4,7.3,9.2,11.6,10.1,11.8,12.8,
        7.7,13.6,7.9,8.1,7.4,12.0,4.9,9.0,10.9,8.3,
        8.7,7.8,12.4,11.2,13.7,9.3,7.1,3.9,6.3,6.6)
&#91;/code&#93;
<p style="text-align: justify;">L&rsquo;indice di Pearson, calcolato con la funzione <b>cor</b>, misura una correlazione tra x1 e x2 pari a 0.59. Per dicotomizzare le variabili &egrave; necessario prima di tutto standardizzarle, trasformandole in punti <i>z</i>:</p>
[code language="r"]
z1 <- (x1-mean(x1)) / sd(x1)
z2 <- (x2-mean(x2)) / sd(x2)
&#91;/code&#93;
<p style="text-align: justify;">A questo punto, dobbiamo scegliere la soglia che determina il passaggio da una categoria all&rsquo;altra, ovvero un punto <i>z</i> che costituisca un cut-off sotto il quale tutti i valori saranno convertiti in 0 e sopra il quale tutti i valori saranno convertiti in 1. Nella distribuzione normale standardizzata, il valore <i>z</i> = 0 divide esattamente in due la distribuzione. Scegliamo quindi <i>z</i> = 0 come soglia e convertiamo di conseguenza tutti i punti <i>z</i> in due categorie. Per ogni variabile, tutti i valori che eccedono lo zero saranno trasformati in 1, altrimenti saranno convertiti in 0.</p>
[code language="r"]
d1 <- as.numeric(z1 > 0)
d2 <- as.numeric(z2 > 0)

Utilizzando il comando table possiamo visualizzare le frequenze dei valori 0 e 1 per ogni variabile:

table(d1)
table(d2)

Dato che ogni variabile contiene 30 osservazioni, un perfetto bilanciamento tra le due categorie si rifletterebbe in una frequenza pari a 15 sia per 0 che per 1. Se per d1 le frequenze delle categorie sono molto simili (rispettivamente 16 e 14), per d2 si nota un certo sbilanciamento, con la categoria 0 che presenta una frequenza pari a 17, mentre la categoria 1 presenta una frequenza pari a 13.

In R ci sono diversi pacchetti che permettono di calcolare la correlazione tetracorica. Uno di questi è psych, che fornisce la funzione tetrachoric: a partire da una matrice di variabili, questa funzione calcola la matrice di correlazione tetracorica. I seguenti comandi caricano la libreria psych, costruiscono una nuova matrice le cui colonne sono le due variabili d1 e d2 e, infine, calcolano la correlazione tetracorica:


library(psych)
d <- cbind(d1,d2) tetrachoric(d) [/code]

Come output otterremo la matrice di correlazione; 0.58 è il coefficiente di correlazione tetracorica stimato, effettivamente molto simile all’originario indice di Pearson calcolato sulle originali variabili continue.

Call: tetrachoric(x = d)
tetrachoric correlation 
   d1   d2  
d1 1.00     
d2 0.58 1.00

 with tau of 
   d1    d2 
0.084 0.168


La funzione stima anche le soglie delle due variabili, che noi sappiamo essere zero in entrambi i casi. I valori stimati sono effettivamente molto vicini a zero, soprattutto per d1.

Print Friendly