Salta al contenuto
Note per Studenti Correlazione e visualizzazione dei dati

Correlazione e visualizzazione dei dati

In questa pagina 6
In questa pagina 4

Dopo i momenti e i quartili (Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning →) servono strumenti per confrontare due variabili tra loro e per guardare i dati. Gli esercizi sono Esercizio - Correlazione di Pearson su tre e quattro osservazioni e il laboratorio; il passo successivo, con più variabili alla volta, è Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →.

La correlazione

Definizione (correlazione). Misura statistica del grado con cui due variabili si muovono una rispetto all'altra: ne quantifica forza e direzione. I suoi valori stanno tra −1-1 e 11:

  • +1+1: correlazione positiva perfetta (se una variabile cresce, l'altra cresce in proporzione);
  • 00: nessuna correlazione (nessuna relazione, almeno lineare);
  • −1-1: correlazione negativa perfetta (se una cresce, l'altra decresce in proporzione).

Coefficiente di Pearson

Formula (coefficiente di correlazione di Pearson). Per due variabili X,YX,Y osservate su nn campioni, con medie Xˉ,Yˉ\bar X,\bar Y: r=∑i=1n(Xi−Xˉ)(Yi−Yˉ)∑i=1n(Xi−Xˉ)2 ⋅ ∑i=1n(Yi−Yˉ)2.r=\frac{\sum_{i=1}^n (X_i-\bar X)(Y_i-\bar Y)}{\sqrt{\sum_{i=1}^n (X_i-\bar X)^2}\ \cdot\ \sqrt{\sum_{i=1}^n (Y_i-\bar Y)^2}}. Il numeratore rappresenta la covarianza (a meno del fattore 1/n1/n) tra XX e YY (Covarianza e coefficiente di correlazioneCov(X, Y) = E[(X − E X)(Y − E Y)] = E[XY] − E[X]E[Y] misura quanto X e Y variano insieme; è bilineare, Cov(X, X) = Var(X), Var(X + Y) = Var X + Var Y + 2Cov(X, Y); ρ = Cov / (σ_X σ_Y) sta in [−1, 1] e vale ±1 solo per legami lineari. Indipendenti ⇒ non correlate, ma non viceversa (tranne per i vettori gaussiani).Covarianza e coefficiente di correlazione →); il denominatore è il prodotto delle deviazioni standard (a meno degli stessi fattori). Misura la relazione lineare.

Esempio. X=[1,0,2]X=[1,0,2], Y=[2,−1,5]Y=[2,-1,5]. Medie: Xˉ=1\bar X=1, Yˉ=2\bar Y=2. Scarti: Xi−Xˉ=[0,−1,1]X_i-\bar X=[0,-1,1], Yi−Yˉ=[0,−3,3]Y_i-\bar Y=[0,-3,3]. Numeratore: 0⋅0+(−1)(−3)+1⋅3=60\cdot0+(-1)(-3)+1\cdot3=6. Somme dei quadrati: 0+1+1=20+1+1=2 e 0+9+9=180+9+9=18. Allora r=62 18=636=1r=\dfrac{6}{\sqrt2\,\sqrt{18}}=\dfrac{6}{\sqrt{36}}=1.

Perché si divide per le deviazioni standard. Il numeratore da solo cambia se si cambia l'unità di misura (metri o centimetri): dividendo per ∑(Xi−Xˉ)2∑(Yi−Yˉ)2\sqrt{\sum(X_i-\bar X)^2}\sqrt{\sum(Y_i-\bar Y)^2} si ottiene un numero senza unità, sempre tra −1-1 e 11 (disuguaglianza di Cauchy-Schwarz, vedi Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →: rr è il coseno dell'angolo tra i due vettori degli scarti dalla media). Il segno è quello della covarianza: positivo se le due variabili stanno insieme sopra o insieme sotto la media, negativo se quando una è sopra l'altra è sotto.

Dalla covarianza a rr, passo per passo. In probabilità la correlazione di due variabili aleatorie è ρ=Cov⁡(X,Y)σXσY\rho=\dfrac{\operatorname{Cov}(X,Y)}{\sigma_X\sigma_Y}, con Cov⁡(X,Y)=E[(X−μX)(Y−μY)]\operatorname{Cov}(X,Y)=E[(X-\mu_X)(Y-\mu_Y)] (Covarianza e coefficiente di correlazioneCov(X, Y) = E[(X − E X)(Y − E Y)] = E[XY] − E[X]E[Y] misura quanto X e Y variano insieme; è bilineare, Cov(X, X) = Var(X), Var(X + Y) = Var X + Var Y + 2Cov(X, Y); ρ = Cov / (σ_X σ_Y) sta in [−1, 1] e vale ±1 solo per legami lineari. Indipendenti ⇒ non correlate, ma non viceversa (tranne per i vettori gaussiani).Covarianza e coefficiente di correlazione →; σ\sigma è la radice della varianza: Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →). Sui dati si sostituisce il valore atteso con la media aritmetica (legge dei grandi numeri: Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →): Cov⁡^=1n∑(Xi−Xˉ)(Yi−Yˉ)\widehat{\operatorname{Cov}}=\frac1n\sum(X_i-\bar X)(Y_i-\bar Y), σ^X=1n∑(Xi−Xˉ)2\hat\sigma_X=\sqrt{\frac1n\sum(X_i-\bar X)^2}, σ^Y\hat\sigma_Y analoga. Nel rapporto il fattore 1n\frac1n compare una volta al numeratore e, come 1n⋅1n=1n\sqrt{\frac1n}\cdot\sqrt{\frac1n}=\frac1n, una volta al denominatore: si semplifica e resta la formula di Pearson scritta sopra (lo stesso succede con 1n−1\frac1{n-1}, quindi rr non dipende dal divisore scelto).

Perché −1≤r≤1-1\le r\le1. Siano a=(Xi−Xˉ)ia=(X_i-\bar X)_{i} e b=(Yi−Yˉ)ib=(Y_i-\bar Y)_{i} i due vettori di Rn\mathbb R^n degli scarti dalla media. Il numeratore è il prodotto scalare a⋅ba\cdot b e i radicali sono le norme ∥a∥\lVert a\rVert, ∥b∥\lVert b\rVert (Norma, distanza e prodotto scalare in RnIn Rⁿ la norma è |x| = √(x₁² + … + xₙ²) e la distanza tra x e y è |x − y|. Valgono la disuguaglianza triangolare |x + y| ≤ |x| + |y| e quella di Cauchy-Schwarz |x·y| ≤ |x||y|, con uguaglianza solo per vettori paralleli. Palle B(p,r] e cubi Q(p,r] si contengono a vicenda: B(p,r] ⊆ Q(p,r] ⊆ B(p,r√n]. Rette, piani, ellissi e cilindri si riconoscono dall'equazione (completando i quadrati).Norma, distanza e prodotto scalare in Rn →): r=a⋅b∥a∥ ∥b∥=cos⁡θr=\dfrac{a\cdot b}{\lVert a\rVert\,\lVert b\rVert}=\cos\theta, con θ\theta l'angolo tra i due vettori (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →). Un coseno sta tra −1-1 e 11 (Cauchy-Schwarz), e vale ±1\pm1 solo se i vettori sono paralleli, cioè b=cab=ca per una costante cc: i punti stanno esattamente su una retta. Nel primo esempio a=(0,−1,1)a=(0,-1,1) e b=(0,−3,3)=3ab=(0,-3,3)=3a: paralleli, r=1r=1. Vale inoltre r2=cos⁡2θr^2=\cos^2\theta = frazione della varianza di YY spiegata dalla retta dei minimi quadrati (Metodo dei minimi quadratiQuando un sistema AX = b non ha soluzioni si cerca X che rende minima la norma di AX − b: AX è la proiezione ortogonale di b su Im A, e X si trova risolvendo le equazioni normali AᵀA X = Aᵀb; applicazione alla retta di regressione.Metodo dei minimi quadrati →): la pendenza di quella retta è r σ^Yσ^Xr\,\dfrac{\hat\sigma_Y}{\hat\sigma_X}.

Come si legge rr. Valori vicini a ±1\pm1 indicano una relazione lineare forte; vicini a 00 nessuna relazione lineare. Non è detto che non ci sia una relazione di altro tipo (per esempio Y=X2Y=X^2 con XX simmetrico intorno a 00 ha r=0r=0). Verifica con X=[−2,−1,0,1,2]X=[-2,-1,0,1,2] e Y=X2=[4,1,0,1,4]Y=X^2=[4,1,0,1,4]: Xˉ=0\bar X=0, Yˉ=105=2\bar Y=\frac{10}5=2; scarti di YY: [2,−1,−2,−1,2][2,-1,-2,-1,2]; numeratore (−2)(2)+(−1)(−1)+0⋅(−2)+1⋅(−1)+2⋅2=−4+1+0−1+4=0(-2)(2)+(-1)(-1)+0\cdot(-2)+1\cdot(-1)+2\cdot2=-4+1+0-1+4=0, quindi r=0r=0 anche se YY è completamente determinata da XX. Il motivo: a sinistra della media la relazione è decrescente, a destra crescente, e i contributi di segno opposto si cancellano. Questo è il significato probabilistico di «incorrelate non vuol dire indipendenti» (Covarianza e coefficiente di correlazioneCov(X, Y) = E[(X − E X)(Y − E Y)] = E[XY] − E[X]E[Y] misura quanto X e Y variano insieme; è bilineare, Cov(X, X) = Var(X), Var(X + Y) = Var X + Var Y + 2Cov(X, Y); ρ = Cov / (σ_X σ_Y) sta in [−1, 1] e vale ±1 solo per legami lineari. Indipendenti ⇒ non correlate, ma non viceversa (tranne per i vettori gaussiani).Covarianza e coefficiente di correlazione →).

Grafico interattivo: Y = X² con X = −2, −1, 0, 1, 2: la dipendenza è perfetta ma il coefficiente di correlazione di Pearson è 0, perché la relazione non è lineare (la retta dei minimi quadrati è orizzontale, y = 2)

Secondo esempio, con segno negativo: X=[0,1,2,5]X=[0,1,2,5], Y=[4,1,3,0]Y=[4,1,3,0]. Medie Xˉ=2\bar X=2, Yˉ=2\bar Y=2. Scarti [−2,−1,0,3][-2,-1,0,3] e [2,−1,1,−2][2,-1,1,-2]. Numeratore: (−2)(2)+(−1)(−1)+0⋅1+3⋅(−2)=−4+1+0−6=−9(-2)(2)+(-1)(-1)+0\cdot1+3\cdot(-2)=-4+1+0-6=-9. Quadrati: 4+1+0+9=144+1+0+9=14 e 4+1+1+4=104+1+1+4=10. Quindi r=−914 10=−9140≈−0,761.r=\frac{-9}{\sqrt{14}\,\sqrt{10}}=\frac{-9}{\sqrt{140}}\approx-0{,}761. La relazione è decrescente e abbastanza forte, ma non perfetta. Controllo con la formula della pendenza: σ^X=14/4=1,871\hat\sigma_X=\sqrt{14/4}=1{,}871, σ^Y=10/4=1,581\hat\sigma_Y=\sqrt{10/4}=1{,}581, quindi la pendenza della retta dei minimi quadrati è r σ^Yσ^X=−0,761⋅0,845=−0,643r\,\frac{\hat\sigma_Y}{\hat\sigma_X}=-0{,}761\cdot0{,}845=-0{,}643, uguale a ∑(Xi−Xˉ)(Yi−Yˉ)∑(Xi−Xˉ)2=−914=−0,643\frac{\sum(X_i-\bar X)(Y_i-\bar Y)}{\sum(X_i-\bar X)^2}=\frac{-9}{14}=-0{,}643; l'intercetta si trova imponendo il passaggio per le medie, Yˉ−pendenza⋅Xˉ=2+0,643⋅2=3,286\bar Y-\text{pendenza}\cdot\bar X=2+0{,}643\cdot2=3{,}286 (la retta del grafico). Anche r2=0,579r^2=0{,}579: la retta spiega il 58%58\% della variabilità di YY.

Grafico interattivo: X = [0, 1, 2, 5] e Y = [4, 1, 3, 0]: i quattro punti e la retta dei minimi quadrati y = 3,29 − 0,64 x, con r ≈ −0,76 (relazione decrescente, non perfetta)

Altre correlazioni

  • Correlazione di Spearman (ρ\rho): misura una relazione monotona (non per forza lineare). Invece dei valori usa i ranghi (la posizione nell'ordinamento) e calcola Pearson sui ranghi.
  • Tau di Kendall (τ\tau): misura l'accordo tra due classifiche, contando coppie concordanti e discordanti.

Esempio. X=1,2,…,10X=1,2,\dots,10 e Y=X3Y=X^3: la relazione è sempre crescente ma non lineare. Pearson dà r≈0,928r\approx0{,}928; Spearman dà ρ=1\rho=1, perché i ranghi coincidono. Passaggi: poiché x↦x3x\mapsto x^3 è crescente (Funzioni monotone, pari e dispariFunzioni crescenti e decrescenti, legame tra stretta monotonia e iniettività, e simmetrie delle funzioni pari e dispari.Funzioni monotone, pari e dispari →), il più piccolo XX ha anche il più piccolo YY, e così via: il rango di XiX_i è ii e quello di YiY_i è ii. Pearson calcolato sui ranghi (1,2,…,10)(1,2,\dots,10) contro (1,2,…,10)(1,2,\dots,10) ha scarti identici, quindi numeratore e denominatore coincidono e ρ=1\rho=1. Pearson sui valori non dà 1 perché la curva Y=X3Y=X^3 non è una retta.

In questo corso «correlazione» significa sempre correlazione di Pearson.

Correlazione non implica causalità

Se due variabili sono correlate, non è detto che una sia causa dell'altra. Spesso si pensa a C→EC\to E (la causa CC produce l'effetto EE), mentre la realtà può essere una causa comune non visibile che produce due effetti E1,E2E_1,E_2: questi risultano correlati senza che l'uno causi l'altro. Esistono molti esempi di correlazioni spurie tra grandezze che non hanno nulla a che fare.

Esempio. In estate aumentano sia i gelati venduti sia gli annegamenti: la causa comune non osservata è il caldo, non è il gelato a far annegare.

A che cosa serve la correlazione nel ML

  1. Capire quali variabili contano. In un problema supervisionato, la correlazione tra ciascuna feature e il target dice quali feature sono rilevanti. Nel dataset California Housing (prezzo mediano delle case) la matrice di correlazione mostra che il target MedHouseVal ha correlazione 0,690{,}69 con il reddito mediano MedInc, mentre con Population ha −0,02-0{,}02 (quasi nulla).
  2. Ridurre il dataset. Due variabili con correlazione molto alta in valore assoluto (anche −0,9-0{,}9, cioè molto negativa) contengono lo stesso contenuto informativo: per efficienza e per soluzioni più semplici ne basta una. Nello stesso dataset AveRooms e AveBedrms hanno r=0,85r=0{,}85, Latitude e Longitude hanno r=−0,92r=-0{,}92.

La matrice di correlazione (p×pp\times p, con 11 sulla diagonale e simmetrica) si visualizza con una heatmap. Perché è fatta così: l'elemento (j,k)(j,k) è rjkr_{jk}, la correlazione tra la colonna jj e la colonna kk di XX; rjj=1r_{jj}=1 (un vettore è parallelo a sé stesso) e rjk=rkjr_{jk}=r_{kj} (la formula è simmetrica). Se ZZ è la matrice dei dati standardizzati (ogni colonna ha media 00 e deviazione standard 11, Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning →), la matrice di correlazione è il prodotto di matrici R=1nZTZR=\frac1nZ^TZ (Operazioni tra matriciLe matrici m×n formano uno spazio vettoriale (somma e prodotto per scalare elemento per elemento); il prodotto righe per colonne corrisponde alla composizione di funzioni lineari, è associativo ma non commutativo; la trasposta scambia righe e colonne e (AB)^T = B^T A^T.Operazioni tra matrici →): l'elemento (j,k)(j,k) è 1n∑izijzik\frac1n\sum_iz_{ij}z_{ik}, la media dei prodotti di z-score, cioè la formula di Pearson. È la stessa matrice (a meno di scala) che compare nella Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →.

Esempio. Se due feature AA e BB hanno r=0,95r=0{,}95 e la correlazione di AA con il target è 0,60{,}6 e quella di BB è 0,580{,}58, si tiene AA e si elimina BB.

Gli indicatori di sintesi non bastano

Media, deviazione standard e correlazione possono ingannare.

  • Quartetto di Anscombe. Quattro insiemi di dati con le stesse statistiche di sintesi (media di xx uguale a 99, media di yy uguale a 7,57{,}5, varianza di y≈4,12y\approx4{,}12, correlazione r≈0,816r\approx0{,}816, stessa retta di regressione y=3+0,5xy=3+0{,}5x) ma completamente diversi: uno è quasi lineare con rumore, uno è una curva, uno è lineare con un solo outlier, uno ha tutte le xx uguali tranne un punto.
  • Datasaurus: dozzine di insiemi di dati con lo stesso valore di media, deviazione standard e correlazione, ma con forme molto diverse (compreso un dinosauro).

Morale: dopo gli indicatori numerici bisogna guardare i dati, con visualizzazioni scelte bene.

Un esempio con i dati veri dei primi due insiemi di Anscombe, x=[10,8,13,9,11,14,6,4,12,7,5]x=[10,8,13,9,11,14,6,4,12,7,5]: insieme I, y=[8,04; 6,95; 7,58; 8,81; 8,33; 9,96; 7,24; 4,26; 10,84; 4,82; 5,68]y=[8{,}04;\,6{,}95;\,7{,}58;\,8{,}81;\,8{,}33;\,9{,}96;\,7{,}24;\,4{,}26;\,10{,}84;\,4{,}82;\,5{,}68]; insieme II, y=[9,14; 8,14; 8,74; 8,77; 9,26; 8,10; 6,13; 3,10; 9,13; 7,26; 4,74]y=[9{,}14;\,8{,}14;\,8{,}74;\,8{,}77;\,9{,}26;\,8{,}10;\,6{,}13;\,3{,}10;\,9{,}13;\,7{,}26;\,4{,}74]. Per entrambi (ricalcolati con numpy): media di xx 99, media di yy 7,507{,}50, varianza di yy (divisore n−1n-1) 4,134{,}13, r=0,816r=0{,}816, retta dei minimi quadrati y=3+0,5xy=3+0{,}5x. Eppure nel grafico l'insieme I è una nube con rumore attorno alla retta e il II è una curva: la retta è una descrizione buona per il primo e sbagliata per il secondo.

Grafico interattivo: Primi due insiemi di Anscombe: stesse medie, stessa varianza, stessa correlazione r = 0,816 e stessa retta y = 3 + 0,5x, ma l'insieme I (rosso) sta attorno alla retta, il II (blu) segue una parabola

I grafici principali

Grafici su una variabile (1D)

Grafico Che cosa mostra
Bar plot dati categorici con barre separate; l'altezza è il conteggio, la media o un'altra statistica della categoria
Istogramma distribuzione di un dato continuo: i valori sono raggruppati in intervalli (bin) e si mostra la frequenza; le barre si toccano perché i dati sono continui
KDE (kernel density estimate) stima non parametrica della densità di probabilità: una curva liscia, a differenza dell'istogramma a bin
Box plot cinque numeri: minimo, Q1Q_1, mediana, Q3Q_3, massimo; gli outlier sono punti oltre i «baffi»
Violin plot box plot e KDE insieme: forma della distribuzione e riassunti

KDE. Si mette una funzione kernel KK (per esempio una campana gaussiana, Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →) centrata su ogni dato e si sommano i contributi (è una stima della densità, Variabili aleatorie assolutamente continueX è assolutamente continua se F_X(x) = ∫ da −∞ a x di f_X(t) dt per una densità f_X ≥ 0 con integrale 1; allora P(a < X ≤ b) = ∫ da a a b di f_X, P(X = x) = 0 per ogni x, f_X = F_X' dove F_X è derivabile, E[g(X)] = ∫ g(x) f_X(x) dx, e varianza, momenti e disuguaglianze funzionano come nel caso discreto con gli integrali al posto delle somme.Variabili aleatorie assolutamente continue →): f^(x)=1nh∑i=1nK ⁣(x−xih),\hat f(x)=\frac{1}{nh}\sum_{i=1}^{n}K\!\left(\frac{x-x_i}{h}\right), dove hh è la larghezza di banda (bandwidth). Perché i fattori 1n\frac1n e 1h\frac1h: una densità deve avere integrale 11 (Variabili aleatorie assolutamente continueX è assolutamente continua se F_X(x) = ∫ da −∞ a x di f_X(t) dt per una densità f_X ≥ 0 con integrale 1; allora P(a < X ≤ b) = ∫ da a a b di f_X, P(X = x) = 0 per ogni x, f_X = F_X' dove F_X è derivabile, E[g(X)] = ∫ g(x) f_X(x) dx, e varianza, momenti e disuguaglianze funzionano come nel caso discreto con gli integrali al posto delle somme.Variabili aleatorie assolutamente continue →). Il kernel gaussiano KK ha integrale 11 (Integrali doppi generalizzati e integrale di GaussPer f ≥ 0 su domini illimitati (o con f illimitata) l'integrale doppio generalizzato si calcola con le formule di riduzione o con un cambio di variabili: se il risultato è finito, f è integrabile e l'integrale è quel valore (criterio per funzioni positive). Con f di segno variabile gli integrali iterati possono esistere finiti ma essere diversi. Integrale di Gauss: ∫_{−∞}^{+∞} e^{−t²} dt = √π, ottenuto integrando e^{−x²−y²} sul piano in due modi (riduzione: I²; polari: π).Integrali doppi generalizzati e integrale di Gauss →). Con la sostituzione u=(x−xi)/hu=(x-x_i)/h, dx=h dudx=h\,du (Integrazione per sostituzioneSe nell'integranda c'è g(f(x))·f'(x), la sostituzione y = f(x), dy = f'(x)dx trasforma l'integrale in ∫g(y)dy = G(y) + k, poi si torna a x: G(f(x)) + k. Negli integrali definiti cambiano anche gli estremi (da c, d a f(c), f(d)). Si può usare anche al contrario, con x = f⁻¹(y). È il primo metodo a cui pensare; dà la tabella degli integrali "immediati per sostituzione".Integrazione per sostituzione →) si ha ∫1hK(x−xih)dx=∫K(u) du=1\int\frac1hK\big(\frac{x-x_i}h\big)dx=\int K(u)\,du=1: il fattore 1h\frac1h compensa l'allargamento del kernel. Sommando nn campane ciascuna di area 11 l'area è nn, e il fattore 1n\frac1n la riporta a 11. Esempio con 33 punti e h=0,4h=0{,}4: f^(x)=13⋅0,4∑iK(x−xi0,4)\hat f(x)=\frac{1}{3\cdot0{,}4}\sum_iK\big(\frac{x-x_i}{0{,}4}\big), che è la prima curva del grafico qui sotto. hh controlla quanto è largo ogni kernel: hh piccolo dà una curva a punte, hh grande una curva troppo liscia. Si usa per stimare e visualizzare la distribuzione vera e quando l'istogramma è troppo grossolano o fuorviante, o per confrontare più distribuzioni.

Box plot. I baffi arrivano al valore più estremo che sta entro 1,5×IQR1{,}5\times\mathrm{IQR} da Q1Q_1 e da Q3Q_3; oltre sono disegnati come punti isolati (outlier).

Esempio. Dati 5,10,15,…,50,1005,10,15,\dots,50,100 (n=11n=11): con la convenzione senza interpolazione Q1=15Q_1=15, Q3=45Q_3=45, IQR=30\mathrm{IQR}=30. Il limite superiore dei baffi è 45+1,5⋅30=9045+1{,}5\cdot30=90: il valore 100100 lo supera ed è un outlier.

Perché proprio 1,51{,}5. Per dati normali (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →) i quartili stanno a ∓0,6745 σ\mp0{,}6745\,\sigma dalla media (il livello 0,750{,}75 della N(0,1)N(0,1) è z=0,6745z=0{,}6745), quindi IQR=1,349 σ\mathrm{IQR}=1{,}349\,\sigma. Il limite superiore dei baffi è Q3+1,5 IQR=0,6745σ+2,023σ=2,698 σQ_3+1{,}5\,\mathrm{IQR}=0{,}6745\sigma+2{,}023\sigma=2{,}698\,\sigma, e fuori dai baffi (da una parte o dall'altra) cade una frazione 2 (1−Φ(2,698))=0,0072\,(1-\Phi(2{,}698))=0{,}007, cioè lo 0,7%0{,}7\% dei dati normali. La regola segnala quindi in media 77 punti su 10001000 anche quando non ci sono anomalie vere, un compromesso tra falsi allarmi e sensibilità (simile alla regola a tre sigma vista in Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection →, che ne segnala 2,72{,}7 su 10001000 ma usa media e σ\sigma, sensibili agli outlier, mentre quartili e IQR non lo sono).

Grafico interattivo: KDE gaussiana di tre punti (0, 1 e 4) per due larghezze di banda: con h = 0,4 si vedono le tre campane separate, con h = 1,5 la curva è liscia ma nasconde la separazione

Grafici su due variabili (2D)

  • Heatmap di correlazione: la matrice di correlazione con colore proporzionale al valore; mostra a colpo d'occhio le relazioni.
  • Scatter plot: un punto per osservazione, una variabile su xx e una su yy; mostra tendenze, correlazioni, relazioni lineari o non lineari e rivela outlier. Si può arricchire con colore, dimensione o raggruppamento per codificare altre variabili.
  • Matrice di scatter plot (pair plot): griglia di scatter plot per tutte le coppie di variabili; sulla diagonale si mettono istogrammi o densità della singola variabile. Utile per trovare correlazioni, andamenti, gruppi e outlier.

I grafici 3D si possono costruire ma sono difficili da leggere: i punti si sovrappongono e la prospettiva falsa le distanze. Per dati con molte variabili serve un altro approccio: la riduzione di dimensione (Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →). Grafici per la valutazione dei modelli (matrice di confusione, curva ROC) arriveranno in Metriche di classificazioneIn classificazione binaria ogni previsione è vero positivo (TP), vero negativo (TN), falso positivo (FP, errore di tipo I) o falso negativo (FN, errore di tipo II). Da queste quattro quantità: accuracy $=\frac{TP+TN}{TP+TN+FP+FN}$, specificità $=\frac{TN}{TN+FP}$, precision $=\frac{TP}{TP+FP}$, recall $=\frac{TP}{TP+FN}$, e la loro media armonica $F_1=\frac{2PR}{P+R}$. Con dati sbilanciati l'accuracy inganna (un modello che predice sempre la classe maggioritaria ha 99%): si usano precision, recall, F1, ROC-AUC, la cross-validation stratificata e il riequilibrio con undersampling o oversampling (non SMOTE). Cambiando la soglia sulla probabilità si ottiene la curva ROC (TPR contro FPR) e l'area AUC. Approfondimento: non nel programma di Telecomunicazioni.Metriche di classificazione →.

Codice

python
import pandas as pd, seaborn as sns
df = pd.read_csv("ML_resources/california_housing.csv")
corr = df.corr()                                   # matrice di correlazione di Pearson
sns.heatmap(corr, annot=True, cmap="coolwarm")     # heatmap
sns.pairplot(df.sample(1000))                      # matrice di scatter plot (campione per rapidità)
df.hist(bins=20); df.boxplot()                     # istogrammi e box plot

df.corr() con pandas e np.corrcoef(X, rowvar=False) con NumPy danno lo stesso risultato (con NumPy per default le righe sono variabili, quindi con le osservazioni in riga serve rowvar=False).

Errori tipici

  • Dedurre una relazione causale da una correlazione elevata.
  • Concludere che r≈0r\approx0 significa «nessuna relazione»: vale solo per relazioni lineari.
  • Eliminare una variabile perché poco correlata con il target quando la relazione è non lineare.
  • Fidarsi dei soli indicatori numerici senza guardare i dati (Anscombe, Datasaurus).
  • Scambiare istogramma e bar plot: il primo è per dati continui e ha barre contigue.

Versione ripasso

Formula (coefficiente di correlazione di Pearson). Per due variabili osservate su nn campioni, con medie Xˉ,Yˉ\bar X,\bar Y: r=∑i=1n(Xi−Xˉ)(Yi−Yˉ)∑i=1n(Xi−Xˉ)2 ∑i=1n(Yi−Yˉ)2∈[−1,1].r=\frac{\sum_{i=1}^n (X_i-\bar X)(Y_i-\bar Y)}{\sqrt{\sum_{i=1}^n (X_i-\bar X)^2}\ \sqrt{\sum_{i=1}^n (Y_i-\bar Y)^2}}\in[-1,1]. Il numeratore è la covarianza, a meno di 1n\frac1n; il denominatore è il prodotto delle deviazioni standard (Covarianza e coefficiente di correlazioneCov(X, Y) = E[(X − E X)(Y − E Y)] = E[XY] − E[X]E[Y] misura quanto X e Y variano insieme; è bilineare, Cov(X, X) = Var(X), Var(X + Y) = Var X + Var Y + 2Cov(X, Y); ρ = Cov / (σ_X σ_Y) sta in [−1, 1] e vale ±1 solo per legami lineari. Indipendenti ⇒ non correlate, ma non viceversa (tranne per i vettori gaussiani).Covarianza e coefficiente di correlazione →). r=+1r=+1 è una relazione lineare positiva perfetta, 00 nessuna relazione lineare, −1-1 negativa perfetta.

Esempio. X=[1,0,2]X=[1,0,2], Y=[2,−1,5]Y=[2,-1,5]: scarti [0,−1,1][0,-1,1] e [0,−3,3][0,-3,3]; numeratore 66; somme dei quadrati 22 e 1818; r=636=1r=\frac{6}{\sqrt{36}}=1.

Perché è in [−1,1][-1,1] e senza unità. Con aa e bb i vettori degli scarti in Rn\mathbb R^n, r=a⋅b∥a∥ ∥b∥=cos⁡θr=\dfrac{a\cdot b}{\lVert a\rVert\,\lVert b\rVert}=\cos\theta (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →). Vale ±1\pm1 solo se b=cab=ca, cioè se i punti stanno su una retta. Anche r2r^2 è la frazione di varianza di YY spiegata dalla retta dei minimi quadrati (Metodo dei minimi quadratiQuando un sistema AX = b non ha soluzioni si cerca X che rende minima la norma di AX − b: AX è la proiezione ortogonale di b su Im A, e X si trova risolvendo le equazioni normali AᵀA X = Aᵀb; applicazione alla retta di regressione.Metodo dei minimi quadrati →).

Attenzione. r=0r=0 non vuol dire indipendenza. Con X=[−2,−1,0,1,2]X=[-2,-1,0,1,2] e Y=X2Y=X^2 il numeratore vale 00: la relazione è perfetta ma non lineare.

Esempio con pendenza. X=[0,1,2,5]X=[0,1,2,5], Y=[4,1,3,0]Y=[4,1,3,0]: r=−91410≈−0,761r=\frac{-9}{\sqrt{14}\sqrt{10}}\approx-0{,}761. La pendenza della retta dei minimi quadrati è −914=−0,643\frac{-9}{14}=-0{,}643, l'intercetta 3,2863{,}286, e r2=0,579r^2=0{,}579.

Altre correlazioni. Spearman ρ\rho è Pearson sui ranghi e misura la relazione monotona; Kendall τ\tau conta coppie concordanti e discordanti. Esempio. Y=X3Y=X^3 con X=1,…,10X=1,\dots,10: Pearson dà r≈0,928r\approx0{,}928, Spearman ρ=1\rho=1, perché i ranghi coincidono. Nel corso «correlazione» significa Pearson.

Correlazione non implica causalità. Una causa comune non osservata può produrre due effetti correlati: in estate aumentano sia i gelati sia gli annegamenti, per il caldo.

Uso nel machine learning

  1. Capire quali variabili contano. Nel dataset California Housing il target MedHouseVal ha correlazione 0,690{,}69 con MedInc, e −0,02-0{,}02 con Population.
  2. Ridurre il dataset. Se due feature hanno ∣r∣|r| molto alto contengono la stessa informazione: AveRooms e AveBedrms hanno r=0,85r=0{,}85. Esempio. Con r=0,95r=0{,}95 tra AA e BB, e correlazioni col target 0,60{,}6 e 0,580{,}58, si tiene AA.

La matrice di correlazione ha 11 sulla diagonale ed è simmetrica. Se ZZ sono i dati standardizzati (Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning →), vale R=1nZTZR=\frac1nZ^TZ (Operazioni tra matriciLe matrici m×n formano uno spazio vettoriale (somma e prodotto per scalare elemento per elemento); il prodotto righe per colonne corrisponde alla composizione di funzioni lineari, è associativo ma non commutativo; la trasposta scambia righe e colonne e (AB)^T = B^T A^T.Operazioni tra matrici →): la matrice di correlazione è la stessa usata nella Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →.

Gli indicatori di sintesi non bastano

  • Quartetto di Anscombe: quattro insiemi con la stessa media di xx (99), media di yy (7,57{,}5), r≈0,816r\approx0{,}816 e stessa retta y=3+0,5xy=3+0{,}5x, ma con forme molto diverse.
  • Datasaurus: insiemi con le stesse statistiche di sintesi e forme diverse, compreso un dinosauro.

Per i primi due insiemi di Anscombe la nube I è vicina alla retta, mentre la II segue una parabola. Morale: dopo gli indicatori numerici bisogna guardare i dati.

Grafici su una variabile

Grafico Che cosa mostra
Bar plot dati categorici, barre separate
Istogramma dato continuo, intervalli (bin) con barre contigue
KDE stima liscia della densità
Box plot minimo, Q1Q_1, mediana, Q3Q_3, massimo; outlier oltre i baffi
Violin plot KDE e box plot insieme

Formula (KDE). f^(x)=1nh∑i=1nK ⁣(x−xih)\hat f(x)=\dfrac{1}{nh}\sum_{i=1}^{n}K\!\left(\dfrac{x-x_i}{h}\right), con hh larghezza di banda.

Il fattore 1h\frac1h compensa l'allargamento del kernel: con u=(x−xi)/hu=(x-x_i)/h si ha ∫1hK(x−xih)dx=∫K(u) du=1\int\frac1hK\big(\frac{x-x_i}h\big)dx=\int K(u)\,du=1 (Integrazione per sostituzioneSe nell'integranda c'è g(f(x))·f'(x), la sostituzione y = f(x), dy = f'(x)dx trasforma l'integrale in ∫g(y)dy = G(y) + k, poi si torna a x: G(f(x)) + k. Negli integrali definiti cambiano anche gli estremi (da c, d a f(c), f(d)). Si può usare anche al contrario, con x = f⁻¹(y). È il primo metodo a cui pensare; dà la tabella degli integrali "immediati per sostituzione".Integrazione per sostituzione →). Il fattore 1n\frac1n riporta l'area totale a 11. Con hh piccolo la curva è a punte; con hh grande è troppo liscia.

Box plot. I baffi arrivano al valore più estremo entro 1,5 IQR1{,}5\,\mathrm{IQR} da Q1Q_1 e Q3Q_3.

Esempio. 5,10,…,50,1005,10,\dots,50,100 (n=11n=11): Q1=15Q_1=15, Q3=45Q_3=45, IQR=30\mathrm{IQR}=30, limite superiore 45+1,5⋅30=9045+1{,}5\cdot30=90. Il valore 100100 è un outlier.

Perché 1,51{,}5. Per dati normali IQR=1,349 σ\mathrm{IQR}=1{,}349\,\sigma e il limite superiore è a 2,698 σ2{,}698\,\sigma. Fuori dai baffi cade lo 0,7%0{,}7\% dei dati normali, circa 77 punti su 10001000: un compromesso tra falsi allarmi e sensibilità (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →, Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection →).

Grafici su due variabili

  • Heatmap di correlazione: la matrice di correlazione con il colore proporzionale al valore.
  • Scatter plot: un punto per osservazione; mostra tendenze, relazioni non lineari e outlier.
  • Matrice di scatter plot (pair plot): scatter per tutte le coppie; sulla diagonale istogrammi o densità.

I grafici 3D sono difficili da leggere. Per molte variabili serve la riduzione di dimensione (Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →).

Errori tipici:

  • dedurre una relazione causale da una correlazione alta;
  • concludere che r≈0r\approx0 significa nessuna relazione, mentre vale solo per relazioni lineari;
  • eliminare una feature poco correlata quando la relazione col target è non lineare;
  • fidarsi dei soli indicatori numerici senza guardare i dati;
  • scambiare istogramma e bar plot: il primo è per dati continui, con barre contigue.

Esercizi su questo argomento

Teoria collegata