Avaliar um modelo

Esta página é válida para as versões do mecanismo nos seguintes agrupamentos de versões principais. Para acessar a página de outras versões do mecanismo, use o seletor na parte de cima desta página.

Em resumo, estas são as mudanças das versões do mecanismo v003 para v004 (até v004.008):

  • Adição da métrica ObservedRecallValuesPerTypology à saída do backtest.
  • Adição de partiesCount e identifiedPartiesCount ao valor da métrica ObservedRecallValues.

Visão geral

Os resultados do backtest fornecem um resumo da performance do modelo em um período especificado. Eles são gerados com base na previsão de todos os clientes em um período de backtest e na avaliação da performance do modelo em relação aos eventos de risco disponíveis.

Os resultados do backtest podem ser usados para medir a performance do modelo em um período diferente do usado no treinamento ou ao longo do tempo para verificar a degradação da performance.

Como fazer backtest

Para criar um recurso BacktestResult, consulte Criar e gerenciar resultados de backtest.

Em particular, você precisa selecionar o seguinte:

  • Os dados a serem usados para backtesting:

    Especifique um conjunto de dados e um horário de término dentro do período dele.

    O treinamento usa rótulos e recursos com base em meses civis completos até, mas não incluindo, o mês do horário de término selecionado. Para mais informações, consulte Intervalos de tempo do conjunto de dados.

    Especifique quantos meses de dados rotulados usar para backtesting (ou seja, o número de períodos de backtest).

    Especifique o número de partes a serem avaliadas como parte do teste usando o campo PerformanceTarget.

  • O volume de investigações esperado com base nos modelos:

    Especifique partyInvestigationsPerPeriodHint. O backtesting avalia o modelo de IA de AML em uma variedade de volumes mensais de investigação, com base no valor especificado. Para mais informações, consulte Saída de backtest.

  • Um modelo criado usando um conjunto de dados consistente:

    Consulte Criar um modelo.

Períodos de backtest

O campo backtestPeriods especifica quantos meses consecutivos do calendário usar recursos e rótulos na avaliação de performance desse modelo.

O seguinte se aplica aos dados de backtest:

  • Os meses usados na avaliação são os meses civis completos mais recentes antes do endTime especificado. Por exemplo, se endTime for 2023-04-15T23:21:00Z e backtestPeriods for 5, os rótulos dos seguintes meses serão usados: 2023-03, 2023-02, 2023-01, 2022-12 e 2022-11.
  • Use os dados mais recentes disponíveis para backtesting ao avaliar um modelo em preparação para uso em produção.
  • Os períodos de backtest precisam ser definidos como 3 ou mais. Dois meses do período de backtest são reservados para considerar alertas repetidos, e os meses restantes são usados para gerar rótulos positivos para avaliação de performance.

  • Evite usar meses sobrepostos para treinamento e backtesting, porque isso pode causar overfitting. Verifique se os horários de término do backtest e do treinamento têm pelo menos backtestPeriods de diferença. Ou seja,

    (mês de término dos resultados do backtest) >= (mês de término do modelo) + backtestPeriods

Também é possível criar resultados de previsão para um modelo e realizar suas próprias análises de desempenho no nível do partido.

Saída do backtest

Os metadados dos resultados do backtest contêm as seguintes métricas. Em especial, essas métricas mostram o seguinte:

  • Como o modelo se comporta em comparação com rótulos de um período diferente e para vários volumes de investigação ou limites de pontuação de risco

  • Medições que podem ser usadas para avaliar a consistência do conjunto de dados (por exemplo, comparando os valores de ausência de famílias de recursos de diferentes operações)

Nome da métrica Descrição da métrica Exemplo de valor de métrica
ObservedRecallValues Métrica de recall medida no conjunto de dados especificado para backtesting. A API inclui 20 dessas medições, em diferentes pontos de operação, distribuídas uniformemente de 0 (não incluído) até 2 * partyInvestigationsPerPeriodHint. A API adiciona uma medição final de recall em partyInvestigationsPerPeriodHint.

Além do valor de recall, também fornecemos o numerador e o denominador como partiesCount e identifiedPartiesCount respectivamente.
{
  "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étrica de recall em um nível de tipologia de risco medida no conjunto de dados especificado para backtesting. As medições seguem a mesma abordagem de 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,
    },
  ],
}
Ausência

Proporção de valores ausentes em todos os atributos de cada família de atributos.

O ideal é que todas as famílias de recursos de IA de AML tenham uma falta próxima de 0. Pode haver exceções quando os dados dessas famílias de recursos não estão disponíveis para integração.

Uma mudança significativa nesse valor para qualquer família de recursos entre ajuste, treinamento, avaliação e previsão pode indicar inconsistência nos conjuntos de dados usados.

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

Métricas que mostram o desvio entre os conjuntos de dados de treinamento e previsão ou backtest. O desvio de família indica mudanças na distribuição de valores de atributos em uma família de atributos, ponderadas pela importância do atributo nessa família. O valor máximo de distorção indica a distorção máxima de qualquer recurso nessa família.

Os valores de assimetria variam de 0, representando nenhuma mudança significativa na distribuição de valores de atributos na família, a 1 para a mudança mais significativa. Um valor grande para o desvio da família ou o desvio máximo indica uma mudança significativa na estrutura dos dados que pode afetar a performance do modelo. A distorção de família assume o valor -1 quando nenhum recurso da família é usado pelo modelo.

Para valores de distorção grandes, faça uma destas ações:

  • Investigue mudanças nos dados usados por essa família de recursos (consulte os materiais de apoio sobre governança de modelos) e corrija problemas nos dados de entrada.
  • Treinar novamente um modelo com dados mais recentes

Defina limites para agir com base nos valores de distorção máxima e familiar observando a variação natural nas métricas de distorção ao longo de vários meses.

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