Valutare un modello

Questa pagina è valida per le versioni del motore all'interno dei seguenti raggruppamenti di versioni principali del motore. Per visualizzare la pagina relativa ad altre versioni del motore, utilizza il selettore nella parte superiore di questa pagina.

In sintesi, ecco le modifiche apportate a questa pagina rispetto alla versione 004.010:

  • È stato aggiunto partyCountExceedingThresholdPerPeriodHint come target di rendimento alternativo.
  • Semplificazione della metrica del richiamo rimuovendo il buffer di lookback, consentendo una valutazione più trasparente in tutti i periodi di backtest specificati.
  • L'output di ObservedRecallValues ora include un nuovo campo partyCountExceedingThresholdPerPeriod.

Panoramica

I risultati del backtest forniscono un riepilogo delle prestazioni del modello in un periodo di tempo specificato. Vengono generati eseguendo previsioni su tutti i clienti in un periodo di backtest e valutando le prestazioni del modello rispetto agli eventi di rischio disponibili.

I risultati del backtest possono essere utilizzati per misurare il rendimento del modello in un intervallo di tempo separato da quello utilizzato nell'addestramento o anche nel tempo per verificare il degrado del rendimento.

Come eseguire il backtest

Per creare una risorsa BacktestResult, consulta Creare e gestire i risultati del backtest.

In particolare, devi selezionare quanto segue:

  • I dati da utilizzare per il backtest:

    Specifica un set di dati e un'ora di fine all'interno dell'intervallo di date del set di dati.

    L'addestramento utilizza etichette e funzionalità basate su mesi di calendario completi fino al mese dell'ora di fine selezionata, escluso. Per ulteriori informazioni, consulta Intervalli di tempo dei set di dati.

  • I periodi di backtest:

    Specifica quanti mesi di dati etichettati utilizzare per il backtest (ovvero il numero di periodi di backtest).

  • Il target di rendimento:

    Specifica come impostare il punto operativo per la valutazione utilizzando il campo PerformanceTarget. Devi fornire esattamente uno dei seguenti elementi:

    • partyInvestigationsPerPeriodHint: specifica il numero approssimativo di indagini eseguite al mese. Questa opzione utilizza approssimazioni di stato stazionario per stimare il volume delle indagini.
    • partyCountExceedingThresholdPerPeriodHint: specifica il numero medio mensile di parti uniche che devono ottenere un punteggio pari o superiore alla soglia di rischio. Questa opzione offre un modo più diretto e trasparente per impostare il punto di funzionamento.

    Il backtesting valuta il modello di AI per l'antiriciclaggio in un intervallo di volumi centrato sul suggerimento specificato. Per saperne di più, consulta Output del backtest.

  • Un modello creato utilizzando un set di dati coerente:

    Vedi Crea un modello.

Periodi di backtest

Il campo backtestPeriods specifica il numero di mesi di calendario consecutivi da cui utilizzare funzionalità ed etichette nella valutazione del rendimento di questo modello.

Ai dati di backtest si applicano le seguenti condizioni:

  • I mesi utilizzati nella valutazione sono i mesi di calendario completi più recenti precedenti al endTime specificato. Ad esempio, se endTime è 2023-04-15T23:21:00Z e backtestPeriods è 5, vengono utilizzate le etichette dei seguenti mesi: 2023-03, 2023-02, 2023-01, 2022-12 e 2022-11.
  • Quando valuti un modello in preparazione all'utilizzo in produzione, devi utilizzare i dati più recenti disponibili per il backtest.
  • I periodi di backtest devono essere impostati su 3 o superiore.
  • A partire dalla versione del motore v004.011, tutti i periodi di backtest specificati vengono utilizzati per la valutazione del rendimento, poiché la metrica di richiamo semplificata non richiede più un buffer di riepilogo per l'approssimazione dello stato stazionario.

  • Evita di utilizzare mesi sovrapposti per l'addestramento e il backtesting, in quanto ciò rischia di causare un overfitting. Assicurati che l'ora di fine del backtest e dell'addestramento siano distanti almeno backtestPeriods. ovvero

    (mese dell'ora di fine del backtest) >= (mese dell'ora di fine del modello) + backtestPeriods

(Facoltativo) Puoi anche creare risultati di previsione per un modello e condurre analisi a livello di partito delle prestazioni del modello.

Output del backtest

I metadati dei risultati del backtest contengono le seguenti metriche. In particolare, queste metriche mostrano:

  • Il rendimento del modello rispetto alle etichette di un periodo di tempo separato e per una serie di punti operativi (volumi di indagine) o soglie di punteggio di rischio diversi.

  • Misure che possono essere utilizzate per valutare la coerenza del set di dati (ad esempio, confrontando i valori di dati mancanti delle famiglie di funzionalità di operazioni diverse)

