5. Associazione tra Variabili#

Abbiamo finora analizzato dati “univariati”, ovvero composte di una sola variabile. Più precisamente, anche quando diverse variabili erano disponibili, abbiamo analizzato le variabili ad una ad una. In pratica, capita spesso che le osservazioni sotto analisi siano costituite da più variabili. In questi casi è utile considerare dei metodi per descrivere e visualizzare i dati in maniera “multivariata”, in modo da studiare le interazioni tra i vari fattori che descrivono il fenomeno in analisi.

Utilizzeremo come esempio nuovamente il dataset Titanic:

Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
PassengerId
1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
... ... ... ... ... ... ... ... ... ... ... ...
887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q

891 rows × 11 columns

Dato il dataset sopra, potremmo chiederci se delle variabili influenzano i valori di altre. Ad esempio, trovarsi in prima, seconda o terza classe (variabile Pclass) influenza in qualche modo la probabilità di sopravvivere (variabile Survived)?, o ancora, l’età (variabile Age) o il prezzo pagato (Fare) influenza in qualche modo la probabilità di salvarsi (Survived)?

In questa lezione, vedremo diversi modi per riassumere le distribuzioni di due variabili e verificare eventuali associazioni (o correlazioni) tra le variabili.

5.1. Riassumere la Distribuzione di due Variabili Discrete#

Se entrambe le variabili che stiamo studiando sono discrete, possiamo enumerare tutte le possibili combinazioni di valori e riassumerle in una tabella di contingenza che indica i valori di una variabile sulle righe e quelli dell’altra variabile sulle colonne. Ogni cella indicherà il numero di volte in cui osserviamo una data coppia di valori.

5.1.1. Tabelle di Contingenza#

La tabella di contingenza per le variabili Sex e Pclass avrà questo aspetto:

Pclass 1 2 3
Sex
female 94 76 144
male 122 108 347

La tabella sopra indica ad esempio che \(94\) passeggeri in classe \(1\) erano di sesso femminile. Una tabella di contingenza è spesso mostrata con dei valori a margine che mostrano le somme di righe e colonne:

Pclass 1 2 3 All
Sex
female 94 76 144 314
male 122 108 347 577
All 216 184 491 891

Si noti che i valori “All” indicano le frequenze assolute delle due variabili, mentre il valore in basso a destra indica la numerosità del campione.

In generale, una tabella di contingenza è organizzata come segue:

X=\(x_1\)

X=\(x_2\)

X=\(x_l\)

Total

Y=\(y_1\)

\(n_{11}\)

\(n_{12}\)

\(n_{1l}\)

\(n_{1+}\)

Y=\(y_2\)

\(n_{21}\)

\(n_{22}\)

\(n_{2l}\)

\(n_{2+}\)

Y=\(y_k\)

\(n_{k1}\)

\(n_{k2}\)

\(n_{kl}\)

\(n_{k+}\)

Total

\(n_{+1}\)

\(n_{+2}\)

\(n_{+l}\)

\(n\)

Dove:

  • \(n_{ij}\) denota il numero di coppie di valori per cui \(X=x_1\) e \(Y=y_1\) (sono le frequenze assolute delle co-occorrenze dei valori)

  • \(n_{i+} = \sum_j n_{ij}\) (sono le frequenze assolute della variabile sulle righe)

  • \(n_{+j} = \sum_j n_{ij}\) (sono le frequenze assolute della variabile sulle colonne)

  • \(n = \sum_i n_{i+} = \sum_j n_{+j} = \sum_{ij} n_ij\)

5.1.2. Distribuzioni di Frequenze Relative Congiunte#

Così come nel caso dei campioni univariati, anche in questo caso possiamo ragionare in termini di frequenze relative. In particolare, possiamo definire le frequenze relative congiunte, dividendo ciascun elemento \(n_{ij}\) per \(n\):

\[f_{ij} = \frac{n_{ij}}{n}\]

Mettendo le frequenze relative in una tabella, otterremmo la seguente:

X=\(x_1\)

X=\(x_2\)

X=\(x_l\)

Y=\(y_1\)

\(f_{11}\)

\(f_{12}\)

\(f_{1l}\)

Y=\(y_2\)

\(f_{21}\)

\(f_{22}\)

\(f_{2l}\)

Y=\(y_k\)

\(f_{k1}\)

\(f_{k2}\)

\(f_{kl}\)

Nel caso del dataset Titanic, otteniamo la seguente tabella:

Pclass 1 2 3
Sex
female 0.105499 0.085297 0.161616
male 0.136925 0.121212 0.389450

5.1.3. Distribuzioni di Frequenze Relative Marginali#

Anche in questo caso, possiamo riportare le somme per righe e colonne, ottenendo così le frequenze “marginali” (perché si scrivono a margine):

\[f_{i+} = \sum_j f_{ij} \]
\[f_{j+} = \sum_i f_{ij} \]

Mettendo tutto in una tabella:

X=\(x_1\)

X=\(x_2\)

X=\(x_l\)

Total

Y=\(y_1\)

\(f_{11}\)

\(f_{12}\)

\(f_{1l}\)

\(f_{1+}\)

Y=\(y_2\)

\(f_{21}\)

\(f_{22}\)

\(f_{2l}\)

\(f_{2+}\)

Y=\(y_k\)

\(f_{k1}\)

\(f_{k2}\)

\(f_{kl}\)

\(f_{k+}\)

Total

\(f_{+1}\)

\(f_{+2}\)

\(f_{+l}\)

\(1\)

Va notato che:

  • \(f_{i+}\) sono le frequenze relative della variabile nelle righe e sono riportate nell’ultima colonna;

  • \(f_{+j}\) sono le frequenze relative della variabile nelle colonne e sono ripostate nell’ultima riga.

Nel caso di Titanic:

Pclass 1 2 3 All
Sex
female 0.105499 0.085297 0.161616 0.352413
male 0.136925 0.121212 0.389450 0.647587
All 0.242424 0.206510 0.551066 1.000000

5.1.4. Distribuzioni di Frequenze Relative Condizionali#

