Metrik zur Bewertung der Datenkonsistenz fällt ab

Letzte Aktualisierung: 14. Feb. 2025
Metrik zur Bewertung der Datenkonsistenz fällt ab

Die Kennzahl für die Datenkonsistenz vergleicht Laufzeittransaktionen mit den Transaktionsmustern in den Trainingsdaten, um Inkonsistenzen zu identifizieren.

Metrikdetails

Die Abnahme der Datenkonsistenz ist eine Driftbewertungsmetrik, die dabei helfen kann, festzustellen, wie gut Ihr Modell die Ergebnisse im Laufe der Zeit vorhersagt.

Bereich

Der Rückgang der Datenkonsistenzmetrik bewertet nur Modelle des maschinellen Lernens.

  • Arten von KI-Ressourcen : Modelle für maschinelles Lernen
  • Art des Problems beim maschinellen Lernen :
    • Binärklassifikation
    • Klassifikation in mehrere Klassen

Ergebnisse und Werte

Der Rückgang des Metrikwerts für die Datenkonsistenz gibt an, ob Transaktionen inkonsistent sind, indem sie gegen Trainingsdatenmuster verstoßen.

Wertebereich : 0.0-1.0

Evaluierungsprozess

Jede Transaktion wird auf Dateninkonsistenz analysiert, indem die Laufzeittransaktionen mit den Mustern der Transaktionen in den Trainingsdaten verglichen werden. Wenn eine Transaktion gegen eines oder mehrere der Trainingsdatenmuster verstößt, wird die Transaktion als inkonsistent identifiziert. Um den Rückgang der Datenkonsistenz zu berechnen, wird die Gesamtzahl der Transaktionen durch die Anzahl der Transaktionen geteilt, die als inkonsistent identifiziert wurden. Wenn beispielsweise 10 Transaktionen aus einer Menge von 100 Transaktionen als inkonsistent identifiziert werden, beträgt der Rückgang der Datenkonsistenz 10 %.

Um Dateninkonsistenzen zu erkennen, wird ein Schema generiert, wenn Sie die Drift-Erkennung konfigurieren, indem Sie eine constraints.json -Datei erstellen, in der die Regeln festgelegt sind, die Ihre Eingabedaten befolgen müssen. Das Schema wird verwendet, um Ihre Daten auf Abweichungen zu überprüfen, indem Ausreißer identifiziert werden, die nicht innerhalb der festgelegten Grenzen liegen. Das Schema wird als JSON-Objekt mit den Arrays columns und constraints angegeben, die die Trainingsdaten beschreiben, wie im folgenden Beispiel dargestellt:

