Salta al contenuto
Note per Studenti Statistica per il machine learning

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 (Lezione 2 · Introduzione e basi di statistica). 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 XX con nn righe e pp colonne:

  • ogni riga è un'osservazione (o campione, sample): una volta in cui il fenomeno da descrivere compare nei dati storici, quindi nn è il numero di osservazioni;
  • ogni colonna è un attributo (o variabile, o feature): una grandezza potenzialmente legata al fenomeno, quindi pp è 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, XX ha n=1000n=1000 righe e p=3p=3 colonne.

Più grande è meglio? In generale servono osservazioni nn numerose, ma il valore di pp è 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 XX 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 kk). Per una variabile aleatoria XX il momento di ordine kk è E[Xk]E[X^k] (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 →): μk=∫−∞+∞xkf(x) dx  (continua),μk=∑xxk P(X=x)  (discreta).\mu_k=\int_{-\infty}^{+\infty}x^k f(x)\,dx\ \ \text{(continua)},\qquad \mu_k=\sum_x x^k\,P(X=x)\ \ \text{(discreta)}.

Dai momenti si costruiscono quattro indicatori che descrivono la forma della distribuzione.

Formula (indicatori teorici).

  • Media: E[X]=μE[X]=\mu (tendenza centrale).
  • Varianza: Var⁡(X)=E[(X−μ)2]=σ2\operatorname{Var}(X)=E[(X-\mu)^2]=\sigma^2 (dispersione).
  • Asimmetria (skewness): Skew⁡(X)=E[(X−μ)3]/σ3\operatorname{Skew}(X)=E[(X-\mu)^3]/\sigma^3.
  • Curtosi (kurtosis): Kurt⁡(X)=E[(X−μ)4]/σ4\operatorname{Kurt}(X)=E[(X-\mu)^4]/\sigma^4.

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 nn 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 nn; 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 X1,…,XnX_1,\dots,X_n i valori osservati: μ^k=1n∑i=1nXik,μ=1n∑iXi,σ2=1n∑i(Xi−μ)2,\hat\mu_k=\frac1n\sum_{i=1}^nX_i^k,\qquad \mu=\frac{1}{n}\sum_i X_i,\qquad \sigma^2=\frac{1}{n}\sum_i(X_i-\mu)^2, Skew⁡=∑i(Xi−μ)3n σ3,Kurt⁡=∑i(Xi−μ)4n σ4.\operatorname{Skew}=\frac{\sum_i(X_i-\mu)^3}{n\,\sigma^3},\qquad \operatorname{Kurt}=\frac{\sum_i(X_i-\mu)^4}{n\,\sigma^4}.

Esempio. X=[10,15,20,25,30,35,40,45,50,55]X=[10,15,20,25,30,35,40,45,50,55], n=10n=10. Media: μ=325/10=32,5\mu=325/10=32{,}5. Scarti dalla media: −22,5, −17,5, …, 22,5-22{,}5,\,-17{,}5,\,\dots,\,22{,}5.

Dettaglio sulla varianza. Il divisore è nn (varianza della popolazione). Molte librerie dividono per n−1n-1 (stima corretta della varianza di una popolazione a partire da un campione): pandas usa n−1n-1, numpy usa nn (con ddof=1 anche numpy usa n−1n-1). Per nn grande la differenza è trascurabile; le slide e queste note usano nn.

Che cosa dicono i quattro indicatori

Curtosi Nome Forma
K=3K=3 mesocurtica come la normale
K>3K>3 leptocurtica code più pesanti (più valori estremi), picco più appuntito
K<3K<3 platicurtica code più leggere (meno valori estremi), più piatta e larga

Esempio numerico completo

Con X=[10,15,…,55]X=[10,15,\dots,55]:

  1. Media: μ=32,5\mu=32{,}5.
  2. Varianza: gli scarti quadratici sono 22,52=506,2522{,}5^2=506{,}25, 17,52=306,2517{,}5^2=306{,}25, 12,52=156,2512{,}5^2=156{,}25, 7,52=56,257{,}5^2=56{,}25, 2,52=6,252{,}5^2=6{,}25 (ciascuno due volte, perché i valori sono simmetrici rispetto alla media). Somma =2 (506,25+306,25+156,25+56,25+6,25)=2062,5=2\,(506{,}25+306{,}25+156{,}25+56{,}25+6{,}25)=2062{,}5 e quindi σ2=2062,5/10=206,25\sigma^2=2062{,}5/10=206{,}25, σ≈14,36\sigma\approx14{,}36.
  3. Asimmetria: gli scarti cubici sono a due a due opposti ((−22,5)3=−11 390,625(-22{,}5)^3=-11\,390{,}625 e 22,53=11 390,62522{,}5^3=11\,390{,}625, e così via), quindi la somma è 00: Skew⁡=0\operatorname{Skew}=0, distribuzione simmetrica.
  4. Curtosi: scarti alla quarta 22,54=256 289,062522{,}5^4=256\,289{,}0625, 17,54=93 789,062517{,}5^4=93\,789{,}0625, 12,54=24 414,062512{,}5^4=24\,414{,}0625, 7,54=3164,06257{,}5^4=3164{,}0625, 2,54=39,06252{,}5^4=39{,}0625 (ciascuno due volte). La somma è 2⋅377 695,3125=755 390,6252\cdot377\,695{,}3125=755\,390{,}625, quindi Kurt⁡=755 390,62510⋅206,252=755 390,625425 390,625≈1,78≈1,8<3,\operatorname{Kurt}=\frac{755\,390{,}625}{10\cdot206{,}25^2}=\frac{755\,390{,}625}{425\,390{,}625}\approx1{,}78\approx1{,}8<3, distribuzione platicurtica.

