评估模型

本页面适用于以下主要引擎版本分组中的引擎版本。如需查看其他引擎版本的页面,请使用本页面顶部的选择器。

总而言之,本页与 v004.010 相比有以下变化:

  • 添加了 partyCountExceedingThresholdPerPeriodHint 作为替代效果目标。
  • 简化了召回率指标,移除了回溯缓冲区,从而可以在所有指定的回测周期内进行更透明的评估。
  • ObservedRecallValues 输出现在包含一个新字段 partyCountExceedingThresholdPerPeriod

概览

回测结果会提供指定时间范围内模型表现的摘要。它们是通过预测回测期内的所有客户,并根据可用的风险事件评估模型性能来生成的。

回测结果可用于衡量模型在不同于训练所用时间范围内的性能,也可用于随时间推移检查性能下降情况。

如何进行回测

如需创建 BacktestResult 资源,请参阅创建和管理回测结果

具体而言,您需要选择以下内容:

  • 用于回测的数据

    指定数据集和数据集日期范围内的结束时间。

    训练使用基于完整自然月的标签和特征,最晚到所选结束时间所在的月份(但不包括该月份)。如需了解详情,请参阅数据集时间范围

  • 回测期

    指定用于回测的已标记数据的月份数(即回测周期数)。

  • 效果目标

    使用 PerformanceTarget 字段指定如何设置评估的运行点。您必须提供以下值之一:

    • partyInvestigationsPerPeriodHint:指定每月执行的大致调查次数。此选项使用稳态近似值来估算调查量。
    • partyCountExceedingThresholdPerPeriodHint:指定应达到或超过风险阈值的平均每月唯一身份方数量。此选项提供了一种更直接、更透明的方式来设置操作点。

    回测会在您指定的提示附近的一系列交易量下评估 AML AI 模型。如需了解详情,请参阅回测输出

  • 使用一致的数据集创建的模型

    请参阅创建模型

回测周期

backtestPeriods 字段用于指定在评估相应模型的性能时,要使用多少个连续日历月的特征和标签。

以下内容适用于回测数据:

  • 评估中使用的月份是指定 endTime 之前的最近完整日历月。例如,如果 endTime2023-04-15T23:21:00Z,且 backtestPeriods5,则使用以下月份的标签:2023-03、2023-02、2023-01、2022-12 和 2022-11。
  • 在评估模型以准备投入生产使用时,您应使用最新的可用数据进行回测。
  • 回测周期必须设置为 3 或更长。
  • 从引擎版本 v004.011 开始,所有指定的回测周期都将用于效果评估,因为简化的召回率指标不再需要回溯缓冲区来进行稳态近似。

  • 避免使用重叠的月份进行训练和回测,因为这可能会导致过拟合。确保回测结束时间和训练结束时间至少相隔 backtestPeriods。也就是说,

    (回测结果结束时间月份)>=(模型结束时间月份)+ backtestPeriods

您还可以选择为模型创建预测结果,并自行对模型效果进行方级分析。

回测输出

回测结果元数据包含以下指标。具体而言,这些指标可显示以下信息:

  • 模型在不同时间段内与标签相比的表现,以及在各种不同的操作点(调查量)或风险得分阈值下的表现。

  • 可用于评估数据集一致性的衡量指标(例如,通过比较不同操作中特征族的缺失值)

指标名称 指标说明 指标值示例
ObservedRecallValues 针对为回测指定的数据集测量的召回率指标。该 API 包含 20 项此类测量结果,这些结果处于不同的操作点,均匀分布在 0(不含)到 2 * partyInvestigationsPerPeriodHintpartyCountExceedingThresholdPerPeriodHint 之间,具体取决于这两个字段中哪个用作输入来创建 BacktestResults。该 API 会在指定的提示处添加最终召回率测量结果。

除了召回率值之外,我们还分别以 partiesCountidentifiedPartiesCount 的形式提供分子和分母。我们还以 partyCountExceedingThresholdPerPeriod 的形式提供超过阈值的当事人数量。
{
  "recallValues": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "partyCountExceedingThresholdPerPeriod": 10000,
      "recallValue": 0.80,
      "partiesCount": 60,
      "identifiedPartiesCount": 48,
      "scoreThreshold": 0.42,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "recallValue": 0.85,
      "partiesCount": 60,
      "identifiedPartiesCount": 51,
      "scoreThreshold": 0.30,
    },
  ],
}
ObservedRecallValuesPerTypology 在为回测指定的数据集上测量的风险类型级层召回率指标。衡量方式与 ObservedRecallValues 相同。
{
  "recallValuesPerTypology": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "partyCountExceedingThresholdPerPeriod": 10000,
      "riskTypology": "risk_typology_id_1",
      "recallValue": 0.80,
      "partiesCount": 60,
      "identifiedPartiesCount": 48,
      "scoreThreshold": 0.42,
    },
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "riskTypology": "risk_typology_id_1",
      "recallValue": 0.90,
      "partiesCount": 60,
      "identifiedPartiesCount": 54,
      "scoreThreshold": 0.30,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "partyCountExceedingThresholdPerPeriod": 16000,
      "riskTypology": "risk_typology_id_2",
      "recallValue": 0.75,
      "partiesCount": 4
      "identifiedPartiesCount": 3,
      "scoreThreshold": 0.30,
    },
  ],
}
缺失性

每个特征系列中所有特征的缺失值占比。

理想情况下,所有 AML AI 功能系列都应具有接近 0 的缺失率。在某些情况下,由于无法获取这些功能系列的基础数据,因此无法进行集成。

如果任何特征系列在调优、训练、评估和预测之间的此值发生显著变化,则可能表明所使用的数据集存在不一致性。

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

显示训练数据集与预测数据集或回测数据集之间偏差的指标。家庭偏度表示特征系列中特征值的分布变化,并根据特征在该系列中的重要性进行加权。最大偏度表示相应系列中任何特征的最大偏度。

偏度值的范围为 0(表示相应功能系列的值分布没有显著变化)到 1(表示变化最为显著)。如果任一偏差(系列偏差或最大偏差)的值较大,则表示数据结构发生了重大变化,可能会影响模型性能。如果模型未使用相应系列中的任何特征,则系列偏度取值为 -1。

对于较大的偏度值,您应执行以下操作之一:

  • 调查该功能系列所用数据的变化(请参阅模型治理支持材料),并修复任何输入数据问题
  • 使用最新数据重新训练模型

您应根据对偏差指标在几个月内的自然变化的观察,为处理家庭和最大偏差值设置阈值。

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