DataDrift

class model_monitoring.data_drift.DataDrift(data_stor, data_curr, type_data='auto', feat_to_check=None, config_threshold=None)

Classe utilizzata per monitorare e rilevare il Data Drift tra due dataset.

Questa classe fornisce strumenti per:

  1. Quantificare il cambiamento nelle distribuzioni utilizzando metriche statistiche come il Population Stability Index (PSI) o i p-value derivati da test statistici (Kolmogorov-Smirnov per numeriche, Chi-quadrato per categoriche).

  2. Generare un report (in formato DataFrame Pandas) di alerting basato su threshold configurabili. Valori di default:

    • Max PSI: 0.2

    • Mid PSI: 0.1

    • p-value: 0.05

    Questo rileva i data drift critici (alerting rosso) e i data drift rilevanti (alerting giallo).

  3. Implementare tecniche di ottimizzazione di binning delle variabili per la generazione dei metadati. (Per dettagli ReferenceMetaData)

  4. Gestire diversi formati di input:

    • DataFrame Pandas (type_data=”data”).

    • Dizionari contenenti metadati pre-calcolati (type_data=”metadata”).

    • Rilevamento automatico del formato (type_data=”auto”).

  5. Opzionalmente, calcolare e includere nel report il drift della percentuale di valori mancanti (NaN) per ciascuna variabile.

Methods

__init__

Inizializza la classe DataDrift, configurando i dati di riferimento e i dati correnti, il tipo di dati, e le feature da monitorare.

get_meta_ref

Restituisce il dizionario dei metadati di riferimento.

report_drift

Restituisce il report con PSI o p-value per ciascuna feature in entrambi i dataset (storico e corrente) e segnala avvisi (Warning) se i PSI superano le soglie predefinite o se i p-value non superano il livello di significatività (alpha).