Attenzione a un errore nelle slide. Nelle slide le potenze quarte sono scritte come 3 013 025,563\,013\,025{,}56, 938 906,25938\,906{,}25, … con somma 8 282 8258\,282\,825; i valori corretti sono quelli scritti sopra (somma 755 390,625755\,390{,}625). Il risultato finale Kurt⁡≈1,8\operatorname{Kurt}\approx1{,}8 (platicurtica) è comunque giusto: lo conferma anche scipy.stats.kurtosis(X, fisher=False), che restituisce 1,77581{,}7758. Alla classificazione («<3<3, 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:

  • Q1Q_1 (25%): valore sotto cui cade il 25% dei dati;
  • Q2Q_2 (50%): la mediana, che divide i dati in due metà;
  • Q3Q_3 (75%): valore sotto cui cade il 75% dei dati;
  • scarto interquartile IQR=Q3−Q1\mathrm{IQR}=Q_3-Q_1: ampiezza dell'intervallo che contiene il 50% centrale dei dati.

Esempio. Con n=11n=11 dati X=[5,10,…,55]X=[5,10,\dots,55]: Q1=15Q_1=15, Q2=30Q_2=30, Q3=45Q_3=45, IQR=45−15=30\mathrm{IQR}=45-15=30.

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. [1,2,3,4,100][1,2,3,4,100]: media =22=22, mediana =3=3.

Quartili con nn pari (metodo con interpolazione)

Con n=10n=10 e X=[10,15,…,55]X=[10,15,\dots,55] si può prendere la media dei due valori centrali: Q1=20+252=22,5Q_1=\frac{20+25}{2}=22{,}5, Q2=30+352=32,5Q_2=\frac{30+35}{2}=32{,}5, Q3=45+502=47,5Q_3=\frac{45+50}{2}=47{,}5, IQR=25\mathrm{IQR}=25.

Convenzione dell'esame: senza interpolazione

Per la parte teorica dell'esame vale un'altra convenzione, che dà sempre un valore presente nel dataset:

  1. si ordinano i dati;
  2. si calcola la percentuale cumulata esatta di ciascun valore (i/ni/n per l'ii-esimo);
  3. per Q1,Q2,Q3Q_1,Q_2,Q_3 si prende il primo valore la cui percentuale è almeno 25%, 50%, 75%.

Esempio con n=11n=11. Le percentuali sono 9,09%, 18,18%, 27,27%, 36,36%, 45,45%, 54,55%, 63,64%, 72,73%, 81,82%, 90,91%, 100%9{,}09\%,\ 18{,}18\%,\ 27{,}27\%,\ 36{,}36\%,\ 45{,}45\%,\ 54{,}55\%,\ 63{,}64\%,\ 72{,}73\%,\ 81{,}82\%,\ 90{,}91\%,\ 100\%. Il primo ≥25%\ge25\% è il 27,27%27{,}27\%, cioè Q1=15Q_1=15; il primo ≥50%\ge50\% è il 54,55%54{,}55\%, cioè Q2=30Q_2=30; il primo ≥75%\ge75\% è l'81,82%81{,}82\%, cioè Q3=45Q_3=45.

Esempio con n=10n=10. Le percentuali sono 10%,20%,…,100%10\%,20\%,\dots,100\%. Q1Q_1: primo ≥25%\ge25\% è 30%30\%, quindi Q1=20Q_1=20. Q3Q_3: primo ≥75%\ge75\% è 80%80\%, quindi Q3=45Q_3=45. Per Q2Q_2 la slide indica 3535 (il 60%60\%) e non 3030 (che raggiunge esattamente il 50%50\%): per nn 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 nn è pari e un valore cade esattamente sul 50%, conviene attenersi all'esempio delle slide (Q2=35Q_2=35) e indicare nella risposta il criterio usato. La regola scritta («primo valore con percentuale almeno…») corrisponde a np.percentile(..., method="inverted_cdf") (per n=10n=10 dà 20, 30, 4520,\,30,\,45). Il laboratorio usa invece method="higher", che sulle slide darebbe valori diversi (per n=11n=11: Q1=20Q_1=20 invece di 1515; per n=10n=10: 25, 35, 4525,\,35,\,45), 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. X=[1,2,2,3,4,7,9,10,10,10,12]X=[1,2,2,3,4,7,9,10,10,10,12]: media =70/11≈6,36=70/11\approx6{,}36, mediana =7=7, moda =10=10.

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): n=150n=150 fiori, p=4p=4 variabili (lunghezza e larghezza di sepali e petali), problema di classificazione a L=3L=3 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à [20,30,?,40,50][20,30,\text{?},40,50]: la media dei quattro valori noti è 3535, 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 00) 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 00 e deviazione standard 11.

