Freigeben über


Fehlende Werte (Analysis Services - Data Mining)

Das richtige Behandeln fehlender Werte ist ein wichtiger Bestandteil der effektiven Modellierung. In diesem Abschnitt wird erläutert, was fehlende Werte sind, und die in Analysis Services bereitgestellten Features zum Arbeiten mit fehlenden Werten beim Erstellen von Data Mining-Strukturen und Miningmodellen beschrieben.

Definition fehlender Werte im Data Mining

Ein fehlender Wert kann eine Reihe verschiedener Dinge bedeuten. Vielleicht 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 kennt oder nicht interessiert war, wenn ein Feld nicht ausgefüllt wurde.

Es gibt jedoch viele Data Mining-Szenarien, in denen fehlende Werte wichtige Informationen bereitstellen. 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 Analysis Services fehlende Werte als informativ und passt die Wahrscheinlichkeit an, die fehlenden Werte in ihre Berechnungen zu integrieren. Auf diese Weise können Sie sicherstellen, dass Modelle ausgeglichen sind und vorhandene Fälle nicht zu stark gewichten.

Daher bietet Analysis Services zwei unterschiedliche Mechanismen zum Verwalten und Berechnen fehlender Werte. Die erste Methode steuert die Behandlung von Nullwerten auf der Ebene der Miningstruktur. Die zweite Methode unterscheidet sich bei der Implementierung für jeden Algorithmus, definiert jedoch im Allgemeinen, wie fehlende Werte verarbeitet und in Modellen gezählt werden, die Nullwerte zulassen.

Angeben der Behandlung von Null-Werten

In Ihrer Datenquelle werden fehlende Werte möglicherweise auf viele Arten dargestellt: als NULL-Werte, als leere Zellen in einer Kalkulationstabelle, als Wert N/A oder in einem anderen Code oder als künstlicher Wert wie 9999. 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, angibt, dass eine Spalte niemals fehlende Werte haben darf, sollten Sie das NOT_NULL Modellierungsflag auf die Spalte anwenden, wenn Sie die Miningstruktur definieren. 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

Für den Data Mining-Algorithmus sind fehlende Werte informativ. Bei Tabellen ist Missing ein gültiger Zustand wie jeder andere. Darüber hinaus kann ein Data Mining-Modell andere Werte verwenden, um vorherzusagen, ob ein Wert fehlt. Mit anderen Worten, die Tatsache, dass ein Wert fehlt, ist kein Fehler.

Wenn Sie ein Miningmodell erstellen, wird dem Modell automatisch ein Missing Zustand für alle einzelnen Spalten hinzugefügt. Wenn z. B. die Eingabespalte [Geschlecht] zwei mögliche Werte enthält, wird ein dritter Wert automatisch hinzugefügt, um den Missing Wert darzustellen, und das Histogramm, das die Verteilung aller Werte für die Spalte anzeigt, enthält immer eine Anzahl der Fälle mit Missing Werten. Wenn in der Spalte "Geschlecht" keine Werte fehlen, zeigt das Histogramm, dass der Fehlende Zustand in 0 Fällen gefunden wird.

Der Grund dafür, den Missing Zustand standardmäßig einzuschließen, wird deutlich, wenn Sie der Meinung sind, dass Ihre Daten möglicherweise keine Beispiele für alle möglichen Werte haben, 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 Analysis Services einen Platzhalter für den zusätzlichen unbekannten Wert hinzu, der als Missing bezeichnet wird, um mögliche andere Zustände unterzubringen.

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 Etuis
0 9296
1 9098
Fehlend 0

Diese Verteilung zeigt, dass etwa die Hälfte der Kunden ein Fahrrad gekauft haben, und die Hälfte nicht. Diese spezielle Datenmenge ist sehr sauber; Daher weist jeder Fall einen Wert in der Spalte [Bike Buyer] auf, und die Anzahl der Missing Werte ist 0. Wenn im Feld [Bike Buyer] jedoch ein Nullwert vorhanden ist, würde Analysis Services diese Zeile als Fall mit einem Missing Wert zählen.