Nome metrica Descrizione metrica Valore di esempio della metrica
ObservedRecallValues Metrica di richiamo misurata sul set di dati specificato per il backtest. L'API include 20 di queste misurazioni, in diversi punti operativi, distribuite uniformemente da 0 (non incluso) fino a 2 * partyInvestigationsPerPeriodHint o partyCountExceedingThresholdPerPeriodHint a seconda di quale di questi due campi è stato utilizzato come input per creare BacktestResults. L'API aggiunge una misurazione del richiamo finale al suggerimento specificato.

Oltre al valore di richiamo, forniamo anche il numeratore e il denominatore come partiesCount e identifiedPartiesCount rispettivamente. Forniamo anche il numero di parti che superano la soglia come partyCountExceedingThresholdPerPeriod.
{
  "recallValues": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "partyCountExceedingThresholdPerPeriod": 10000,
      "recallValue": 0.80,
      "partiesCount": 60,
      "identifiedPartiesCount": 48,
      "scoreThreshold": 0.42,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "recallValue": 0.85,
      "partiesCount": 60,
      "identifiedPartiesCount": 51,
      "scoreThreshold": 0.30,
    },
  ],
}
ObservedRecallValuesPerTypology Metrica di richiamo a livello di tipologia di rischio misurata sul set di dati specificato per il backtesting. Le misurazioni seguono lo stesso approccio di ObservedRecallValues.
{
  "recallValuesPerTypology": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "partyCountExceedingThresholdPerPeriod": 10000,
      "riskTypology": "risk_typology_id_1",
      "recallValue": 0.80,
      "partiesCount": 60,
      "identifiedPartiesCount": 48,
      "scoreThreshold": 0.42,
    },
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "riskTypology": "risk_typology_id_1",
      "recallValue": 0.90,
      "partiesCount": 60,
      "identifiedPartiesCount": 54,
      "scoreThreshold": 0.30,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "riskTypology": "risk_typology_id_2",
      "recallValue": 0.75,
      "partiesCount": 4
      "identifiedPartiesCount": 3,
      "scoreThreshold": 0.30,
    },
  ],
}
Valori mancanti

Percentuale di valori mancanti in tutte le funzionalità di ogni famiglia di funzionalità.

Idealmente, tutte le famiglie di funzionalità di AI per l'antiriciclaggio dovrebbero avere un valore di Missingness vicino a 0. Potrebbero verificarsi eccezioni in cui i dati sottostanti a queste famiglie di funzionalità non sono disponibili per l'integrazione.

Una variazione significativa di questo valore per qualsiasi famiglia di funzionalità tra l'ottimizzazione, l'addestramento, la valutazione e la previsione può indicare un'incoerenza nei set di dati utilizzati.

{
  "featureFamilies": [
    {
      "featureFamily": "unusual_wire_credit_activity",
      "missingnessValue": 0.00,
    },
    ...
    ...
    {
      "featureFamily": "party_supplementary_data_id_3",
      "missingnessValue": 0.45,
    },
  ],
}
Disallineamento

Metriche che mostrano il disallineamento tra i set di dati di addestramento e previsione o backtest. L'asimmetria della famiglia indica cambiamenti nella distribuzione dei valori delle caratteristiche all'interno di una famiglia di caratteristiche, ponderati in base all'importanza della caratteristica all'interno di quella famiglia. La distorsione massima indica la distorsione massima di qualsiasi caratteristica all'interno di quella famiglia.

I valori di asimmetria vanno da 0, che indica nessuna variazione significativa nella distribuzione dei valori delle funzionalità della famiglia, a 1, che indica la variazione più significativa. Un valore elevato per l'asimmetria della famiglia o l'asimmetria massima indica una variazione significativa nella struttura dei dati, che potrebbe influire sul rendimento del modello. L'asimmetria della famiglia assume il valore -1 quando nessuna funzionalità della famiglia viene utilizzata dal modello.

Per valori di asimmetria elevati, devi eseguire una delle seguenti operazioni:

  • Esamina le modifiche ai dati utilizzati da quella famiglia di funzionalità (consulta i materiali di supporto per la governance dei modelli) e correggi eventuali problemi relativi ai dati di input.
  • Riaddestrare un modello su dati più recenti

Devi impostare le soglie per intervenire sui valori di asimmetria della famiglia e massima in base all'osservazione della variazione naturale delle metriche di asimmetria per diversi mesi.

{
  "featureFamilies": [
    {
      "featureFamily": "unusual_wire_credit_activity",
      "familySkewValue": 0.10,
      "maxSkewValue": 0.14,
    },
    ...
    ...
    {
      "featureFamily": "party_supplementary_data_id_3",
      "familySkewValue": 0.11,
      "maxSkewValue": 0.11,
    },
  ],
}