Considerazioni avanzate sull’overfitting
Definizione e perché è importante nella pratica
L’overfitting è un errore di modellazione in cui un metodo impara pattern che adattano meglio i dati di addestramento rispetto alla struttura sottostante, ma questi pattern non si generalizzano a nuovi dati non visti. Un sintomo chiave è una stima delle prestazioni ottimistica: il modello appare efficace durante lo sviluppo, ma il suo comportamento peggiora quando gli input o le condizioni cambiano.
In domini con dati ordinati nel tempo (inclusi molti flussi di lavoro finanziari), l’overfitting è particolarmente facile perché il futuro può differire dal passato. Anche se un modello trova relazioni che erano vere storicamente, queste relazioni possono essere fragili. Inoltre, sperimentazioni ripetute possono involontariamente adattare l’approccio al campione storico.
La meccanica: come si crea l’overfitting
Un modello utile è considerare una pipeline come composta da due parti:
- Flessibilità del modello (quanti modi ha il modello per adattarsi ai dati), e
- Esposizione all’informazione nel processo di sviluppo (quante volte si effettua il tuning o la selezione basandosi sullo stesso dataset).
Le considerazioni avanzate partono da dove proviene la flessibilità.
- Troppi gradi di libertà: aggiungere parametri, utilizzare trasformazioni complesse delle caratteristiche o rendere le regole più condizionali aumenta la probabilità che il metodo si adatti al rumore.
- Loop multipli di tuning: se si effettua il tuning degli iperparametri, delle scelte di preprocessing e degli insiemi di caratteristiche ripetutamente utilizzando lo stesso periodo storico, si finisce di fatto per “addestrare sul test”, anche se non si addestra mai direttamente il modello sull’etichetta.
- Data leakage nel preprocessing: normalizzazione, scaling, feature con informazioni future o trasformazioni legate al target calcolate con informazioni future possono rendere artificialmente facile il periodo di addestramento.
Un secondo meccanismo è l’ottimizzazione implicita. Anche se si ritiene di “stare solo testando”, qualsiasi regola decisionale che seleziona la variante con prestazioni migliori in base ai risultati passati sposta verso l’overfitting. Questo passaggio di selezione cambia il significato della valutazione.
Dipendenze: cosa deve rimanere controllato per rendere i risultati confrontabili
L’overfitting non riguarda solo il modello. Dipende dall’intero disegno sperimentale e dalle assunzioni incorporate.
Divisione dei dati e suddivisioni temporali
Per dati ordinati nel tempo, il modo in cui si dividono i dati è cruciale:
- Se i periodi di addestramento e valutazione si sovrappongono o non sono strettamente separati, la valutazione può essere contaminata.
- Se si effettua il tuning su un sottoperiodo storico e poi si valuta su un altro diverso, si deve comunque considerare quali sottoperiodi sono stati scelti e se le scelte sono state influenzate dalle prestazioni.
Preprocessing e ingegneria delle caratteristiche
Piccole differenze nel preprocessing possono causare grandi cambiamenti:
- Diversi periodi di scaling, diverse regole di ricampionamento o diversa gestione dei valori mancanti possono alterare le relazioni apprese.
- Le trasformazioni delle caratteristiche con finestre mobili devono essere costruite in modo da utilizzare solo informazioni disponibili al momento in cui sarebbero usate.
Costi e vincoli
Anche quando non si focalizza l’attenzione sulla meccanica del trading, molte pipeline includono costi e vincoli realistici (ad esempio costi di transazione, ritardi di esecuzione o dimensioni minime delle operazioni). L’overfitting può nascondersi nell’insieme delle assunzioni:
- Un modello può apparire buono sotto assunzioni di costo ottimistiche.
- Oppure può dipendere da pattern che scompaiono una volta applicati costi, effetti simili allo slippage o limiti pratici di esecuzione.
Bias di selezione da sperimentazioni ripetute
Spesso i ricercatori eseguono molte configurazioni candidate. Se si conserva quella con le prestazioni migliori e si scartano le altre, il risultato finale è condizionato dalla prestazione osservata più alta nell’insieme dei candidati. Questo “effetto del vincitore” può far apparire il modello conservato più forte di quanto non sia in realtà.
Casi limite e modi di fallimento
Diversi casi limite avanzati causano comunemente conclusioni fuorvianti.
Non stazionarietà (cambiamento dei processi generativi dei dati)
Se la relazione tra input e risultati cambia nel tempo, un modello tarato su segmenti più vecchi può degradare anche senza overfitting classico. La distinzione è importante: a volte il modello generalizza male perché il mondo è cambiato, non perché ha memorizzato il rumore. Nella pratica, entrambi i problemi possono coesistere.
Illusione di alto rapporto segnale-rumore
Quando il periodo di addestramento contiene pattern insolitamente forti (regimi temporanei), un modello flessibile può fissarsi su quei pattern. Le prestazioni poi crollano quando il regime svanisce.
Over-ottimizzazione delle metriche
Scegliere una metrica allineata a stranezze a breve termine può portare a modelli che ottimizzano l’obiettivo sbagliato. Ad esempio, ottimizzare una misura sensibile a eventi rari può selezionare un adattamento fragile.
Disallineamento tra dati di addestramento e valutazione
Un modello può apparire robusto in un test controllato ma fallire in produzione se il flusso di input differisce da quello usato durante lo sviluppo (frequenza di campionamento diversa, pattern diversi di dati mancanti, finestre di calcolo degli indicatori diverse).
Instabilità dei parametri
Se piccoli cambiamenti nei parametri producono grandi oscillazioni nei risultati, il modello sta probabilmente catturando il rumore. Gli approcci robusti tendono ad avere un comportamento più regolare sotto piccole perturbazioni.
Limiti e rischi da riconoscere esplicitamente
L’overfitting è più facile da diagnosticare che da eliminare completamente. I limiti principali includono:
- Incertezza delle prestazioni future: i risultati storici non garantiscono risultati futuri.
- Dipendenza da costi ed esecuzione: qualsiasi valutazione che ignori vincoli pratici può sovrastimare la capacità di generalizzazione.
- Nessuna singola suddivisione è definitiva: diversi intervalli temporali possono produrre risultati diversi.
Un modo di fallimento significativo è concludere che, poiché un modello ha prestato bene nella valutazione storica, generalizzerà. Questo errore si verifica quando la valutazione non è un vero “controllo finale” o quando test multipli ed effetti di selezione gonfiano il successo apparente.
Verifica: come controllare la generalizzazione robusta in modo indipendente
Per verificare se l’overfitting ha probabilmente determinato i risultati, utilizzare un approccio che riduca la dipendenza nascosta dai dati di valutazione.
1) Mantenere un test finale rigoroso
Utilizzare un flusso di lavoro in cui:
- Si effettua il tuning e la selezione usando un insieme specifico,
- Non si modificano le scelte in base al periodo finale di valutazione,
- La valutazione finale viene utilizzata una sola volta.
2) Utilizzare più finestre di valutazione
Invece di un singolo holdout, considerare diversi segmenti di valutazione separati nel tempo. Prestazioni relative coerenti tra i segmenti sono un segnale più forte di generalizzazione rispetto a un singolo periodo di eccellenza.
3) Testare la robustezza delle assunzioni
Ripetere la valutazione sotto variazioni plausibili che riflettano l’incertezza nella pipeline:
- Cambiamenti nelle finestre di preprocessing (quando giustificabile)
- Assunzioni alternative ragionevoli sui costi/vincoli
- Perturbazioni che testano la stabilità
Se i risultati cambiano frequentemente, quell’instabilità è un segnale di rischio di overfitting.
4) Monitorare la complessità del modello rispetto alle prestazioni
Confrontare un modello di base con minore flessibilità con varianti più complesse. Se la complessità migliora l’adattamento all’addestramento ma non la stabilità della valutazione, quel divario può indicare overfitting.
5) Quantificare la sensibilità
Misurare come cambiano le prestazioni quando si variano leggermente gli iperparametri o quando si variano le definizioni delle caratteristiche in modi controllati. Un’elevata sensibilità è un segnale di avvertimento.
Conclusione
Le considerazioni avanzate sull’overfitting si concentrano meno su una singola scelta algoritmica e più sull’intera catena sperimentale: suddivisione dei dati, integrità del preprocessing, assunzioni su costi e vincoli, test multipli e stabilità sotto perturbazioni.