Knowledge_Discovery_in_Datenbanken Fallstudienarbeit Hochschule für Oekonomie & Management Münsterwarning.png?Münster? gehört nicht zu den möglichen Werten dieses Attributs Standort: (München, Marl, Köln, Hamburg, Frankfurt a. M., Essen, Düsseldorf, Duisburg, Dortmund, Bonn, Bremen, Berlin, Neuss, Nürnberg, Siegen, Stuttgart). Studiengang: Bachelor Wirtschaftsinformatik Veranstaltung: Fallstudie / Wissenschaftliches Arbeiten Betreuer: Prof._Dr._Uwe_Kern Typ: Fallstudienarbeit Themengebiet: Machine Learning Autor(en): Pascal Tombrock, Daniel Kleine Schlarmann, Matthias Efker Studienzeitmodell: Abendstudium Semesterbezeichnung: SS16 Studiensemester: 2 Bearbeitungsstatus: begutachtet Prüfungstermin: 11.6.2016 Abgabetermin: 5.6.2016 Hochschule: Inhaltsverzeichnis • 1 Abkürzungsverzeichnis • 2 Abbildungsverzeichnis • 3 Tabellenverzeichnis • 4 Einleitung ♦ 4.1 Vorstellung des Themas ♦ 4.2 Zielsetzung ♦ 4.3 Methodischer Aufbau • 5 Grundlagen ♦ 5.1 Datenbanksystem ◊ 5.1.1 Datenbank ◊ 5.1.2 Datenbankmanagementsystem ⋅ 5.1.2.1 Externe Ebene ⋅ 5.1.2.2 Konzeptionelle Ebene ⋅ 5.1.2.3 Interne Ebene ◊ 5.1.3 Datenbanksprache ⋅ 5.1.3.1 Data Definition Language (DDL) ⋅ 5.1.3.2 Data Manipulation Language (DML) ⋅ 5.1.3.3 Data Control Language (DCL) ♦ 5.2 Statistik ◊ 5.2.1 deskriptive Statistik ◊ 5.2.2 induktive Statistik ◊ 5.2.3 explorative Statistik ♦ 5.3 Data Warehouse • 6 Knowledge Discovery in Datenbanken ♦ 6.1 Ziele des KDD ♦ 6.2 Prozess des KDD Inhaltsverzeichnis 1 Knowledge_Discovery_in_Datenbanken ◊ 6.2.1 Datenauswahl ◊ 6.2.2 Vorverarbeitung ◊ 6.2.3 Transformation ◊ 6.2.4 Data Mining ◊ 6.2.5 Interpretation ♦ 6.3 Methoden des KDD ◊ 6.3.1 Generalisierung ◊ 6.3.2 Clustering ⋅ 6.3.2.1 Clusteranalyse mit multivariaten statistischen Verfahren ⋅ 6.3.2.2 Clustering mit künstlich neuronalen Netzen ◊ 6.3.3 Klassifikation ◊ 6.3.4 Assoziationsanalyse ◊ 6.3.5 Regressionsanalyse ♦ 6.4 Anwendungsbeispiele ◊ 6.4.1 Datenschutz ◊ 6.4.2 Geologie ◊ 6.4.3 Marketing ◊ 6.4.4 Geldwäsche • 7 Schlussbetrachtung ♦ 7.1 Zusammenfassung ♦ 7.2 Ausblick • 8 Anhang ♦ 8.1 Fußnoten ♦ 8.2 Literatur- und Quellenverzeichnis 1 Abkürzungsverzeichnis Abkürzung Bedeutung DB Datenbank DBMS Datenbankmanagementsystem KDD Knowledge Discovery in Datenbanken SQL Structured Query Language DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DW Data Warehouse 2 Abbildungsverzeichnis Abb.-Nr. 5-1 Abbildung Aufbau eines Datenbanksystems 1 Abkürzungsverzeichnis 2 Knowledge_Discovery_in_Datenbanken 5-2 Erklärung Stichprobe und Grundgesamtheit 5-3 Statistik Verfahren 5-4 Architektur eines Data Warehouses 6-1 Übersicht über den KDD Prozess 6-2 Übersicht über Data Mining Aufgaben 6-3 Übersicht über die Hauptmethoden des KDD 6-4 Algorithmus FIGR 6-5 Hierarchische Clusteranalyse 6-6 Partitionierende Clusteranalyse 3 Tabellenverzeichnis Tabelle Nr. 6.1 Beschreibung Beispiel für die Klassifikation von Daten 4 Einleitung 4.1 Vorstellung des Themas Durch kommerzielle Geräte und wissenschaftliche Instrumente, wie zum Beispiel Scanner, Kassen und Teleskope, werden immer größere Datenmengen erzeugt. Diese Daten enthalten potentielles Wissen, welches die menschliche Kapazität bei Weitem übersteigt. Hier kommt das Knowledge Discovery in Datenbanken (KDD)(engl. knowledge discovery in databases) zum Einsatz. Das Knowledge Discovery in Datenbanken hat die Motivation das potentielle Wissen aus diesen großen Datenmengen herauszufiltern. Knowledge Discovery in Datenbanken arbeitet hierfür an der Schnittstelle von Statistik und Datenbanksystemen. Außerdem ist Knowledge Discovery ein Teilbereich des Machine Learning. [1] "Knowledge Discovery in Datenbanken ist der Prozess der (semi-) automatischen Extraktion von Wissen aus Datenbanken, das -gültig -bisher unbekannt -potentiell nützlich für eine gegebene Anwendung ist.? [2]. 4.2 Zielsetzung Das Ziel dieser wissenschaftlichen Arbeit ist Wirtschaftsinformatik-Studenten das Themengebiet der KDD näher zu bringen, ohne das der Student größeres Wissen in den Bereichen der Grundlagen hat. 2 Abbildungsverzeichnis 3 Knowledge_Discovery_in_Datenbanken 4.3 Methodischer Aufbau Zunächst werden die Grundlagen der Statistik und der Datenbanksysteme für den Bereich der Knowledge Discovery in Datenbanken erklärt. Nach den Grundlagen wird dann auf die spezifischen Details des Themas eingegangen und die Ziele und Methoden des KDD erläutert. Im späteren Verlauf werden die einzelnen Schritte des Prozessablaufes von Knowledge Discovery in Datenbanken erläutert. Hier wird beschrieben, was in welchen Prozessen geschieht. Nachdem der grundlegende Prozess erklärt wurde, wird aufgezeigt, welche Methoden in der KDD verwendet werden. Dies wird durch einige Beispiele aus der Praxis verdeutlicht. In der Schlussbetrachtung wird ein Fazit gezogen und einige Gründe aufgeführt, warum dieser Bereich in der Zukunft weiter an Bedeutung gewinnt. 5 Grundlagen 5.1 Datenbanksystem Ein Datenbanksystem ist ein System zur elektronischen Datenverwaltung. Die Hauptaufgabe ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern. Dies wird sowohl persistente (dauerhafte) Speicherung, als auch die konsistente (korrekte) Speicherung genannt. Datenbanksysteme bestehen aus einer Datenbank und einem Datenbankmanagementsystem. [3] Abbildung 5-1: Aufbau eines Datenbanksystems 5.1.1 Datenbank Die Datenbank (DB) ist eine Sammlung aller vorhandenen Daten mit deren Beschreibungen bzw. Attributen. 4.3 Methodischer Aufbau 4 Knowledge_Discovery_in_Datenbanken 5.1.2 Datenbankmanagementsystem Das Datenbankmanagementsystem (DBMS) ist ein Programm zur Verwaltung der Datenbank. Mit diesem Programm wird der Zugriff auf die Daten kontrolliert und die vorhandenen Daten können ergänzt bzw. geändert werden. Datenbanksysteme haben drei Abstraktionsebenen. Es gibt die externe Ebene, die konzeptionelle Ebene und die interne Ebene. Dies wird auch das ANSI-3-Ebenenmodell genannt. [4] 5.1.2.1 Externe Ebene Die externe Ebene erlaubt es verschiedenen Benutzern oder Benutzergruppen eine unterschiedliche Ansicht auf den Datenbestand zu ermöglichen. Nicht jeder Benutzer darf oder will alle Daten sehen. Zum Beispiel: Maskenlayouts Listen Formulare 5.1.2.2 Konzeptionelle Ebene Die konzeptionelle Ebene spezifiziert die logische Gesamtsicht aller Daten. Die Gesamtsicht beschreibt die Beziehungen und Objekte zwischen Daten. Ihr Ziel ist es, eine vollständig redundanzfreie Speicherung aller Daten in der Datenbank sicherzustellen. Die Daten werden in der dritten Normalisierungsform nach dem relationalen Datenbankschema gespeichert. 5.1.2.3 Interne Ebene Die interne Ebene beschäftigt sich mit der physikalischen Implementierung des Konzeptionellen Schemas. Informationen über die Datenstrukturen auf dem physikalischen Speicher und Zugriffsmechanismen sind ein Bestandteil der internen Ebene. Deshalb wird die Interne Ebene auch physische Ebene genannt. Außerdem werden oft Basis-Tabellen in nicht normalisierter Form zur Verfügung gestellt um den Zugriff auf die Daten zu beschleunigen. Performance intensive Aggregationstabellen werden meist über Nacht berechnet und in zusätzlichen Tabellen gespeichert. So kann der Anwender die Ergebnisse tagsüber sehr schnell abrufen. 5.1.3 Datenbanksprache Als Relationale Datenbanksprache hat sich im Industriestandard die Sprache SQL durchgesetzt. SQL setzt sich aus drei Teilbereichen zusammen: 5.1.3.1 Data Definition Language (DDL) Die DDL ist der Teil der Sprache von SQL um Datenbanken, Tabellen, Views, etc. zu erstellen (CREATE), Strukturänderungen vorzunehmen (ALTER) oder Datenbanken oder Datenbankobjekte zu löschen (DROP). 5.1.2 Datenbankmanagementsystem 5 Knowledge_Discovery_in_Datenbanken 5.1.3.2 Data Manipulation Language (DML) Die DML ist der Teil der Sprache SQL der es möglich macht Datensätze einzufügen (INSERT), zu ändern (UPDATE), zu löschen (DELETE) oder Abzufragen (SELECT). 5.1.3.3 Data Control Language (DCL) Die DCL ist der Teil der Sprache von SQL um Zugriffsrechte zu vergeben (GRANT) oder zu entziehen (REVOKE).[5] [6] [7] 5.2 Statistik Die Statistik ist in drei Grundaufgaben unterteilt. Die deskriptive Statistik, induktive Statistik und die explorative Statistik. 5.2.1 deskriptive Statistik Die deskriptive Statistik wird auch beschreibende Statistik genannt. Die vorliegenden Daten werden beschrieben und graphisch in Tabellen, graphischen Darstellungen oder Kennzahlen komprimiert. Diese enthalten Kenngrößen wie Mittelwert und Streuung sowie Diagramme und Verlaufskurven. Mit dieser Statistik können leicht inkonsistente Daten herausgefiltert werden. Die deskriptive Statistik arbeitet mit folgender Fragestellung: Wie kann man eine Verteilung eines Merkmals beschreiben? 5.2.2 induktive Statistik Die induktive Statistik versucht aus einem kleinen Teil der Datenmasse Eigenschaften der Grundgesamtheit, über die man eine Aussage treffen möchte, festzustellen. Dieses wird Mithilfe stochastischer Modelle analysiert und umgesetzt. Die induktive Statistik arbeitet mit folgender Fragestellung: Wie kann aus einer Stichprobe eine Eigenschaft für alle zutreffenden Daten der Grundgesamtheit festgestellt werden? 5.1.3.2 Data Manipulation Language (DML) 6 Knowledge_Discovery_in_Datenbanken Abbildung 5-2: Erklärung Stichprobe und Grundgesamtheit 5.2.3 explorative Statistik Die explorative Statistik ist eine Zwischenform der deskriptiven und induktiven Statistik. Diese versucht mittels deskriptiver Verfahren und induktiver Testmethoden mögliche Zusammenhänge oder Unterschiede zwischen Daten zu erkennen. Die gefundenen Ergebnisse werden Hypothesen genannt. Die explorative Statistik arbeitet mit folgender Fragestellung: Was ist an einer Verteilung eines Merkmals bemerkenswert oder ungewöhnlich? [8] 5.2.2 induktive Statistik 7 Knowledge_Discovery_in_Datenbanken Abbildung 5-3: Statistik verfahren 5.3 Data Warehouse Ein Data Warehouse (DW) ist eine dauerhafte, integrierte Sammlung von Daten aus unterschiedlichen Quellen zum Zweck der Analyse bzw. Entscheidungsunterstützung. Im Folgendem werden nur die wichtigsten Konzepte aus der Sicht des Data Mining / Knowledge Discovery in Datenbanken aufgeführt. Für eine umfassendere Einführung in das Thema wird auf [Fernandez & Schneider 1996] verwiesen. [9] 5.2.3 explorative Statistik 8 Knowledge_Discovery_in_Datenbanken Abbildung 5-4: Architektur eines Data Warehouse [9] In Abbildung 5-4 wird die typische Architektur eines Data Warehouse dargestellt. Das Data Warehouse sammelt aus verschiedenen operationaler Datenbanksystemen, die z.B. dem Einkauf, der Auftragsabwicklung und dem Marketing dienen, die Daten. Durch den aufwendigen Prozess der Integration dieser operationalen Datenbanksysteme entstehen Metadaten zur Beschreibung des Data Warehouses. Aus dem Data Warehouse werden sogenannte Data Marts extrahiert, die bestimmte Teilsichten/Auszüge als Kopie der eigentlichen Daten repräsentieren. Das Data Warehouse dient zur Bearbeitung von Ad hoc Anfragen, zum Online Analytical Processing und zum Data Mining und ist damit ein Grundstein für das Data-Mining. [9] 6 Knowledge Discovery in Datenbanken 6.1 Ziele des KDD Ziel des KDD ist es, selbständig entscheidungsrelevante, aber bisher unbekannte Zusammenhänge und Verknüpfungen in den Daten großer Datenmengen zu entdecken und dem Analysten oder dem Anwender in übersichtlicher Form zu präsentieren. Diese gewonnen Zusammenhänge erbringen einen Wissensgewinn. Eine zentrale Aussage ist, dass es sich um einen nichttrivialen Prozess (non-trivial process) handelt, dessen Ziel es ist, Muster (patterns) aus großen Datenbeständen (data) zu extrahieren. Diese Muster sollen zudem die Eigenschaften besitzen, dass sie für einen großen Teil des Datenbestandes gültig sind (valid) und bislang unbekannte (novel), potenziell nützliche (potentially useful) und leicht verständliche (ultimately understandable) Zusammenhänge innerhalb des Datenbestandes beschreiben [10]. 5.3 Data Warehouse 9 Knowledge_Discovery_in_Datenbanken 6.2 Prozess des KDD Abbildung 6-1: Übersicht über den KDD Prozess 6.2.1 Datenauswahl Im ersten Schritt geht es darum, ein Verständnis der Anwendung und dem bereits bekannten Anwendungswissen zu gewinnen. Darauf aufbauend wird das Ziel definiert um das bis jetzt unbekannte Wissen zu erreichen. Außerdem muss das angestrebte Wissen einen nützlichen Mehrwert für die Anwendung haben. Im ersten Prozessschritt werden die Daten ausgewählt, in denen das Wissen gesucht werden soll. Im einfachsten Fall greift man dafür auf eine bestehende Datenbank zu. Innerhalb der Datenbank können dann verschiedene Tabellen selektiert werden. Wenn keine Datenbank zur Verfügung steht, müssen die Daten bei der Datenauswahl manuell erfasst werden. Dies kann zum Beispiel durch Umfragen oder andere ähnliche Verfahren durchgeführt werden. Nach der Datenerfassung ist die ordnungsgemäße Verwaltung der Daten von Vorteil. Dies wird häufig durch eine speziell für das Data Mining angelegte Datei umgesetzt. Da die meisten Daten in kommerziellen Datenbanksystemen verwaltet werden, entsteht dadurch jedoch Redundanz. Es bietet dann jedoch in allen 6.2 Prozess des KDD 10 Knowledge_Discovery_in_Datenbanken Prozessschritten Funktionalitäten, welche gewinnbringend eingesetzt werden können. Beispielsweise können Teilmengen einfach und effizient selektiert werden. ?Es wird deshalb zunehmend eine Integration des KDD mit kommerziellen Datenbanksystemen gewünscht"[11]. 6.2.2 Vorverarbeitung Das Ziel in diesem Prozessschritt ist es die benötigten Daten zu integrieren und Konsistenz zu erzeugen. Dabei werden auch fehlende Attribute in den Daten ausgefüllt, sodass keine Lücken den Data Mining Prozess verfälschen. Der Vorverarbeitungsprozess, oder auch Transformationsprozess, erzeugt meistens den größten Aufwand innerhalb eines KDD Prozesses. Dieser Aufwand kann theoretisch durch den Einsatz eines Data Warehouses gesenkt werden, welches ?eine dauerhafte, integrierte Sammlung von Daten aus unterschiedlichen Quellen zum Zweck der Analyse bzw. Entscheidungsunterstützung? [12] ist. Wenn Daten auf unterschiedliche Weisen aus unterschiedlichen Quellen gewonnen werden, müssen diese integriert werden, da verschiedene Namen für dieselben Attribute verwendet worden sein könnten. Außerdem müssen Inkonsistenzen wie verschiedene Werte desselben Attributs oder Schreibfehler aufgelöst werden. Durch eine Umfrage kann auch ein sogenanntes Rauschen entstehen, wobei ein zufälliges Muster die eigentlichen Muster überlagern kann. Solch ein Rauschen entsteht meist durch Auftreten von Messfehlern oder absichtlich nicht beantworteten Fragen. Je nach verwendeten Algorithmus müssen fehlende Attributwerte auch genauer spezifiziert werden. So kann dann zum Beispiel eine Unterscheidung zwischen ?Messung nicht durchgeführt? und ?Messfehler? erfolgen. 6.2.3 Transformation In diesem Schritt werden die vorverarbeiteten Daten, in eine für das Ziel des Knowledge Discovery in Datenbanken geeignete Repräsentation, transformiert. Dies bedeutet, dass nicht alle bekannten Attribute der Daten auch für den Data Mining Prozess relevant sind. Eine der typischen Transformationen ist die Attribut Selektion. Obwohl viele Algorithmen schon eine eigene Auswahl von Attributen vornehmen, können zu viele Attribute die Effizienz und das Ergebnis des Data Minings beeinflussen. Die Attribut Selektion ist also von Vorteil, wenn genügend Anwendungswissen über die Bedeutung der Attribute und der gegebenen Data Mining Aufgabe vorhanden ist. Dann kann eine manuelle Attribut Selektion durchgeführt werden. Alternativ muss eine automatische Attribut Selektion erfolgen. Ein vollständiger Algorithmus, der alle Teilmengen der Menge der Attribute betrachtet, ist zu aufwendig. Stattdessen werden heuristische Algorithmen eingesetzt. Es wird dabei eher von der leeren Menge beziehungsweise von der Gesamtmenge der Attribute ausgegangen, um das Attribut hinzuzufügen oder zu entfernen, welches für die resultierende Attributmenge die beste Bewertung in Bezug auf die gestellte Data Mining Aufgabe erreicht. Manche Data Mining Algorithmen könne keine numerischen Attribute sondern nur kategorische Attribute verarbeiten. Dies erfordert dann eine Diskretisierung, sprich eine Transformation von numerischen Attributen in kategorische Attribute. Einfache Verfahren teilen den Wertebereich einfach in Intervalle von gleicher Länge oder Häufigkeit von enthaltenen Attributen. Komplexere Verfahren berücksichtigen Klassenzugehörigkeiten und bilden Intervalle nach Informationsgewinn in Bezug auf die Klassenzugehörigkeit. Dabei werden Attributwerte von Objekten derselben Klasse möglichst demselben Intervall zugeordnet. 6.2.1 Datenauswahl 11 Knowledge_Discovery_in_Datenbanken 6.2.4 Data Mining ?Data Mining ist die Anwendung effizienter Algorithmen, die die in einer Datenbank enthaltenen gültigen Muster finden? [13]. Mittlerweile werden die beiden Begriffe Data Mining und Knowledge Discovery in Datenbanken jedoch weitgehend synonym verwendet [14]. Data Mining steht dabei als Sammelbegriff für verschiedene rechnergestützte Verfahren, die zur Analyse großer Datenbestände eingesetzt werden. Die Wissenschaftler Decker und Focardi definieren den Begriff Data Mining folgendermaßen: ?Data Mining is a problem-solving methodology that finds a logical or mathematical description, eventually of a complex nature, of patterns and regularities in a set of data. [15]? Data Mining zielt demnach darauf ab, Muster in einer Datenbasis zu finden, die mithilfe von logischen oder mathematischen Beschreibungen dargestellt werden können. Data Mining bietet im Gegensatz zu traditionellen statistischen Verfahren, die zur Überprüfung vorgegebener Hypothesen herangezogen werden, die Möglichkeit der automatischen Generierung neuer Hypothesen. Dafür wird zuerst die relevante Data Mining Aufgabe identifiziert. Die wichtigsten Aufgaben werden in der folgenden Abbildung visualisiert und im Folgenden kurz erläutert. Abbildung 6-2: Übersicht über Data Mining Aufgaben • Clustering beziehungsweise das Entdecken von Ausreißern verfolgt das Ziel, die Datenbank in Gruppen von Objekten zu unterteilen. Eine Gruppe mit Objekten, die sich möglichst ähnlich sind und andere Gruppen mit Objekten, die sich möglichst unähnlich sind. Dabei gibt es Ausreißer welche sich zu keiner Gruppe zuordnen lassen. 6.2.4 Data Mining 12 Knowledge_Discovery_in_Datenbanken • Die Klassifikation gibt Trainingsobjekte mit Attributwerten vor, welche bereits einer Klasse zugeordnet sind. Darüber wird dann eine Funktion erzeugt um die zukünftigen Objekte aufgrund ihrer Attributwerte in Klassen zu unterteilen. • Ziel der Generalisierung ist es, eine Menge von Daten möglichst kompakt zu beschreiben, indem die Attributwerte generalisiert werden. Somit wird gleichzeitig auch die Zahl der Datensätze reduziert. Aufgrund des Anwendungsziels und des Typs der Daten wird nachfolgend ein passender Algorithmus ausgewählt. Dabei erfordern Daten mit kategorischen Attributen einen anderen Algorithmus als Daten mit numerischen Attributen. 6.2.5 Interpretation Im letzten Schritt des Knowledge Discovery in Datenbanken werden die gefundenen Muster geeignet präsentiert. Viele gefundene Muster oder sehr viele eingesetzte Attribute erschweren dieses Vorhaben. Häufig ist dann eine Visualisierung hilfreicher als eine textuelle Ausgabe. Wenn die Darstellung der gefundenen Muster optimiert ist, werden die Muster von einem Experten evaluiert. Diesen Vorgang bearbeitet er mit seinem vorhandenen Anwendungswissen in Bezug auf die anfangs definierten Ziele. Sind laut Experte die Ziele noch nicht alle erreicht, muss der Knowledge Discovery Prozess ein weiteres Mal durchlaufen werden. Dabei kann ein beliebiger Einstiegspunkt gewählt werden. Beispielsweise kann der Data Mining Prozess mit dem gleichen Algorithmus und anderen Parametern durchgeführt werden. Sobald der Experte die Evaluation für erfolgreich erklärt, wird das gefundene Wissen dokumentiert. Das neu erreichte Wissen kann für zukünftige Knowledge Discovery Prozesse als neue Grundlage dienen, um weiteres Wissen zu erarbeiten. 6.3 Methoden des KDD Die verwendeten Methoden beziehen sich auf den Prozess des Data Mining im Ablauf des KDD. Die Grundlagen wurden bereits im Bereich Data Mining angeschnitten und werden unter Anderem in diesem Kapitel noch einmal aufgegriffen und erweitert. Das Hauptziel dieser Methoden ist unter anderem, Muster in Daten zu erkennen. Hierbei werden ?eine Reihe von Algorithmen angewendet .., die oftmals Ihren Ursprung in der Mathematik und in der Statistik haben? [16]. Nachfolgend werden hierzu gängige Methoden aufgeführt und erläutert. Eine Übersicht über die Hauptmethoden ist in Abbildung 6-3 dargestellt. Abbildung 6-3: Übersicht über die Hauptmethoden des KDD 6.2.5 Interpretation 13 Knowledge_Discovery_in_Datenbanken 6.3.1 Generalisierung Das Hauptziel ist, wie beschrieben, die Analyse von Daten und das Erkennen von Mustern. Die Generalisierung dient in diesem Fall dem Finden von einer kompakten Datenmenge aus allen Informationen. Unterteilt werden kann die Generalisierung in zwei Teilbereiche. Zum Einen, die manuelle Generalisierung, bei der die Daten in der Datenbank immer weiter eingeschränkt werden. Zum Anderen gibt es die automatische Generalisierung, bei der einem Algorithmus spezifische Parameter mitgegeben werden. Anschließend analysiert und sortiert der Algorithmus mittels der Parameter die Daten und führt die erforderlichen Schritte der Generalisierung automatisch aus. Im nachfolgenden Teil wird der Algorithmus FIGR für die automatische Generalisierung einmal aufgeführt und dann weitergehend erläutert: Abbildung 6-4: Algorithmus FIGR[1] Zuerst werden die Tupel aus R in die Matrix M transformiert. Im weiteren Ablauf des Algorithmus wird jeder 6.3.1 Generalisierung 14 Knowledge_Discovery_in_Datenbanken Attributwert, in allen Dimensionen, auf die tatsächlich auftretende Anzahl geprüft. Sobald hierbei die Anzahl T überschritten wird, werden die Attributwerte auf der jeweiligen Dimension generalisiert, also in einer Konzeptebene zusammengefasst. Nun wird eine neue Matrix Gen erstellt, die für jeden generalisierten Wert einen entsprechenden Eintrag enthält. Der zweite Durchlauf besteht aus der Transformation von M in die Matrix Gen. Für jeden Wert von M wird hier die zugehörige Zelle in Gen inkrementiert.[17] Der oben genannte Algorithmus FIGR arbeitet also entsprechend der Methodik, dass die Anzahl der Werte gezählt und dann anhand einfacher Zahlen sortiert wird. Hierdurch wird die Gesamtzahl der Werte minimiert und somit eine entsprechend kompaktere Datenmenge erzeugt. 6.3.2 Clustering Clustering umschreibt eine Methode, in der Zusammenhänge zwischen verschiedenen Daten hergestellt werden. Diese Zusammenhänge können auf der einen Seite in der Übereinstimmung von Eigenschaften zwischen Daten liegen. Auf der anderen Seite wird hier jedoch auch nach größtmöglichen Unterschieden sortiert. Das Ziel ist es also möglichst gleiche oder möglichst verschiedene Elemente zu einer Gruppe zusammenzufassen. Clustering kann weiterhin in Teilbereiche unterteilt werden. Dies umfasst dabei die Clusteranalyse, basierend auf multivariaten statistischen Verfahren und den Competitive Strategien durch Clustering mit künstlich neuronalen Netzen [18]. In den nachfolgenden Abschnitten werden diese jeweils kurz erläutert. 6.3.2.1 Clusteranalyse mit multivariaten statistischen Verfahren Eine weitere Unterteilung der Multivariate statistische Verfahren erfolgt in hierarchische und partitionierende Verfahren. Hierarchische werden weiterhin in agglomerative und divisive eingegliedert. Die agglomerativen Verfahren fassen die Objekte und Daten schrittweise zusammen. Theoretisch kann dieses Verfahren durchgeführt werden, bis nur noch zwei Klassen vorhanden sind. Die divisiven Verfahren arbeiten in entgegengesetzter Richtung. Hier werden ausgehend von einer Klasse weitere Unterklassen gebildet. Ein Problem bei den hierarchischen Verfahren ist, dass falsche Zuordnungen getroffen werden können und diese nicht mehr korrigierbar sind. Dies führt dazu, dass diese Verfahren nur bedingt nutzbar sind. Vor allem eignen sie sich für das Auffinden von Hierarchien oder Ausreißern. Die partitionierenden Verfahren suchen optimale Partitionen in den Daten. Das bedeutet, dass möglichst zusammenhängende Daten gesucht und zusammengefasst werden. Mittels bestimmter festgelegter Zielkriterien können die Daten dann zwischen Partitionen verschoben werden.[18] 6.3.2 Clustering 15 Knowledge_Discovery_in_Datenbanken Abbildung 6-5: Clusteranalyse mittels hierarchischem Verfahren Abbildung 6-6: Clusteranalyse mittels partitionierendem Verfahren 6.3.2.1 Clusteranalyse mit multivariaten statistischen Verfahren 16 Knowledge_Discovery_in_Datenbanken 6.3.2.2 Clustering mit künstlich neuronalen Netzen Für das Clustering mit künstlich neuronalen Netzen wird ein Support Vector Clustering Algorithmus in Kombination mit einer Support Vector Maschine nach Ben-hur et al. verwendet[19]. Die allgemeine Funktion ist die Suche nach einer Hyperebene mittels mathematischer Funktionen, welche zwei Klassen voneinander trennt. Als weitere Eigenschaft dieser Hyperebene sollte gegeben sein, dass der Abstand von den Klassen zu den nächstgelegenen Punkten maximal ist. Die Punkte die dann am nächsten zur Ebene liegen dienen als Support-Vector, während die anderen Datenpunkte keinen Einfluss auf den Algorithmus haben[20]. 6.3.3 Klassifikation Innerhalb der Klassifikation werden die Daten vordefinierten Klassen zugeordnet [21]. Dies steht im Gegensatz zu den Clustering-Verfahren, bei denen möglichst passende Klassen gefunden und zugewiesen werden. Ein einfaches Beispiel für eine Klassifikation ist die Vergabe von Krediten. Anhand vorhandener Datensätze mit Bezug auf die Kreditvergabe wird zugeteilt, ob ein Kredit vergeben wird, oder nicht. Die Klassifikation lässt sich nach Ester/Sander noch in zwei Aufgaben unterteilen. Zuerst erfolgt die reine Zuordnung der Objekte zu Klassen. Dies geschieht anhand der Attributwerte der einzelnen Objekte. Erst in der zweiten Aufgabe entsteht der eigentliche Schritt um von KDD zu sprechen. Hier wird das explizite Wissen über die Klassen generiert.[1] Als Beispiel befasst sich die nachfolgende Tabelle mit einer möglichen Verfahrensweise in Bezug auf die Klassifikation: Geschlecht Spielt Computerspiele Mag Schokolade Sportlich Männlich Ja Ja Ja Weiblich Nein Ja Ja Männlich Ja Ja Nein Männlich Ja Nein Ja Männlich Ja Nein Nein Weiblich Ja Ja Nein Tabelle 6.1: Beispiel für die Klassifikation von Daten Innerhalb der Tabelle werden nun zuvor erfasste Daten in Klassen unterteilt. Hier entstehen die Klassen "Geschlecht", "Spielt Computerspiele", "Mag Schokolade" und "Sportlich". Hieran lässt sich dann erkennen, ob es z.B. Zusammenhänge zwischen dem Geschlecht und dem spielen von Computerspielen gibt. Die weitere Analyse bezieht sich anschließend auf Assoziationen zwischen den Klassen. Eine weitere Erarbeitung erfolgt entsprechend im Kapitel 5.3.4, der Assoziationsanalyse. 6.3.4 Assoziationsanalyse Die Assoziationsanalyse beruht auf der Findung von Regeln zwischen auftretenden Daten. Ein Beispiel für Regeln ist eine "wenn A und B dann C" Verknüpfung. Als Grundlage hierfür kann der Apriori-Algorithmus zum 6.3.2.2 Clustering mit künstlich neuronalen Netzen 17 Knowledge_Discovery_in_Datenbanken Auffinden von häufigen Datenverknüpfungen genutzt werden. Dieser basiert auf einer Monotonie-Eigenschaft für häufig auftretende Datenverknüpfungen: "Jede Teilmenge eines häufig auftretenden Itemsets muss selbst auch häufig sein." Die häufig auftretenden Verknüpfungen werden dann der Größe nach ermittelt. Zuerst werden die einelementigen, dann die zweielementigen und so weiter bestimmt. Dieser Algorithmus wird so häufig durchgeführt, bis keine Verknüpfungen mehr gefunden werden. Für die Assoziationsanalyse werden anschließend die am häufigsten auftretenden Regeln hergeleitet. Ein klassisches Beispiel hierfür ist eine Warenkorbanalyse. Hierbei wird analysiert, welche Artikel zusammen mit anderen Artikel gekauft werden. Diese werden anschließend anderen Kunden, mit der Bezeichnung "Kunden, die diesen Artikel gekauft haben, kauften auch" zu den Produkten angezeigt. Dies führt zu einer gezielten Werbung, da eine gewisse Wahrscheinlichkeit besteht, dass die ähnlichen Produkte für die Kunden ebenfalls relevant sein könnten.[22] Auf dieses Beispiel wird im Zuge der Anwendungsbeispiele noch näher eingegangen. Innerhalb der Assoziationsanalyse lässt sich die Verbindung zur Klassifikation herstellen. Hierfür wird die Tabelle 5.1 aus dem Kapitel 5.3.3 Klassifikation hinzugezogen, aus der weitere Rückschlüsse gezogen werden können. In dieser Tabelle lassen sich entsprechende Assoziationsregeln herleiten, welche dann Regeln ergeben, womit ein entsprechender Wissensgewinn und Nutzen erwirkt werden kann. Aus der Tabelle ergeben sich nachfolgende Regeln: Wenn Männlich, dann spielt Computerspiele Wenn Weiblich, dann mag Schokolade Weitere eindeutige Regeln lassen sich aus dieser Tabelle nicht ableiten. 6.3.5 Regressionsanalyse Regressionsanalyse dient der Ermittlung von zugehörigen Informationen zu vorhandenen Daten. Mittels verschiedener Regressionsverfahren werden Prognosen in Bezug auf die vorhandenen Daten gemacht. Dieses Verfahren wird vor allem verwendet, wenn gewisse Informationen vorliegen, hierzu zugehörige Werte jedoch fehlen. Je höher die Abhängigkeit zwischen den Objekten ist, desto genauer kann dann eine Prognose erfolgen. [23] 6.4 Anwendungsbeispiele Es existieren bereits viele im Alltag erfolgreich angewendete Beispiele für den Einsatz von KDD. Hierbei werden sowohl kommerzielle und nicht-kommerzielle Themen abgedeckt. Einige der Beispiele werden in den folgenden Abschnitten erläutert. Weiterhin wird hier der Aspekt des Datenschutzes aufgegriffen. 6.3.4 Assoziationsanalyse 18 Knowledge_Discovery_in_Datenbanken 6.4.1 Datenschutz Im Zuge der immer größer werdenden Menge von Daten gerät auch der Datenschutz stärker in den Fokus. Auch Ester bestärkt diesen Eindruck, da "Die immer größeren Datenmengen, die automatisch gesammelt und gespeichert werden, .. ein enormes Potential für das Data Mining [bieten]"[1]. Diese gesammelten, teilweise auch persönlichen, Daten werden ohne das Wissen der Nutzer analysiert und ausgewertet. Durch die Verbindung verschiedener Datenbanken können so genaue Verhaltensmuster und Informationen in Bezug auf einzelne Personen gewonnen werden. Aktuell wird jedoch im Allgemeinen meistens nur Gruppenverhalten analysiert, weshalb keine Rückschlüsse auf einzelne Personen stattfinden. Trotzdem muss in diesem Zuge ein genaueres Augenmerk auf den Datenschutz geworfen werden, damit auch zukünftig keine personenbezogene Analyse erfolgt.[1] 6.4.2 Geologie Heutzutage erfolgen auch immer mehr Analysen über aktuelle Veränderungen im Bereich Klima und Landnutzung. Immer mehr Daten werden bei der Erstellung von Simulationsmodellen erhoben und gespeichert. Diese Daten können dann ausgewertet werden, um z.B. Klimaänderungen vorauszusagen oder Prognosen in Bezug auf zukünftige Ereignisse zu treffen. Als Beispiel gibt es das System CONQUEST. Dieses System dient unter anderem zur Analyse von geologischen Daten. Anhand der ausgewerteten Daten werden typische Routen von Zyklonen vorausgesagt.[24] 6.4.3 Marketing Die wohl bekanntesten Beispiele für das KDD liegen in der Anwendung im Marketing. Hierbei werden z.B. Kundendaten analysiert und hierauf basierend die Werbung angepasst. Dies kann sowohl anhand des Benutzerverhaltens geschehen als auch des Standortes oder anderen vorliegenden Daten. Der Wissensgewinn wird hier unter anderem in Webshops mit den bekannten Aussagen: "Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?" oder "Weitere Empfehlungen für Sie:" genutzt. Dies ist für die Verkäufer ein erheblicher Gewinn, da Werbung gezielt auf die verschiedenen Kunden angepasst werden kann. Eine solche Zuordnung ist ebenfalls über das assoziieren von Käufen innerhalb bestimmter Orte möglich. Es könnte sich z.B. die Annahme ergeben, dass innerhalb von Münster viele Menschen nach einem Fahrrad suchen. Anhand dieser Daten könnte ein Anbieter für Fahrräder oder Fahrradzubehör speziell dieses Gebiet für seine Werbung bevorzugen. Eine ähnliche Anpassung erfolgt heute auch in Bereichen des Fernsehens. Hier wird anhand von Analysen ausgewertet, welches Publikum zu welchem Zeitpunkt das Programm verfolgt. Diese Analysen ermöglichen dann die Schaltung spezifischer Werbung auf das maßgeblich vertretene Publikum. Ein Beispiel für die Anwendung im Marketing ist das Spotlight-System[25]. Dieses System Analysiert Verkaufsmengen und deckt Zusammenhänge zwischen Änderungen dieser Mengen und z.B. gleichzeitigen Preisänderungen auf. 6.4.1 Datenschutz 19 Knowledge_Discovery_in_Datenbanken 6.4.4 Geldwäsche Mit einem System des Financial Crimes Enforcement Network (FINCEN), dem FINCEN AI System (FAIS), werden bereits heute große Zahlungen beobachtet und analysiert. Mittels menschlicher und softwareseitiger Überwachung werden diese Zahlungen überwacht und geprüft. Ziel ist hier unter anderem die Erkennung von möglicher Geldwäsche. FAIS basiert auf einer Datenbank mit großen Datenmengen, einer grafischen Oberfläche und vielen Verarbeitungs- und Analysemethoden. FAIS ist bereits seit März 1993 im Einsatz und prüft ca. 200.000 Transaktionen innerhalb einer Woche.[26] 7 Schlussbetrachtung 7.1 Zusammenfassung Insgesamt kann man sagen, dass Knowledge Discovery in Datenbanken eine gute Möglichkeit ist, Wissen aus Daten zu extrahieren. Vermehrt man die Daten, die aus allen Bereichen gesammelt werden, wird sehr wahrscheinlich immer mehr Wissen extrahiert. Das neue Wissen kann anschließend für weitere Auswertungen verwendet werden. Jedoch muss bei dem neuen Wissen geprüft werden, ob die statistische Grundlage dieses Wissens korrekt ist, um schwerwiegende Fehler für die Zukunft zu vermeiden. 7.2 Ausblick Daten können in der heutigen Welt fast grenzenlos gespeichert werden. Durch diese Möglichkeit werden durch moderne Technologien oder ähnliche Mittel immer mehr Daten erzeugt, die potenzielles Wissen enthalten. Auch neue und leistungsstärkere Rechner machen komplexere Auswertungen möglich, die bisher nicht greifbares Wissen aus den Daten extrahieren können. Der Prozess der KDD wird in der Zukunft wahrscheinlich durch die höheren Datenmengen noch mehr Bereiche unseres Lebens verändern können und wird dadurch immer mehr an Bedeutung gewinnen. Auch führt neues Wissen stetig zu neuerem Wissen. Gleichzeitig wird auch ein Wandel in anderen Themenbereichen stattfinden. Gerade in Bezug auf den Datenschutz werden die immer größeren Datenmengen und steigenden Zusammenhänge zwischen diesen, einen starken Wandel erzeugen. 8 Anhang 8.1 Fußnoten 1. ? 1,0 1,1 1,2 1,3 1,4 Ester/Sander (2000), 2. ? Fayyad,Piatetsky-Shapiro,Smyth(1996), Seite 6 3. ? ANSI(1986), Kemper A., Eickler A. (1999), Seite 47-57 4. ? ANSI(1986), Dokument ANSI X3.135 5. ? Ramez Elmasri, Shamkant B. Navathe(2004), Seite 49ff 6. ? Härder (2001), Seite 8-11 7. ? Gunter Saake, Kai-Uwe Sattler, Andreas Heuer (2011) 8. ? Fahrmeir L., Künstler R., Pigeot I., Tutz G.(1999) 9. ? 9,0 9,1 9,2 Fernandez/Schneider(1996), Tutorial Notes ACM SIGMOD Int. Conf. on Management of Data 6.4.4 Geldwäsche 20 Knowledge_Discovery_in_Datenbanken 10. ? Vgl. Fayyad et al. (1996), Seite 6 11. ? Vgl. Chaudhuri (2000), Seite 719-722 12. ? Chaudhuri/Dayal(1997), Seite 65-74 13. ? Fayyad, Piatetsky-Shapiro & Smith (1996), Seite 82-88 14. ? Vgl. Piatetsky-Shapiro 2007, S. 100 15. ? Decker, Focardi 1995, S. 3 16. ? Sharafi (2012), Seite 68 17. ? Vgl. Carter/Hamilton (1998) 18. ? 18,0 18,1 Vgl. Petersohn (2005), Seite 26f 19. ? Ben-Hur et al. (2002), Seite 125-137 20. ? Pal/Mitra (2004), Seite 86f 21. ? Otto Oberhauser (2005), Seite 2 22. ? Agrawal/Srikant (194), Seite 94-105 23. ? Fayyad et al. (1996) Seite 44 24. ? Stolorz et al (1995) 25. ? Anand/Kahn (1992) 26. ? Senator et al. (1995), Seite 21f 8.2 Literatur- und Quellenverzeichnis Verweis Literatur / Quelle Agrawal/Srikant (1994) Rakesh Agrawal, Ramakrishnan Srikant (1994): Fast algorithms for mining association rules, Proc. 20th int. conf. very large data bases, VLDB. Vol. 1215. 199, Seite 94-105 ANSI (1986) ANSI (1986) : American National Standards Institute "The Database Language SQL", Dokument ANSI X3.135 Anand/Kahn (1992) Anand T., Kahn G. (1992): SPOTLIGHT: A Data Explanation System, Proceedings 8th IEEE Conference on Applied AI, Seite 2-8 Ben-Hur (2002) Asa Ben-Hur, David Horn, Hava T. Siegelmann, Vladimir Vapnik (2002): Support Vector Clustering. In: Journal of Machine Learning Research, Vol. 2 2002, Seite 125-137 Link http://www.jmlr.org/papers/volume2/horn01a/rev1/horn0 Carter/Hamilton (1998) 8.1 Fußnoten 21 Knowledge_Discovery_in_Datenbanken Carter C., Hamilton H. (1998): Efficient Attribute-Oriented Generalization for Knowledge Discovery from Large Databases, IEEE Transactions on Knowledge and Data Engineering, Vol. 10, No. 2, Seite 193-208 Chaudhuri (2000) Amir Netz, Surajit Chaudhuri, Jeff Bernhardt, Usama M. Fayyad (2000): Integration of Data Mining with Database Technology, Morgan Kaufmann Publishers Inc. San Francisco, Vol. 4, Bd. 2/3, Seite 719-722 Chaudhuri/Dayal(1997) Surajit Chaudhuri, Umeshwar Dayal (1997): An Overview of Data Warehousing and OLAP Technology, ACM SIGMOD Record, Vol. 26, Bd. 1, 1997, Seite 65-74 Ester/Sander (2000) Martin Ester, Jörg Sander (2013): Knowledge Discovery in Databases: Techniken Und Anwendungen, Springer Verlag, München, 2000, Seite 1ff, 10, 107, 192 Fayyad et al. (1996) Usama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smith: From Data Mining to Knowledge Discovery in Databases, AI MAGAZINE Vol 17 no 3 http://www.aaai.org/ojs/index.php/aimagazine/article/vie Usama M. Fayyad, G. Piatetsky, P. Smith (1996): Knowledge Discovery and Data Mining: Towards a Fayyad/Piatetsky-Shapiro/Smith Unifying Framework, (1996) Proceedings 2nd International Conference on Knowledge Discovery and Data Mining, Seite 82-88 Fernandez/Schneider (1996) 8.2 Literatur- und Quellenverzeichnis 22 Knowledge_Discovery_in_Datenbanken Fernandez/Schneider (1996): The Ins and Outs of Data Warehousing, Tutorial Notes ACM SIGMOD Int. Conf. on Management of Data Gunter Saake, Kai-Uwe Sattler, Andreas Heuer (2011) Gunter Saake, Kai-Uwe Sattler, Andreas Heuer (2011): Datenbanken: Implementierungstechniken. mitp Professional, ISBN 3-8266-9156-3, S. 2 ff., 21 ff. Härder (2001) Theo Härder (2001): Datenbanksysteme. Springer, Berlin 2001, ISBN 3-540-42133-5, S. 8?11. Kemper A., Eickler A. (1999) Kemper A., Eickler A. (1999): Datenbanksysteme Eine Einführung, Oldenbourg Verlag, München Oberhauser (2005) Otto Oberhauser: Automatisches Klassifizieren: Entwicklungsstand ? Methodik ? Anwendungsbereiche. Frankfurt/Main, Peter Lang, 2005, Seite 2 Ramez Elmasri, Shamkant B. Navathe (2004) Ramez Elmasri, Shamkant B. Navathe (2004): Grundlagen von Datenbanksystemen. [Übers.: Angelika Shafir]. Pearson Studium, München 2004, ISBN 3-8273-7136-8, S. 49 ff. Pal/Mitra (2004) Sankar K. Pal, Pabitra Mitra (2004): Pattern Recognition Algorithms for Data Mining, Chapman&Hall/CRC, Boca Raton, FL, USA 2004, Seite 86f Petersohn (2005) Helge Petersohn (2005): Data Mining: Verfahren, Prozesse, Anwendungsarchitektur: 8.2 Literatur- und Quellenverzeichnis 23 Knowledge_Discovery_in_Datenbanken Verfahren, Prozesse, Anwendungsarchitektur, Oldenbourg Wissenschaftsverlag, München, 2005, Seite 26f Senator et al. (1995) Crimes Enforcement Network AI System (FAIS): Identifying Potential Money Laundering from Reports of http://www.aaai.org/ojs/index.php/aimagazine/article/vie Large Cash Transactions. AI Magazine 16(4), 1995, Seite 21f Sharafi (2012) Armin Sharafi: Knowledge Discovery in Databases: Eine Analyse des Änderungsmanage-ments in der Produktentwicklung, Springer Verlag, München, Seite 86 Stolorz et al. (1995) Stolorz P., Nakamura H., Mesrobian E., Muntz R. R., Shek E. C., Santos J.R., Yi J., Ng K., Chien S.-Y., Mechoso C. R., Farrara J. D. (1995): Fast Spatio-Temporal Data Mining of Large Geophysical Datasets, Proceedings 1st International Conference on Knowledge Discovery and Data Mining, Seite 300-305 8.2 Literatur- und Quellenverzeichnis 24