Data Mining und der MS SQL Server
Data Mining und der MS SQL Server Data Mining ist der Prozess der Ermittlung aussagefähiger I n- formationen aus großen Datensätzen. Data Mining nutzt die m a- thematische Analyse zur Aufdeckung von Mustern und Trends in Daten. Üblicherweise können diese Muster nicht durch das trad i- tionelle Durchsuchen von Daten ermittelt werden, da die Bezi e- hungen zu komplex sind oder zu viele Daten bestehen.
Data Mining als Prozess Diese Muster und Trends können gesammelt und als Data Mining-Modell definiert werden. Miningmodelle werden u. a. auf folgende Geschäftsszenarien angewendet: Erstellen von Verkaufsprognosen Durchführen von Direktmarketingaktionen, die auf einen bestimmten Kundenkreis abzielen Ermitteln von Produkten mit Cross-Selling-Potenzial Ermitteln der Reihenfolge, in der Kunden Produkte in den Einkaufswagen legen Die Erstellung eines Miningmodells muss als Teil eines größeren Prozesses verstanden werden, der sich von der Fragestellung im Hinblick auf die Daten und die Erstellung eines Modells zur Beantwortung dieser Fragen bis hin zur Implementierung des Modells in einer Arbeitsumgebung erstreckt. Ein Data Mining-Prozess besteht im Wesentlichen aus sechs Schritten: 1. Definieren der Problemstellung 2. Vorbereiten der Daten 3. Durchsuchen von Daten 4. Erstellen von Modellen 5. Durchsuchen und Validieren von Modellen 6. Bereitstellen und Aktualisieren von Modellen Das folgende Diagramm beschreibt das Beziehungsgefüge dieser Schritte und die Technologien in Microsoft SQL Server 2008, mit denen Sie den jeweiligen Schritt ausführen können.
Obwohl der im Diagramm verdeutlichte Ablauf zirkulär verläuft, folgt nicht jeder Schritt logisch auf den nächsten. Ein Data Mining-Modell ist kein starres Ablaufmodell, sondern ein dynamischer und sich wiederholender Prozess. Nachdem Sie die Daten durchsucht haben, kommen Sie u. U. zu dem Ergebnis, dass Ihr Datenmaterial nicht ausreicht, um die geeigneten Miningmodelle zu erstellen, und dass Sie deshalb nach weiteren Daten suchen müssen. Vielleicht erstellen Sie auch mehrere Modelle und stellen dann fest, dass diese nicht in geeigneter Weise das von Ihnen definierte Problem lösen und dass Sie deshalb das Problem neu definieren müssen. Möglicherweise müssen die Modelle nach ihrer Implementierung angepasst werden, da mehr Daten zur Verfügung stehen. Jeder Schritt des Prozesses kann so oft wiederholt werden, wie es für die Erstellung eines qualifizierten Modells notwendig ist.
Data Mining mit MS SQL Server Der MS SQL Server stellt mit Business Intelligence Development Studio eine integrierte Umgebung für die Erstellung und Verwendung von Data Mining-Modellen zur Verfügung. Diese beinhaltet Data Mining-Algorithmen und Tools, die es einfach machen, eine umfassende Lösung für ein breites Spektrum an Projekten zu entwickeln. Nachdem Sie eine Data Mining-Lösung erstellt haben, können Sie diese mit SQL Server Management Studio pflegen und durchsuchen. Definieren der Problemstellung Wie das folgende Diagramm verdeutlicht, besteht der erste Schritt des Data Mining- Prozesses darin, die Problemstellung des Unternehmens exakt zu definieren und Wege zur Problemlösung zu berücksichtigen. Dieser Schritt schließt das Analysieren der Geschäftsanforderungen, das Festlegen des Problemumfangs, das Definieren der Erfolgsfaktoren für die Modellbewertung und das Formulieren der spezifischen Zielsetzung des Data Mining-Projekts ein. Diese Tasks lassen sich u. a. in folgende Fragen übersetzen:
Wonach suchen Sie? Welche Art von Beziehung versuchen Sie ausfindig zu machen? Spiegelt das Problem, das Sie lösen möchten, die Richtlinien oder Prozesse des Unternehmens wider? Möchten Sie mit dem Data Mining-Modell Vorhersagen treffen oder nur interessante Muster oder Zusammenhänge aufdecken? Welche Attribute des Datasets möchten Sie vorhersagen? Wie stehen die Spalten in Beziehung? Wie stehen die Tabellen miteinander in Beziehung, wenn mehrere Tabellen vorhanden sein sollten? Wie sind die Daten gestreut? Sind die Daten saisonbedingt? Spiegeln die Daten die Prozesse des Unternehmens in geeigneter Weise wider? Um diese Fragen zu beantworten, müssen Sie u. U. im Rahmen einer Datenverfügbarkeitsstudie den Bedarf von Geschäftsanwendern im Hinblick auf die verfügbaren Daten ermitteln. Wenn die Daten den Bedarf der Benutzer nicht unterstützen, müssen Sie das Projekt evtl. neu definieren. Darüber hinaus müssen Sie die Art und Weise berücksichtigen, in der die Ergebnisse des Modells in die zur Messung des Geschäftserfolgs verwendeten Key Performance Indicators (KPI) eingebunden werden können. Vorbereiten der Daten Wie das folgende Diagramm verdeutlicht, besteht der zweite Schritt des Data Mining- Prozesses im Konsolidieren und Bereinigen der im Schritt Definieren der Problemstellung identifizierten Daten.
Daten können im gesamten Unternehmen verstreut und in unterschiedlichen Formaten gespeichert sein. Mitunter weisen sie Inkonsistenzen wie falsche oder fehlende Einträge auf. Es kann beispielsweise vorkommen, dass den Daten zufolge ein Produkt gekauft wurde, das auf dem Markt zu diesem Zeitpunkt noch nicht erhältlich war, oder die Daten zeigen, dass ein Kunde regelmäßig in einem Geschäft 2.000 Meilen von seinem Wohnsitz entfernt Einkäufe tätigt. Beim Data Cleaning geht es nicht nur um das Löschen von fehlerhaften Daten, sondern auch um das Auffinden versteckter Beziehungen in den Daten, die Identifikation der genauesten Datenquellen und die Festlegung der Spalten, die für die Analyse am geeignetsten sind. Zum Beispiel: Sollte das Versanddatum oder das Bestelldatum verwendet werden? Ist der beste Verkaufseinflussfaktor die Menge, der Gesamtpreis oder ein diskontierter Preis? Unvollständige Daten, falsche Daten und Eingaben, die separat erscheinen, aber tatsächlich stark korrelieren, können die Ergebnisse des Modells in unerwarteter Weise beeinflussen. Daher sollten Sie diese Probleme bestimmen, bevor Sie mit der Erstellung der Miningmodelle beginnen, und festlegen, wie Sie sie beheben wollen. In der Regel haben Sie es mit sehr umfangreichen Datasets zu tun und können nicht jede Transaktion durchsehen. Deshalb müssen Sie zum Durchsuchen der Daten und Aufdecken von Inkonsistenzen auf automatisierte Funktionen zurückgreifen, wie sie zum Beispiel in Integration Services zur Verfügung stehen. Microsoft SQL Server Integration Services (SSIS) enthält alle Tools, die Sie für die Durchführung dieses Schrittes benötigen. Darin eingeschlossen sind auch die Transformationen zum Automatisieren des Daten- Cleanups und der Datenkonsolidierung. Wichtig zu erwähnen ist, dass die für das Data Mining verwendeten Daten nicht in einem OLAP-Cube (Online Analytical Processing, Analytische Onlineverarbeitung) oder in einer relationalen Datenbank gespeichert werden müssen, auch wenn beide als Datenquellen verwendet werden können. Das Data Mining kann mit jeder Datenquelle durchgeführt werden, die als Analysis Services- Datenquelle definiert wurde. Hierzu können Textdateien, Excel-Arbeitsmappen oder Daten von anderen externen Anbietern gehören.
Durchsuchen von Daten Wie das nachstehende Diagramm verdeutlicht, besteht der dritte Schritt des Data Mining-Prozesses im Durchsuchen der vorbereiteten Daten. Nur wenn Sie Ihre Datensituation verstanden haben, können Sie beim Erstellen der Miningmodelle sinnvolle Entscheidungen treffen. Zu den Durchsuchungstechniken gehören das Berechnen von Mindest- und Maximalwerten, das Ermitteln von mittleren Abweichungen und Standardabweichungen und das Analysieren der Datenstreuung. Beispielsweise können Sie gegebenenfalls durch Prüfung der Maximal-, Mindest- und Mittelwerte ermitteln, dass die Daten nicht repräsentativ für Ihre Kunden oder Geschäftsprozesse sind und dass Sie daher ausgewogenere Daten benötigen oder die Annahmen prüfen müssen, die Grundlage Ihrer Erwartungen sind. Standardabweichungen und andere Streuungswerte können nützliche Informationen über die Stabilität und Genauigkeit der Ergebnisse bieten. Eine große Standardabweichung kann darauf hinweisen, dass ein weiteres Hinzufügen von Daten bei der Verbesserung des Modells hilfreich sein kann. Daten, die stark von einer Standardverteilung abweichen, können verfälscht sein oder ein genaues Abbild eines realen Problems darstellen. In jedem Fall erschweren Sie die Anpassung eines Modells auf die Daten. Durch das Durchsuchen der Daten angesichts Ihres eigenen Verständnisses des Geschäftsproblems können Sie entscheiden, ob das Dataset verfälschte Daten enthält. Daraufhin können Sie eine Strategie für die Behebung des Problems ausarbeiten oder ein tieferes Verständnis über die Verhaltensweisen erlangen, die für Ihr Unternehmen typisch sind.
Der Datenquellensicht-Designer in BI Development Studio enthält mehrere Tools zum Durchsuchen von Daten. Wenn Sie ein Modell erstellen, erzeugt Analysis Services automatisch statistische Zusammenfassungen der im Modell enthaltenen Daten, auf die Sie zur Verwendung in Berichten oder weiteren Analysen zurückgreifen können. Erstellen von Modellen Wie das nachstehende Diagramm verdeutlicht, besteht der vierte Prozssschritt des Data Mining-Prozesses im Generieren eines oder mehrerer Miningmodelle. Sie werden die im Schritt Durchsuchen von Daten gewonnenen Erkenntnisse verwenden, um die Modelle zu definieren und zu erstellen. Sie legen fest, welche Daten Sie verwenden möchten, indem Sie eine Miningstruktur erstellen. Die Miningstruktur definiert die Datenquelle, aber enthält bis zu ihrer Verarbeitung keine Daten. Wenn Sie die Miningstruktur verarbeiten, erzeugt Analysis Services Aggregate und andere statistische Informationen, die zu Analysezwecken verwendet werden können. Diese Informationen können von allen Miningmodellen verwendet werden, die auf der Struktur basieren. Bevor das Modell verarbeitet wird, ist ein Miningmodell lediglich ein Container, der die Spalten, die für die Eingabe verwendet werden, die Attribute, die Sie vorhersagen, und die Parameter, die dem Algorithmus sagen, wie die Daten verarbeitet werden, festlegt. Die Verarbeitung eines Modells wird auch als Training bezeichnet. Training bezieht sich auf den Vorgang der Anwendung eines spezifischen mathematischen Algorithmus auf die Daten in der Struktur, um Muster zu extrahieren. Die Muster, die Sie im Trainingsvorgang finden, hängen von der Auswahl der
Trainingsdaten, dem von Ihnen ausgewählten Algorithmus und von Ihrer Konfiguration des Algorithmus ab. Der MS SQL Server enthält diverse unterschiedliche Algorithmen, die alle auf einen anderen Tasktyp ausgelegt sind und alle einen anderen Modelltyp erstellen. Darüber hinaus können Sie Parameter einsetzen, um jeden Algorithmus anzupassen, und Sie können Filter auf die Trainingsdaten anwenden, um nur eine Teilmenge der Daten zu verwenden, wodurch unterschiedliche Ergebnisse erreicht werden. Nachdem Daten durch das Modell gelaufen sind, enthält das Miningmodellobjekt Zusammenfassungen und Muster, die abgefragt oder für Vorhersagen verwendet werden können. Ein neues Modell können Sie mithilfe des Data Mining-Assistenten in BI Development Studio oder über die Abfragesprache Data Mining-Erweiterungen (Data Mining Extensions, DMX) definieren. Es ist zu beachten, dass bei jeder Datenänderung sowohl die Miningstruktur als auch das Miningmodell aktualisiert werden müssen. Wenn Sie eine Miningstruktur durch eine erneute Verarbeitung aktualisieren, ruft Analysis Services Daten von der Quelle ab, einschließlich aller neuen Daten, wenn die Quelle dynamisch aktualisiert wird, und füllt die Miningstruktur neu. Wenn Sie Modelle haben, die auf der Struktur basieren, können Sie auswählen, ob die Modelle, die auf der Struktur basieren, aktualisiert werden sollen, d. h. sie werden mit den neuen Daten erneut trainiert, oder Sie können die Modelle so belassen, wie sie sind. Durchsuchen und Validieren von Modellen Wie das folgende Diagramm verdeutlicht, besteht der fünfte Schritt des Data Mining- Prozesses im Durchsuchen der von Ihnen generierten Miningmodelle und im Testen ihrer Wirksamkeit. Bevor Sie ein Modell in einer Produktionsumgebung einsetzen, möchten Sie wahrscheinlich testen, wie gut das Modell ist. Ferner erstellt man üblicherweise beim Aufbau eines Modells mehrere Modelle mit unterschiedlichen Konfigurationen und testet alle Modelle, um herauszufinden, welches die besten Ergebnisse für das Problem und die Daten erzielt. Analysis Services bietet Tools, die hilfreich bei der Trennung Ihrer Daten in Trainings- und Testdatasets sind. So können Sie die Leistungsfähigkeit aller Modelle an den gleichen Daten genau bewerten. Mit dem Trainings-Dataset wird das Modell generiert, während das Test-Dataset mithilfe von Vorhersageabfragen die Genauigkeit des Modells testet. In SQL Server Analysis Services kann diese Partitionierung während der Erstellung des Miningmodells automatisch erfolgen. Die von den Algorithmen ermittelten Trends und Muster können mit den Viewern im Data Mining-Designer in BI Development Studio analysiert werden.
Bereitstellen und Aktualisieren von Modellen Wie das folgende Diagramm verdeutlicht, besteht der letzte Schritt des Data Mining- Prozesses darin, in einer Produktionsumgebung diejenigen Modelle bereitzustellen, die die besten Ergebnisse erzielen. Sobald die Miningmodelle in eine Produktionsumgebung integriert wurden, stehen sie je nach Bedarf für zahlreiche Tasks zur Verfügung. Sie können u. a. folgende Tasks ausführen: Mithilfe der Modelle Vorhersagen erstellen, die für Geschäftsentscheidungen herangezogen werden können. SQL Server stellt die DMX-Sprache zur Verfügung, die Sie zum Erstellen von Vorhersageabfragen verwenden können. Darüber hinaus unterstützt Sie der Generator für Vorhersageabfragen beim Erstellen der Abfragen. Erstellen von Inhaltsabfragen, um Statistik, Regeln oder Formeln für das Modell abzurufen. Data Mining-Funktionen in eine Anwendung integrieren. Sie können Analysis Management Objects (AMO) hinzufügen, das mehrere Objekte enthält, mit denen Ihre Anwendung Miningstrukturen und - modelle erstellen, ändern, verarbeiten und löschen. Alternativ können Sie XMLA- Nachrichten (XML for Analysis) direkt an eine Instanz von Analysis Services senden. Mit Integration Services ein Paket erstellen, in dem mithilfe eines Miningmodells eingehende Daten eigenständig aufgeteilt und mehreren Tabellen zugeordnet werden. Wenn eine Datenbank beispielsweise fortlaufend mit potenziellen Neukunden aktualisiert wird, können Sie ein Miningmodell zusammen mit Integration Services dazu verwenden, die eingehenden Daten zwei verschiedenen Kundengruppen zuzuordnen: einer Gruppe, deren Kunden wahrscheinlich ein Produkt kaufen, und einer anderen, deren Kunden wahrscheinlich kein Produkt kaufen.
Einen Bericht erstellen, mit dem Abfragen direkt für ein vorhandenes Miningmodell ausgeführt werden können. Nach Überprüfung und Analyse die Modelle aktualisieren. Jede Aktualisierung erfordert, dass Sie die Modelle erneut verarbeiten. Eine dynamische Aktualisierung der Modelle, während neue Daten in das Unternehmen kommen, und die konstante Vornahme von Änderungen zur Verbesserung der Effizienz der Lösung sollten Teil der Bereitstellungsstrategie sein.