Statistica per il machine learning
In questa pagina 5
Prima di addestrare un modello bisogna capire i dati che gli si danno in ingresso. Questa nota raccoglie gli strumenti statistici usati a questo scopo. La parte grafica e le correlazioni sono in Correlazione e visualizzazione dei datiLa correlazione di Pearson $r=\sum(X_i-\bar X)(Y_i-\bar Y)/\big(\sqrt{\sum(X_i-\bar X)^2}\sqrt{\sum(Y_i-\bar Y)^2}\big)\in[-1,1]$ misura la relazione lineare tra due variabili (covarianza divisa per le deviazioni standard); correlazione non implica causalità. Serve a capire quali variabili contano per il target e a eliminare quelle quasi duplicate (|r| molto alto). Gli indicatori di sintesi non bastano (quartetto di Anscombe, Datasaurus): vanno affiancati ai grafici: istogramma, KDE, box plot, violin plot, heatmap di correlazione, scatter plot e matrice di scatter plot.Correlazione e visualizzazione dei dati →; gli stessi calcoli fatti con Python sono in Python per il machine learning - NumPy, pandas e MatplotlibIl corso usa Python in Jupyter/Colab. Servono: variabili e tipi, if/for/while, funzioni (i tipi immutabili si passano per valore: per cambiare un numero la funzione deve restituirlo), classi, e le strutture list, tuple, set, dict. NumPy gestisce array e algebra lineare (assi, broadcasting, @, hstack, np.cov(rowvar=False)), pandas le tabelle (read_csv, filtri, value_counts, statistiche; var con $n-1$ contro np.var con $n$), Matplotlib e seaborn i grafici (istogrammi, box plot, heatmap, pair plot). Trappole tipiche: forma $(n,)$ contro $(n,1)$, asse sbagliato, statistiche calcolate sul dataset intero.Python per il machine learning - NumPy, pandas e Matplotlib → e negli esercizi Esercizio - Statistica descrittiva, quartili e standardizzazione di un dataset e Esercizio - Correlazione di Pearson su tre e quattro osservazioni. Il quadro generale è in Introduzione al machine learningIl machine learning (ML) è la parte dell'intelligenza artificiale che costruisce soluzioni a partire dai dati e non da regole scritte a mano: un modello matematico con parametri liberi viene addestrato su esempi storici e poi usato su dati nuovi. Si distingue tra apprendimento supervisionato (dati $(x,y)$, si impara la mappa $x\mapsto y$: regressione se $y$ è un numero, classificazione se è una categoria), non supervisionato (solo $x$, si cercano struttura e gruppi) e per rinforzo (stato, azione, ricompensa). Un progetto ML non è «plug and play»: segue le fasi problema, raccolta, pulizia, modellazione, rilascio, e va valutato su dati mai visti; senza dati non c'è modello, alcuni fenomeni sono imprevedibili, la generalizzazione fuori dal dominio di addestramento non è garantita.Introduzione al machine learning →.
Compiti, modelli e dati
Tre parole da non confondere.
- Il compito (task) è il problema specifico che si vuole risolvere: prevedere un prezzo, riconoscere un fiore, trovare gruppi di clienti.
- Il modello è una rappresentazione matematica dei pattern e delle relazioni nei dati: viene addestrato con un algoritmo per fare previsioni o decisioni a partire da dati in ingresso.
- I dati possono essere di tipo diverso (tabelle, immagini, testo) e il modello va scelto di conseguenza.
La matrice di progetto
Definizione (matrice di progetto o design matrix). I dati tabulari si organizzano in una matrice con righe e colonne:
- ogni riga è un'osservazione (o campione, sample): una volta in cui il fenomeno da descrivere compare nei dati storici, quindi è il numero di osservazioni;
- ogni colonna è un attributo (o variabile, o feature): una grandezza potenzialmente legata al fenomeno, quindi è il numero di variabili.
Esempio. Per prevedere il prezzo delle case, ogni riga è una casa venduta e le colonne sono metri quadri, numero di stanze, anno di costruzione: con 1 000 case e 3 attributi, ha righe e colonne.
Più grande è meglio? In generale servono osservazioni numerose, ma il valore di è un compromesso: più variabili possono portare più informazione, ma anche ridondanza e rumore (vedi Overfitting, ridge regression e cross-validationUna buona prestazione sul training non basta: serve stimare quella su dati nuovi. La cross-validation (K-fold: $k$ parti, ciascuna a turno come test, errore medio; Monte Carlo: $k$ divisioni casuali con quota di test $q$; leave-one-out se $k=n$) evita di dipendere da una sola divisione casuale. L'errore atteso si scompone in $\text{bias}^2+\text{varianza}+\sigma^2$: i modelli semplici fanno underfitting (bias alto), quelli complessi overfitting (varianza alta). La regolarizzazione aggiunge alla perdita una penalità: la ridge regression minimizza $|y-X\beta|^2+\lambda\sum_{j\ge1}\beta_j^2$ e ha soluzione $\beta=(X^TX+\lambda\tilde I)^{-1}X^Ty$ (l'intercetta non si penalizza, le feature si standardizzano): riduce i coefficienti, rende l'inversa stabile con feature collineari, e $\lambda$ è un iperparametro scelto con la validazione (cross-validation annidata per non contaminare il test).Overfitting, ridge regression e cross-validation →). Non sempre è facile definire che cosa sia una «osservazione»: per un sistema descritto da serie temporali, per esempio, si calcolano grandezze su ciascuna finestra temporale e ogni finestra diventa una riga.
Che cosa deve valere prima di dare al modello.
- I dati devono essere coerenti.
- Se non c'è una conoscenza a priori, tutte le variabili vanno trattate allo stesso modo.
- Non si devono fornire informazioni ridondanti o inutili: il modello deve avere vita facile.
Gli strumenti statistici di questa nota aiutano a rispettare queste condizioni.
La pipeline e il ruolo della statistica
La pipeline di ML ha tre blocchi: preprocessing (capire e preparare i dati), costruzione del modello, valutazione. La statistica interviene in tutti e tre:
| Fase | Uso della statistica |
|---|---|
| Preprocessing | statistiche descrittive (media, varianza, distribuzioni) per esplorare e pulire, trovare pattern e outlier; correlazione, PCA e scaling per l'ingegneria delle feature |
| Costruzione | probabilità e incertezza (modelli probabilistici), generalizzazione, overfitting, compromesso bias-varianza |
| Valutazione | metriche come MSE, MAE, accuracy, precision, recall |
I momenti statistici
Definizione (momento di ordine ). Per una variabile aleatoria il momento di ordine è (valore atteso: Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →; momenti e 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 →):
Dai momenti si costruiscono quattro indicatori che descrivono la forma della distribuzione.
Formula (indicatori teorici).
- Media: (tendenza centrale).
- Varianza: (dispersione).
- Asimmetria (skewness): .
- Curtosi (kurtosis): .
Momenti teorici e campionari. Le formule precedenti riguardano la distribuzione vera, che non si conosce. Con i dati disponibili si calcolano le versioni campionarie, sostituendo il valore atteso con la media aritmetica sugli campioni (è lecito perché, per la 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 →, la media dei campioni tende al valore atteso al crescere di ; il simbolo di somma è in SommatorieIl simbolo di sommatoria, le sue proprietà (linearità, additività, cambio di indice) e le somme notevoli di Gauss e geometrica.Sommatorie →):
Formula (momenti campionari). Con i valori osservati:
Esempio. , . Media: . Scarti dalla media: .
Dettaglio sulla varianza. Il divisore è (varianza della popolazione). Molte librerie dividono per (stima corretta della varianza di una popolazione a partire da un campione): pandas usa , numpy usa (con ddof=1 anche numpy usa ). Per grande la differenza è trascurabile; le slide e queste note usano .
Perché esiste il divisore (passaggi). Siano indipendenti, con media vera e varianza vera (indipendenzaA e B sono indipendenti se P(A ∩ B) = P(A) P(B), cioè se sapere che uno si è verificato non cambia la probabilità dell'altro; l'indipendenza passa ai complementari, non va confusa con l'incompatibilità, e per più eventi va richiesta su ogni sottofamiglia.Indipendenza di eventi →), e sia la media campionaria. Gli scarti si misurano dalla media campionaria , non da (che non si conosce), e è per costruzione il punto «più vicino» ai dati, quindi la somma dei quadrati risulta troppo piccola. Lo si vede così.
- Si somma e si sottrae in ogni scarto: .
- Si eleva al quadrato e si somma su : . Poiché , i due termini con si riducono a . Quindi .
- Si passa al valore atteso (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, linearità): per definizione di 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 →) e perché la varianza della somma di variabili indipendenti è la somma delle varianze. Allora .
- Dividendo per si ottiene in media , cioè una stima troppo bassa; dividendo per la media è esattamente (stima corretta, unbiased). Con il difetto è del , con dello : per questo con tanti dati la differenza è trascurabile.
Che cosa dicono i quattro indicatori
- Media: il centro di gravità dei dati. Distribuzioni con la stessa media possono avere varianze molto diverse.
- Varianza e deviazione standard (che ha la stessa unità dei dati): quanto i valori si discostano dalla media.
- Asimmetria. È 0 per una distribuzione simmetrica. Se la coda destra è più lunga (la massa è concentrata a sinistra); se la coda più lunga è la sinistra. Perché il cubo: elevando a potenza dispari lo scarto conserva il segno, quindi gli scarti positivi (valori sopra la media) e quelli negativi non si cancellano per forza; in una distribuzione simmetrica per ogni scarto c'è uno con densità uguale e la somma dei cubi è . Un valore molto lontano a destra pesa col cubo della distanza e trascina in positivo. Si divide per perché sia un numero puro, indipendente dall'unità di misura (le dimensioni di sono quelle di ).
- Curtosi. Misura quanto sono «pesanti» le code rispetto alla distribuzione normale (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) →), per cui . Con la quarta potenza gli scarti piccoli (minori di ) pesano pochissimo e quelli grandi moltissimo: contro . Perciò è dominata dai valori estremi, ed è per questo che serve per riconoscere le code pesanti (ChebyshevMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen → limita la probabilità delle code usando solo ).
| Curtosi | Nome | Forma |
|---|---|---|
| mesocurtica | come la normale | |
| leptocurtica | code più pesanti (più valori estremi), picco più appuntito | |
| platicurtica | code più leggere (meno valori estremi), più piatta e larga |
Per l'asimmetria il caso tipico è la distribuzione con coda destra lunga, come l'esponenziale (Distribuzioni uniforme continua ed esponenzialeU(a, b) ha densità costante 1/(b − a) su [a, b], media (a + b)/2 e varianza (b − a)²/12; Exp(λ) ha densità λe^(−λx) per x ≥ 0, FdD 1 − e^(−λx), P(X > t) = e^(−λt), media 1/λ, varianza 1/λ², ed è l'unica legge continua senza memoria (versione continua della geometrica).Distribuzioni uniforme continua ed esponenziale →), che ha . La coda lunga sposta la media verso destra più della mediana: la media supera la mediana (la mediana risolve , cioè , ; l'esponenziale è un logaritmoLa funzione esponenziale a^x (base positiva diversa da 1) e la sua inversa, il logaritmo in base a, con grafici e proprietà.Esponenziale e logaritmo →). È il motivo per cui con dati asimmetrici o con outlier si preferisce la mediana.
Grafico interattivo: Densità esponenziale (asimmetria +2): la media 1 è a destra della mediana ln 2 ≈ 0,69, tirata dalla coda lunga
Esempio numerico completo
Con :
- Media: .
- Varianza: gli scarti quadratici sono , , , , (ciascuno due volte, perché i valori sono simmetrici rispetto alla media). Somma e quindi , .
- Asimmetria: gli scarti cubici sono a due a due opposti ( e , e così via), quindi la somma è : , distribuzione simmetrica.
- Curtosi: scarti alla quarta , , , , (ciascuno due volte). La somma è , quindi distribuzione platicurtica.
Attenzione a un errore nelle slide. Nelle slide le potenze quarte sono scritte come , , … con somma ; i valori corretti sono quelli scritti sopra (somma ). Il risultato finale (platicurtica) è comunque giusto: lo conferma anche scipy.stats.kurtosis(X, fisher=False), che restituisce . Alla classificazione («, platicurtica») non cambia nulla, ma ricalcolare le potenze quarte con precisione è il modo di non farsi ingannare.
Quartili, mediana e IQR
Definizione (quartili). Dividono i dati ordinati in quattro parti con lo stesso numero di osservazioni:
- (25%): valore sotto cui cade il 25% dei dati;
- (50%): la mediana, che divide i dati in due metà;
- (75%): valore sotto cui cade il 75% dei dati;
- scarto interquartile : ampiezza dell'intervallo che contiene il 50% centrale dei dati.
I quartili sono i quantili di livello , , : il quantile di livello è il valore in cui la funzione di distribuzioneLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione → raggiunge . Sui dati, è la percentuale cumulata dei valori (è la costruzione usata sotto «senza interpolazione»).
Esempio. Con dati : , , , .
Perché la mediana. Spesso si usa la mediana al posto della media perché è robusta rispetto agli outlier: un solo valore molto grande sposta molto la media, quasi per niente la mediana.
Esempio. : media , mediana .
Quartili con pari (metodo con interpolazione)
Con e si può prendere la media dei due valori centrali: , , , .
Convenzione dell'esame: senza interpolazione
Per la parte teorica dell'esame vale un'altra convenzione, che dà sempre un valore presente nel dataset:
- si ordinano i dati;
- si calcola la percentuale cumulata esatta di ciascun valore ( per l'-esimo);
- per si prende il primo valore la cui percentuale è almeno 25%, 50%, 75%.
Esempio con . Le percentuali sono . Il primo è il , cioè ; il primo è il , cioè ; il primo è l', cioè .
Esempio con . Le percentuali sono . : primo è , quindi . : primo è , quindi . Per la slide indica (il ) e non (che raggiunge esattamente il ): per pari l'esempio delle slide prende dunque il valore subito oltre il 50%. Il testo della regola dice «almeno 50%», quindi l'esempio non è coerente con la regola scritta; quando è pari e un valore cade esattamente sul 50%, conviene attenersi all'esempio delle slide () e indicare nella risposta il criterio usato. La regola scritta («primo valore con percentuale almeno…») corrisponde a np.percentile(..., method="inverted_cdf") (per dà ). Il laboratorio usa invece method="higher", che sulle slide darebbe valori diversi (per : invece di ; per : ), anche se il commento del notebook lo presenta come quello visto a lezione: per i quartili calcolati a mano all'esame vale la procedura delle slide, non il metodo di NumPy.
La moda
Definizione (moda). Il valore che compare più spesso nei dati. È importante per le variabili categoriche, per le quali media e mediana non hanno senso.
Esempio. : media , mediana , moda .
Preparare il dataset
Le quantità statistiche non servono solo a descrivere i dati: servono a sistemarli per il modello. Quattro operazioni.
1. Capire il dataset
Esempio di riferimento: il dataset Iris (Fisher, 1936): fiori, variabili (lunghezza e larghezza di sepali e petali), problema di classificazione a classi (setosa, versicolor, virginica). Tipicamente si guardano per ciascuna variabile media, varianza, quartili e si studiano relazioni tra variabili (vedi Correlazione e visualizzazione dei datiLa correlazione di Pearson $r=\sum(X_i-\bar X)(Y_i-\bar Y)/\big(\sqrt{\sum(X_i-\bar X)^2}\sqrt{\sum(Y_i-\bar Y)^2}\big)\in[-1,1]$ misura la relazione lineare tra due variabili (covarianza divisa per le deviazioni standard); correlazione non implica causalità. Serve a capire quali variabili contano per il target e a eliminare quelle quasi duplicate (|r| molto alto). Gli indicatori di sintesi non bastano (quartetto di Anscombe, Datasaurus): vanno affiancati ai grafici: istogramma, KDE, box plot, violin plot, heatmap di correlazione, scatter plot e matrice di scatter plot.Correlazione e visualizzazione dei dati →).
2. Correggere: i dati mancanti
I dati mancanti sono comuni e molti modelli non funzionano se ci sono. Di solito non si butta via l'intera osservazione, ma si imputa il valore mancante, cioè si sostituisce con una stima:
- media o mediana della variabile, per variabili numeriche (la mediana se ci sono outlier);
- moda per variabili categoriche.
Esempio. Età : la media dei quattro valori noti è , che sostituisce il mancante. Se la variabile ha quasi tutti i valori mancanti conviene invece eliminarla.
3. Migliorare: feature engineering e ridurre
L'ingegneria delle feature (feature engineering) è il processo di creare, selezionare e trasformare le variabili. I dati non si presentano sempre in forma tabulare: da una serie temporale si possono estrarre media, varianza, minimo e massimo su ogni finestra. In senso opposto, bisogna ridurre il dataset eliminando le variabili non informative, per efficienza e per soluzioni più semplici. Di solito non si sa a priori quali siano, e lo si decide durante o dopo la modellazione; con una eccezione ovvia: una variabile costante (varianza ) non porta informazione e va eliminata.
4. Normalizzare: lo z-score
Le variabili hanno scale diverse e quella con valori più grandi può «dominare» le altre (nel calcolo di distanze o nel penalizzare i coefficienti). La standardizzazione (z-score) porta ogni variabile a media e deviazione standard .
Formula (z-score). , con e media e deviazione standard della variabile (la stessa standardizzazione delle variabili gaussiane: 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) →).
Esempio (dalle slide). : , (con divisore , come fa pandas); gli z-score sono . Con il divisore si avrebbe e valori : le slide usano .
Gli stessi numeri, passo per passo.
- Media: .
- Scarti : ; al quadrato ; somma .
- Varianza con : , quindi (con sarebbe e ).
- Si divide ogni scarto per : ; ; ; ; .
Perché lo z-score ha media 0 e deviazione standard 1. Sia . Per la linearità del valore atteso (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →) . Per la varianza una costante sottratta non conta e una costante moltiplicativa esce al quadrato (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 →): . Si può controllare sui numeri sopra: la somma degli z-score è e la somma dei loro quadrati è , cioè varianza campionaria con divisore . Il motivo pratico: se una variabile è in metri (valori ) e un'altra in euro (valori ), una distanza euclidea (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 →) è decisa quasi solo dagli euro; dopo la standardizzazione le due contano allo stesso modo.
Grafico interattivo: Una variabile con media 5 e deviazione standard 2 e la stessa variabile standardizzata: lo z-score la sposta in 0 e la restringe a larghezza 1, senza cambiarne la forma
Regola fondamentale. e si calcolano sul solo training set e si usano gli stessi per standardizzare validation e test: calcolarli sul dataset completo fa «trapelare» informazione dal test al training e falsa la valutazione (Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →). La normalizzazione fa risparmiare molto tempo di addestramento ed è spesso il passaggio dimenticato.
Grafico interattivo: Normale standard e distribuzione più appuntita con la stessa media e varianza: la seconda ha curtosi maggiore di 3 (code più pesanti e picco più alto)
Errori tipici
- Calcolare media e deviazione standard sul dataset intero (training più test) prima di dividere.
- Confondere la varianza con divisore e quella con divisore : indicare sempre quale si usa.
- Usare la media per dati con outlier o categorici: meglio mediana e moda.
- Imputare con la media prima della divisione train/test e usare statistiche calcolate anche sul test.
- Scordarsi di eliminare le variabili costanti.
Versione ripasso
Definizione (matrice di progetto). ha righe (osservazioni, campioni) e colonne (variabili o feature). Il compito è il problema da risolvere; il modello è la rappresentazione matematica addestrata sui dati.
Esempio. 1 000 case con 3 attributi (metri quadri, stanze, anno di costruzione): , . Un dato non è coerente o non è utile se ridondante: prima di dare al modello si controlla.
Pipeline. Preprocessing (statistiche descrittive, correlazione, PCA, scaling), costruzione del modello (probabilità, generalizzazione, overfitting, compromesso bias-varianzaUna buona prestazione sul training non basta: serve stimare quella su dati nuovi. La cross-validation (K-fold: $k$ parti, ciascuna a turno come test, errore medio; Monte Carlo: $k$ divisioni casuali con quota di test $q$; leave-one-out se $k=n$) evita di dipendere da una sola divisione casuale. L'errore atteso si scompone in $\text{bias}^2+\text{varianza}+\sigma^2$: i modelli semplici fanno underfitting (bias alto), quelli complessi overfitting (varianza alta). La regolarizzazione aggiunge alla perdita una penalità: la ridge regression minimizza $|y-X\beta|^2+\lambda\sum_{j\ge1}\beta_j^2$ e ha soluzione $\beta=(X^TX+\lambda\tilde I)^{-1}X^Ty$ (l'intercetta non si penalizza, le feature si standardizzano): riduce i coefficienti, rende l'inversa stabile con feature collineari, e $\lambda$ è un iperparametro scelto con la validazione (cross-validation annidata per non contaminare il test).Overfitting, ridge regression e cross-validation →), valutazione (MSE, MAE, accuracy, precision, recall).
Formula (momenti campionari). Con i valori osservati:
Le formule campionarie sostituiscono il valore atteso con la media sugli campioni: è lecito perché, per la 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 →, la media dei campioni tende al valore atteso al crescere di .
Esempio. , : ; , (divisore ); , perché gli scarti cubici sono a due a due opposti; , quindi platicurtica.
- Divisore della varianza. Con si ha la varianza della popolazione. Con si ha la stima corretta (unbiased): , perché gli scarti si misurano da e non dalla media vera.
pandasusa ,numpyusa (conddof=1usa ). Per grande la differenza è trascurabile. - Asimmetria. È per una distribuzione simmetrica: a ogni scarto corrisponde uno con la stessa densità. Il cubo conserva il segno, quindi gli scarti positivi e negativi non si cancellano per forza, e un valore molto lontano a destra trascina in positivo. Si divide per perché sia un numero puro. significa coda destra lunga. L'esponenziale ha , con media maggiore della mediana (Distribuzioni uniforme continua ed esponenzialeU(a, b) ha densità costante 1/(b − a) su [a, b], media (a + b)/2 e varianza (b − a)²/12; Exp(λ) ha densità λe^(−λx) per x ≥ 0, FdD 1 − e^(−λx), P(X > t) = e^(−λt), media 1/λ, varianza 1/λ², ed è l'unica legge continua senza memoria (versione continua della geometrica).Distribuzioni uniforme continua ed esponenziale →).
- Curtosi. Confronta le code con la 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) →, per cui . mesocurtica; leptocurtica (code pesanti, picco più alto); platicurtica (code leggere, più piatta). La quarta potenza è dominata dai valori estremi: contro .
Quartili, mediana, IQR, moda
Definizione (quartili). , , lasciano sotto il 25%, 50%, 75% dei dati (sono i quantiliLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione → di livello , , ). è l'ampiezza del 50% centrale.
Esempio. , : , , , .
Con pari e interpolazione (media dei due valori centrali) per si ottiene , , , .
Mediana e outlier. La mediana è robusta: in la media vale , la mediana . Con dati asimmetrici o outlier si preferisce la mediana.
Convenzione dell'esame (senza interpolazione). Si ordinano i dati, si calcola la percentuale cumulata di ciascun valore e si prende il primo valore con percentuale almeno 25%, 50%, 75%. Con si ottiene , , . Con la slide dà (il valore oltre il 50%), mentre la regola scritta darebbe : quando un valore cade esattamente sul 50%, conviene seguire la slide e dichiarare il criterio usato.
Definizione (moda). Il valore più frequente. Serve per i dati categorici, per cui media e mediana non hanno senso.
Esempio. : media , mediana , moda .
Preparare il dataset
- Dati mancanti. Si imputano con la media o la mediana (numeriche, mediana se ci sono outlier) o con la moda (categoriche). Esempio. : il mancante diventa . Se la variabile è quasi tutta mancante si elimina.
- Variabili costanti (): non portano informazione, si eliminano.
- Feature engineering. Creare (da una serie temporale: media, varianza, minimo, massimo su ogni finestra), selezionare e trasformare le variabili; ridurre quelle non informative.
Esempio. : ; scarti , con quadrati di somma ; con divisore , e z-score . Con divisore si avrebbe .
Lo z-score ha media (linearità del Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →) e 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 →). Serve a evitare che una variabile con scala grande domini le distanze euclidee (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 →).
Errori tipici:
- calcolare media e deviazione standard su tutto il dataset, test compreso;
- non dichiarare quale divisore della varianza si usa ( oppure );
- usare la media con outlier o con dati categorici;
- imputare prima di dividere train e test;
- dimenticare di eliminare le variabili costanti.
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 - Cross-validation k-fold e Monte Carlo per OLS e ridge sul dataset Advertising
- Esercizio - k-nearest neighbors da zero sul dataset breast cancer
- Esercizio - PCA da zero sul dataset California Housing
- Esercizio - Regressione quantile con funzione pinball e discesa del gradiente
- Esercizio - Ridge regression con standardizzazione e coefficienti in unità originali
- Esercizio - Statistica descrittiva, quartili e standardizzazione di un dataset
- Esercizio - Test di esempio della parte teorica (simulazione d'esame)
Teoria collegata
- Analisi delle componenti principali (PCA)
- Anomaly detection
- Classificazione e k-nearest neighbors
- Clustering e k-means
- Correlazione e visualizzazione dei dati
- Introduzione al machine learning
- LASSO e discesa del gradiente
- Overfitting, ridge regression e cross-validation
- Python per il machine learning - NumPy, pandas e Matplotlib
- Regressione lineare