Passa al contenuto principale

Metriche di regressione

1. Le quattro metriche standard​

In regressione, ogni predizione y^i\hat{y}_i produce un residuo ri=yi−y^ir_i = y_i - \hat{y}_i. Le metriche aggregano i residui in un unico numero, ognuna con un'interpretazione specifica.

1.1 RMSE — Root Mean Squared Error​

RMSE=1n∑i=1n(yi−y^i)2\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}
  • Unità: stessa di yy (per Ames, dollari).
  • Penalizza errori grandi quadraticamente: un errore di 50,000pesa100×quantounerroredi50,000 pesa 100× quanto un errore di 5,000.
  • Sensibile agli outlier: un singolo prezzo fortemente sbagliato può dominare la metrica.

1.2 MAE — Mean Absolute Error​

MAE=1n∑i=1n∣yi−y^i∣\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
  • Unità: stessa di yy.
  • Robusto agli outlier: pesa tutti gli errori linearmente.
  • Comparabile direttamente con il "tipico errore" intuitivo del cliente.

1.3 R² — Coefficient of Determination​

R2=1−∑i(yi−y^i)2∑i(yi−yˉ)2R^2 = 1 - \frac{\sum_i (y_i - \hat{y}_i)^2}{\sum_i (y_i - \bar{y})^2}
  • Adimensionale (range (−∞,1](-\infty, 1]).
  • Interpretazione: frazione della varianza di yy spiegata dal modello.
    • R2=1R^2 = 1: predizione perfetta.
    • R2=0R^2 = 0: il modello non fa meglio che predire la media.
    • R^2 < 0: il modello è peggiore della media (sì, è possibile).
  • Su Ames, R² > 0.90 è il benchmark per modelli ben tunati.

1.4 RMSE-log​

RMSElog⁡=1n∑i=1n(log⁡(1+yi)−log⁡(1+y^i))2\text{RMSE}_{\log} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} \big(\log(1+y_i) - \log(1+\hat{y}_i)\big)^2}
  • Adimensionale (relativo).
  • Penalizza errori percentuali equamente in tutte le fasce di prezzo.
  • Metrica della Kaggle Ames Competition — usare per confrontarsi con la leaderboard.

1.5 MAPE — Mean Absolute Percentage Error​

MAPE=100%n∑i=1n∣yi−y^iyi∣\text{MAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right|
  • In percentuale: comprensibile a stakeholder non tecnici.
  • Indefinito per yi=0y_i = 0: in Ames non capita.
  • Un MAPE del 7-8% significa "in media, sbaglio il prezzo del 7-8%".

2. Quale scegliere?​

Dipende dal costo dell'errore.

Scenario businessMetrica primariaPerché
Stima per agenzie immobiliari (errori grandi sono catastrofici)RMSEPenalizza sbagli grossi
Reportistica per clienti (errore tipico interpretato come "media")MAERobusto, comprensibile
Confronto fra modelli/leaderboardR² o RMSE_logAdimensionali
Comunicazione esecutivaMAPE"Sbagliamo del 7%" è più chiaro di "RMSE = $20,000"
Modelli per decisioni di investimentoRMSE sulla coda costosaErrori sui prezzi alti hanno impatto $$

In progetti seri si riportano TUTTE e si commenta. Il nostro report (reports/holdout_metrics.json) le calcola tutte.

3. Errori sistematici vs casuali — leggere i residui​

Le metriche aggregate non bastano: bisogna diagnosticare la distribuzione dei residui.

3.1 Plot predizioni vs reali​

Atteso: punti vicini alla bisettrice y=y^y = \hat{y}. Pattern problematici:

  • Sotto-stima sistematica per case costose: punti sopra la bisettrice nella zona alta. Indica che il modello "sottoadatta" la coda — tipico se non si è applicata la trasformazione log.
  • Curva: il modello non cattura una non linearità.
  • Cluster separati: forse manca una feature categorica importante (es. Neighborhood).

3.2 Istogramma dei residui​

Atteso: distribuzione ~normale, centrata sullo 0, varianza costante. Pattern:

  • Skew: residuali asimmetrici → trasformazione del target sbagliata.
  • Code lunghe: outlier non gestiti (controlla se sono data entry o vendite anomale).
  • Eteroscedasticità (varianza che cresce con y^\hat{y}): manca trasformazione log o servono feature non lineari.

3.3 Residuals vs predizioni​

Plot rir_i vs y^i\hat{y}_i: idealmente nessun pattern. Se vedi una "U" o una "campana", c'è non linearità non catturata.

4. Cross-validation vs holdout​

Distinzione critica:

  • Cross-validation (K-fold) sul TRAIN set: misura stabilità del modello — quanto la performance dipende dal campione. Riportiamo mean ± std su 5 fold.
  • Holdout test set (non visto in CV né in tuning): misura generalizzazione finale. Riportato una sola volta alla fine.

Se le metriche CV e holdout divergono molto (es. CV RMSE 18k, holdout 25k), c'è un problema:

  • Train e test hanno distribuzioni diverse (drift).
  • Il tuning ha overfittato i fold (es. test set "incrociato" via leakage).

In Ames, con split casuale stratificato e niente leakage, divergenza CV ↔ holdout < 5% è normale.

5. Confronto fra modelli — significatività statistica​

Quando confrontiamo due modelli con CV, non basta vedere chi ha la media più bassa: bisogna chiedersi se la differenza è statisticamente significativa dato il rumore di campionamento.

Approccio veloce: se l'intervallo di confidenza al 95% delle medie CV (≈ media ± 1.96·std/√k) si sovrappone, la differenza non è certa. Con K=5 questo è una stima grezza ma utile.

Approccio rigoroso: paired t-test o Wilcoxon signed-rank sui RMSE per fold.

In pratica, su Ames, differenze < 1% fra modelli sono nel rumore. Si sceglie il modello migliore considerando anche interpretabilità, velocità di inferenza, manutenibilità.

6. Riferimenti​

  • Sklearn user guide: Metrics and scoring.
  • Kaggle Ames House Prices: scoring metric — RMSE-log.
  • Hyndman & Koehler (2006), Another look at measures of forecast accuracy, IJF 22 — discussione critica di MAPE e alternative.