评估模型

回测结果可为您提供指定时间范围内模型性能的摘要。这可用于衡量模型在训练中所用时间范围内的性能,也可衡量一段时间内的性能是否下降。

如何回测

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

具体而言,您需要选择以下各项:

  • 用于回测的数据

    请指定数据集及其日期范围的结束时间。

    训练使用基于完整日历月(但不包括所选结束时间的月份)的标签和功能。如需了解详情,请参阅数据集时间范围

    指定用于回测的已加标签数据月数(即回测期数)。

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

    请参阅配置引擎

回测周期

backtestPeriods 字段指定在此模型的性能评估中使用特征和标签的连续日历月数。

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

  • 评估中使用的月份是指指定 endTime 之前的最近一个完整日历月。例如,如果 endTime2023-04-03T23:21:00ZbacktestPeriods5,则使用以下月份的标签:2023-03、2023-02、2023-01、2022-12 和 2022-11。
  • 在评估模型以准备用于生产环境时,您应该使用最新的可用数据进行回测。
  • 回测周期必须设置为不小于 3。回测期的两个月会留作重复提醒,其余的月则用于生成正向标签以进行性能评估。

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

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

或者,您也可以为模型创建预测结果,并自行开展模型性能的一方级分析。

回测输出

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

  • 模型与不同时间段的标签以及针对各种不同的调查量或风险得分阈值的表现

  • 数据集支持的特征系列的任何重大更改(在引擎调优、训练、评估和预测之间)

指标名称 指标说明 指标值示例
ObservedRecallValues 针对指定用于回测的数据集测量的召回率指标。该 API 包含 20 个在不同操作点的测量结果,它们从 0(不包括)到 2 * partyInvestigationsPerPeriodHint 均匀分布。该 API 会在 partyInvestigationsPerPeriodHint 处添加最终的召回率测量值。

{
  "recallValues": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "recallValue": 0.80,
      "scoreThreshold": 0.42,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "recallValue": 0.85,
      "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,
    },
  ],
}