In sintesi, ecco le modifiche apportate dalle versioni del motore v003 alla v004 (fino alla v004.008):
- È stata aggiunta la metrica
ObservedRecallValuesPerTypology
all'output del backtest. - Sono stati aggiunti
partiesCount
eidentifiedPartiesCount
al valore della metricaObservedRecallValues
.
Panoramica
I risultati del backtest forniscono un riepilogo del rendimento 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 a, ma non incluso, il mese dell'ora di fine selezionata. Per saperne di più, vedi Intervalli di tempo dei set di dati.
Specifica quanti mesi di dati etichettati utilizzare per il backtest (ovvero il numero di periodi di backtest).
Specifica il numero di parti da valutare nell'ambito del test utilizzando il campo PerformanceTarget.
Il volume di indagini previsto in base ai modelli:
Specifica
partyInvestigationsPerPeriodHint
. Il backtesting valuta il modello di AI AML in base a una serie di volumi di indagine mensili, in base all'importo 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 quanto segue:
- I mesi utilizzati nella valutazione sono i mesi di calendario completi più recenti
precedenti alla
endTime
specificata. Ad esempio, seendTime
è2023-04-15T23:21:00Z
ebacktestPeriods
è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. Due mesi del periodo di backtest sono riservati per tenere conto degli avvisi ripetuti, mentre i mesi rimanenti vengono utilizzati per generare etichette positive per la valutazione del rendimento.Evita di utilizzare mesi sovrapposti per l'addestramento e il backtest, 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 volumi di indagine diversi o soglie del punteggio di rischio
Misure che possono essere utilizzate per valutare la coerenza del set di dati (ad esempio, confrontando i valori mancanti delle famiglie di funzionalità di operazioni diverse)
Nome metrica | Descrizione della metrica | Valore di esempio della metrica |
---|---|---|
ObservedRecallValues | Metrica di richiamo misurata sul set di dati specificato per il backtesting. L'API
include 20 di queste misurazioni, in diversi punti operativi, distribuite
uniformemente da 0 (non incluso) fino a 2 *
partyInvestigationsPerPeriodHint . L'API aggiunge una misurazione
del richiamo finale alle ore partyInvestigationsPerPeriodHint .
Oltre al valore di richiamo, forniamo anche il numeratore e il denominatore come partiesCount e identifiedPartiesCount
rispettivamente.
|
{ "recallValues": [ { "partyInvestigationsPerPeriod": 5000, "recallValue": 0.80, "partiesCount": 60, "identifiedPartiesCount": 48, "scoreThreshold": 0.42, }, ... ... { "partyInvestigationsPerPeriod": 8000, "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, "riskTypology": "risk_typology_id_1", "recallValue": 0.80, "partiesCount": 60, "identifiedPartiesCount": 48, "scoreThreshold": 0.42, }, { "partyInvestigationsPerPeriod": 8000, "riskTypology": "risk_typology_id_1", "recallValue": 0.90, "partiesCount": 60, "identifiedPartiesCount": 54, "scoreThreshold": 0.30, }, ... ... { "partyInvestigationsPerPeriod": 8000, "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 funzionalità 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 familiare assume il valore -1 quando nessuna funzionalità della famiglia viene utilizzata dal modello. Per valori di asimmetria elevati, devi eseguire una delle seguenti operazioni:
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, }, ], } |