In certi casi, è utile calcolare le frequenze dei valori di una variabile nel caso in cui i valori di un’altra variabile sono tenuti costanti. Queste frequenze ci permettono di rispondere a domande del tipo:

  • Qual è la distribuzione delle classi tra gli uomini? (sex=male è tenuto costante)

  • Qual è la distribuzione delle classi tra le donne? (sex=female è tenuto costante)

  • Qual è la distribuzione dei sessi in prima classe? (Pclass=1 è tenuto costante)

  • Qual è la distribuzione dei sessi in seconda classe? (Pclass=2 è tenuto costante)

  • Qual è la distribuzione dei sessi in terza classe? (Pclass=3 è tenuto costante)

Le frequenze condizionate sono definite come segue:

\[ f_{i|j}^{X|Y} = f(X=x_i|Y=y_j) = \frac{n_{ij}}{n_{+j}} \]
\[ f_{j|i}^{Y|X} = f(Y=y_j|X=x_i) = \frac{n_{ij}}{n_{i+}} \]

In questa notazione, la condizione che appare dopo il simbolo di \(|\) (che si legge “dato” o “dato che”) indica il valore che viene tenuto costante.

Secondo questa notazione, gli esempi di prima si traducono come segue:

  • Distribuzione delle classi tra gli uomini: \(f(Pclass|sex=male)\)

  • Distribuzione delle classi tra le donne: \(f(Pclass|sex=female)\)

  • Distribuzione dei sessi in prima classe: \(f(sex|Pclass=1)\)

  • Distribuzione dei sessi in seconda classe: \(f(sex|Pclass=2)\)

  • Distribuzione dei sessi in terza classe: \(f(sex|Pclass=3)\)

Dalle formule sopra, evinciamo che, se si condiziona rispetto a un valore \(Y=y_j\), si deve dividere il numero di occorrenze delle coppie per il numero di volte in cui si verifica \(Y=y_j\). Questo si ottiene dividendo tutti gli elementi della tabella di contingenza per la somma dei valori sulla riga o colonna relativa alla variabile rispetto alla quale voglio condizionare.

Tornando alla nostra semplice matrice di contingenza:

Pclass 1 2 3 All
Sex
female 94 76 144 314
male 122 108 347 577
All 216 184 491 891

Per ottenere le distribuzioni condizionate rispetto alla variabile Sex, dovrò dividere i valori della tabella per le somme dei valori sulle righe (valori nella colonna All):

Pclass 1 2 3
Sex
female 0.299363 0.242038 0.458599
male 0.211438 0.187175 0.601386
All 0.242424 0.206510 0.551066

Si noti che nella tabella sopra non sono riportati valori a margine delle righe, in quanto questi sarebbero tutti uguali a 1.

Dalla tabella sopra, posso evincere:

  • \(f(Pclass=1|Sex=female) = 0.290363 = \frac{94}{314}\)

  • \(f(Pclass=2|Sex=female) = 0.242038 = \frac{76}{314}\)

  • \(f(Pclass=3|Sex=female) = 0.458599 = \frac{144}{314}\)

  • \(f(Pclass=1|Sex=male) = 0.211438 = \frac{122}{577}\)

  • \(f(Pclass=2|Sex=male) = 0.187175 = \frac{108}{577}\)

  • \(f(Pclass=3|Sex=male) = 0.601386 = \frac{347}{577}\)

Dalla tabella, notiamo che la distribuzione dei passeggeri cambia nelle tre classi. In particolare, tra gli uomini, la terza classe è più frequente che tra le donne.

Possiamo ottenere la prospettiva complementare condizionando rispetto alla classe invece:

Pclass 1 2 3 All
Sex
female 0.435185 0.413043 0.293279 0.352413
male 0.564815 0.586957 0.706721 0.647587

Si noti che nella tabella sopra non sono riportati valori a margine delle colonne, in quanto questi sarebbero tutti uguali a 1.

In questo caso, ogni colonna sarà una distribuzione di probabilità. Ad esempio:

  • \(P(Sex=female|Pclass=1) = 0.435185\)

  • \(P(Sex=male|Pclass=1) = 0.564815\)

Notiamo che le proporzione tra uomini e donne cambiano nelle tre classi e in particolare nella terza classe ci sono molti più uomini che donne.

5.1.5. Rappresentazioni Grafiche#

Possiamo facilmente ottenere rappresentazioni grafiche delle relazioni tra due variabili mediante grafici a barre, direttamente dalle tabelle di contingenza. Ad esempio, il seguente grafico confronta le frequenze congiunte assolute:

<AxesSubplot:xlabel='Sex'>
../_images/ac26d800913862e28176b343cc300fd5f9930924d16e9e02d8164436624066c6.png

Da qui notiamo che molti passeggeri sono uomini e in terza classe. In questi casi, può essere a volte utile uno stacked plot:

<AxesSubplot:xlabel='Sex'>
../_images/0c55c9596676ee3c1296b3f23b2ef0d97b6ccd7d812d5afed9ea31f895a6d7b8.png

È spesso utile visualizzare le distribuzioni condizionate. Ad esempio, il grafico che segue ci permette di confrontare le distribuzioni dei passeggeri nelle tre classi, suddividendo in due gruppi sulla base del sesso:

<AxesSubplot:xlabel='Sex'>
../_images/637ce8addfa61dda9e3bea0bcbfc88d742b2b1f64c7f40452c8e684acdb47ea1.png

Anche in questi casi possiamo usare uno stacked plot:

<AxesSubplot:xlabel='Sex'>
../_images/35516738e5fb7cde47d91db4634a2a60ae820431ebb7a0f185da895c65740c44.png

Analogamente, possiamo ottenere i grafici delle frequenze condizionate rispetto alle classi:

<AxesSubplot:xlabel='Pclass'>
../_images/d9ad95d7e5a866cc1279aee299505fb0d1b74016f380d366faf595b39e9f624c.png ../_images/e71dd49b01ccab2eab0466335bc44785a12b9b9634d699c691472b88f760aa20.png

5.1.6. Misure di Associazione tra due Variabili Discrete#

