Fehlende Werte (Analysis Services – Data Mining)

Gilt für: SQL Server 2019 und frühere Analysis Services Azure Analysis Services Fabric/Power BI Premium

Von Bedeutung

Data Mining wurde in SQL Server 2017 Analysis Services verworfen und ist in SQL Server 2022 Analysis Services eingestellt worden. Die Dokumentation wird nicht für veraltete und nicht mehr unterstützte Features aktualisiert. Weitere Informationen finden Sie unter "Analysis Services-Abwärtskompatibilität".

Das richtige Behandeln fehlender Werte ist wichtig für eine effektive Modellierung. In diesem Abschnitt werden fehlende Werte erläutert und erläutert, wie Sie SQL Server Analysis Services Features zum Erstellen von Data Mining-Strukturen und -Modellen verwenden.

Definition fehlender Werte im Data Mining

Ein fehlender Wert kann eine Reihe verschiedener Dinge bedeuten. Möglicherweise war das Feld nicht anwendbar, das Ereignis ist nicht geschehen, oder die Daten waren nicht verfügbar. Es könnte sein, dass die Person, die die Daten eingegeben hat, den richtigen Wert nicht kannte oder dass es ihr egal war, wenn ein Feld nicht ausgefüllt wurde.

Fehlende Werte liefern wichtige Informationen in vielen Data Mining-Szenarien. Die Bedeutung der fehlenden Werte hängt weitgehend vom Kontext ab. Beispielsweise hat ein fehlender Wert für das Datum in einer Liste von Rechnungen eine erhebliche Bedeutung, die sich von dem Fehlen eines Datums in Spalte unterscheidet, das ein Mitarbeitereinstellungsdatum angibt. Im Allgemeinen behandelt SQL Server Analysis Services fehlende Werte als informativ und passt die Wahrscheinlichkeit an, die fehlenden Werte in die Berechnungen zu integrieren. Auf diese Weise können Sie sicherstellen, dass Modelle ausgeglichen sind und vorhandene Fälle nicht zu stark gewichten.

SQL Server Analysis Services bietet zwei Mechanismen zum Behandeln fehlender Werte. Die erste Methode steuert die Nullbehandlung in der Miningstruktur. Jeder Algorithmus implementiert die zweite Methode anders, um fehlende Werte in Modellen zu verarbeiten und zu zählen, die Nullwerte zulassen.

Festlegen der Behandlung von Nullwerten

Ihre Datenquelle kann fehlende Werte als NULL-Werte, leere Tabellenkalkulationszellen, N/A oder einen anderen Code oder als einen künstlichen Wert wie 9999 darstellen. Für Data Mining-Zwecke gelten jedoch nur NULL-Werte als fehlende Werte. Wenn Ihre Daten Platzhalterwerte anstelle von Nullen enthalten, können sie sich auf die Ergebnisse des Modells auswirken, sodass Sie sie nach Möglichkeit durch Nullen ersetzen oder korrekte Werte ableiten sollten. Es gibt eine Vielzahl von Tools, mit denen Sie geeignete Werte ableiten und ausfüllen können, z. B. die Nachschlagetransformation oder die Datenprofileraufgabe in SQL Server Integration Services oder das Fill By Example-Tool, das im Data Mining-Add-Ins für Excel bereitgestellt wird.

Wenn die Aufgabe, die Sie modellieren, keine fehlenden Werte in einer Spalte zulässt, wenden Sie beim Definieren der Miningstruktur das Modellierungsflag NOT_NULL an. Dieses Flag gibt an, dass die Verarbeitung fehlschlagen soll, wenn ein Fall keinen geeigneten Wert aufweist. Wenn dieser Fehler beim Verarbeiten eines Modells auftritt, können Sie den Fehler protokollieren und Schritte ausführen, um die daten zu korrigieren, die dem Modell bereitgestellt werden.

Berechnung des fehlenden Zustands

Data Mining-Algorithmen behandeln fehlende Werte als informativ. In Falltabellen ist Fehlend ein gültiger Status. Ein Data Mining-Modell kann andere Werte verwenden, um vorherzusagen, ob ein Wert fehlt, sodass ein fehlender Wert kein Fehler ist.

