Nel contesto del Tier 2, dove modelli di scoring combinano segmentazione, calibrazione e gestione del rischio non lineare, la gestione sistematica delle eccezioni rappresenta il pilastro per garantire stabilità, conformità normativa e qualità predittiva. Le eccezioni nei dati di scoring creditizio – valori mancanti strutturati, outlier statistici, violazioni logiche – non sono semplici rumore: sono segnali critici di dati anomali, potenziali bias o errori di integrazione che possono distorcere le previsioni e compromettere la validità del modello ai fini di Basilea III e della vigilanza Banca d’Italia. A differenza del Tier 1, che si concentra sulla definizione di regole di qualità dati, il Tier 2 richiede un approccio dinamico e granulare, con riconoscimento automatico, categorizzazione precisa e politiche di trattamento differenziate, integrate direttamente nel pipeline di scoring online e batch.
Tier 2 si distingue per la sua complessità operativa: le eccezioni non vengono semplicemente filtrate ma analizzate in profondità, con un processo strutturato che parte dall’identificazione, prosegue con la classificazione gerarchica e culmina in azioni mirate, sempre rispettando le normative locali e dinamiche di mercato. Questo approccio è fondamentale per evitare che errori nei dati generino previsioni distorte, con conseguenze dirette sulla distribuzione del credito, sul capitale regolamentare e sulla conformità.
1. Fondamenti: perché le eccezioni sono critiche nel Tier 2
Le eccezioni nei modelli Tier 2 sono indicatori di dati non conformi o modelli non validati, e rappresentano un rischio sistematico per la robustezza del sistema. A differenza del Tier 1, che impone vincoli di qualità a monte, il Tier 2 deve riconoscere e gestire queste anomalie *durante* il processo di scoring, integrando controlli in tempo reale. Un’eccezione non trattata può innescare previsioni fuorvianti, generare drift concettuale, erodere la fiducia del modello e, in contesti regolamentati come quelli italiani, comportare sanzioni o richieste di ricapitolazione da parte della Banca d’Italia. La gestione efficace delle eccezioni implica un’architettura a più livelli: rilevazione automatica, categorizzazione precisa, trattamento calibrato e monitoraggio continuo.
1.1 Identificazione e categorizzazione: il sistema gerarchico delle eccezioni
La prima fase consiste nel definire un sistema di classificazione gerarchica delle eccezioni, fondamentale per orientare le decisioni successive. Si distinguono tre categorie principali: eccezioni sintomatiche (es. valori mancanti NA in campo reddito), anomalie statistiche (outlier in distribuzioni, es. reddito > +3σ), e violazioni logiche (es. età negativa, stato contraddittorio). L’identificazione automatica si basa su regole esplicite e modelli statistici: ad esempio, l’uso dello Z-score per rilevare outlier o l’IQR (Interquartile Range) per valutare deviazioni strutturali, combinati con vincoli di dominio (range numerico, tipo di dato).
/* Esempio di rilevamento outlier con Z-score per campo reddito */
const importareDati = (df: DataFrame) => {
const reddito = df.filter(row => row.reddito !== null);
const zScores = (reddito.numeroReddito - reddito.mediaReddito) / reddito.deviazioneStd;
const outlier = reddito.numeroReddito.filter(val => Math.abs(zScores) > 3);
return outlier;
};
Takeaway operativo: Implementare un modulo di validazione dati che, al momento dell’ingresso o batch, genera un report automatico di eccezioni categorizzate, arricchito con metriche statistiche e flag per revisione manuale. Questo report diventa input per il trattamento successivo.
1.2 Politiche di trattamento: dal fallback al flagging intelligente
Il trattamento delle eccezioni deve essere guidato da un albero decisionale basato su severità, frequenza e impatto sul modello. Le opzioni principali sono:
- Imputazione: sostituzione con media, mediana o valore predetto da modello imputativo (es. KNN), applicabile solo a eccezioni strutturali (es. missing < 5% del dataset).
- Esclusione: rimozione del record se la percentuale di valori mancanti supera il 20% o l’eccezione è sistematica (es. outlier > +4σ in reddito).
- Flagging: segnalazione per revisione manuale o alert al modello, mantenendo il dato in pipeline con metadata di rischio.
- Routing a modello base: in caso di eccezioni critiche, esecuzione di scoring semplificato (es. regressione logistica base) per evitare fallimento totale del processo.
La scelta del trattamento deve essere documentata e auditabile, in linea con le linee guida Banca d’Italia sulla trasparenza e non discriminazione.
2. Implementazione tecnica: integrazione nel pipeline Tier 2
La fase operativa richiede un’architettura modulare e scalabile, con interposizioni middleware che intercettano i dati in ingresso, applicano controlli in tempo reale e applicano le policy definite. I passaggi chiave sono:
- Ingestione dati: ETL con validazione schema e controllo dati preliminare.
- Rilevazione eccezioni: esecuzione del modulo di analisi (Z-score, regole esperte, ML) con generazione di flag e metadata.
- Trattamento dinamico: routing automatico in base al tipo di eccezione, con logging e tracciamento completo.
- Output integrato: dati puliti e flag taggati vengono restituiti al modello di scoring o al sistema di monitoraggio.
Esempio pratico di integrazione in pipeline Python:
class EccezioneProcessor:
def __init__(self, config: dict):
self.thresholds = config[“thresholds”]
self.policy_map = config[“policies”] # {‘missing’: ‘impute_median’, …}
def process(self, row: Dict) -> Dict:
result = {}
for col, rules in self.policy_map.items():
val = row[col]
if rules == “impute_median” and col == “reddito” and val is None:
median = self.calculate_median(df[df[col] != None][col])
result[col] = median
elif val is None or val < -100 or val > self.thresholds[“outlier_reddito”]:
result[col] = “flagged”
else:
result[col] = val
return result
def calculate_median(self, series: Series) -> float:
return series.median()
Questo approccio garantisce tracciabilità completa, essenziale per audit interni e richieste regolatorie.
3. Tecniche avanzate: rilevamento statistico e machine learning
Oltre ai metodi tradizionali, tecniche avanzate migliorano la precisione e riducono i falsi positivi. Tra le più efficaci:
- Gaussian Mixture Models (GMM) per outlier multivariati: modellazione della distribuzione dei dati in cluster, identificazione di osservazioni a bassa probabilità come potenziali eccezioni. Utile in scenari con feature multiple (reddito, età, rapporto debito/reddito).
- Random Forest per classificazione supervisionata: training di un modello su dataset storico di eccezioni etichettate, con label come “missing_reddito”, “outlier_reddito_alto”, “logical_violation”, per prevedere il tipo di eccezione in nuovi record. Ottimizzazione tramite cross-validation temporale per evitare overfitting.
- Metodo ibrido: combinazione di regole esperte (es. range valori) con modelli ML, con pesatura dinamica basata sulla confidenza (es. regole deterministiche con peso 0.8, modelli con 0.2).
Tabella comparativa delle tecniche di rilevamento eccezioni
| Tecnica | Vantaggi | Limiti | Caso d’uso tipico |
|—————————-|———————————————–|——————————–|———————————–|
| Z-score / IQR | Semplice, interpretabile | Sensibile a distribuzioni non normali | Eccezioni univariate |
| GMM multivariato | Gestisce correlazioni tra feature | Compless