Vediamo adesso delle misure che ci permettono di stimare se due variabili sono o meno “associate”, ovvero fino a che punto i valori di una variabile influenzano quelli dell’altra. Abbiamo visto che le variabili Sex e Pclass sembrano avere un qualche grado di associazione. Vediamo adesso un caso di associazione più forte, esplorando la relazione tra Pclass e Survived.

Consideriamo tre distribuzioni di frequenze relative di Survived condizionando rispetto ai valori Pclass:

  • f(Survived|Pclass=1)

  • f(Survived|Pclass=2)

  • f(Survived|Pclass=3)

La tabella delle frequenze condizionate che segue riassume questi valori

Survived 0 1
Pclass
1 0.370370 0.629630
2 0.527174 0.472826
3 0.757637 0.242363

Dai numeri vediamo che le distribuzioni sono molto diverse, a seconda del condizionamento operato. Ciò non è soprendente, perché immaginiamo che i passeggeri in prima e seconda classe abbiano avuto un trattamento diverso rispetto a quelli in terza classe.

Visualizziamo le distribuzioni graficamente:

<AxesSubplot:xlabel='Pclass'>
../_images/2ff6a2c575254b2db87f6971f38ba09c207d895c61ab450bd984b39bb88f5918.png

Il grafico mostra chiaramente lo sbilanciamento, per cui deduciamo che Pclass e Survived sono in effetti associate (o correlate).

5.1.7. Indipendenza e Frequenze Attese#

Prima di procedere con l’illustrare alcune misure di associazione tra variabili, dobbiamo parlare del concetto di indipendenza, che è opposto a quello di associazione.

Due variabili si dicono indipendenti se l’osservazione di una variabile non ci permette di fare nessun tipo di predizione sui possibili valori dell’altra variabile.

Immaginiamo due persone scelte a caso che vivono in parti diverse del mondo scelte casualmente. Se osserviamo il modo in cui una di queste due persone si veste, questa osservazione non ci dirà nulla sul modo in cui l’altra potrebbe vestirsi. Le variabili “vestiti della prima persona” e “vestiti della seconda persona” sono indipendenti. La stessa cosa non vale se le persone abitano nella stessa città. In tal caso, se piove, ad esempio, ci aspettiamo che le due persone indossino abiti simili, per cui osservare il modo in cui una delle due persone si veste può dirci qualcosa sul modo in cui si vestirà l’altra.

Consideriamo nuovamente la generica tabella di contingenza:

X=\(x_1\)

X=\(x_2\)

X=\(x_l\)

Total

Y=\(y_1\)

\(n_{11}\)

\(n_{12}\)

\(n_{1l}\)

\(n_{1+}\)

Y=\(y_2\)

\(n_{21}\)

\(n_{22}\)

\(n_{2l}\)

\(n_{2+}\)

Y=\(y_k\)

\(n_{k1}\)

\(n_{k2}\)

\(n_{kl}\)

\(n_{k+}\)

Total

\(n_{+1}\)

\(n_{+2}\)

\(n_{+l}\)

\(n\)

Adesso supponiamo di non poter osservare le co-occorrenze, ma di poter osservare solo i valori marginali:

X=\(x_1\)

X=\(x_2\)

X=\(x_l\)

Total

Y=\(y_1\)

\(n_{1+}\)

Y=\(y_2\)

\(n_{2+}\)

Y=\(y_k\)

\(n_{k+}\)

Total

\(n_{+1}\)

\(n_{+2}\)

\(n_{+l}\)

\(n\)

Supponiamo adesso di dover “ricostruire” i valori mancanti. Se le due variabili sono indipendenti, fissato un valore di \(Y\) (es. \(Y=y_i\)), ci aspettiamo che le frequenze \(n_{ij}\) al variare di \(j\) seguano la stessa distribuzione dei dati “globali” (mettendo tutti i valori di \(Y\) insieme) che osserviamo nell’ultima riga (frequenze assolue di \(X\)). Quindi ci aspettiamo che:

\[\tilde n_{ij} = \frac{n_{+j}}{n} \cdot n_{i+} = f_{+j} n_{i+}\]

Dove la tilde su \(\tilde n_{ij}\) indica che questo è un valore stimato, non il valore realmente osservato.

Dalla formula sopra segue che:

\[\tilde f_{ij} = \frac{\tilde n_{ij}}{n} = \frac{f_{+j} n_{i+}}{n} = f_{i+} f_{+j}\]

Vedremo meglio quando parleremo di probabilità che la formula sopra è in genere data come definizione di indipendenza tra variabili.

5.1.7.1. Esempio#

Vediamo un esempio sulla nostra tabella di contingenza che mette in relazione Pclass e Survived:

Survived 0 1 All
Pclass
1 80 136 216
2 97 87 184
3 372 119 491
All 549 342 891

Le frequenze marginali \(f_{+j}\) sono le seguenti:

0    0.616162
1    0.383838
Name: Survived, dtype: float64

Queste sono le frequenze \(f(Survived=0)\) e \(f(Survived=1)\).

Se le due variabili non fossero correlate, ci aspetteremmo di avere delle frequenze assolute proporzionali alle frequenze relative marginali:

\[\tilde{n}_{ij} = f_{+j} \cdot n_{i+}\]

Questi valori saranno dati dalla seguente tabella:

Confrontando queste frequenze con le frequenze effettive, ci accorgiamo che esistono delle discrepanze, ragionevolmente dovute al fatto che le variabili non sono in effetti indipendenti:

Survived 0 1 All
Pclass
1 80 136 216
2 97 87 184
3 372 119 491
All 549 342 891

5.1.8. Statistica \(\mathcal{X}^2\) di Pearson#

La statistica \(\mathcal{X}^2\) di Pearson misura queste discrepanze con la seguente formula:

\[\mathcal{X}^2 = \sum_{i=1}^k \sum_{j=1}^l \frac{(n_{ij}-\tilde{n}_{ij})^2}{\tilde{n}_{ij}}\]