Wenn Sie ein Miningmodell erstellen, wird dem Modell automatisch ein Fehlender Zustand für alle einzelnen Spalten hinzugefügt. Wenn beispielsweise die Eingabespalte [Geschlecht] die Werte "Männlich" und "Weiblich" enthält, fügt das Modell einen dritten Wert hinzu, "Missing". Das Histogramm der Spalte umfasst die Anzahl der Fälle mit dem Status Fehlend. Wenn in der Spalte "Geschlecht" keine Werte fehlen, zeigt das Histogramm, dass der Fehlende Zustand in 0 Fällen gefunden wird.

Der Grund für die Standardmäßige Einbeziehung des Fehlenden Zustands wird deutlich, wenn Sie der Meinung sind, dass Ihre Daten möglicherweise keine Beispiele für alle möglichen Werte enthalten, und Sie möchten nicht, dass das Modell die Möglichkeit ausschließen soll, nur weil es kein Beispiel in den Daten gab. Wenn beispielsweise Verkaufsdaten für einen Store gezeigt haben, dass alle Kunden, die ein bestimmtes Produkt gekauft haben, Frauen waren, sollten Sie kein Modell erstellen, das vorhersagt, dass nur Frauen das Produkt kaufen könnten. Stattdessen fügt SQL Server Analysis Services einen Platzhalter für den zusätzlichen unbekannten Wert hinzu, der als fehlender Wert bezeichnet wird, um mögliche andere Zustände zu ermöglichen.

Die folgende Tabelle zeigt beispielsweise die Verteilung von Werten für den Knoten (Alle) im Entscheidungsbaummodell, das für das Lernprogramm "Bike Buyer" erstellt wurde. Im Beispielszenario ist die Spalte [Bike Buyer] das vorhersagbare Attribut, wobei 1 "Ja" und 0 "Nein" angibt.

Wert Vorgänge
0 9296
1 9098
Fehlend 0

Die Verteilung zeigt, dass etwa die Hälfte der Kunden ein Fahrrad und die Hälfte nicht kaufen. Jeder Fall in diesem Dataset weist einen Wert in der Spalte [Bike Buyer] auf, sodass die Anzahl der fehlenden Werte null ist. Wenn ein Fall im Feld [Bike Buyer] einen Nullwert enthält, zählt SQL Server Analysis Services diese Zeile als Fall mit einem Fehlenden Wert.

Wenn es sich bei der Eingabe um eine fortlaufende Spalte handelt, tabuliert das Modell zwei mögliche Zustände für das Attribut: "Vorhanden " und "Missing". Mit anderen Worten: Entweder enthält die Spalte einen Wert eines numerischen Datentyps, oder sie enthält keinen Wert. Bei Fällen, die einen Wert aufweisen, berechnet das Modell die Mittel-, Standardabweichung und andere aussagekräftige Statistiken. Für Fälle ohne Wert stellt das Modell die Anzahl der fehlenden Werte bereit und passt Vorhersagen entsprechend an. Die Methode zum Anpassen der Vorhersage unterscheidet sich je nach Algorithmus und wird im folgenden Abschnitt beschrieben.

Hinweis

Bei Attributen in einer geschachtelten Tabelle sind fehlende Werte nicht informativ. Wenn ein Kunde z. B. kein Produkt kauft, hat die Tabelle "Geschachtelte Produkte " keine Zeile für dieses Produkt, und das Miningmodell erstellt kein Attribut dafür. Um Kunden ohne Käufe bestimmter Produkte zu identifizieren, verwenden Sie eine NOT EXISTS-Anweisung im Modellfilter, um nach Produkten zu filtern, die in der geschachtelten Tabelle nicht vorhanden sind. Weitere Informationen finden Sie unter Anwenden eines Filters auf ein Miningmodell.

Anpassen der Wahrscheinlichkeit für fehlende Zustände

Zusätzlich zum Zählen von Werten berechnet SQL Server Analysis Services die Wahrscheinlichkeit eines beliebigen Werts über das Dataset hinweg. Die gleiche Berechnung gilt für den Fehlenden Wert. Die folgende Tabelle zeigt beispielsweise die Wahrscheinlichkeit für die Fälle im vorherigen Beispiel:

Wert Fälle Wahrscheinlichkeit
0 9296 50.55%
1 9098 49.42%
Fehlend 0 0.03%

Es mag seltsam erscheinen, dass die Wahrscheinlichkeit des Werts Fehlend 0,03 % ist, wenn die Zahl der Fälle 0 beträgt. Dieses Verhalten ist entwurfsmäßig und stellt eine Anpassung dar, mit der das Modell unbekannte Werte ordnungsgemäß verarbeiten kann.

