Évaluer un modèle

Cette page est valable pour les versions du moteur appartenant aux principaux groupes de versions du moteur suivants. Pour afficher la page d'autres versions du moteur, utilisez le sélecteur en haut de cette page.

Voici un récapitulatif des modifications apportées aux versions du moteur v003 à v004 (jusqu'à v004.008) :

  • Ajout de la métrique ObservedRecallValuesPerTypology à la sortie du backtest.
  • Ajout de partiesCount et identifiedPartiesCount à la valeur de métrique ObservedRecallValues.

Présentation

Les résultats des tests rétrospectifs vous fournissent un récapitulatif des performances du modèle sur une période donnée. Elles sont générées en effectuant des prédictions sur tous les clients au cours d'une période de backtest et en évaluant les performances du modèle par rapport aux événements à risque disponibles.

Les résultats des backtests peuvent être utilisés pour mesurer les performances du modèle sur une période distincte de celle utilisée pour l'entraînement, ou également au fil du temps pour vérifier la dégradation des performances.

Effectuer un backtest

Pour créer une ressource BacktestResult, consultez Créer et gérer des résultats de backtest.

Vous devez notamment sélectionner les éléments suivants :

  • Données à utiliser pour le backtesting :

    Spécifiez un ensemble de données et une heure de fin dans la plage de dates de l'ensemble de données.

    L'entraînement utilise des libellés et des caractéristiques basés sur des mois calendaires complets jusqu'au mois de la date de fin sélectionnée (non inclus). Pour en savoir plus, consultez Plages de dates des ensembles de données.

    Spécifiez le nombre de mois de données libellisées à utiliser pour le backtesting (c'est-à-dire le nombre de périodes de backtest).

    Spécifiez le nombre de participants à évaluer dans le test à l'aide du champ PerformanceTarget.

  • Volume d'investigations attendu selon les modèles :

    Spécifiez partyInvestigationsPerPeriodHint. Le backtesting évalue le modèle d'IA pour la lutte contre le blanchiment d'argent pour une série de volumes d'investigation mensuels, en fonction du montant que vous spécifiez. Pour en savoir plus, consultez Sortie du backtest.

  • Modèle créé à l'aide d'un ensemble de données cohérent :

    Consultez Créer un modèle.

Périodes de backtest

Le champ backtestPeriods spécifie le nombre de mois civils consécutifs à utiliser pour les caractéristiques et les libellés dans l'évaluation des performances de ce modèle.

Les informations suivantes s'appliquent aux données de backtest :

  • Les mois utilisés pour l'évaluation sont les mois calendaires complets les plus récents précédant la endTime spécifiée. Par exemple, si endTime est 2023-04-15T23:21:00Z et backtestPeriods est 5, les libellés des mois suivants sont utilisés : 2023-03, 2023-02, 2023-01, 2022-12 et 2022-11.
  • Vous devez utiliser les données les plus récentes disponibles pour le backtesting lorsque vous évaluez un modèle en vue de son utilisation en production.
  • Les périodes de backtest doivent être définies sur 3 ou plus. Deux mois de la période de backtest sont réservés pour tenir compte des alertes répétées. Les mois restants sont utilisés pour générer des libellés positifs pour l'évaluation des performances.

  • Évitez d'utiliser des mois qui se chevauchent pour l'entraînement et le backtesting, car cela risque de provoquer un surapprentissage. Assurez-vous que les heures de fin du backtest et de l'entraînement sont séparées d'au moins backtestPeriods. Autrement dit,

    (mois de fin des résultats du backtest) >= (mois de fin du modèle) + backtestPeriods

Vous pouvez également créer des résultats de prédiction pour un modèle et effectuer vos propres analyses des performances du modèle au niveau des groupes.

Résultats du backtest

Les métadonnées des résultats du backtest contiennent les métriques suivantes. Plus précisément, ces métriques vous indiquent les éléments suivants :

  • Performances du modèle par rapport aux libellés d'une période distincte et pour différents seuils de volume d'investigation ou de score de risque

  • Mesures pouvant être utilisées pour évaluer la cohérence des ensembles de données (par exemple, en comparant les valeurs manquantes des familles de caractéristiques de différentes opérations)

Nom de la métrique Description de la métrique Exemple de valeur de métrique
ObservedRecallValues Métrique de rappel mesurée sur l'ensemble de données spécifié pour le backtesting. L'API inclut 20 de ces mesures, à différents points de fonctionnement, réparties uniformément de 0 (non inclus) à 2 * partyInvestigationsPerPeriodHint. L'API ajoute une mesure de rappel final à partyInvestigationsPerPeriodHint.

En plus de la valeur de rappel, nous fournissons également le numérateur et le dénominateur sous la forme de partiesCount et identifiedPartiesCount, respectivement.
{
  "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 Métrique de rappel au niveau de la typologie des risques, mesurée sur l'ensemble de données spécifié pour le backtesting. Les mesures suivent la même approche que 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,
    },
  ],
}
Données manquantes

Part des valeurs manquantes pour toutes les caractéristiques de chaque famille de caractéristiques.

Dans l'idéal, toutes les familles de fonctionnalités d'IA de lutte contre le blanchiment d'argent doivent avoir une valeur manquante proche de 0. Des exceptions peuvent se produire lorsque les données sous-jacentes à ces familles de fonctionnalités ne sont pas disponibles pour l'intégration.

Une variation importante de cette valeur pour une famille de caractéristiques entre le réglage, l'entraînement, l'évaluation et la prédiction peut indiquer une incohérence dans les ensembles de données utilisés.

{
  "featureFamilies": [
    {
      "featureFamily": "unusual_wire_credit_activity",
      "missingnessValue": 0.00,
    },
    ...
    ...
    {
      "featureFamily": "party_supplementary_data_id_3",
      "missingnessValue": 0.45,
    },
  ],
}
Décalage

Métriques indiquant le biais entre les ensembles de données d'entraînement et de prédiction ou de backtest. L'asymétrie de la famille indique les changements dans la distribution des valeurs des caractéristiques au sein d'une famille de caractéristiques, pondérés par l'importance de la caractéristique dans cette famille. "Max skew" indique l'inclinaison maximale de n'importe quelle caractéristique de cette famille.

Les valeurs d'asymétrie sont comprises entre 0 (aucun changement significatif dans la distribution des valeurs des caractéristiques de la famille) et 1 (changement le plus significatif). Une valeur élevée pour l'asymétrie de la famille ou l'asymétrie maximale indique un changement important dans la structure de vos données, ce qui peut avoir un impact sur les performances du modèle. L'asymétrie de la famille prend la valeur -1 lorsqu'aucune caractéristique de la famille n'est utilisée par le modèle.

Pour les valeurs d'asymétrie élevées, vous devez effectuer l'une des opérations suivantes :

  • Examinez les modifications apportées aux données utilisées par cette famille de fonctionnalités (consultez les ressources d'aide sur la gouvernance des modèles) et corrigez les éventuels problèmes liés aux données d'entrée.
  • Réentraîner un modèle sur des données plus récentes

Vous devez définir des seuils pour agir sur les valeurs de biais de la famille et maximales en observant la variation naturelle des métriques de biais sur plusieurs mois.

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