Avalie um modelo

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

Em resumo, seguem-se as alterações das versões do motor v003 para v004 (até v004.008):

  • Métrica ObservedRecallValuesPerTypology adicionada ao resultado do teste retroativo.
  • Foram adicionados partiesCount e identifiedPartiesCount ao valor da métrica ObservedRecallValues.

Vista geral

Os resultados dos testes retroativos oferecem um resumo do desempenho do modelo num período especificado. São gerados através da previsão de todos os clientes num período de teste retrospetivo e da avaliação do desempenho do modelo em função dos eventos de risco disponíveis.

Pode usar os resultados dos testes retroativos para medir o desempenho do modelo num intervalo de tempo separado do usado na preparação ou também ao longo do tempo para verificar a degradação do desempenho.

Como fazer testes retroativos

Para criar um recurso BacktestResult, consulte o artigo Criar e gerir resultados de testes retroativos.

Em particular, tem de selecionar o seguinte:

  • Os dados a usar para os testes retroativos:

    Especifique um conjunto de dados e uma hora de fim dentro do intervalo de datas do conjunto de dados.

    O treino usa etiquetas e funcionalidades com base em meses do calendário completos até, mas não incluindo, o mês da hora de fim selecionada. Para mais informações, consulte Intervalos de tempo do conjunto de dados.

    Especifique quantos meses de dados etiquetados usar para testes retroativos (ou seja, o número de períodos de testes retroativos).

    Especifique o número de partes a avaliar como parte do teste através do campo PerformanceTarget.

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

    Especifique partyInvestigationsPerPeriodHint. Os testes retroativos avaliam o modelo de IA de AML num intervalo de volumes de investigações mensais, com base no valor especificado. Para mais informações, consulte o artigo Resultados do teste retroativo.

  • Um modelo criado com um conjunto de dados consistente:

    Consulte o artigo Crie um modelo.

Períodos de testes retroativos

O campo backtestPeriods especifica quantos meses civis consecutivos usar funcionalidades e etiquetas na avaliação do desempenho deste modelo.

O seguinte aplica-se aos dados de testes retroativos:

  • Os meses usados na avaliação são os meses civis completos mais recentes anteriores ao endTime especificado. Por exemplo, se endTime for 2023-04-15T23:21:00Z e backtestPeriods for 5, são usadas as etiquetas dos seguintes meses: 2023-03, 2023-02, 2023-01, 2022-12 e 2022-11.
  • Deve usar os dados disponíveis mais recentes para os testes retroativos quando avalia um modelo em preparação para a utilização em produção.
  • Os períodos de teste retroativo têm de ser definidos como 3 ou mais. Dois meses do período de teste retrospetivo são reservados para ter em conta os alertas repetidos, e os meses restantes são usados para gerar etiquetas positivas para a avaliação do desempenho.

  • Evite usar meses sobrepostos para a preparação e os testes retroativos, uma vez que isso corre o risco de sobreajuste. Certifique-se de que as horas de fim do teste retroativo e da preparação de modelo estão separadas por, pelo menos, backtestPeriods. Ou seja,

    (backtest results end time month) >= (model end time month) + backtestPeriods

Opcionalmente, também pode criar resultados de previsão para um modelo e realizar as suas próprias análises ao nível da empresa do desempenho do modelo.

Resultado do teste retroativo

Os metadados dos resultados do teste retrospetivo contêm as seguintes métricas. Em particular, estas métricas mostram-lhe o seguinte:

  • O desempenho do modelo em comparação com as etiquetas de um período separado e para uma variedade de volumes de investigação diferentes ou limiares 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 dados em falta de famílias de caraterísticas 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 testes retrospetivos. A API inclui 20 destas medições, em diferentes pontos de funcionamento, distribuídas uniformemente de 0 (não incluído) até 2 * partyInvestigationsPerPeriodHint. A API adiciona uma medição de recordação final às partyInvestigationsPerPeriodHint.

Juntamente com o valor de recall, também fornecemos o numerador e o denominador como partiesCount e identifiedPartiesCount respetivamente.
{
  "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 ao nível da tipologia de risco medida no conjunto de dados especificado para testes retroativos. As medições seguem a mesma abordagem 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,
    },
  ],
}
Dados em falta

Percentagem de valores em falta em todas as funcionalidades de cada família de funcionalidades.

Idealmente, todas as famílias de funcionalidades de IA de AML devem ter uma Missingness próxima de 0. Podem ocorrer exceções em que os dados subjacentes dessas famílias de funcionalidades não estão disponíveis para integração.

Uma alteração significativa neste valor para qualquer família de funcionalidades entre a otimização, a preparação, 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,
    },
  ],
}
Skew

Métricas que mostram a distorção entre os conjuntos de dados de preparação e previsão ou de teste retroativo. A distorção familiar indica alterações na distribuição dos valores das caraterísticas numa família de caraterísticas, ponderadas pela importância da caraterística nessa família. A variação máxima indica a variação máxima de qualquer caraterística nessa família.

Os valores de assimetria variam entre 0, que representa nenhuma alteração significativa na distribuição de valores das caraterísticas na família, e 1 para a alteração mais significativa. Um valor elevado para a variação da família ou a variação máxima indica uma alteração significativa na estrutura dos seus dados de uma forma que pode afetar o desempenho do modelo. O desvio da família assume o valor -1 quando o modelo não usa nenhuma funcionalidade da família.

Para valores de desvio elevados, deve fazer uma das seguintes ações:

  • Investigue as alterações nos dados usados por essa família de funcionalidades (consulte os materiais de apoio da gestão de modelos) e corrija quaisquer problemas de dados de entrada
  • Voltar a treinar um modelo com dados mais recentes

Deve definir limites para agir com base nos valores de desvio máximo e familiar, com base na observação da variação natural nas métricas de desvio 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,
    },
  ],
}