Come calcolare la correlazione tra variabili categoriali


Usiamo spesso il coefficiente di correlazione di Pearson per calcolare la correlazione tra variabili numeriche continue.

Dobbiamo però utilizzare una metrica diversa per calcolare la correlazione tra variabili categoriali, ovvero variabili che assumono nomi o etichette come:

  • Stato civile (celibe, sposato, divorziato)
  • Stato di fumatore (fumatore, non fumatore)
  • Colore degli occhi (blu, marrone, verde)

Esistono tre misure comunemente utilizzate per calcolare la correlazione tra variabili categoriali:

1. Correlazione tetracorica: utilizzata per calcolare la correlazione tra variabili categoriche binarie.

2. Correlazione policorica: utilizzata per calcolare la correlazione tra variabili categoriche ordinali.

3. V di Cramer: utilizzato per calcolare la correlazione tra variabili categoriali nominali.

Le sezioni seguenti forniscono un esempio di come calcolare ciascuna di queste tre misurazioni.

Metrica 1: correlazione tetracorica

La correlazione tetracorica viene utilizzata per calcolare la correlazione tra variabili categoriche binarie. Ricorda che le variabili binarie sono variabili che possono assumere solo uno dei due valori possibili.

Il valore di correlazione tetracorica varia da -1 a 1, dove -1 indica una forte correlazione negativa, 0 indica alcuna correlazione e 1 indica una forte correlazione positiva.

Ad esempio, supponiamo di voler sapere se il genere è associato o meno alla preferenza per un partito politico. Quindi prendiamo un semplice campione casuale di 100 elettori e chiediamo loro quale sia la loro preferenza per un partito politico.

La tabella seguente presenta i risultati dell’indagine:

Correlazione tetracorica

Utilizzeremmo la correlazione tetracorica in questo scenario perché ciascuna variabile categoriale è binaria, ovvero ciascuna variabile può assumere solo due valori possibili.

Possiamo usare il seguente codice in R per calcolare la correlazione tetracorica tra le due variabili:

 library (psych)

#create 2x2 table
data = matrix(c(19, 12, 30, 39), nrow= 2 )

#view table
data

#calculate tetrachoric correlation
tetrachoric(data)

tetrachoric correlation 
[1] 0.27

La correlazione tetracorica risulta essere 0,27 . Questo valore è piuttosto basso, indicando che esiste una debole (se presente) associazione tra genere e preferenza del partito politico.

Metrica 2: correlazione policorica

La correlazione policorica viene utilizzata per calcolare la correlazione tra variabili categoriche ordinali. Ricordiamo che le variabili ordinali sono variabili i cui possibili valori hanno un ordine naturale.

Il valore di correlazione policorica varia da -1 a 1, dove -1 indica una forte correlazione negativa, 0 indica nessuna correlazione e 1 indica una forte correlazione positiva.

Ad esempio, supponiamo che tu voglia sapere se due diverse agenzie di valutazione dei film hanno un’elevata correlazione tra le loro valutazioni dei film.

Chiediamo a ciascuna agenzia di valutare 20 film diversi su una scala da 1 a 3, dove 1 indica “cattivo”, 2 indica “scarso” e 3 indica “buono”.

La tabella seguente mostra i risultati:

Possiamo utilizzare il seguente codice in R per calcolare la correlazione policorica tra i rating delle due agenzie:

 library (polycor)

#define movie ratings
x <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2)
y <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3)

#calculate polychoric correlation between ratings
polychor(x, y)

[1] 0.7828328

La correlazione policorica risulta essere 0,78 . Questo valore è piuttosto elevato, il che indica che esiste una forte associazione positiva tra i rating di ciascuna agenzia.

Metrica 3: V di Cramer

La V di Cramer viene utilizzata per calcolare la correlazione tra variabili categoriali nominali. Ricorda che le variabili nominali sono quelle che portano etichette di categoria ma non hanno un ordine naturale.

Il valore della V di Cramer varia da 0 a 1, dove 0 indica nessuna associazione tra le variabili e 1 indica una forte associazione tra le variabili.

Ad esempio, supponiamo di voler sapere se esiste una correlazione tra il colore degli occhi e il sesso. Interroghiamo quindi 50 persone e otteniamo i seguenti risultati:

Possiamo usare il seguente codice in R per calcolare la V di Cramer per queste due variabili:

 library (rcompanion)

#create table
data = matrix(c(6, 9, 8, 5, 12, 10), nrow= 2 )

#view table
data

     [,1] [,2] [,3]
[1,] 6 8 12
[2,] 9 5 10

#calculate Cramer's V
cramerV(data)

Cramer V 
  0.1671

La V di Cramer risulta essere 0,1671 . Questo valore è piuttosto basso, indicando che esiste una debole associazione tra sesso e colore degli occhi.

Risorse addizionali

Introduzione al coefficiente di correlazione di Pearson
Introduzione alla correlazione tetracorica
Variabili categoriali o quantitative: qual è la differenza?
Livelli di misura: nominale, ordinale, intervallo e rapporto

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *