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 e :
- : correlazione positiva perfetta (se una variabile cresce, l'altra cresce in proporzione);
- : nessuna correlazione (nessuna relazione, almeno lineare);
- : correlazione negativa perfetta (se una cresce, l'altra decresce in proporzione).
Coefficiente di Pearson
Formula (coefficiente di correlazione di Pearson). Per due variabili osservate su campioni, con medie : Il numeratore rappresenta la covarianza (a meno del fattore ) tra e (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. , . Medie: , . Scarti: , . Numeratore: . Somme dei quadrati: e . Allora .
Perché si divide per le deviazioni standard. Il numeratore da solo cambia se si cambia l'unità di misura (metri o centimetri): dividendo per si ottiene un numero senza unità, sempre tra e (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 →: è 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 , passo per passo. In probabilità la correlazione di due variabili aleatorie è , con (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 →; è 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 →): , , analoga. Nel rapporto il fattore compare una volta al numeratore e, come , una volta al denominatore: si semplifica e resta la formula di Pearson scritta sopra (lo stesso succede con , quindi non dipende dal divisore scelto).
Perché . Siano e i due vettori di degli scarti dalla media. Il numeratore è il prodotto scalare e i radicali sono le norme , (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 →): , con 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 e (Cauchy-Schwarz), e vale solo se i vettori sono paralleli, cioè per una costante : i punti stanno esattamente su una retta. Nel primo esempio e : paralleli, . Vale inoltre = frazione della varianza di 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 è .
Come si legge . Valori vicini a indicano una relazione lineare forte; vicini a nessuna relazione lineare. Non è detto che non ci sia una relazione di altro tipo (per esempio con simmetrico intorno a ha ). Verifica con e : , ; scarti di : ; numeratore , quindi anche se è completamente determinata da . 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: , . Medie , . Scarti e . Numeratore: . Quadrati: e . Quindi La relazione è decrescente e abbastanza forte, ma non perfetta. Controllo con la formula della pendenza: , , quindi la pendenza della retta dei minimi quadrati è , uguale a ; l'intercetta si trova imponendo il passaggio per le medie, (la retta del grafico). Anche : la retta spiega il della variabilità di .
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 (): 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 (): misura l'accordo tra due classifiche, contando coppie concordanti e discordanti.
Esempio. e : la relazione è sempre crescente ma non lineare. Pearson dà ; Spearman dà , perché i ranghi coincidono. Passaggi: poiché è 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 ha anche il più piccolo , e così via: il rango di è e quello di è . Pearson calcolato sui ranghi contro ha scarti identici, quindi numeratore e denominatore coincidono e . Pearson sui valori non dà 1 perché la curva 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 (la causa produce l'effetto ), mentre la realtà può essere una causa comune non visibile che produce due effetti : 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
- 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
MedHouseValha correlazione con il reddito medianoMedInc, mentre conPopulationha (quasi nulla). - Ridurre il dataset. Due variabili con correlazione molto alta in valore assoluto (anche , cioè molto negativa) contengono lo stesso contenuto informativo: per efficienza e per soluzioni più semplici ne basta una. Nello stesso dataset
AveRoomseAveBedrmshanno ,LatitudeeLongitudehanno .
La matrice di correlazione (, con sulla diagonale e simmetrica) si visualizza con una heatmap. Perché è fatta così: l'elemento è , la correlazione tra la colonna e la colonna di ; (un vettore è parallelo a sé stesso) e (la formula è simmetrica). Se è la matrice dei dati standardizzati (ogni colonna ha media e deviazione standard , 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 (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 è , 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 e hanno e la correlazione di con il target è e quella di è , si tiene e si elimina .
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 uguale a , media di uguale a , varianza di , correlazione , stessa retta di regressione ) ma completamente diversi: uno è quasi lineare con rumore, uno è una curva, uno è lineare con un solo outlier, uno ha tutte le 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, : insieme I, ; insieme II, . Per entrambi (ricalcolati con numpy): media di , media di , varianza di (divisore ) , , retta dei minimi quadrati . 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, , mediana, , 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 (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 →): dove è la larghezza di banda (bandwidth). Perché i fattori e : una densità deve avere integrale (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 ha integrale (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 , (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 : il fattore compensa l'allargamento del kernel. Sommando campane ciascuna di area l'area è , e il fattore la riporta a . Esempio con punti e : , che è la prima curva del grafico qui sotto. controlla quanto è largo ogni kernel: piccolo dà una curva a punte, 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 da e da ; oltre sono disegnati come punti isolati (outlier).
Esempio. Dati (): con la convenzione senza interpolazione , , . Il limite superiore dei baffi è : il valore lo supera ed è un outlier.
Perché proprio . 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 dalla media (il livello della è ), quindi . Il limite superiore dei baffi è , e fuori dai baffi (da una parte o dall'altra) cade una frazione , cioè lo dei dati normali. La regola segnala quindi in media punti su 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 su ma usa media e , 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 e una su ; 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
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 plotdf.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 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 campioni, con medie : Il numeratore è la covarianza, a meno di ; 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 →). è una relazione lineare positiva perfetta, nessuna relazione lineare, negativa perfetta.
Esempio. , : scarti e ; numeratore ; somme dei quadrati e ; .
Perché è in e senza unità. Con e i vettori degli scarti in , (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 solo se , cioè se i punti stanno su una retta. Anche è la frazione di varianza di 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. non vuol dire indipendenza. Con e il numeratore vale : la relazione è perfetta ma non lineare.
Esempio con pendenza. , : . La pendenza della retta dei minimi quadrati è , l'intercetta , e .
Altre correlazioni. Spearman è Pearson sui ranghi e misura la relazione monotona; Kendall conta coppie concordanti e discordanti. Esempio. con : Pearson dà , Spearman , 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
- Capire quali variabili contano. Nel dataset California Housing il target
MedHouseValha correlazione conMedInc, e conPopulation. - Ridurre il dataset. Se due feature hanno molto alto contengono la stessa informazione:
AveRoomseAveBedrmshanno . Esempio. Con tra e , e correlazioni col target e , si tiene .
La matrice di correlazione ha sulla diagonale ed è simmetrica. Se 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 (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 (), media di (), e stessa retta , 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, , mediana, , massimo; outlier oltre i baffi |
| Violin plot | KDE e box plot insieme |
Formula (KDE). , con larghezza di banda.
Il fattore compensa l'allargamento del kernel: con si ha (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 riporta l'area totale a . Con piccolo la curva è a punte; con grande è troppo liscia.
Box plot. I baffi arrivano al valore più estremo entro da e .
Esempio. (): , , , limite superiore . Il valore è un outlier.
Perché . Per dati normali e il limite superiore è a . Fuori dai baffi cade lo dei dati normali, circa punti su : 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 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
- Esercizio - Analisi esplorativa e preprocessing - macchinario, abitazioni, case di Ames e incendi
- Esercizio - Analisi esplorativa e preprocessing di un dataset sbilanciato (Adult)
- Esercizio - Correlazione di Pearson su tre e quattro osservazioni
- Esercizio - Cross-validation k-fold e Monte Carlo per OLS e ridge sul dataset Advertising
- Esercizio - PCA da zero sul dataset California Housing
- Esercizio - Rete feed-forward su dati tabulari sbilanciati (appello)
- Esercizio - Statistica descrittiva, quartili e standardizzazione di un dataset
- Esercizio - Test di esempio della parte teorica (simulazione d'esame)