エンジン バージョン v003 から v004(v004.008 まで)への変更点の概要は次のとおりです。
- バックテストの出力に
ObservedRecallValuesPerTypology指標を追加しました。 ObservedRecallValues指標値にpartiesCountとidentifiedPartiesCountを追加しました。
概要
バックテスト結果には、指定された期間のモデルのパフォーマンスの概要が表示されます。これらは、バックテスト期間内のすべての顧客を予測し、利用可能なリスクイベントに対してモデルのパフォーマンスを評価することで生成されます。
バックテストの結果を使用して、トレーニングで使用された期間とは別の期間でモデルのパフォーマンスを測定したり、時間の経過とともにパフォーマンスの低下を確認したりできます。
バックテストの方法
BacktestResult リソースを作成するには、バックテスト結果を作成して管理するをご覧ください。
特に、以下を選択する必要があります。
バックテストに使用するデータ:
データセットと、データセットの期間内での終了時間を指定します。
トレーニングでは、選択した終了時間の暦月(ただしその歴月を含まない)までの完全な暦月に基づくラベルと特徴が使用されます。詳細については、データセットの期間をご覧ください。
バックテストに使用するラベル付きデータの月数(つまりバックテスト期間)を指定します。
PerformanceTarget フィールドを使用して、テストの一部として評価するパーティの数を指定します。
モデルに基づいて予想される調査量:
partyInvestigationsPerPeriodHintを指定します。バックテストでは、指定した量に基づいて、さまざまな月間調査量で AML AI モデルを評価します。詳細については、バックテストの出力をご覧ください。一貫性のあるデータセットを使用して作成されたモデル:
モデルを作成するをご覧ください。
バックテスト期間
backtestPeriods フィールドには、このモデルのパフォーマンス評価で特徴とラベルを使用する連続する歴月を指定します。
バックテスト データには次のことが当てはまります。
- 評価に使用される月は、指定された
endTimeより前の直近の完全な暦月です。たとえば、endTimeが2023-04-15T23:21:00ZでbacktestPeriodsが5の場合、次の月が使用されます。: 2023-03、2023-02、2023-01、2022-12、2022-11。 - 本番環境での使用に備えてモデルを評価する場合は、利用可能な最新のデータを使用してバックテストを行う必要があります。
バックテスト期間は
3以上に設定する必要があります。バックテスト期間の 2 か月間はアラートの繰り返しを考慮するために予約され、残りの月はパフォーマンス評価用の正のラベルを生成するために使用されます。トレーニングとバックテストに重複する月を使用しないでください。オーバーフィットのリスクがあります。バックテストとトレーニングの終了時刻が
backtestPeriods以上離れていることを確認します。つまり、次のようになります。(バックテスト結果の終了時間の月)>=(モデルの終了時間の月)+
backtestPeriods
必要に応じて、モデルの予測結果を作成し、独自の当事者レベルのモデル パフォーマンスを分析することもできます。
バックテストの出力
バックテスト結果のメタデータには、次の指標が含まれています。特に、これらの指標は次のことを示します。
別の期間のラベルや、さまざまな調査量やリスクスコアのしきい値と比較して、モデルがどのように機能するか
データセットの整合性を評価するために使用できる測定値(たとえば、異なるオペレーションのフィーチャー ファミリーの欠損値の比較など)
| 指標名 | 指標の説明 | 指標値の例 |
|---|---|---|
| ObservedRecallValues | バックテストに指定されたデータセットで測定された再現率の指標。API には、これらの測定値のうち 20 個が含まれ、異なる動作ポイントで 0(含まれていない)から 2 * partyInvestigationsPerPeriodHint まで均等に分配されます。この API は、最終的な再現率の測定値を partyInvestigationsPerPeriodHint で追加します。再現率の値とともに、分子と分母をそれぞれ partiesCount と identifiedPartiesCount として提供します。 |
{
"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 | バックテストに指定されたデータセットで測定された、リスク分類レベルの再現率の指標。測定は 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,
},
],
}
|
| 欠損 |
各特徴ファミリーのすべての特徴の欠損値の割合。 理想的には、すべての 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,
},
],
}
|