Avaliar um modelo

Esta página é válida para as versões do mecanismo nos seguintes grupos principais de versões do mecanismo. 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):

  • A métrica ObservedRecallValuesPerTypology foi adicionada à saída do teste de regressão.
  • 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. Elas são geradas pela previsão de todos os clientes em um período de backtest e pela 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 do desempenho.

Como fazer backtest

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

Mais especificamente, você precisa selecionar o seguinte:

  • Os dados a serem usados para o backtest:

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

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

    Especifique quantos meses de dados rotulados usar para o backtest, ou seja, o número de períodos 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 do calendário consecutivos usar para usar recursos e rótulos na avaliação de performance desse modelo.

As seguintes regras se aplicam aos dados de teste de regressão:

  • Os meses usados na avaliação são os meses 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 meses a seguir serão usados: 2023-03, 2023-02, 2023-01, 2022-12 e 2022-11.
  • Use os dados mais recentes disponíveis para o 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 superajuste. Verifique se os horários de término do backtest e do treinamento estão pelo menos backtestPeriods de distância. Ou seja,

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

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

Saída do backtest

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

  • Como o modelo se sai 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

  • Medidas 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 da métrica
ObservedRecallValues Métrica de recall medida no conjunto de dados especificado para o backtest. A API inclui 20 dessas medições, em diferentes pontos operacionais, distribuídas uniformemente de 0 (não incluído) até 2 * partyInvestigationsPerPeriodHint. A API adiciona uma métrica de recuperação final em partyInvestigationsPerPeriodHint.

Além do valor de recuperação, 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 medido no conjunto de dados especificado para o 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

Porcentagem de valores ausentes em todos os atributos em 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. Exceções podem ocorrer quando os dados subjacentes 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 o ajuste, o treinamento, a avaliação e a 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 mostrando a distorção entre os conjuntos de dados de treinamento e previsão ou de teste retrospectivo. A distorção de família indica mudanças na distribuição dos valores de recursos em uma família de recursos, ponderada pela importância do recurso nessa família. A distorção máxima indica a distorção máxima de qualquer recurso dessa família.

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

Para valores de distorção grandes, faça o seguinte:

  • Investigar as mudanças nos dados usados por essa família de recursos (consulte os materiais de suporte à governança do modelo) e corrigir os problemas de dados de entrada
  • Treinar novamente um modelo com dados mais recentes

Defina limites para agir em valores de família e de distorção máxima com base na variação natural das 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,
    },
  ],
}