Wenn die Eingabe eine fortlaufende Spalte ist, tabuliert das Modell zwei mögliche Zustände für das Attribut: Existing 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 eine Anzahl der Missing 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 beispielsweise kein Produkt erworben hat, würde die Tabelle "Geschachtelte Produkte " keine Zeile enthalten, die diesem Produkt entspricht, und das Miningmodell würde kein Attribut für das fehlende Produkt erstellen. Wenn Sie jedoch an Kunden interessiert sind, die bestimmte Produkte nicht erworben haben, können Sie ein Modell erstellen, das nach dem Nichtexistenz der Produkte in der geschachtelten Tabelle gefiltert wird, indem Sie eine NOT EXISTS-Anweisung im Modellfilter verwenden. 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 Analysis Services die Wahrscheinlichkeit eines beliebigen Werts im gesamten Dataset. Dasselbe gilt für den Missing Wert. Die folgende Tabelle zeigt beispielsweise die Wahrscheinlichkeit für die Fälle im vorherigen Beispiel:

Wert Etuis Wahrscheinlichkeit
0 9296 50.55%
1 9098 49.42%
Fehlend 0 0.03%

Es mag seltsam erscheinen, dass die Wahrscheinlichkeit des Missing Werts als 0,03%berechnet wird, wenn die Anzahl der Fälle 0 ist. Tatsächlich ist dieses Verhalten 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 jedoch die Missing Fälle zu berücksichtigen, wird 1 der Anzahl aller möglichen Fälle hinzugefügt. 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.

Das Hinzufügen des kleinen Missing Werts ändert nicht das Ergebnis des Prädiktors. Es ermöglicht jedoch eine bessere Modellierung in Szenarien, in denen die historischen Daten nicht alle möglichen Ergebnisse enthalten.

Hinweis

Data Mining-Anbieter unterscheiden sich in der Art und Weise, wie sie fehlende Werte behandeln. Einige Anbieter gehen z. B. davon aus, dass fehlende Daten in einer geschachtelten Spalte nur geringe Darstellung aufweisen, aber fehlende Daten in einer nicht geschachtelten Spalte fehlen zufällig.

Wenn Sie sicher sind, dass alle Ergebnisse in Ihren Daten angegeben sind und verhindern möchten, dass Wahrscheinlichkeiten angepasst werden, sollten Sie die NOT_NULL Modellierungskennzeichnung für die Spalte in der Miningstruktur festlegen.

Hinweis

Jeder Algorithmus, einschließlich benutzerdefinierter Algorithmen, die Sie möglicherweise aus einem Drittanbieter-Plug-In erhalten haben, kann fehlende Werte unterschiedlich verarbeiten.

Spezielle Behandlung fehlender Werte in Entscheidungsstrukturmodellen

Der Microsoft Decision Trees-Algorithmus berechnet Wahrscheinlichkeiten für fehlende Werte anders als in anderen Algorithmen. Anstatt nur 1 zur Gesamtanzahl der Fälle hinzuzufügen, passt sich der Entscheidungsbaumalgorithmus mithilfe einer etwas anderen Formel für den Missing Zustand an.

In einem Entscheidungsstrukturmodell wird die Wahrscheinlichkeit des Missing Zustands wie folgt berechnet:

StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates)

Darüber hinaus bietet der Decision Trees-Algorithmus in SQL Server 2014 Analysis Services (SSAS) eine zusätzliche Anpassung, mit der der Algorithmus das Vorhandensein von Filtern im Modell ausgleichen kann, was dazu führen kann, dass viele Zustände während der Schulung ausgeschlossen werden.

Wenn in SQL Server 2014 während der Schulung ein Zustand vorhanden ist, aber nur 0 Unterstützung in einem bestimmten Knoten hat, wird die Standardanpassung vorgenommen. 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 Missing Zustand, sondern auch für andere Zustände, die in den Schulungsdaten vorhanden sind, aber keine Unterstützung als Ergebnis der Modellfilterung haben.

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

StateProbability = 0,0 if that state has 0 support in the training set

SONST ZustandWahrscheinlichkeit = (KnotenVorwahrscheinlichkeit) * (ZustandsUnterstützung + 1) / (KnotenUnterstützung + GesamtZuständeMitNichtNullUnterstützung)

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

In den folgenden Themen finden Sie weitere Informationen zum Behandeln fehlender Werte.

Aufgaben Verknüpfungen
Hinzufügen von Flags zu einzelnen Modellspalten zur Steuerung der Behandlung von fehlenden Werten Anzeigen oder Ändern der Modellierungskennzeichnungen (Data Mining)
Festlegen von Eigenschaften für ein Miningmodell zur Steuerung der Behandlung fehlender Werte Ändern der Eigenschaften eines Miningmodells
Erfahren Sie, wie Sie Modellierungskennzeichnungen in DMX angeben. Modellieren von Flags (DMX)
Ändern Sie die Methode, wie die Miningstruktur fehlende Werte behandelt Ändern der Eigenschaften einer Bergbaustruktur

Siehe auch

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