{
      "columns": [
        {
            "name": "CheckingStatus",
            "dtype": "categorical",
            "count": 5000,
            "sparse": false,
            "skip_learning": false
        },
      "constraints": [
        {
            "name": "categorical_distribution_constraint",
            "id": "f0476d40-d7df-4095-9be5-82564511432c",
            "kind": "single_column",
            "columns": [
                "CheckingStatus"
            ],
            "content": {
                "frequency_distribution": {
                    "0_to_200": 1304,
                    "greater_200": 305,
                    "less_0": 1398,
                    "no_checking": 1993
                }
            }
        }

Für die Schlüssel name, dtype, count, sparse und skip_learning werden Werte angegeben, um eine Spalte zu beschreiben.

Die Schlüssel name und dtype beschreiben die Beschriftung und den Datentyp für eine Spalte. Die folgenden Werte, die mit dem Schlüssel dtype angegeben werden, beschreiben den Datentyp:

  • categorical
  • numeric_discrete
  • numeric_continuous

Der angegebene Datentyp bestimmt, ob weitere statistische Eigenschaften mit Schlüsseln beschrieben werden, wie z. B. min, max und mean. Wenn beispielsweise der Datentyp numeric_discrete oder numeric_continuous angegeben wird, werden die Eigenschaften wie im folgenden Beispiel beschrieben:

{
            "name": "LoanDuration",
            "dtype": "numeric_discrete",
            "count": 5000,
            "sparse": false,
            "skip_learning": false,
            "min": 4,
            "max": 53,
            "mean": 21.28820697954272,
            "std": 10.999096037050032,
            "percentiles": [
                13.0,
                21.0,
                29.0
            ],
            "count_actual": 4986
        }

Der Schlüssel count gibt die Anzahl der Zeilen für eine Spalte an. Boolesche Werte werden angegeben, um die Schlüssel sparse und skip_learning für eine Spalte zu beschreiben. Der Schlüssel sparse gibt an, ob eine Spalte dünn besetzt ist, und der Schlüssel skip_learning gibt an, ob eine Spalte das Lernen einer der im Schema beschriebenen Regeln überspringt. Eine Spalte ist spärlich, wenn die Perzentile 25th und 75th denselben Wert aufweisen.

Der Schlüssel name gibt den Beschränkungstyp an. Die folgenden Werte werden zur Beschreibung des Beschränkungstyps angegeben:

  • categorical_distribution_constraint
  • numeric_range_constraint
  • numeric_distribution_constraint
  • catnum_range_constraint
  • catnum_distribution_constraint
  • catcat_distribution_constraint

Der Schlüssel id identifiziert Einschränkungen mit einer universell eindeutigen Kennung (UUID). Der Schlüssel kind gibt an, ob es sich bei der Einschränkung um eine single_column - oder two-column -Einschränkung handelt.

Der Schlüssel columns gibt eine Reihe von Spaltennamen an. Wenn eine Einschränkung für single_column mit dem Schlüssel kind angegeben wird, enthält das Array einen Wert, der mit der Spalte korreliert, die Sie beschreiben möchten. Wenn eine two-column -Einschränkung mit dem kind -Schlüssel angegeben wird, enthält das Array Werte, die mit Spalten korrelieren, die zugehörige Daten enthalten.

Der Schlüssel content gibt Attribute an, die die statistischen Merkmale Ihrer Daten beschreiben. Der mit dem Schlüssel name angegebene Einschränkungstyp bestimmt, welches Attribut im Schlüssel content angegeben wird, wie in der folgenden Tabelle dargestellt:

Attribut Einschränkungen
häufigkeitsverteilung kategorische_Verteilungsbeschränkung
Bereiche numerische_Bereichsbeschränkung, Kategorie-Nummernbereichsbeschränkung
Verteilung numerische_Verteilungsbeschränkung, Kategorie-Nummer_Verteilungsbeschränkung
seltene Kombinationen catcat_distribution_constraint
quelltextspalte catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint
target_column catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint

In den folgenden Abschnitten finden Sie Beispiele dafür, wie die einzelnen Beschränkungstypen angegeben werden:

Kategorische Verteilungsbeschränkung

        {
            "name": "categorical_distribution_constraint",
            "id": "f0476d40-d7df-4095-9be5-82564511432c",
            "kind": "single_column",
            "columns": [
                "CheckingStatus"
            ],
            "content": {
                "frequency_distribution": {
                    "0_to_200": 1304,
                    "greater_200": 305,
                    "less_0": 1398,
                    "no_checking": 1993
                }
            }
        }

In den Trainingsdaten enthält die Spalte CheckingStatus vier Werte, die mit dem Attribut frequency_distribution angegeben werden. Das Attribut frequency_distribution gibt die Häufigkeitswerte mit Werten für Kategorien an, wie z. B. 0_to_200. Wenn in den Nutzlastdaten Datensätze gefunden werden, die Werte angeben, die sich von den Attributwerten von frequency_distribution unterscheiden, werden die Datensätze als Abweichung identifiziert.

Einschränkung des numerischen Bereichs

   {
            "name": "numeric_range_constraint",
            "id": "79f3a1f5-30a1-4c7f-91a0-1613013ee802",
            "kind": "single_column",
            "columns": [
                "LoanAmount"
            ],
            "content": {
                "ranges": [
                    {
                        "min": 250,
                        "max": 11676,
                        "count": 5000
                    }
                ]
            }
        }

Die Spalte " LoanAmount " enthält Mindest- und Höchstwerte, die mit dem Attribut " ranges " angegeben werden, um einen Bereich für die Trainingsdaten festzulegen. Das Attribut ranges gibt die Bereiche hoher Dichte in der Spalte an. Bereiche, die in den Trainingsdaten selten vorkommen, werden nicht berücksichtigt. Wenn in den Nutzlastdaten Datensätze gefunden werden, die nicht in den Bereich und einen vordefinierten Puffer passen, werden die Datensätze als Abweichung identifiziert.

Numerische Verteilungsbeschränkung

{
            "name": "numeric_distribution_constraint",
            "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
            "kind": "single_column",
            "columns": [
                "LoanAmount"
            ],
            "content": {
                "distribution": {
                        "name": "norm",
                        "parameters": {
                            "loc": 3799.62,
                            "scale": 1920.0640064678398
                        },
                        "p-value": 0.22617155797563282
                }
            }
        }

Die Spalte LoanAmount enthält Werte, die mit dem Attribut distribution angegeben werden, um eine Normalverteilung für die Trainingsdaten festzulegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die nicht in die Normalverteilung passen, werden die Datensätze als Abweichung identifiziert. Die Verteilungen, in die sie eingepasst werden, sind Gleichverteilung, Exponentialverteilung oder Normalverteilung. Wenn keine Datensätze gefunden werden, die in diese Verteilungen passen, wird diese Einschränkung nicht gelernt.

Kategorisch – kategorische Verteilungsbeschränkung

    {
            "name": "catcat_distribution_constraint",
            "id": "99468600-1924-44d9-852c-1727c9c414ee",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "CreditHistory"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "CreditHistory",
                "rare_combinations": [
                    {
                        "source_value": "no_checking",
                        "target_values": [
                            "no_credits"
                        ]
                    }
                ]
            }
        }

Für die Spalten CheckingStatus und CreditHistory gibt das Attribut rare_combinations eine Kombination von Werten an, die in den Trainingsdaten selten vorkommen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die die Kombination enthalten, werden die Datensätze als Drift identifiziert.

Kategorisch-numerische Bereichsbeschränkung

        {
            "name": "catnum_range_constraint",
            "id": "f252033c-1635-4974-8976-3f7904d0c37d",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "LoanAmount"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "LoanAmount",
                "ranges": {
                    "no_checking": [
                        {
                            "min": 250,
                            "max": 11676,
                            "count": 1993
                        }
                    ],
                    "less_0": [
                        {
                            "min": 250,
                            "max": 7200,
                            "count": 1398
                        }
                    ],
                    "0_to_200": [
                        {
                            "min": 250,
                            "max": 9076,
                            "count": 1304
                        }
                    ],
                    "greater_200": [
                        {
                            "min": 250,
                            "max": 9772,
                            "count": 305
                        }
                    ]
                }
            }
        }

Das Attribut ranges gibt Mindest- und Höchstwerte für die Spalten CheckingStatus und LoanAmount an, die einen Bereich für die Trainingsdaten festlegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die keine Spaltenwerte für LoanAmount und CheckingStatus enthalten, die in den Bereich und einen vordefinierten Puffer passen, werden die Datensätze als Abweichung identifiziert.

Kategorisch-numerische Verteilungsbeschränkung

        {
            "name": "catnum_distribution_constraint",
            "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "LoanAmount"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "LoanAmount",
                "distribution": {
                    "greater_200": {
                        "name": "norm",
                        "parameters": {
                            "loc": 3799.62,
                            "scale": 1920.0640064678398
                        },
                        "p-value": 0.22617155797563282
                    }
                }
            }
        }

Die Spalten LoanAmount und CheckingStatus enthalten Werte, die mit dem Attribut distribution angegeben werden, um eine Normalverteilung für die Trainingsdaten festzulegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die keine LoanAmount - und CheckingStatus -Spaltenwerte enthalten, die in die Normalverteilung passen, werden die Datensätze als Abweichung identifiziert.

Nächste Schritte

Um Abweichungen zu minimieren, nachdem sie erkannt wurden, müssen Sie eine neue Version des Modells erstellen, die das Problem behebt. Ein guter Ausgangspunkt für die Problembehebung sind die Datenpunkte, die als Abweichungsursachen hervorgehoben wurden. Fügen Sie die neuen Daten in das Vorhersagemodell ein, nachdem Sie die abweichenden Transaktionen manuell gekennzeichnet haben, und verwenden Sie sie, um das Modell neu zu trainieren.

Hinweis:Die Maßnahmen, die Sie ergreifen, um die Leistung zu verbessern oder zu validieren, sind nicht vorgeschrieben und hängen von Ihrem Anwendungsfall und den Zielen ab, die Sie erreichen möchten. Die Effektivität der einzelnen Ansätze kann je nach Umsetzung und Anforderungen variieren.

Übergeordnetes Thema: Bewertungsmetriken