Im Allgemeinen wird die Wahrscheinlichkeit als die günstigen Fälle berechnet, die durch alle möglichen Fälle dividiert werden. In diesem Beispiel berechnet der Algorithmus die Summe der Fälle, die eine bestimmte Bedingung erfüllen ([Bike Buyer] = 1 oder [Bike Buyer] = 0), und dividiert diese Zahl durch die Gesamtanzahl der Zeilen. Um die Fehlenden Fälle zu berücksichtigen, addiert der Algorithmus 1 zur Anzahl aller möglichen Fälle. Daher ist die Wahrscheinlichkeit für den unbekannten Fall nicht mehr null, sondern eine sehr kleine Zahl, die angibt, dass der Zustand nur unwahrscheinlich, nicht unmöglich ist.

Der kleine Fehlende Wert ändert die Vorhersage nicht, verbessert aber die Modellierung, wenn historische Daten nicht jedes mögliche Ergebnis enthalten.

Hinweis

Data Mining-Anbieter behandeln fehlende Werte unterschiedlich. Beispielsweise behandeln einige Anbieter fehlende Daten in einer verschachtelten Spalte als Sparse-Darstellung und fehlende Daten in einer nicht verschachtelten Spalte als zufällig fehlend.

Wenn Ihre Daten alle Ergebnisse angeben, setzen Sie für die Spalte der Miningstruktur das Modellierungsflag NOT_NULL, um Wahrscheinlichkeitsanpassungen zu verhindern.

Hinweis

Jeder Algorithmus, einschließlich eines benutzerdefinierten Algorithmus von einem Plug-In eines Drittanbieters, kann fehlende Werte unterschiedlich verarbeiten.

Spezielle Behandlung fehlender Werte in Entscheidungsstrukturmodellen

Der Algorithmus Microsoft Decision Trees berechnet fehlende Wertwahrscheinlichkeiten anders als andere Algorithmen. Anstatt zur Gesamtzahl der Fälle eins hinzuzufügen, verwendet der Algorithmus eine andere Formel, um den Status Fehlend zu berücksichtigen.

Verwenden Sie in einem Entscheidungsstrukturmodell die folgende Formel, um die Wahrscheinlichkeit des Fehlenden Zustands zu berechnen:

Zustandswahrscheinlichkeit = (Knotenpriorwahrscheinlichkeit) * (Zustandsunterstützung + 1) / (Knotenunterstützung + Gesamtzustände)

Der Decision Trees-Algorithmus bietet eine zusätzliche Anpassung, die dem Algorithmus hilft, das Vorhandensein von Filtern im Modell auszugleichen, was viele Zustände während der Schulung ausschließen kann.

Wenn in SQL Server 2017 während der Schulung ein Zustand vorhanden ist, aber keine Unterstützung in einem bestimmten Knoten hat, nimmt der Algorithmus die Standardanpassung vor. Wenn während des Trainings jedoch kein Zustand auftritt, legt der Algorithmus die Wahrscheinlichkeit auf genau 0 fest. Diese Anpassung gilt nicht nur für den Fehlenden Zustand, sondern auch für andere Zustände, die in den Schulungsdaten vorhanden sind, aber keine Unterstützung aufgrund der Modellfilterung haben.

Diese zusätzliche Anpassung führt zur folgenden Formel:

StateProbability = 0,0, wenn dieser Zustand 0 Unterstützung im Trainingsdatensatz hat.

ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)

Der Nettoeffekt dieser Anpassung besteht darin, die Stabilität des Baumes aufrechtzuerhalten.

In diesen Ressourcen wird erläutert, wie fehlende Werte behandelt werden.

Aufgaben Links
Hinzufügen von Flags zu einzelnen Modellspalten, um zu steuern, wie das Modell fehlende Werte behandelt Anzeigen oder Ändern der Modellierungskennzeichnungen (Data Mining)
Eigenschaften des Miningmodells festlegen, um zu steuern, wie das Modell fehlende Werte verarbeitet Ändern der Eigenschaften eines Miningmodells
Modellierungsflags in DMX angeben Modellierung von Flags (DMX)
Ändern Sie, wie die Miningstruktur fehlende Werte behandelt Ändern der Eigenschaften einer Bergbaustruktur

Siehe auch

Inhalt des Miningmodells (Analysis Services - Data Mining)
Modellieren von Flags (Data Mining)