Avaliar um modelo

Os resultados do backtest fornecem um resumo do desempenho do modelo em um período especificado. Isso pode ser usado para medir o desempenho do modelo em um período diferente daquele usado no treinamento ou também ao longo do tempo para verificar a degradação do desempenho.

Como fazer um backtest

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

Especificamente, 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 do conjunto de dados.

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

    Especifique por quantos meses de dados rotulados serão usados para backtesting, ou seja, o número de períodos de teste.

  • Um modelo criado usando um conjunto de dados consistente:

    Consulte Configurar um mecanismo.

Períodos de backtest

O campo backtestPeriods especifica por quantos meses consecutivos usar recursos e rótulos na avaliação de desempenho desse modelo.

As seguintes condições se aplicam aos dados de backtest:

  • Os meses usados na avaliação são os meses completos mais recentes antes do endTime especificado. Por exemplo, se endTime for 2023-04-03T23: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 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 contabilizar alertas repetidos, e os meses restantes são usados para gerar rótulos positivos para avaliação de desempenho.

  • 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 um intervalo de pelo menos backtestPeriods entre eles. Ou seja,

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

Outra opção é criar resultados de previsão para um modelo e conduzir suas próprias análises no nível da parte do desempenho do modelo.

Saída de backtest

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

  • O desempenho do modelo em comparação com rótulos de um período separado e com vários volumes de investigação diferentes ou limites de pontuação de risco.

  • Todas as grandes alterações em que as famílias de atributos são compatíveis com o conjunto de dados (entre ajuste de mecanismo, treinamento, avaliação e previsão)

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 medida de recall final em partyInvestigationsPerPeriodHint.

{
  "recallValues": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "recallValue": 0.80,
      "scoreThreshold": 0.42,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "recallValue": 0.85,
      "scoreThreshold": 0.30,
    },
  ],
}
Falta

Parcela de valores ausentes em todos os atributos em cada família de atributos.

O ideal é que todas as famílias de recursos de IA antilavagem de dinheiro tenham um valor ausente próximo de 0. Podem ocorrer exceções quando os dados subjacentes a essas famílias de recursos não estiverem disponíveis para integração.

Uma alteração significativa nesse valor para qualquer família de atributos 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 que mostram a distorção entre conjuntos de dados de treinamento e previsão ou backtest. O desvio da família indica mudanças na distribuição dos valores dos atributos em uma família de atributos, ponderadas pela importância do atributo dentro dessa família. O desvio máximo indica a distorção máxima de qualquer atributo dentro dessa família.

Os valores de desvio variam de 0, representando nenhuma mudança significativa na distribuição de valores de atributos na família, até 1 para a alteração mais significativa. Um valor grande para a distorção familiar ou máxima indica uma mudança significativa na estrutura dos dados de uma maneira que pode afetar o desempenho do modelo. O desvio da família recebe o valor -1 quando nenhum atributo da família é usado pelo modelo.

Para valores de desvio grandes, siga um destes procedimentos:

  • Investigar alterações nos dados usados por essa família de atributos (consulte os materiais de suporte de governança do modelo) e corrigir 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 da família 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,
    },
  ],
}