Mining: von daten Betreuer: Prof. Dr. Klemens Böhm Imperfektion und erweiterte Konzepte im Data Warehousing Seminar im Sommersemester 2005 06.06.2005 Mining: von daten- 1
Mining Gold Mining Alaska, USA; um 1900 [12] Mining: von daten- 2
Mining Datenstrom Zusammenhänge in Daten Gold Mining Alaska, USA; um 1900 [12] Mining: von daten- 2
Anwendungsbeispiel: Network Intrusion Detection source 101.23.0.23 83.12.44.10 99.40.22.12 destination 114.2.12.54 114.2.12.13 114.2.12.29 duration 10 12 9 bytes 20K 99K 37K protocol http ssh http Mining: von daten- 3
Anwendungsbeispiel: Network Intrusion Detection source 101.23.0.23 83.12.44.10 99.40.22.12 duration DOS destination 114.2.12.54 114.2.12.13 114.2.12.29 duration 10 12 9 bytes 20K 99K 37K protocol http ssh http Buffer Overflow Normal bytes Mining: von daten- 3
Übersicht Eigenschaften von daten Allg. Lösungsansätze für Datenstruktur Mikroclustering Pyramidal Time Frame Makroclustering Zusammenfassung Mining: von daten- 4
Übersicht Eigenschaften von daten Allg. Lösungsansätze für Datenstruktur Mikroclustering Pyramidal Time Frame Makroclustering Zusammenfassung Mining: von daten- 5
Gruppen in statischen Daten finden y x Mining: von daten- 6
Gruppen in statischen Daten finden y x Datenpunkt Mining: von daten- 6
Gruppen in statischen Daten finden y x Datenpunkt Dimension Mining: von daten- 6
Gruppen in statischen Daten finden y x Datenpunkt Dimension Abstand Mining: von daten- 6
Gruppen in statischen Daten finden y x Datenpunkt Dimension Abstand Cluster Mining: von daten- 6
Übersicht Eigenschaften von daten Allg. Lösungsansätze für Datenstruktur Mikroclustering Pyramidal Time Frame Makroclustering Zusammenfassung Mining: von daten- 7
Gruppen in dynamischen Daten finden Aktuelles zu jedem Zeitpunkt Analyse der historischen Cluster y x Mining: von daten- 8
Gruppen in dynamischen Daten finden Aktuelles zu jedem Zeitpunkt Analyse der historischen Cluster y x Mining: von daten- 8
Gruppen in dynamischen Daten finden Aktuelles zu jedem Zeitpunkt Analyse der historischen Cluster y x Mining: von daten- 8
Gruppen in dynamischen Daten finden Aktuelles zu jedem Zeitpunkt Analyse der historischen Cluster y x Mining: von daten- 8
Eigenschaften von daten Zeitliche Komponente Aktuelle Daten Historische Daten Kontinuität Große Datenmengen Hohe Datenraten Eingschränkte Zugriffsmöglichkeit Mining: von daten- 9
Eigenschaften von daten Zeitliche Komponente Aktuelle Daten Historische Daten Kontinuität Große Datenmengen Hohe Datenraten y x neu mittel alt Eingschränkte Zugriffsmöglichkeit Mining: von daten- 9
Eigenschaften von daten Zeitliche Komponente Aktuelle Daten Historische Daten Kontinuität Große Datenmengen Hohe Datenraten y x 0 1 2 3 neu mittel alt t Eingschränkte Zugriffsmöglichkeit Mining: von daten- 9
Eigenschaften von daten Zeitliche Komponente Aktuelle Daten Historische Daten Kontinuität Große Datenmengen Hohe Datenraten y x 0 1 2 3 neu mittel alt t Eingschränkte Zugriffsmöglichkeit 4 7 1 1 0 8 1 5 Mining: von daten- 9
Allgemeine Lösungsansätze Aktuelle Cluster Einfache Operationen Konstanter Speicher: Alte Daten verdrängen Historische Cluster Verlangsamen des Wachstums: Alte Daten eliminieren Approximation eliminierter Daten Mining: von daten- 10
Übersicht Eigenschaften von daten Allg. Lösungsansätze für Datenstruktur Mikroclustering Pyramidal Time Frame Makroclustering Zusammenfassung Mining: von daten- 11
Architektur eines Systems 4 0 7 8 1 1 1 5 Mikroclustering Snapshots Online Mining: von daten- 12
Architektur eines Systems 4 0 7 8 1 1 1 5 Mikroclustering Snapshots Online Makroclustering Offline Ergebnis Mining: von daten- 12
Architektur eines Systems 4 0 7 8 1 1 1 5 Mikroclustering Snapshots Online Makroclustering Offline Ergebnis Mining: von daten- 12
Mikrocluster Datenstruktur Repräsentiert ein Cluster Fasst Daten über kurze Zeitperiode zusammen Anzahl der Mikrocluster konstant ID Mikrocluster n x i : Datenpunkt n: # Datenpunkte d: Dimension Eigenschaft: Additivität und Subtraktivität Erlaubt inkrementelle Updates Mining: von daten- 13
Mikrocluster Datenstruktur Repräsentiert ein Cluster Fasst Daten über kurze Zeitperiode zusammen Anzahl der Mikrocluster konstant ID Mikrocluster n x i : Datenpunkt n: # Datenpunkte d: Dimension Eigenschaft: Additivität und Subtraktivität Erlaubt inkrementelle Updates Mining: von daten- 13
Projected y x xx x x x x x x xx x x x xx x Betrachte für jedes Cluster nur eine Teilmenge der Dimensionen 2 Aufgaben: Finden geeignete Dimensionen D Finden von Cluster auf D x z xx xxx xx xx x xx xx x Mining: von daten- 14
Mikroclustering (1) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 15
Mikroclustering (1) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 15
Mikroclustering (1) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 15
Mikroclustering (1) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 15
Mikroclustering (1) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 15
Mikroclustering (1) y x C1 C2 C3 x 1 1 1 y 1 1 0 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster Mining: von daten- 15
Mikroclustering (2) y Manhattan Segmental Distance  d (x d - m d ) msd = #d 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 16
Mikroclustering (2) Manhattan Segmental Distance y msd = Â d (x d - m d ) #d x C1 C2 C3 x 4 2 2 y 3 1 -- msd 3,5 1,5 2 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster Mining: von daten- 16
Mikroclustering (2) Manhattan Segmental Distance y  d ) d (x d - m msd = #d x C1 C2 C3 x 4 2 2 y 3 1 -- msd 3,5 1,5 2 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster Mining: von daten- 16
Mikroclustering (2) Manhattan Segmental Distance y msd = Â d (x d - m d ) #d x C1 C2 C3 x 4 2 2 y 3 1 -- msd 3,5 1,5 2 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster Mining: von daten- 16
Mikroclustering (2) Manhattan Segmental Distance y msd = Â d (x d - m d ) #d x C1 C2 C3 x 4 2 2 y 3 1 -- msd 3,5 1,5 2 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster Mining: von daten- 16
Mikroclustering (3) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster 3 natural limiting radius: Verwende Daten aus Mikrocluster x Mining: von daten- 17
Mikroclustering (3) y 2 3 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster natural limiting radius: Verwende Daten aus Mikrocluster x Mining: von daten- 17
Mikroclustering (3) y 1. Bestimme Dimensionen für jedes Cluster 2. Finde nächstes Cluster 3. Hinzufügen oder neues Cluster x Mining: von daten- 18
Architektur eines Systems 4 0 7 8 1 1 1 5 Mikroclustering Snapshots Online Makroclustering Offline Ergebnis Mining: von daten- 19
Speichern der Snapshots Momentaner Zustand aller Mikrocluster Periodisch alte Snapshots filtern Unterschiedliche zeitliche Auflösungen Zeitliche Auflösung abhängig von Neuigkeit bestimmt die Granularität Umgesetzt in Pyramidal Time Frame Mining: von daten- 20
Pyramidal Time Frame Mining: von daten- 21
Pyramidal Time Frame Mining: von daten- 21
Pyramidal Time Frame Mining: von daten- 21
Pyramidal Time Frame Anzahl Daten O(log(t)) Mining: von daten- 21
Architektur eines Systems 4 0 7 8 1 1 1 5 Mikroclustering Snapshots Online Makroclustering Offline Ergebnis Mining: von daten- 22
Makroclustering Anzahl A der Cluster Zeithorizont H Makroclustering Snapshots 1. Erstelle Menge der Mikrocluster über Zeithorizont H 2. Berechne A Cluster aus Mikroclustern mit herkömmlichem Ergebnis Mining: von daten- 23
Übersicht Eigenschaften von daten Allg. Lösungsansätze für Datenstruktur Mikroclustering Pyramidal Time Frame Makroclustering Zusammenfassung Mining: von daten- 24
Zusammenfassung Finden von Zusammenhängen in schnellen Datenströmen Veraltete Daten identifizieren und vergessen Datenstruktur: Inkrementelle Updates : Zerlegung in Online-/Offline-Komponenten Umgang mit hochdimensionalen Daten Mining: von daten- 25
Literatur (1) [1] C. Aggarwal. An intuitive framework for understanding changes in evolving datastreams, 2002. [2] Charu C. Aggarwal. A framework for diagnosing changes in evolving data streams. In ACM SIGMOD 2003. [3] Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu. A framework for clustering evolving data streams. In VLDB 2003. [4] Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu. A framework for projected clustering of high dimensional data streams. In VLDB 2004. [5] P. Domingos and G. Hulten. Mining high-speed data streams. In Knowledge Discovery and Data Mining, pages 71 80, 2000. [6] John A. Hartigan. Algorithms. Wiley, New York, 1975. [7] Anil K. Jain and Richard C. Dubes. Algorithms for Data. Prentice Hall,1988. Mining: von daten- 26
Literatur (1) [1] C. Aggarwal. An intuitive framework for understanding changes in evolving datastreams, 2002. [2] Charu C. Aggarwal. A framework for diagnosing changes in evolving data streams. In ACM SIGMOD 2003. [3] Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu. A framework for clustering evolving data streams. In VLDB 2003. [4] Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu. A framework for projected clustering of high dimensional data streams. In VLDB 2004. [5] P. Domingos and G. Hulten. Mining high-speed data streams. In Knowledge Discovery and Data Mining, pages 71 80, 2000. [6] John A. Hartigan. Algorithms. Wiley, New York, 1975. [7] Anil K. Jain and Richard C. Dubes. Algorithms for Data. Prentice Hall,1988. Mining: von daten- 26
Literatur (2) [8] L. Kaufman and P.J. Rousseeuw. Finding Groups in Data: An Introduction to Cluster Analysis. Wiley, New York, 1990. [9] Rainer Koschke and Thomas Eisenbarth. A framework for experimental evaluation of clustering techniques. In 8th International Workshop on Program Comprehension (IWPC2000), pages 201 210, Limerick, Irland, Juni 2000. [10] L. O Callaghan, N. Mishra, A. Meyerson, S. Guha, and R. Motwani. ingdata algorithms for high-quality clustering. In Proceedings of IEEE International Conference on Data Engineering, 2002. [11] Tian Zhang, Raghu Ramakrishnan, and Miron Livny. Birch: An efficient clustering method for very large databases. In ACM SIGMOD Workshop on Research Issues on Data Mining and Knowledge Discovery, pages 103 114, Montreal, Canada, 1996. [12] Alaska State Library http://library.state.ak.us/hist/goldrush/table.html [13] NYSE Statistical Data http://www.nyse.com/marketinfo/datalib/1022743347427.html Mining: von daten- 27
Fragen Mining: von daten- 28
Zusatzfolien Mining: von daten- 29
Anwendungsbeispiel: Network Intrusion Detection source 101.23.0.23 83.12.44.10 99.40.22.12 destination 114.2.12.54 114.2.12.13 114.2.12.29 duration 10 12 9 bytes 20K 99K 37K protocol http ssh http Mining: von daten- 30
Anwendungsbeispiel: Network Intrusion Detection source 101.23.0.23 83.12.44.10 99.40.22.12 duration DOS destination 114.2.12.54 114.2.12.13 114.2.12.29 duration 10 12 9 bytes 20K 99K 37K protocol http ssh http Buffer Overflow Normal bytes Mining: von daten- 30
Anwendungsbeispiel: Analyse von Marktdaten Datum Gesellschaft Abweichung Delta Delta 04.06.2005, 12:00 04.06.2005, 14:00 04.06.2005, 12:00 Lufthansa Royal Dutch BP #Trades +200 K +450 K +300 K Ölpreis +5 +6 +5 Marktwert -10 +7 +9 Mining: von daten- 31
Anwendungsbeispiel: Analyse von Marktdaten ur ring sg. Datum 04.06.2005, 12:00 04.06.2005, 14:00 04.06.2005, 12:00 Delta Marktwert +10 0-10 Gesellschaft Abweichung Delta #Trades Ölpreis Lufthansa +200 K +5 Royal Dutch +450 K +6 BP +300 K +5 +1 +5 Delta Marktwert -10 +7 +9 BP Delta Ölpreis Lufthansa Mining: von daten- 31
Anwendungen von Data Mining http://www.informationweek.com/673/73iudat.htm Mining: von daten- 32
Einsatz herkömmlicher Algorithmen? Zeitliche Komponente Gesamte Daten werden benötigt Dominanz historischer Daten Kontinuität Speicher- und Laufzeitkomplexität Zugriffsmöglichkeit Random Access benötigt Mining: von daten- 33
Einsatz herkömmlicher Algorithmen? Zeitliche Komponente Gesamte Daten werden benötigt Dominanz historischer Daten Kontinuität Speicher- und Laufzeitkomplexität Zugriffsmöglichkeit Random Access benötigt Mining: von daten- 33
Einsatz herkömmlicher Algorithmen? Zeitliche Komponente Gesamte Daten werden benötigt Dominanz historischer Daten Kontinuität Speicher- und Laufzeitkomplexität Zugriffsmöglichkeit Random Access benötigt 30 Mining: von daten- 33
Einsatz herkömmlicher Algorithmen? Zeitliche Komponente Gesamte Daten werden benötigt Dominanz historischer Daten Kontinuität Speicher- und Laufzeitkomplexität Zugriffsmöglichkeit Random Access benötigt 30 Mining: von daten- 33
Zerlegung des Mikroclustering (Online) Schnell, Für große Datenmengen Während Daten ankommen Erzeugt Zwischenergebnisse Makroclustering (Offline) Verarbeitet Nutzereingaben Nutzt Zwischenergebnisse Unabhängig von ankommenden Daten Zwischenergebnis: Menge von Mikroclusters Mining: von daten- 34
Mikroclustering # Microcluster Snapshot <= const Mining: von daten- 35
Hochdimensionale Daten Wie finden wir interessante Parameterkombinationen? Datum AG 04.06.2005 Lufthansa 04.06.2005 Royal Dutch 04.06.2005 BP Delta Marktwert +10 0-10 Varianz #Trades +200 K +450 K +300 K Delta Ölpreis +5 +6 +5 Delta Marktwert -10 +7 +9 +1 +5 Cash 4.89 B 5.3 B 1.52 B #Insider Trades -- 10 K 3 K #Short Orders -- 4.65 M 5.43 M BP Delta Ölpreis Lufthansa Mining: von daten- 36
Zeitabhängige Granularität averaged support a b averaged support a b time now time now Mining: von daten- 37
Pyramidal Time Frame Momentaner Zeitpunkt: T Modellparameter: a Anzahl Ordnungen: o [0, log a (T) ] Ordnung o(t) := max i (i (t mod a i ) = 0) Daten der letzten a+1 Zeitpunkte pro Ordnung Anzahl Daten: log a (T) *(a+1) O(log(t)) Garantie für Approximierbarkeit Weitere Optimierungen der PTF möglich Mining: von daten- 38
Pyramidal Time Frame Momentaner Zeitpunkt: T Modellparameter: a Anzahl Ordnungen: o [0, log a (T) ] Ordnung o(t) := max i (i (t mod a i ) = 0) Daten der letzten a+1 Zeitpunkte pro Ordnung Anzahl Daten: log a (T) *(a+1) O(log(t)) Garantie für Approximierbarkeit Weitere Optimierungen der PTF möglich Mining: von daten- 38
Vergleich zu Birch Gemeinsamkeiten Cluster Feature = Mikrocluster zusätzlich Zeit (kann aber als zus. Dimension aufgefasst werden) Birch hat Elefantengedächtnis Ein Durchlauf genügt Unterschiede Evolution in Clu berücksichtigt (PTF) = Vergessen Online/Offline Trennung Snapshots Mining: von daten- 39
Bewertung von Algorithmen Qualität: verschiedene Maße Sum of square distances (SSQ) Mining: von daten- 40
Bewertung von Algorithmen Qualität: verschiedene Maße Sum of square distances (SSQ) c b a SSQ = a 2 +b 2 +c 2 Mining: von daten- 40
Bewertung von Algorithmen Effizienz Verarbeitbare Datenrate Mining: von daten- 41
System Mikroclustering Snapshots Mining: von daten- 42
System Mikroclustering Snapshots Makroclustering Ergebnis Mining: von daten- 42
System Mikroclustering Snapshots Makroclustering Ergebnis Mining: von daten- 42
Mikrocluster Datenstruktur Mikrocluster ID n x i : Datenpunkt n: # Datenpunkte d: Dimension Mining: von daten- 43
Mikrocluster Datenstruktur Mikrocluster ID n x i : Datenpunkt n: # Datenpunkte d: Dimension Mining: von daten- 43