Modell bewerten

Backtest-Ergebnisse liefern Ihnen eine Zusammenfassung der Modellleistung in einem bestimmten Zeitraum. Dies kann verwendet werden, um die Modellleistung in einem anderen Zeitraum als dem für das Training zu messen oder im Laufe der Zeit auf Leistungseinbußen zu prüfen.

Backtest durchführen

Informationen zum Erstellen einer BacktestResult-Ressource finden Sie unter Backtest-Ergebnisse erstellen und verwalten.

Insbesondere müssen Sie Folgendes auswählen:

  • Für die Backtests zu verwendende Daten:

    Geben Sie einen Datensatz und eine Endzeit innerhalb des Datumsbereichs des Datensatzes an.

    Für das Training werden Labels und Features verwendet, die auf vollständigen Kalendermonaten bis zum Monat der ausgewählten Endzeit basieren. Weitere Informationen finden Sie unter Dataset-Zeiträume.

    Geben Sie an, wie viele Monate mit Daten, die mit Labels versehen sind, für das Backtesting verwendet werden sollen (d. h. die Anzahl der Backtest-Zeiträume).

  • Ein Modell, das mit einem konsistenten Dataset erstellt wurde:

    Weitere Informationen finden Sie unter Engine konfigurieren.

Backtest-Perioden

Das Feld backtestPeriods gibt an, aus wie vielen aufeinanderfolgenden Kalendermonaten Features und Labels bei der Leistungsbewertung dieses Modells verwendet werden sollen.

Für Backtest-Daten gilt Folgendes:

  • Die für die Bewertung verwendeten Monate sind die letzten vollständigen Kalendermonate vor dem angegebenen endTime. Wenn endTime beispielsweise 2023-04-03T23:21:00Z ist und backtestPeriods 5 ist, werden die Labels aus den folgenden Monaten verwendet: 2023-03, 2023-02, 2023-01, 2022-12 und 2022-11.
  • Sie sollten die neuesten verfügbaren Daten für Backtesting verwenden, wenn Sie ein Modell in Vorbereitung auf den Einsatz in der Produktion bewerten.
  • Backtest-Zeiträume müssen auf mindestens 3 festgelegt werden. Zwei Monate des Backtest-Zeitraums sind für wiederholte Benachrichtigungen reserviert. Die verbleibenden Monate werden verwendet, um positive Labels für die Leistungsbewertung zu generieren.

  • Vermeiden Sie überlappende Monate für Training und Backtests, da dies eine Überanpassung riskiert. Backtest und Training müssen mindestens backtestPeriods voneinander entfernt sein. Das heißt:

    (Ende der Backtest-Ergebnisse) >= (Modell-Endzeit Monat) + backtestPeriods

Optional können Sie für ein Modell auch Vorhersageergebnisse erstellen und die Modellleistung auf Partyebene analysieren.

Backtest der Ausgabe

Die Metadaten der Backtest-Ergebnisse enthalten die folgenden Messwerte. Diese Messwerte zeigen insbesondere Folgendes:

  • Die Leistung des Modells im Vergleich mit Labels aus einem separaten Zeitraum und für verschiedene Untersuchungsvolumen oder Risikobewertungsgrenzwerte

  • Alle größeren Änderungen an den vom Dataset unterstützten Featurefamilien (zwischen Suchmaschinenoptimierung, Training, Bewertung und Vorhersage)

Messwertname Messwertbeschreibung Beispiel für Messwert
ObservedRecallValues Recall-Messwert, gemessen in dem Dataset, das für das Backtesting angegeben wurde. Die API umfasst 20 dieser Messungen an verschiedenen Betriebspunkten, gleichmäßig verteilt von 0 (nicht enthalten) bis 2 * partyInvestigationsPerPeriodHint. Die API fügt bei partyInvestigationsPerPeriodHint eine endgültige Recall-Messung hinzu.

{
  "recallValues": [
    {
      "partyInvestigationsPerPeriod": 5000,
      "recallValue": 0.80,
      "scoreThreshold": 0.42,
    },
    ...
    ...
    {
      "partyInvestigationsPerPeriod": 8000,
      "recallValue": 0.85,
      "scoreThreshold": 0.30,
    },
  ],
}
Fehlt

Anteil der fehlenden Werte bei allen Funktionen in jeder Featurefamilie.

Idealerweise sollten alle AML AI-Featurefamilien eine Fehlheit nahe 0 haben. Ausnahmen können auftreten, wenn die Daten, die diesen Featurefamilien zugrunde liegen, nicht integriert werden können.

Eine erhebliche Änderung dieses Werts für eine Featurefamilie zwischen Abstimmung, Training, Bewertung und Vorhersage kann auf Inkonsistenzen in den verwendeten Datasets hinweisen.


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

Messwerte, die Abweichungen zwischen Trainings- und Vorhersage- oder Backtest-Datasets zeigen. Die Familienabweichung gibt Änderungen in der Verteilung von Featurewerten innerhalb einer Featurefamilie an, gewichtet nach Wichtigkeit des Features innerhalb dieser Familie. Maximale Verzerrung gibt die maximale Verzerrung eines Elements innerhalb dieser Familie an.

Die Werte der Verzerrung reichen von 0, was keine signifikante Änderung der Werteverteilung der Merkmale in der Familie darstellt, bis 1 für die wichtigste Änderung. Ein hoher Wert entweder für die Familienabweichung oder für die maximale Verzerrung weist auf eine erhebliche Änderung in der Struktur Ihrer Daten in einer Weise hin, die sich auf die Modellleistung auswirken kann. Für die Familienverzerrung wird der Wert -1 angenommen, wenn vom Modell keine Features in der Familie verwendet werden.

Bei großen verzerrten Werten sollten Sie einen der folgenden Schritte ausführen:

  • Untersuchen Sie Änderungen in den von dieser Feature-Familie verwendeten Daten (siehe unterstützende Materialien zur Modell-Governance) und beheben Sie alle Probleme mit Eingabedaten.
  • Modell mit aktuelleren Daten neu trainieren

Sie sollten Grenzwerte für die Reaktion auf Familien- und maximale Verzerrungswerte basierend auf der Beobachtung der natürlichen Schwankungen der Abweichungsmetriken über mehrere Monate festlegen.


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