总而言之,本页与 v004.010 相比有以下变化:
- 添加了
partyCountExceedingThresholdPerPeriodHint作为替代效果目标。 - 简化了召回率指标,移除了回溯缓冲区,从而可以在所有指定的回测周期内进行更透明的评估。
ObservedRecallValues输出现在包含一个新字段partyCountExceedingThresholdPerPeriod。
概览
回测结果会提供指定时间范围内模型表现的摘要。它们是通过预测回测期内的所有客户,并根据可用的风险事件评估模型性能来生成的。
回测结果可用于衡量模型在不同于训练所用时间范围内的性能,也可用于随时间推移检查性能下降情况。
如何进行回测
如需创建 BacktestResult 资源,请参阅创建和管理回测结果。
具体而言,您需要选择以下内容:
用于回测的数据:
指定数据集和数据集日期范围内的结束时间。
训练使用基于完整自然月的标签和特征,最晚到所选结束时间所在的月份(但不包括该月份)。如需了解详情,请参阅数据集时间范围。
回测期:
指定用于回测的已标记数据的月份数(即回测周期数)。
效果目标:
使用 PerformanceTarget 字段指定如何设置评估的运行点。您必须提供以下值之一:
partyInvestigationsPerPeriodHint:指定每月执行的大致调查次数。此选项使用稳态近似值来估算调查量。partyCountExceedingThresholdPerPeriodHint:指定应达到或超过风险阈值的平均每月唯一身份方数量。此选项提供了一种更直接、更透明的方式来设置操作点。
回测会在您指定的提示附近的一系列交易量下评估 AML AI 模型。如需了解详情,请参阅回测输出。
使用一致的数据集创建的模型:
请参阅创建模型。
回测周期
backtestPeriods 字段用于指定在评估相应模型的性能时,要使用多少个连续日历月的特征和标签。
以下内容适用于回测数据:
- 评估中使用的月份是指定
endTime之前的最近完整日历月。例如,如果endTime为2023-04-15T23:21:00Z,且backtestPeriods为5,则使用以下月份的标签:2023-03、2023-02、2023-01、2022-12 和 2022-11。 - 在评估模型以准备投入生产使用时,您应使用最新的可用数据进行回测。
- 回测周期必须设置为
3或更长。 从引擎版本 v004.011 开始,所有指定的回测周期都将用于效果评估,因为简化的召回率指标不再需要回溯缓冲区来进行稳态近似。
避免使用重叠的月份进行训练和回测,因为这可能会导致过拟合。确保回测结束时间和训练结束时间至少相隔
backtestPeriods。也就是说,(回测结果结束时间月份)>=(模型结束时间月份)+
backtestPeriods
您还可以选择为模型创建预测结果,并自行对模型效果进行方级分析。
回测输出
回测结果元数据包含以下指标。具体而言,这些指标可显示以下信息:
| 指标名称 | 指标说明 | 指标值示例 |
|---|---|---|
| ObservedRecallValues | 针对为回测指定的数据集测量的召回率指标。该 API 包含 20 项此类测量结果,这些结果处于不同的操作点,均匀分布在 0(不含)到 2 * partyInvestigationsPerPeriodHint 或 partyCountExceedingThresholdPerPeriodHint 之间,具体取决于这两个字段中哪个用作输入来创建 BacktestResults。该 API 会在指定的提示处添加最终召回率测量结果。除了召回率值之外,我们还分别以 partiesCount 和 identifiedPartiesCount 的形式提供分子和分母。我们还以 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,
},
],
}
|