Formula (z-score). z=x−μσz=\dfrac{x-\mu}{\sigma}, con μ\mu e σ\sigma 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). X=[10,12,14,16,18]X=[10,12,14,16,18]: μ=14\mu=14, σ=3,162\sigma=3{,}162 (con divisore n−1n-1, come fa pandas); gli z-score sono −1,265, −0,632, 0, 0,632, 1,265-1{,}265,\ -0{,}632,\ 0,\ 0{,}632,\ 1{,}265. Con il divisore nn si avrebbe σ=2,828\sigma=2{,}828 e valori −1,414,…,1,414-1{,}414,\dots,1{,}414: le slide usano n−1n-1.

Regola fondamentale. μ\mu e σ\sigma 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 nn e quella con divisore n−1n-1: 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 XX: nn righe (osservazioni) e pp colonne (variabili/feature). Compito = problema da risolvere; modello = rappresentazione matematica addestrata sui dati.

Esempio. 1 000 case con 3 attributi: n=1000n=1000, p=3p=3.

Formula (momenti campionari). μ=1n∑Xi\mu=\frac1n\sum X_i; σ2=1n∑(Xi−μ)2\sigma^2=\frac1n\sum(X_i-\mu)^2; Skew⁡=∑(Xi−μ)3nσ3\operatorname{Skew}=\frac{\sum(X_i-\mu)^3}{n\sigma^3}; Kurt⁡=∑(Xi−μ)4nσ4\operatorname{Kurt}=\frac{\sum(X_i-\mu)^4}{n\sigma^4}.

Esempio. X=[10,15,…,55]X=[10,15,\dots,55]: μ=32,5\mu=32{,}5, σ2=206,25\sigma^2=206{,}25, Skew⁡=0\operatorname{Skew}=0, Kurt⁡≈1,78\operatorname{Kurt}\approx1{,}78 (platicurtica). Le potenze quarte sulla slide sono sbagliate, il risultato finale no.

Indicatori. Skew >0>0 coda destra lunga; K=3K=3 mesocurtica (normale), K>3K>3 leptocurtica (code pesanti), K<3K<3 platicurtica. Libreria: pandas divide per n−1n-1, numpy per nn (ddof=1 per n−1n-1).

Definizione. Q1,Q2,Q3Q_1,Q_2,Q_3 lasciano sotto il 25%, 50%, 75% dei dati; IQR=Q3−Q1\mathrm{IQR}=Q_3-Q_1. La mediana è robusta agli outlier; la moda è per i dati categorici.

Esempio. [5,10,…,55][5,10,\dots,55]: Q1=15Q_1=15, Q2=30Q_2=30, Q3=45Q_3=45, IQR=30\mathrm{IQR}=30.

Esame (senza interpolazione). Ordinare, calcolare le percentuali cumulate, prendere il primo valore con percentuale almeno 25/50/75%. Con n=10n=10 la slide dà Q1=20Q_1=20, Q2=35Q_2=35, Q3=45Q_3=45 (per Q2Q_2 prende il valore oltre il 50%, in contrasto con la regola scritta).

Preparare i dati. Mancanti: imputare con media/mediana (numeriche) o moda (categoriche), o eliminare la variabile se quasi vuota. Variabili costanti (σ2=0\sigma^2=0): eliminare. Feature engineering: creare/selezionare/trasformare variabili.

Formula (z-score). z=(x−μ)/σz=(x-\mu)/\sigma, con μ,σ\mu,\sigma calcolati sul solo training set e riusati su validation e test.

Esempio. [10,12,14,16,18][10,12,14,16,18], μ=14\mu=14, σ=3,162\sigma=3{,}162 (n−1n-1): z=−1,265,…,1,265z=-1{,}265,\dots,1{,}265.

Errori tipici: statistiche calcolate anche sul test; non dichiarare il divisore della varianza; media con outlier; non togliere le costanti.

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata