Florian Stompe Real-time Data Mining Datenmodellierung und Mustererkennung in Echtzeit Diplomica Verlag Florian Stompe Real-time Data Mining: Datenmodellierung und Mustererkennung in Echtzeit ISBN: 978-3-8366-2879-2 Herstellung: Diplomica® Verlag GmbH, Hamburg, 2009 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden und der Verlag, die Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen. © Diplomica Verlag GmbH http://www.diplomica-verlag.de, Hamburg 2009 INHALT ABBILDUNGEN .......................................................................................................................I BEISPIELE .............................................................................................................................. II LISTINGS ................................................................................................................................ II TABELLEN ............................................................................................................................. II ABKÜRZUNGEN ................................................................................................................. III 1. Einleitung .......................................................................................................................... 1 2. Die Evolution des Data Mining ....................................................................................... 3 3. 2.1. Grundlagen des klassischen Data Mining .................................................................. 3 2.2. Dynamik im Umfeld der Business Intelligence ......................................................... 6 Data Mining für große, stark dynamische Datenbanken ........................................... 11 3.1. 4. Inkrementelle Update-Algorithmen zur Assoziationsanalyse .................................. 13 3.1.1. Grundlagen der Assoziationsanalyse ............................................................... 15 3.1.2. Der Fast Update Algorithmus (FUP) ............................................................... 20 3.1.3. Erweiterung des Fast Update Algorithmus (FUP2) ......................................... 26 3.1.4. Der Updatae Large Itemset Algorithmus (ULI) ............................................... 29 3.1.5. Weitere Algorithmen zur inkrementellen Assoziationsanalyse ....................... 32 3.2. Inkrementelles Mining zur Entdeckung von Sequenzmustern ................................. 33 3.3. Inkrementelles Clustering ........................................................................................ 38 3.3.1. Grundlagen des Clustering ............................................................................... 39 3.3.2. Das IncrementalDBSCAN Verfahren .............................................................. 40 3.3.3. Das IncOPTICS Verfahren............................................................................... 47 3.3.4. Weitere inkrementelle Clustering-Verfahren ................................................... 52 Mining von kontinuierlichen Datenflüssen (Data Streams) ....................................... 53 4.1. Anfragen an Data Streams........................................................................................ 55 4.2. Ansätze und Verfahren zur Analyse von Data Streams ........................................... 56 4.2.1. Klassifizierung stationärer Daten in Streams ................................................... 56 4.2.2. Klassifizierung nicht-stationärer Daten in Streams .......................................... 60 5. 6. 4.2.3. Clustern von Daten in Streams ......................................................................... 65 4.2.4. Muster- und Regelerkennung in Streams ......................................................... 71 Ein Realtime Data Mining Framework ........................................................................ 76 5.1. Definition und Konzept ............................................................................................ 76 5.2. Exemplarischer Einsatz im Verkehr ......................................................................... 82 Zusammenfassung und Ausblick .................................................................................. 85 LITERATUR .......................................................................................................................... 87 ABBILDUNGEN Abbildung 1: Wissensgenerierung und –nutzung mit Hilfe von Data Mining .......................... 7 Abbildung 2: Transaktionssysteme mit integriertem Data Mining .......................................... 10 Abbildung 3: Vergleich der Datenbankgrößen 2003/2005 [ADW05] ..................................... 11 Abbildung 4: Mining dynamischer Datenbanken .................................................................... 12 Abbildung 5: Inkrementelle Algorithmen zur Assoziationsanalyse ........................................ 14 Abbildung 6: Ablauf des ersten Iterationsschrittes beim FUP [CHV+96] .............................. 21 Abbildung 7: Inkrementelle Algorithmen zur Entdeckung von Sequenzmustern (a) .............. 34 Abbildung 8: Inkrementelle Algorithmen zur Entdeckung von Sequenzmustern (b) .............. 35 Abbildung 9: Inkrementelle Algorithmen zum Clustering ...................................................... 38 Abbildung 10: Dichte-verbundene Punktmenge beim DBSCAN-Algorithmus ....................... 41 Abbildung 11: Vom Update betroffene Cluster beim IncrementalDBSCAN ........................... 43 Abbildung 12: Leistungsvorteil des IncrementalDBSCAN bei einer geographischen Datenbank [EKS+98] ............................................................................................................... 47 Abbildung 13: Kerndistanz und Erreichbarkeitsdistanz beim OPTICS ................................... 48 Abbildung 14: Erreichbarkeitsdiagramm beim OPTICS ......................................................... 49 Abbildung 15: Reorganisation der Clusterordnung beim IncOPTICS [KKG03] .................... 51 Abbildung 16: Info-Fuzzy Netzwerk mit zwei Eingabeattributen ........................................... 61 Abbildung 17: Architektur des OLIN-Systems [Las02] .......................................................... 62 Abbildung 18: Anpassung der Fenstergröße an die Drift-Rate beim OLIN [Las02] ............... 63 Abbildung 19: Architektur des CluStream-Frameworks ......................................................... 66 Abbildung 20: CluStream Snapshots ....................................................................................... 69 Abbildung 21: CluStream Cluster-Bewegungen [Sat06] ......................................................... 70 Abbildung 22: Signatur des Telefonanschlusses eines Unternehmens [CoP01]...................... 74 Abbildung 23: Komponentenmodell von Realtime Data Mining Algorithmen ....................... 80 I BEISPIELE Beispiel 1: Arbeitsweise des Apriori-Algorithmus .................................................................. 18 Beispiel 2: Negative border ...................................................................................................... 30 Beispiel 3: Sequentielle Transaktionsdatenbank und entdeckte Sequenzmuster [AgR95] ...... 34 Beispiel 4: CluStream Snapshots ............................................................................................. 68 LISTINGS Listing 1: Join-Schritt des Apriori-Algorithmus ...................................................................... 17 Listing 2: DBSCAN-Algorithmus [EKS+98] .......................................................................... 41 Listing 3: SQL-Anfrage auf einem Data Stream [LTW+05] ................................................... 55 Listing 4: Hoeffding Baum-Algorithmus [DoH00] ................................................................. 59 TABELLEN Tabelle 1: Parameter zur Daten-Beschreibung......................................................................... 24 Tabelle 2: FUP2 Notationen [CLK97] ..................................................................................... 26 Tabelle 3: ULI Notationen ....................................................................................................... 30 Tabelle 4: Laufzeitverbesserung des IncOPTICS ggü. dem OPTICS [KKG03]...................... 52 Tabelle 5: Leistungsvergleich OLIN/ IncrementalOLIN [CAL04] ......................................... 64 Tabelle 6: Ziele des Realtime Data Mining ............................................................................. 77 Tabelle 7: Komponenten dreier Realtime Data Mining Algorithmen ...................................... 81 Tabelle 8: Datensätze MRT-Auslastung .................................................................................. 82 II ABKÜRZUNGEN BI Business Intelligence BIRCH Balanced Iterative Reducing and Clustering using Hierarchies CDR Call Detail Record COI Community of Interest CPU Central Processing Unit DBMS Datenbank-Management-System DBSCAN Density-Based Spatial Clustering of Applications with Noise DHP Direct Hash Pruning DM Data Mining DSM-FI Data Stream Mining for Frequent Itemsets DUCstream Dense Units Clustering for data stream DUS Decreasingly Updating Sequences DWH Data Warehouse EDA Explorative Datenanalyse ERP Enterprise Resource Planning ETL Extract, Transform and Load FASTUP Fast Sequential Pattern Update Algorithm FHC Fuzzy Hierarchical Clustering FUP Fast Update Algorithmus ID Identification Number IFHC Incremental Fuzzy Hierarchical Clustering IFN Info-Fuzzy-Netzwerk ISE Incremental Sequence Extraction ISM Incremental Sequence Mining IUS Incrementally Updating Sequences KDD Knowledge Discovery in Databases MRT Mass Rapid Transit OLAP Online Analytical Processing OLE DB Object Linking and Embedding Database OLIN On-Line Information Network OLTP Online Transaction Processing III OPTICS Ordering Points To Identify the Clustering Structure SWF Sliding-Window Filtering SQL Structured Query Language TA Transaktion(en) TID Transaction Identification Number ULI Updatae Large Itemset-Algorithmus VFDT Very Fast Decision Tree VLDB Very Large Database XML Extensible Markup Language IV 1. Einleitung Organisationen generieren heute Daten für nahezu jede Transaktion an der sie beteiligt sind. Dabei können, je nach Größe der Organisation, täglich bis zu mehrere Millionen Datensätze anfallen. In wissenschaftlich-technischen Bereichen, wie z.B. der Satellitenaufklärung, werden oft mehrere Gigabytes an Daten pro Tag produziert. Diese enorme Datenmenge hat auch Einfluss auf die Analyse der Daten mittels Data Mining. Daten entstehen häufig schneller als sie analysiert werden können. Ein Grund hierfür ist u.a. das One-Shot Paradigma des klassischen Data Mining [DoH01]. Danach wird Data Mining als Analyseprozess eines kompletten Datenbestandes zu einem diskreten Zeitpunkt verstanden. Diese Sichtweise ist einer exponentiell wachsenden Datenmenge auf Dauer nicht gewachsen. Darüber hinaus werden in vielen Anwendungsbereichen die Ergebnisse des Data Mining zeitnah mit der Entstehung der Daten benötigt. Dies ist beispielsweise in der Betrugserkennung bei Kreditkartentransaktionen der Fall. Das Verhalten der Nutzer von Kreditkarten kann sich durch Ereignisse wie Urlaub, Geschäftsreisen usw. zeitweise ändern. Dennoch muss eine schnelle, treffsichere Entscheidung darüber getroffen werden können, ob es sich bei einer Kreditkarten-Transaktion um einen möglichen Betrug handelt. Zunehmend werden deshalb Ansätze verfolgt, die Data Mining als einen kontinuierlichen Prozess betrachten. Gegenstand dieses Buches ist die Untersuchung verschiedener Ansätze, Methoden und Algorithmen, mit denen sich neu entstehende Daten zeitnah analysieren und die Ergebnisse in ein bereits existierendes Mining-Modell einarbeiten lassen. Im Kapitel 2 werden nach einer kurzen Einführung in das klassische Data Mining mögliche Echtzeit-Anforderungen im Business Intelligence Umfeld identifiziert. Dabei werden die Aspekte der Erstellung (Modelling) und der Nutzung (Scoring) von Data Mining Modellen in Echtzeit voneinander abgegrenzt. Da das Problem der zu verarbeitenden großen Datenmengen im Wesentlichen auf Seiten des Modelling und weniger auf Seiten des Scoring liegt, konzentriert sich Realtime Data Mining primär auf Lösungen zur Modellerstellung. Zwei unterschiedliche Grundprinzipien zur kontinuierlichen Datenanalyse lassen sich danach unterscheiden: Kapitel 3 beschäftigt sich mit dem Mining von großen, dynamischen Datenbanken und verbindet die klassische Sichtweise statisch gespeicherter Daten mit der Idee eines kontinuierlichen Mining-Prozesses. Im Kapitel 4 wird auf eine spezielle Entwicklung des 1 Data Mining, das Stream Mining eingegangen. Hier werden Daten nicht aus Datenbanken heraus analysiert, sondern unmittelbar nach deren Entstehung aus einem Data Stream. Bei der Betrachtung von Algorithmen im Rahmen dieser beiden Grundprinzipien werden gemeinsame Merkmale identifiziert, die es erlauben, diese Algorithmen in einen Ordnungsrahmen einzubetten und voneinander zu unterscheiden. Dazu gehört beispielsweise die Fähigkeit eines Algorithmus, grundlegende Änderungen im Datenentstehungsprozess, sog. Concept Drifts, zu erkennen. Es gibt kaum Real-World Prozesse, die solchen plötzlichen oder allmählichen Veränderungen nicht unterworfen sind. Das Kaufverhalten von Konsumenten lässt sich ebenso dazu zählen wie das Wetter. Data Mining, das anfangs nur eine lose Ansammlung unterschiedlichster Verfahren zur Datenanalyse war, kann inzwischen als integrierter Prozess mit systematisch geordneten Methoden bzw. Algorithmen betrachtet werden. Dazu trägt u.a. ein in [Han01] vorgestelltes Framework bei, das klare Aufgaben innerhalb des Data Mining definiert. Darüber hinaus werden Algorithmen zur Lösung dieser Aufgaben in einzelne Komponenten aufgeteilt. Dies erleichtert, durch die erhöhte Transparenz und bessere Vergleichbarkeit, die Auswahl eines geeigneten Algorithmus für ein spezifisches Data Mining Problem. Für die Herausforderungen der Datenanalyse unter Echtzeitanforderungen ist dieses Framework jedoch unzureichend. Im Kapitel 5 soll nach einer Definition des Begriffs „Realtime Data Mining“ ein Framework vorgestellt werden, welches als Ordnungsschema für die speziellen Eigenschaften von Realtime Mining-Algorithmen dienen kann. Dies ermöglicht es, ein spezifisches Data Mining Problem systematisch zu analysieren und in seine Bestandteile zu zerlegen. Mit Hilfe des vorgestellten Komponentenmodells kann dann ein geeigneter Realtime Mining-Algorithmus gefunden werden. Zum Abschluss des Kapitels wird ein Anwendungsbeispiel konstruiert, an dem die Möglichkeiten des Realtime Data Mining skizziert werden. 2 2. Die Evolution des Data Mining Data Mining, im englischen Sprachraum auch oft als Knowledge Discovery in Databases (KDD) bezeichnet, ist eine relativ junge Disziplin, die auf Methoden der Statistik, des maschinellen Lernens bzw. der künstlichen Intelligenz, der Datenbanktechnologie und verwandter Wissenschaften zurückgreift [Han01]. Seit der Begriff in den frühen neunziger Jahren etabliert wurde, hat sich diese Disziplin rasant entwickelt. Die Anforderungen an das Data Mining nehmen stetig zu, denn aus immer mehr und immer komplexeren Daten muss in immer kürzerer Zeit relevantes Wissen extrahiert werden. Im Abschnitt 2.1 dieses Kapitels sollen zunächst die Grundlagen des Data Mining dargestellt werden. Abschnitt 2.2 erläutert im Anschluss die steigenden Anforderungen unter dem besonderen Aspekt dynamischer Daten. 2.1. Grundlagen des klassischen Data Mining Data Mining ist die Wissenschaft von der Extrahierung nützlicher Informationen aus großen Datenmengen [Han01]. Es umfasst Verfahren, mit denen Daten systematisch analysiert werden können, um unerwartete Beziehungen zu finden oder die Daten zu kompakten Modellen zu verdichten. Dabei spricht man auch von lokalen Mustern (local patterns) und globalen Modellen (global models). Ein Muster trifft Aussagen über einen abgegrenzten Bereich des Datenraums. Eine Wahrscheinlichkeitsaussage der Form p(Y Wahrscheinlichkeit p1 für das Auftreten von Y von X y1 | X x1 ) p1 bezieht z.B. die y1 nur auf einen eingeschränkten Bereich x1 . Mit Mustern lassen sich beispielsweise Ausreißer in Populationen darstellen, wie sie bei Anomalien, wie z.B. Betrugsfällen, vorkommen. Dagegen beschreiben Aussagen in einem Data Mining Modell den gesamten Datenraum. Ein einfaches Model der Form Y aX b mit den Parametern a und b ergibt z.B. eine Regres- sionsgerade, mit deren Hilfe sich neue Punkte im Datenraum prognostizieren lassen. Um ein vollständiges Bild über einen Datenbestand zu erhalten, ist es häufig sinnvoll, sowohl Modelle als auch Muster für die Datenanalyse heranzuziehen. So benötigt man zur Entdeckung von außergewöhnlichem Verhalten über Muster zunächst eine Beschreibung des gewöhnlichen Verhaltens mit Hilfe von Modellen. 3