La formula sopra calcola le differenze tra le frequenze assolute osservate e attese al quadrato (per eliminare segni negativi) e scala il risultato per le frequenze attese. Scalare il risultato fa si che piccole discrepanze ottenute su frequenze attese piccole pesino di più di piccole discrepanze ottenute tra frequenze attese grandi.

Si noti che se le frequenze attese sono identiche a quelle osservate, la statistica ottiene un valore pari a zero.

Nell’esempio visto in precedenza, il risultato sarà pari a:

102.89

5.1.9. Statistica \(V\) di Cramer#

La statistica \(\mathcal{X}^2\) di Pearson non è normalizzata, nel senso che il suo valore massimo dipende dalla dimensione del campione. Per ovviare a questo problema, si può usare la statistica V di Cramer, definita come segue:

\[V = \sqrt{\frac{\mathcal{X}^2}{n(min(k,l)-1)}}\]

Il risultato sarà un valore compreso tra \(0\) e \(1\).

La statistica V di Cramer sarà pari al seguente valore per l’esempio visto prima:

0.34

Questo valore indica una piccola associazione tra le due variabili, perché il valore è maggiore di \(0\), ma comunque non prossimo a \(1\).

5.1.10. Rischio Relativo#

Il rischio relativo è uno dei metodi di misurazione del grado di correlazione tra due variabili discrete più diffuso in epidemiologia.

Vediamo un esempio (da qui): supponiamo che in un villaggio di \(1000\) persone sia aumentata l’incidenza di una malattia rara. Investigando, scopriamo che recentemente una parte della popolazione è stata esposta a una radiazione.

I dati relativi a soggetti malati e sani esposti o non esposti al rischio (la radiazione) viene riassunta dalla seguente tabella di contingenza che mette in relazione la variabile “Diseased/Healthy” con quella “Exposed/Non Exposed”:

Exposed Non Exposed
Diseased 20 6
Healthy 380 594

La tabella indica il numero di persone che hanno contratto una data malattia o meno in relazione al fatto che siano stati esposti a un determinato rischio o meno (es. a un elemento inquinante).

Il rischio di sviluppare la malattia se esposti può essere calcolato come la proporzione:

\[f(Diseased|Exposed) = \frac{\#\ (Diseased, Exposed)}{\#\ Exposed} = \frac{20}{20+380} = 0.05\]

Vediamo che abbiamo un rischio del \(5\%\) di sviluppare la malattia, se esposti al rischio. Ad esempio, tra \(100\) persone esposte al rischio, ci aspettiamo di trovarne \(5\) malate.

Il rischio calcolato sopra, da solo, non ci dice molto sull’associazione tra le variabili “Exposed” e “Non Exposed”. Consideriamo adesso la proporzione di individui non esposti al rischio che contraggono la malattia:

\[f(Diseased|Non\ Exposed) = \frac{\#\ (Diseased, Non\ Exposed)}{\#\ Non\ Exposed} = \frac{6}{6+594} = 0.01\]

Questo valore ci dice che abbiamo un rischio di circa l’\(1\%\) di contrarre la malattia se non esposti. In pratica, su \(100\) soggetti non esposti al rischio, \(1\) si ammala.

È utile mettere a confronto questi due valori di rischio. Infatti, sebbene il \(5\%\) di rischio di ammalarsi tra i soggetti esposti non sia in valore assoluto un numero molto alto, va anche detto che la proporzione di soggetti malati non esposti al rischio è molto più bassa (\(1\%\)). Definiamo dunque il rischio relativo come il rapporto tra questi due rischi:

\[\textit{RR} = \frac{f(Diseased|Exposed)}{f(Diseased|Non\ Exposed)} = \frac{\frac{\#\ (Diseased, Exposed)}{\#\ Exposed}}{\frac{\#\ (Diseased, Non\ Exposed)}{\#\ Non\ Exposed}} = \frac{0.05}{0.1}=5\]

Interpretiamo questo valore così:

La proporzione di soggetti che contraggono la malattia è di \(5\) volte più grande tra le coloro che sono stati esposti al rischio, rispetto al gruppo di coloro che non lo sono stati.

Ad esempio, se tra \(100\) persone non esposte al rischio, generalmente \(10\) si ammalano (rischio del \(10\%\)), allora ci aspettiamo che tra \(100\) persone esposte al rischio, ben il \(50\%\) si ammali!

Il rischio relativo non ci dice nulla sul rischio assoluto (la proporzione di persone che si ammala), ma solo su quanto osservare soggetti esposti al rischio, rispetto a osservare soggetti non esposti al rischio possa influenzare la proporzione di soggetti malati.

In genere:

  • \(RR=1\) indica che l’esposizione al rischio è ininfluente nello sviluppo della malattia (le variabili sono indipendenti);

  • \(RR>1\) indica che l’esposizione al rischio è associata positivamente allo sviluppo della malattia (ci sono più malati tra i soggetti esposti al rischio);

  • \(RR<1\) indica che l’esposizione al rischio è associata negativamente allo sviluppo della malattia (ci sono meno malati tra i soggetti esposti al rishcio). In questo caso si dice che il rischio “protegge” dalla comparsa della malattia (utile se il “rischio” è in realtà l’assunzione di un farmaco).

Attenzione al fatto che il rischio relativo misura una correlazione tra variabili, non un rapporto di causa-effetto, quindi non è sempre corretto dire che un in presenza di un rischio relativo maggiore di 1, allora l’esposizione al rischio “causa” la malattia. Esistono però degli strumenti (analisi causale) che ci permettono di verificare in quali casi possiamo dare questa interpretazione. Questi strumenti sono fondamentali per poter appurare se un determinato farmaco causa (o è co-responsabile di) una guarigione o se una determinata abitudine (es. il fumo) causa (o è co-responsabile della) comparsa di una malattia. Vedremo meglio qualche esempio più in là nel corso.

5.1.11. Odds Ratio#

Il rischio relativo non è sempre calcolabile. Infatti, nel caso precedente abbiamo assunto di avere a disposizione tutti i dati sulla popolazione: di tutti i \(1000\) abitanti sapevamo chi era stato esposto al rischio e chi no e chi aveva sviluppato la malattia e chi no. In molti casi, potremmo non avere tutti questi dati. Ad esempio, immaginiamo che l’incidente sia avvenuto \(50\) fa e che ai tempi sia stato intervistato solo un campione casuale del \(50\%\) dei \(1000\) abitanti del villaggio. Immaginiamo di aver ottenere la seguente tabella di contingenza:

Exposed Non Exposed
Diseased 20 6
Healthy 10 16

Si noti che questo caso (quello del campionamento) sarà il più frequente, in quanto spesso non abbiamo accesso a tutta la popolazione, ma solo a un campione.

In questo caso, non possiamo calcolare il rischio relativo in quanto non non disponibili i numeri reali di persone esposte e non esposte al rischio, che stavano al denominatore delle espressioni del calcolo del rischio. Se applichiamo comunque la formula, otterremo una stima falsata dal nostro campionamento:

\[\textit{RR} = \frac{f(Diseased|Exposed)}{f(Diseased|Non\ Exposed)} = \frac{\frac{\#\ (Diseased, Exposed)}{\#\ Exposed}}{\frac{\#\ (Diseased, Non\ Exposed)}{\#\ Non\ Exposed}} = \frac{20/(20+10)}{6/(6+16)}=2.45\]

Sebbene non possiamo calcolare il rischio relativo in quanto non conosciamo il numero assoluto di persone malate e esposte, ci aspettiamo che il nostro campione sia una buona rappresentazione della popolazione, per cui possiamo ragionare in termini di “probabilità” (o frequenze). In particolare, considereremo gli odd di ammalarsi se esposti al rischio e gli odd non ammalarsi se non esposti al rischio.

Gli odds sono un concetto di probabilità molto usato nell’ambito delle scommesse, perché permettono allo scommettitore di calcolare in modo facile la vinciata da incassare. Ad esempio, se la vittoria della squadra \(A\) sulla squadra \(B\) in una partita di calcio è data \(5:1\), significa che il bookmaker si aspetta che sia \(5\) volte più probabile che vinca la squadra \(A\) rispetto alla \(B\). Se scometto la cifra di \(2\) sulla squadra \(B\) e la squadra \(B\) vince, allora vincerò \(5\times 2 = 10\) (ho scomesso su un evento raro). L’odd in questo caso sarebbe definito come:

\[odd = \frac{5}{1} = 5\]

Alternativamente, posso ragionare in termini di frequenze (o probabilità). Visto lo schema sopra, mi aspetto che, se giocassimo la partita \(100\) volte, allora la frequenza di vittorie per la squadra \(A\) sarebbe pari a \(f(A\ vince)=\frac{5}{5+1}\), mentre la frequenza di sconfitta sarebbe pari a \(f(A\ perde)=\frac{1}{5+1}\). L’odd può essere definito in termini di queste frequenze:

\[odd = \frac{f(A\ vince)}{f(A\ perde)} = \frac{\frac{5}{5+1}}{\frac{1}{5+1}} = 5\]

L’odd è un concetto simile a quello del rischio perché ci dice quanto è più grande la frequenza che un evento si realizzi (A vince) rispetto alla frequenza che l’evento non si realizzi. Applichiamo questo concetto al nostro esempio. Definiamo due odds (così come abbiamo definito due rischi):

  • L’odds di ammalarsi se esposti: \(\frac{f(Diseased|Exposed)}{f(Healthy|Exposed)} = \frac{\frac{20}{20+10}}{\frac{10}{20+10}} = 2\)

  • L’odds di ammalarsi se non esposti: \(\frac{f(Diseased|Non\ Exposed)}{f(Healthy|Non\ Exposed)} = \frac{\frac{6}{6+16}}{\frac{16}{6+16}} = 0.375\)

Va notato che nelle formule sopra i conteggi assoluti, ovvero quelli di cui non ci fidiamo dato il campionamento, “si annullano”.

L’odds ratio sarà definito come segue:

\[odd = \frac{\frac{f(Diseased|Exposed)}{f(Healthy|Exposed)}}{\frac{f(Diseased|Non\ Exposed)}{f(Healthy|Non\ Exposed)}} = \frac{2}{0.375} \approx 5.3\]

Notiamo come l’odds ratio ottenuto sia molto vicino al rischio relativo calolcato in precedenza \(5\). In pratica si dimostra che, se si assume che la malattia sia rara (rare-disease assumption), l’odds ratio e il rischio relativo convergono a volori simili. È quindi una pratica abbastanza comune di effettuare questa ipotesi e calcolare l’odds ratio al posto del rischio relativo.

5.2. Associazioni tra Variabili Continue#

Quando le variabili sono continue, non è più pratico costruire tabelle di contingenza. In quei casi, si utilizzano altri strumenti, che vedremo in questa sezione.

Considereremo il dataset “diabetes” per questa parte. Il dataset è stato introdotto nel \(1979\) da Reaven e Miller ed esamina la relazione tra misure del sangue e l’insulina in \(145\) adulti:

relwt glufast glutest instest sspg group
0 0.81 80 356 124 55 Normal
1 0.95 97 289 117 76 Normal
2 0.94 105 319 143 105 Normal
3 1.04 90 356 199 108 Normal
4 1.00 90 323 240 143 Normal
... ... ... ... ... ... ...
140 1.05 353 1428 41 480 Overt_Diabetic
141 0.91 180 923 77 150 Overt_Diabetic
142 0.90 213 1025 29 209 Overt_Diabetic
143 1.11 328 1246 124 442 Overt_Diabetic
144 0.74 346 1568 15 253 Overt_Diabetic

145 rows × 6 columns

Le \(6\) variabili hanno i seguenti significati:

  • relwt relative weight, expressed as the ratio of actual weight to expected weight, given the person’s height, a numeric vector

  • glufast fasting plasma glucose level, a numeric vector

  • glutest test plasma glucose level, a measure of glucose intolerance, a numeric vector

  • instest plasma insulin during test, a measure of insulin response to oral glucose, a numeric vector

  • sspg steady state plasma glucose, a measure of insulin resistance, a numeric vector

  • group diagnostic group, a factor with levels Normal Chemical_Diabetic Overt_Diabetic

5.2.1. Rappresentazione grafica di due variabili continue#

Iniziamo considerando le variabili sspg e glutest. La prima forma di rappresentazione utile è quella dello scatterplot, che visualizza le osservazioni come dati bidimensionali:

../_images/72c9c65a4539d7164e8ee1c1aab1ac1452411c24ef7706efc9de99971c000370.png

Notiamo che, sembra esserci una relazione tra le due variabili. Infatti, al crescere di sspg, i valori di glutest tendono a crescere. Sembra esserci una correlazione (o associazione) positiva. Prendiamo adesso la coppia relwt e sspg:

../_images/76b65c3d7b8c9959be7f8b08ec0ee768d3a30cf425e5963d37ad1bb93e503dd1.png

Notiamo che in questo caso la relazione appare meno marcata, ma notiamo comunque un trend ascendente di sspg al crescere di relwt. È spesso utile cercare studiare le correlazioni con una scattermatrix che mostra tutti i possibili scatterplot. Nel caso del nostro esempio:

<seaborn.axisgrid.PairGrid at 0x7faceb0c5e20>
../_images/a79a952db4c21e82aad889a200fa92adaed5af142fbd6d1a23d0f1809a1d2954.png

Dalla visualizzazione sopra, possiamo dedurre alcune cose:

  • alcune coppie di variabili sono correlate positivamente (ad esempio relwt-sspg), mentre altre lo sono negativamente (glutest-instest);

  • alcune relazioni sono “lineari” (ad esempio glutest e glufast), mentre altre tengono a non esserlo (ad esempio glufast e sspg):

  • alcune coppie di variabili (ad esempio sspg e relwt) non sembrano essere correlate.

5.2.2. Covarianza#

Abbiamo visto che la varianza indica quanto un campione univariato sia disperso attorno alla sua media. Possiamo utilizzare un’idea simile per quantificare fino a che punto due variabili si distribuiscono in modo simile attorno alla loro media. Ci aspettiamo che, se le variabili sono correlate, allora si distribuiranno in maniera simile.

Il concetto di varianza viene generalizzato dal concetto di covarianza nel caso di dati bivariati. La covarianza misura quanto le due variabili varino assieme e si misura come segue:

\[ Cov(X,Y) = \frac{1}{n}\sum_i^n (x^{(i)} - \overline x) (y^{(i)} - \overline y) \]

dove \(X\) e \(Y\) sono le due variabili di interesse, \(x^{(i)}\) è il valore di \(X\) per l’iesima osservazione, \(y^{(i)}\) è il valore di \(Y\) per l’iesima osservazione e \(\overline x\), \(\overline y\) sono le medie delle osservazioni per le due variabili \(X\) e \(Y\).

I principali “attori” nella formula sopra sono i termini:

  • \((x^{(i)}-\overline x)\): misura la distanza tra un punto \(x^{(i)}\) e la rispettiva media \(\overline x\). Se il valore del punto in considerazione è sopra la media, allora questa differenza sarà positiva, altrimenti negativa.

  • \((y^{(i)}-\overline y)\): misura la distanza tra un punto \(y^{(i)}\) e la rispettiva media \(\overline y\). Se il valore del punto in considerazione è sopra la media, allora questa differenza sarà positiva, altrimenti negativa.

Ogni termine della somma nella formula della covarianza effettua i prodotti tra questi due termini:

\[(x^{(i)}-\overline x)(y^{(i)}-\overline y)\]

Che saranno:

  • positivi se gli elementi \(x^{(i)}\) e \(y^{(i)}\) sono “concordi”, ovvero se sono entrambi sopra le rispettive medie o entrambi sotto le rispettive medie;

  • negativi se gli elementi \(x^{(i)}\) e \(y^{(i)}\) sono “discordi”, ovvero se uno dei due è sopra la rispettiva media, mentre l’altro è sotto la rispettiva media;

  • nulli o prossimi allo zero se gli elementi \(x^{(i)}\) e \(y^{(i)}\) sono molto vicini alle rispettive medie.

Queste quantità hanno una interpretazione geometrica. Consideriamo il seguente plot:

../_images/3da6313b7718ddb85fb100765759924a10a83fa16ef270ceef33839b74365296.png

Il grafico mostra un campione di punti e le rispettive medie con una linea orizzontale (per Y) e verticale (per X). Le due medie dividono il grafico in quattro quadranti. Per ogni punto, le linee tratteggiate rosse indicano i valori delle grandezze \((x^{(i)}-\overline x)\) e \((y^{(i)}-\overline y)\). In particolare:

  • I punti nel quadrante in alto a destra avranno entrambe queste grandezze positive. I prodotti \((x^{(i)}-\overline x)(y^{(i)}-\overline y)\) saranno positivi.

  • I punti nel quadrante in basso a destra avranno entrambe queste grandezze negative. I prodotti \((x^{(i)}-\overline x)(y^{(i)}-\overline y)\) saranno positivi.

  • I punti negli altri due quadranti avranno una delle grandezze positive e l’altra negativa. I prodotti \((x^{(i)}-\overline x)(y^{(i)}-\overline y)\) saranno negativi.

In pratica:

  • i punti nel primo e terzo quadrante contribuiscono positivamente all’indice di correlazione;

  • i punti nel secondo e quarto quadrante contribuiscono negativamente all’indice di correlazione.

  • I punti vicini alla media (l’intersezione tra le due medie) corrisponderanno a grandezze molto piccole e non contribuiranno a cambiare il valore della covarianza.

Intuitivamente, la covarianza assumerà valori molto positivi quando \(X\) e \(Y\) variano in maniera concorde (ovvero, se \(X\) assume valori alti, \(Y\) assume valori alti e se \(X\) assume valori bassi \(Y\) assume valori bassi). In tal caso infatti i segni dei due fattori all’interno della sommatoria saranno concordi e il loro prodotto avrà segno positivo. Se invece \(X\) e \(Y\) variano in maniera discorde, il prodotto avrà segno negativo e la varianza assumerà valori negativi.

Notiamo che la covarianza di una variabile \(X\) con se stessa è uguale alla varianza:

\[ Cov(X,X) = \frac{1}{n}\sum_i^n (x_i - \overline x) (x_i - \overline x) = s_X \]

Va notato che:

  • Valori negativi indicano una correlazione negativa (quando una delle due variabili cresce, l’altra diminuisce);

  • Valori positivi indicano una correlazione positiva (le due variabili crescono o decrescono insieme);

  • Valori nulli (o vicini allo zero) indicano che le due variabili non sono correlate (o lo sono debolmente).

Va anche notato che i valori della correlazione non sono normalizzati e dipendono dai range delle singole variabili, per cui non è possibile confrontare le covarianze. Ad esempio, la covarianza tra relwt e se stessa (dunque la varianza di relwt) è prossima allo zero, tuttavia, ciò non vuol dire che relwt non sia correlata con se stessa!

In pratica, in presenza di più variabili, si calcolano le covarianze di tutte le coppie possibili di variabili, un po’ come visto nel caso della scatter matrix. Nel nostro caso avrem:

relwt glufast glutest instest sspg
relwt 0.016702 -0.072815 0.982426 3.473373 5.266255
glufast -0.072815 4087.097031 19546.064080 -3063.463649 4849.905651
glutest 0.982426 19546.064080 100457.849808 -12918.162739 25908.490182
instest 3.473373 -3063.463649 -12918.162739 14625.312548 101.482519
sspg 5.266255 4849.905651 25908.490182 101.482519 11242.331897

La matrice vista sopra viene anche detta “matrice di covarianza” e indicata con la lettere \(\Sigma\). Date le variabili \(X=(X_i,\ldots,X_k)\), \(\Sigma\) è una matrice \([k \times k]\) il cui termine generale è:

\[\Sigma_{ij} = Cov(X_i,X_j)\]

5.2.3. Indice di Correlazione di Pearson#

Il coefficiente di correlazione di Pearson cerca di risolvere i problemi della covarianza fornendo uno score quantitativo normalizzato. Dato un campione bivariato \(\{(x^{(i)},y^{(i)})\}\), il coefficiente di correlazione di Pearson è definito come la covarianza tra le due variabili, diviso il prodotto delle deviazioni standard:

\[ \rho(x,y)= \frac{Cov(X,Y)}{s_X s_Y} \]

Notiamo che:

\[ \rho(x,y) = \frac{Cov(X,Y)}{s_X s_Y} = \frac{1}{n} \sum \frac{(x_i - \overline x)}{s_X} \frac{(y_i - \overline y)}{s_X} = Cov(z(X),z(Y)) \]

Dove

\[ z(X) = \frac{X-\overline X}{s_x} \]

è la funzione di z-scoring.

Possiamo dunque vedere l’indice di correlazione di Pearson come la covarianza delle variabili normalizzate con z-scoring. Si può facilmente vedere che il coefficiente di correlazione di Pearson può essere scritto anche come segue:

\[ \rho(x,y) = \frac{\sum_{i=1}^n (x^{(i)}-\overline x)(y^{(i)}-\overline y)}{\sqrt{\sum_{i=1}^n (x^{(i)}-\overline x)^2} \sqrt{\sum_{i=1}^n (y^{(i)}-\overline y)^2}} \]

Dove \(\overline x\) e \(\overline y\) sono rispettivamente le medie dei valori delle due variabili.

Il grafico che segue mostra un plot analogo al precedente dopo aver effettuato lo z-scoring. Si noti come adesso i range di \(x\) e \(y\) sono normalizzati e la media si trova nell’origine.

../_images/678c1017ce1a57225a15e996d5d0c28533f3ea183469220416da82cfc88a1339.png

In questo contesto, è facile vedere come, fissati i valori di \(x\), i valori di \(y\) che massimizzano il coefficiente sono tali che \(y=x\), come mostrato nel grafico che segue:

../_images/45c77ab4b65a3654c8f67f3da5c6418a5a8007d8b21daadc8b3d7cdb7c09ca49.png

L’indice di correlazione di Pearson è un numero compreso tra \(-1\) (massima anticorrelazione) e \(1\) (massima correlazione).

In pratica, si avrà:

  • \(\rho(x,-x)=-1\)

  • \(\rho(x,x) = 1\)

L’indice di correlazione tra le variabili relwt e sspg sarà pari a:

0.38

5.2.3.1. Interpretazione dei valori dell’indice di correlazione di Pearson#

L’indice di correlazione di Pearson è un numero compreso tra \(-1\) e \(1\) che indica se sussiste una correlazione (ovvero, quando i valori della prima variabile crescono, anche i valori della seconda variabile crescono) o un’anticorrelazione (ovvero, quando i valori della prima variabile crescono, i valori della seconda variabile decrescono e viceversa). Valori prossimi a \(-1\) indicano che le variabili sono anticorrelate; valori prossimi a \(1\) indicano che le variabili sono correlate; valori prossimi a \(0\) indicano che le variabili sono decorrelate. In pratica:

  • Il segno dell’indice indica il “verso” della correlazione:

    • Positivo: le variabili sono correlate;

    • Negativo: le variabili sono anticorrelate;

  • Il valore assoluto dell’indice indica quanto la correlazione (o anticorrelazione) sia forte:

    • per valori compresi tra \(0\) e \(0.3\) si parla di correlazione (o anticorrelazione) debole;

    • per valori compresi tra \(0.3\) e \(0.7\) si parla di correlazione (o anticorrelazione) moderata;

    • per valori compresi tra \(0.7\) e \(1\) si parla di correlazione (o anticorrelazione) forte.

Si noti che l’indice di correlazione di Pearson misura solo le correlazioni lineari. Pertanto, tra due variabili potrebbe sussistere una correlazione non lineare anche se l’indice di correlazione ottenuto è basso.

Il seguente grafico mostra gli scatterplot di alcuni campioni bivariati di esempio con diversi gradi di correlazione, insieme ai relativi indici di correlazione di Pearson:

../_images/4690238e89cff14024d89b1d1e67ba9d8bb9789a8ae315345347e6c34a85b1b5.png

Osservando i grafici mostrati sopra, possiamo notare che sussistono le seguenti relazioni tra indice e scatterplot:

  • Un indice positivo individua un andamento ascendente (una retta con coefficiente angolare positivo);

  • Un indice negativo individua un andamento discendente (una retta con coefficiente angolare negativo);

  • Il valore assoluto dell’indice è correlato alla “larghezza” del “corridoio” formato dai dati.

Si noti che non esiste alcuna relazione tra indice di correlazione di Pearson e pendenza della retta. Possiamo vederlo nel seguente grafico:

../_images/bdf7d00d5b64d5c7d6647ac32468892357f887abd02443eac770472792eef4f5.png

5.2.4. Indice di Correlazione di Spearman per ranghi#

L’indice di Pearson cattura le relazioni lineari tra le variabili. Esistono tuttavia dei casi in cui la relazione tra due variabili può non essere lineare, ma ha comunque senso cercare di capire se esiste una correlazione.

Immaginiamo di avere una serie di utenti che assegnano dei punteggi a dei prodotti che recensiscono. Ogni utente userà una scala soggettiva diversa e probabilmente non lineare. L’indice di correlazione di Pearson non sarebbe il più adeguato per verificare se i punteggi assegnati da due utenti sono correlati.

L’indice di correlazione di Spearman cerca di risolvere questo probelma passando dai punteggi ai ranghi. Invece di ragionare sui punteggi individuali, l’indice di correlazione di Spearman ordina i prodotti per score e verifica se gli ordinamenti ottenuti sono simili.

Consideriamo il campione \(\{(x^{(i)},y^{(i)})\}_i\). Siano \(R(x^{(i)})\) e \(R(y^{(i)})\) i ranghi associati ai valori delle due variabili e sia \(d_i=R(x^{(i)})\) - \(R(y^{(i)})\). Il coefficiente di correlazione di Spearman per ranghi è definito come segue:

\[ R = 1 - \frac{6\sum_{i=1}^n d_i^2}{n(n^2-1)} \]

I valori del coefficiente di Spearman sono normalizzati tra \(-1\) e \(+1\) e hanno una interpretazione simile al coefficiente di Pearson.

Consideriamo il seguente esempio. Chiediamo a Alice, Bob, Charlie e David di assegnare uno score da \(1\) a \(5\) a quattro gusti di gelato, ottenendo questi risultati:

Participant Chocolate Vanilla Strawberry MintChip
0 Alice 5 4 3 2
1 Bob 3 5 4 2
2 Charlie 4 3 5 2
3 David 2 3 2 5

Dato che ogni bambino può usare una diversa scala, utilizziamo il coefficiente di Spearman ottenendo i seguenti valori:

Spearman Correlation (Chocolate vs. Vanilla): 0.21
Spearman Correlation (Chocolate vs. Strawberry): 0.40
Spearman Correlation (Chocolate vs. MintChip): -0.77

Questi valori ci dicono che il gusto di gelati che ha ricevuto score “più simili” al cioccolato è la fragola.

A differenza del coefficiente di Pearson, l’indice di Spearman può catturare relazioni non lineari, come mostrato nell’esempio che segue:

../_images/2083f8f5a738a48ff842e5251bde87d59fd0f25267940f2a100c655722a87529.png

5.2.5. Indice di Correlazione di Kendall#

L’indice di correlazione per ranghi di Kendall, detto anche Kendall’s \(\tau\), è anch’esso usato per misurare il livello di associazione tra due variabili, considerandone i ranghi.

Consideriamo il campione \(\{(x^{(i)},y^{(i)})\}_i\). Ogni coppia di osservazioni \((x_i,y_i)\) e \((x_j,y_j)\), con \(i<j\) si dice:

  • concordante se: \(x_i>x_j\) e \(y_i>y_j\) o \(x_i<x_j\) e \(y_i<y_j\);

  • discordante se: \(x_i<x_j\) e \(y_i>y_j\) o \(x_i>x_j\) e \(y_i<y_j\);

Il coefficiente \(\tau\) di Kendall è definito come segue:

\[\tau = \frac{\text{concordant pairs} - \text{discordant pairs}}{\text{pairs}}\]

Il grafico che segue mostra un campione con sei punti. Ciascuna linea mostra una possibile coppia di punti. Le linee verdi mostrano i campioni concordanti, mentre quelle rosse mostrano i campioni discordanti. Il coefficiente di Kendall per questo esempio è dato da:

\[\tau = \frac{4-2}{6} = \frac{1}{3}\]
../_images/dd3c773c6c1393e349a610a0ede1dae20bfbd81e4fca4ed6a58a8844d1cb874b.png

5.2.6. Matrice di Correlazione#

Analogamente a quanto visto nel caso degli scatterplot, quando abbiamo più variabili, possiamo calcolare gli indici di correlazione tra tutte le variabili del dataset. Otteniamo in questo modo una “matrice di correlazione”. La matrice di correlazione calcolata mediante il coefficiente di Pearson, nel caso del nostro dataset diabetes sarà:

relwt glufast glutest instest sspg
relwt 1.000000 -0.008813 0.023984 0.222238 0.384320
glufast -0.008813 1.000000 0.964628 -0.396235 0.715480
glutest 0.023984 0.964628 1.000000 -0.337020 0.770942
instest 0.222238 -0.396235 -0.337020 1.000000 0.007914
sspg 0.384320 0.715480 0.770942 0.007914 1.000000

Esiste anche una rappresentazione grafica della matrice di correlazione, spesso detta “correlation plot”:

../_images/489b6bd05531e1dbc7782b66e5410b70ccfc9d0a3fa4be0db6a0ca62298f4f23.png

5.3. Referenze#

  • Capitolo 3 di: Heumann, Christian, and Michael Schomaker Shalabh. Introduction to statistics and data analysis. Springer International Publishing Switzerland, 2016.

  • https://en.wikipedia.org/wiki/Odds_ratio