Zwischenbericht Teil B der Projektgruppe Personalisierung internetbasierter Handelsszenarien DATA IN KNOWLEDGE OUT Tim Brüggemann, Tina Goldau, Christian Lüpkes, Michael Onken, Matthias Pretzer, Christian Reitenberger, Carsten Saathoff, Helge Saathoff, Ralph Stuber, Insa Stührenberg, Oliver Wien, Guido Zendel, Ralf Krause, Heiko Tapken Carl von Ossietzky Universität Oldenburg Fakultät 2 Department für Informatik Abteilung Informationssysteme Prof. Dr. Appelrath © Prof. Dr. Hans-Jürgen Appelrath Carl v. Ossietzky Universität Department für Informatik Escherweg 2 26121 Oldenburg e-mail: [email protected] erschienen im Jahr 2003 Inhaltsverzeichnis 1 Einleitung 2 Data Warehousing 2.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Vorgehensweise . . . . . . . . . . . . . . . . . . 2.2 Data Warehouse . . . . . . . . . . . . . . . . . . . . . 2.2.1 Definition . . . . . . . . . . . . . . . . . . . . . 2.2.2 Stärken und Schwächen eines Data Warehouse 2.2.3 Abgrenzung zu OLTP . . . . . . . . . . . . . . 2.2.4 Einsatzgebiete . . . . . . . . . . . . . . . . . . 2.3 Referenzarchitektur . . . . . . . . . . . . . . . . . . . . 2.3.1 Anforderungen an ein Data Warehousing . . . 2.3.2 Die Komponenten eines Data Warehouse Systems 2.3.3 Beschreibung einer Referenzarchitektur und Phasen eines Data Warehousing . . . . . . . . . . . 2.4 Das multidimensionale Datenmodell . . . . . . . . . . 2.4.1 Das multidimensionale Datenmodell . . . . . . 2.4.2 Vorstellung verschiedener Designnotationen . . 2.4.3 Struktur des multidimensionalen Datenmodells 2.4.4 Operatoren des multidimensionalen Modells . . 2.4.5 Versionierung von Dimensionstabellen . . . . . 2.5 Umsetzung des multidimensionalen Datenmodells . . 2.5.1 Umsetzungsmöglichkeiten . . . . . . . . . . . . 2.5.2 Relationale Speicherung . . . . . . . . . . . . . 2.5.3 Temporale Erweiterung des relationalen Datenmodells . . . . . . . . . . . . . . . . . . . . . . 2.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1 Beurteilung und Ausblick . . . . . . . . . . . . 1 3 4 4 5 5 7 8 9 10 10 11 18 19 20 20 22 25 27 30 30 31 33 36 37 I Inhaltsverzeichnis 3 Datenanalyse Allgemein 3.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Datenanalyse: Einordnung und Überblick . . . . . . . 3.2.1 Data Mining und Datenanalyse in der Evolution der Datenbanksysteme . . . . . . . . . . . . 3.2.2 Übersicht über die Allgemeine Datenanalyse . . 3.2.3 Data Mining als Teil des KDD-Prozesses . . . . 3.2.4 Gegenstand, Ziel und Methoden der Data Mining Verfahren . . . . . . . . . . . . . . . . . . 3.2.5 Datenanalyse-Algorithmen . . . . . . . . . . . . 3.3 Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Kennzahlen und Visualisierungsverfahren . . . 3.3.2 Nichtgraphische Statistische Verfahren . . . . . 3.4 Künstliche Neuronale Netze . . . . . . . . . . . . . . . 3.4.1 Teile eines KNN . . . . . . . . . . . . . . . . . 3.4.2 Netzstruktur . . . . . . . . . . . . . . . . . . . 3.4.3 Lernen . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Vor- und Nachteile sowie zeitliche Einordnung . 3.5 Self Organizing Maps . . . . . . . . . . . . . . . . . . . 3.5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . 3.5.2 Algorithmus und Beispiel . . . . . . . . . . . . 3.5.3 Zusammenfassung . . . . . . . . . . . . . . . . 3.6 Online Analytical Processing (OLAP) . . . . . . . . . 3.6.1 Zugriffsmethoden durch OLAP . . . . . . . . . 3.6.2 Drei-Ebenen-Konzept . . . . . . . . . . . . . . 3.6.3 OLAP im KDD-Prozess . . . . . . . . . . . . . 3.6.4 Bewertung . . . . . . . . . . . . . . . . . . . . 3.7 Datenanalyse im Rahmen der Projektgruppe . . . . . 39 40 40 4 Der 4.1 4.2 4.3 73 74 75 76 76 77 79 80 80 81 90 KDD-Prozess Einleitung . . . . . . . . . . . . . . . . . . . . . Begriffliche Grundlagen . . . . . . . . . . . . . Der KDD-Prozess . . . . . . . . . . . . . . . . . 4.3.1 Allgemeine Phasen des Prozess . . . . . 4.3.2 Verwandte Techniken . . . . . . . . . . 4.3.3 Betrachtete Modelle . . . . . . . . . . . 4.4 Darstellung der Prozessschritte am CRISP-DM 4.4.1 Aufbau und Grundfunktionalität . . . . 4.4.2 Prozessphasen . . . . . . . . . . . . . . 4.5 Andere Modelle . . . . . . . . . . . . . . . . . . II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 43 43 46 47 48 54 57 58 60 61 62 63 63 64 67 68 68 70 70 71 72 Inhaltsverzeichnis 4.6 4.7 4.5.1 Modell nach Fayyad . . . . . . . . . . . . . . . 90 4.5.2 Modell nach Brachman und Anand . . . . . . . 92 4.5.3 Modell nach Hippner und Wilde . . . . . . . . 93 4.5.4 Modell SEMMA von SAS . . . . . . . . . . . . 94 4.5.5 Verteiltes Data Mining . . . . . . . . . . . . . . 96 Wichtige Aspekte für das Projekt . . . . . . . . . . . . 98 4.6.1 Anwendung von Modellen in Softwarewerkzeugen 98 4.6.2 KDD im Projekt . . . . . . . . . . . . . . . . . 98 Zusammenfassung . . . . . . . . . . . . . . . . . . . . 100 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles 101 5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.2 Datenbereinigung (data cleaning) . . . . . . . . . . . . 103 5.2.1 Fehlende Werte (missing values) . . . . . . . . 103 5.2.2 Verrauschte Daten (noisy data) . . . . . . . . . 104 5.2.3 Inkonsistente Daten (inconsistencies) . . . . . . 107 5.2.4 Nachteile der Datenbereinigung . . . . . . . . . 108 5.3 Datenintegration (data integration) . . . . . . . . . . . 109 5.3.1 Attributformate . . . . . . . . . . . . . . . . . 109 5.3.2 Probleme bei der Datenintegration . . . . . . . 110 5.4 Datentransformation (data transformation) . . . . . . 111 5.5 Datenreduktion (data reduction) . . . . . . . . . . . . 113 5.5.1 Aggregation (aggregation) . . . . . . . . . . . . 114 5.5.2 Dimensionsreduktion (feature selection) . . . . 114 5.5.3 Datenkompression (data compression) . . . . . 115 5.5.4 Numerische Datenreduktion (numerosity reduction) . . . . . . . . . . . . . . . . . . . . . . . . 117 5.6 Diskretisierung und Konzepthierarchiebildung (discretization and concept hierarchy generation) . . . . . . . . 120 5.6.1 Arten der Diskretisierung und Konzepthierarchiebildung für numerische Daten . . . . . . . . 121 5.6.2 Arten der Diskretisierung und Konzepthierarchiebildung für kategorische Daten . . . . . . . 122 5.7 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.8 Einordnung in den Kontext der PG . . . . . . . . . . . 123 5.8.1 Vorteile der Datenvorverarbeitung im Kontext der PG . . . . . . . . . . . . . . . . . . . . . . 124 5.8.2 Nachteile der Datenvorverarbeitung im Kontext der PG . . . . . . . . . . . . . . . . . . . . 124 III Inhaltsverzeichnis 6 Clustering und Klassifikation 6.1 Einleitung . . . . . . . . . . . . . . . . . . 6.2 Clustering . . . . . . . . . . . . . . . . . . 6.2.1 Grundlagen . . . . . . . . . . . . . 6.2.2 Partitionierendes Clustering . . . . 6.2.3 Hierarchisches Clustering . . . . . 6.2.4 Zusammenfassung . . . . . . . . . 6.3 Klassifikation . . . . . . . . . . . . . . . . 6.3.1 Grundlagen . . . . . . . . . . . . . 6.3.2 Bewertung der Klassifikationsgüte 6.3.3 Verfahren . . . . . . . . . . . . . . 6.3.4 Zusammenfassung . . . . . . . . . 6.4 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 126 127 127 130 139 144 145 146 146 148 160 161 7 Assoziationsanalyse und Konzeptbeschreibung 7.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Knowledge Discovery in Databases . . . . . . . . . . . 7.3 Assoziationsanalyse . . . . . . . . . . . . . . . . . . . . 7.3.1 Motivation . . . . . . . . . . . . . . . . . . . . 7.3.2 Grundlagen und Beispiele . . . . . . . . . . . . 7.3.3 Der Apriori-Algorithmus . . . . . . . . . . . . . 7.3.4 Weitere Arten von Assoziationsregeln . . . . . 7.4 Konzeptbeschreibung und Generalisierung . . . . . . . 7.4.1 Motivation . . . . . . . . . . . . . . . . . . . . 7.4.2 Einschub Generalisierung . . . . . . . . . . . . 7.4.3 Unterschiede zwischen OLAP und Konzeptbeschreibung . . . . . . . . . . . . . . . . . . . . . 7.4.4 Charakterisierung . . . . . . . . . . . . . . . . 7.4.5 Klassenvergleich . . . . . . . . . . . . . . . . . 7.4.6 Attributrelevanz . . . . . . . . . . . . . . . . . 7.5 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Einordnung in den Projektgruppenkontext . . . 163 164 165 168 168 169 172 176 182 182 182 8 Temporale Aspekte des Data Mining 8.1 Einleitung . . . . . . . . . . . . . 8.1.1 Motivation . . . . . . . . 8.1.2 Vorgehensweise . . . . . . 8.2 Grundlagen und Begriffe . . . . . 8.2.1 Data Mining . . . . . . . 8.2.2 Der Zeitbegriff . . . . . . 197 198 198 198 199 199 200 IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 186 191 193 194 195 Inhaltsverzeichnis 8.3 8.4 8.5 8.6 8.7 8.2.3 Granularität - Zeitpunkt - Zeitraum . . . . . . Repräsentationsformen . . . . . . . . . . . . . . . . . . 8.3.1 Temporale Datenbanken . . . . . . . . . . . . . 8.3.2 Zeitreihen . . . . . . . . . . . . . . . . . . . . . 8.3.3 Äquivalenz von Zeitreihen und temporalen Datenbanken . . . . . . . . . . . . . . . . . . . . . Temporale Muster . . . . . . . . . . . . . . . . . . . . 8.4.1 Sequentielle Muster . . . . . . . . . . . . . . . 8.4.2 Zeitliche Assoziationsregeln . . . . . . . . . . . 8.4.3 Kalendarische Muster . . . . . . . . . . . . . . 8.4.4 Intervall-basierende Ereignisse . . . . . . . . . 8.4.5 Trends . . . . . . . . . . . . . . . . . . . . . . . 8.4.6 Unusual Movements . . . . . . . . . . . . . . . Temporale Datenanalyse . . . . . . . . . . . . . . . . . 8.5.1 Klassifikation . . . . . . . . . . . . . . . . . . . 8.5.2 Clustering . . . . . . . . . . . . . . . . . . . . . 8.5.3 Analyse sequentieller Muster . . . . . . . . . . 8.5.4 Analyse zeitlicher Assoziationsregeln . . . . . . Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . Schlussbetrachtung . . . . . . . . . . . . . . . . . . . . 201 202 202 208 209 210 211 213 216 218 220 221 223 223 224 225 231 233 234 9 Geschäftsmodelle 237 9.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . 238 9.2 Entwicklung und gesetzliche Aspekte . . . . . . . . . . 239 9.3 Kundenbindungssysteme . . . . . . . . . . . . . . . . . 240 9.3.1 Allgemeine Funktionsweise von Bonusprogrammen . . . . . . . . . . . . . . . . . . . . . . . . 240 9.3.2 Kundeninformationssysteme von Bonusprogrammen . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4 Ausprägungen von Bonusprogrammen . . . . . . . . . 245 9.5 Auswirkungen von Bonusprogrammen . . . . . . . . . 247 9.5.1 Die Unternehmensseite . . . . . . . . . . . . . . 247 9.5.2 Die Mitgliederseite . . . . . . . . . . . . . . . . 249 9.6 Verschiedene Bonusprogramme . . . . . . . . . . . . . 251 9.7 Vergleich der Anbieter . . . . . . . . . . . . . . . . . . 252 9.7.1 Verschiedene Vergleichsaspekte . . . . . . . . . 252 9.7.2 Datenweitergabe und Datennutzung . . . . . . 256 9.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . 262 9.9 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . 263 V Inhaltsverzeichnis 10 Datenanalyse im Marketing 265 10.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . 266 10.2 Anwendungsgebiete und angewendete Methoden . . . 267 10.3 Klassifikation im Bereich der Bonitätsprüfung . . . . . 268 10.3.1 Anwendungsgebiete, Motivation und Verfahren der Bonitätsprüfung . . . . . . . . . . . . . . . 268 10.3.2 Diskriminanzanalyse als Verfahren der Bonitätsprüfung in der Bankenbranche . . . . . . . 269 10.3.3 Entscheidungsbäume als Verfahren zur Bonitätsprüfung in der Bankenbranche . . . . . . . 272 10.3.4 Verfahrensvergleich der Methoden zur Bonitätsprüfung im Versandhandel . . . . . . . . . . . . 274 10.3.5 Fuzzy Logik zur Bonitätsprüfung im Factoring 277 10.3.6 Fazit bezüglich der vorgestellten Verfahren der Bonitätsprüfung . . . . . . . . . . . . . . . . . 279 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung . . . . . . . . . . . . . . . . . . . . . 280 10.4.1 Allgemeine Vorgehensweise des Clustering . . . 280 10.4.2 Kundensegmentierung in der Bankenbranche . 281 10.4.3 Käuferidentifikation im Automobilhandel . . . 284 10.4.4 Werbekampagnenentwurf der Lauda-Air . . . . 286 10.5 Klassifikation + Clustering am Beispiel einer Kündigerprävention auf dem Mobilfunktmarkt . . . . . . . . 288 10.6 Sortimentsanalyse im Einzelhandel . . . . . . . . . . . 290 10.6.1 Assoziationsanalyse zur Bildung von Assoziationsregeln im Einzelhandel . . . . . . . . . . . . 291 10.6.2 Clustering zur Aufdeckung der Verbundwirkungen innerhalb eines Warensortiments . . . . . . 292 10.6.3 Anwendung einer modernen NeurocomputingMethode zur Quantisierung von Warenkorbdaten295 10.7 Prognose zur optimierten Werbeträgerplanung bei Versandhäusern . . . . . . . . . . . . . . . . . . . . . . . . 297 10.8 Schlussfogerungen und Bezug zur Projektgruppe . . . 299 11 Verwendung personalisierter Daten im Web 11.1 Einleitung . . . . . . . . . . . . . . . . . 11.2 Personalisierung . . . . . . . . . . . . . 11.2.1 Allgemeine Definition . . . . . . 11.2.2 Vorteile der Personalisierung . . 11.2.3 Rechtliche Aspekte . . . . . . . . VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 304 304 305 306 308 Inhaltsverzeichnis 11.2.4 Mögliche Anwendungsgebiete . . . 11.3 Komponenten der Personalisierung . . . . 11.3.1 Formen der Personalisieung . . . . 11.3.2 Einbinden der Informationen . . . 11.3.3 Identifikation der Internetbenutzer 11.4 Personalisierungstechniken . . . . . . . . . 11.4.1 Clusteranalyse . . . . . . . . . . . 11.4.2 Recommender Systeme . . . . . . . 11.4.3 Assoziations und Sequenzanalyse . 11.4.4 Klassifikationsanalyse . . . . . . . 11.5 Praxisbeispiele . . . . . . . . . . . . . . . 11.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 311 312 313 313 319 319 321 325 325 327 330 12 Web Usage Mining 12.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . 12.1.1 Web Content Mining . . . . . . . . . . . . . . . 12.1.2 Web Structure Mining . . . . . . . . . . . . . . 12.1.3 Web Usage Mining . . . . . . . . . . . . . . . . 12.1.4 Gliederung . . . . . . . . . . . . . . . . . . . . 12.2 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . 12.2.1 Das Internet . . . . . . . . . . . . . . . . . . . 12.2.2 Web Log . . . . . . . . . . . . . . . . . . . . . 12.2.3 User . . . . . . . . . . . . . . . . . . . . . . . . 12.2.4 Sessions . . . . . . . . . . . . . . . . . . . . . . 12.2.5 Begriffe . . . . . . . . . . . . . . . . . . . . . . 12.3 Daten-Vorverarbeitung . . . . . . . . . . . . . . . . . . 12.3.1 Entfernung irrelevanter Zugriffe . . . . . . . . . 12.3.2 Konzepthierarchien . . . . . . . . . . . . . . . . 12.4 Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . 12.4.1 g-Sequenzen . . . . . . . . . . . . . . . . . . . . 12.4.2 Der Apriori-Algorithmus für g-Sequenzen . . . 12.4.3 GSM - General Sequence Miner . . . . . . . . . 12.4.4 Usage Cluster . . . . . . . . . . . . . . . . . . . 12.5 Analyse der Mining-Ergebnisse . . . . . . . . . . . . . 12.5.1 Manuelle Analyse . . . . . . . . . . . . . . . . . 12.5.2 Recommendation - Automatisches Verarbeiten der Mining Ergebnisse . . . . . . . . . . . . . . 12.6 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.1 Rolle in der PG . . . . . . . . . . . . . . . . . . 333 334 334 335 335 338 338 339 340 342 346 349 350 350 352 353 354 355 359 364 367 367 369 373 374 VII Inhaltsverzeichnis 13 Rechtliche und soziale Aspekte der Datenanalyse 13.1 Begriffe und Prozesse . . . . . . . . . . . . . . . . . . . 13.2 Rechtliche Aspekte der Datenanalyse . . . . . . . . . . 13.2.1 Das Bundesdatenschutzgesetz . . . . . . . . . . 13.2.2 Bewertung der Schritte des Knowledge Discovering in Databases . . . . . . . . . . . . . . . 13.2.3 Forschung und Datenschutz . . . . . . . . . . . 13.2.4 Umgehung von Datenschutz . . . . . . . . . . . 13.3 Soziale Auswirkungen der Datenanalyse . . . . . . . . 13.3.1 Beispiele des Customer Relationship Manage” ment“ . . . . . . . . . . . . . . . . . . . . . . . 13.3.2 Beispiele im Gesundheitsbereich . . . . . . . . 13.3.3 Beispiele im Unternehmensbereich . . . . . . . 13.4 Lösungsansätze . . . . . . . . . . . . . . . . . . . . . . 13.4.1 Unternehmenspolitik . . . . . . . . . . . . . . . 13.4.2 Forschungsumfeld . . . . . . . . . . . . . . . . 13.5 Einordnung der Projektgruppe . . . . . . . . . . . . . 13.6 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . 375 377 378 379 14 Zusammenfassung 401 Abbildungsverzeichnis 403 Tabellenverzeichnis 408 Algorithmen 409 Literatur 411 Glossar 439 Index 465 VIII 380 386 387 388 388 389 390 393 393 394 397 398 1 Einleitung Dieser Zwischenbericht fasst die Ergebnisse des Projektgruppe Per” sonalisierung internetbasierter Handelsszenarien“ zusammen, die bis März 2003 erzielt wurden. Der bisherige Zeitraum entspricht in etwa der Halbzeit des Zeitraums, in der die Projektgruppe stattfindet. Die Projektgruppe mit dem selbstgewählten Arbeitstitel DIKO (Data In-Knowledge Out) findet am Department für Informatik der Universität Oldenburg statt und umfasst das Wintersemester 2002/2003 sowie das Sommersemester 2003. Dieser Bericht setzt sich aus zwei Teilen zusammen: Teil A fasst den bisherigen Ablauf und die Ergebnisse der Projektgruppe zusammen. Teil B enthält die ausgearbeiteten Seminarvorträge aus dem ersten Abschnitt der Projektgruppe. Nach Abschluss der Projektgruppe im Herbst 2003 wird ein Endbericht –ebenfalls als interner Bericht– erscheinen. Innerhalb der Seminarphase der Projektgruppe wurden insgesamt zwölf Vorträge gehalten, welche die Teilnehmer der Projektgruppe organisatorisch und inhaltlich auf die Projektgruppe vorbereiten sollten. Die schriftlichen Ausarbeitungen der Seminarvorträge werden in diesem Bericht zusammengefasst. Die Beiträge sind in folgende drei Gruppen gegliedert: 1.Teil: Einführung in die Datenanalyse – Data Warehousing – Datenanalyse allgemein – Der KDD-Prozess 2.Teil: Technische Aspekte der Datenanalyse 1 1 Einleitung – Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles – Clustering und Klassifikation – Assoziationsanalyse und Konzeptbeschreibung – Temporale Aspekte des Data Mining 3.Teil: Datenanalyse in der Praxis – Geschäftsmodelle – Datenanalyse im Marketing – Verwendung personalisierter Daten im Web – Web Usage Mining – Rechtliche und soziale Aspekte der Datenanalyse 2 2 Data Warehousing Insa Stührenberg Die Datenmengen in den Betrieben wachsen stetig. Neben den operativen Datenbanksystemen, die dem operativen Tagesgeschäft dienen, haben sich Data Warehouses als Speicherkomponente etabliert. Ein Data Warehouse stellt eine integrierte und bereinigte Datenbank dar, die eine zeitliche Sicht auf die Daten ermöglicht. Um eine Datenhistorisierung zu gewährleisten, dürfen veränderte Datensätze nicht einfach überschrieben werden. Ein Data Warehouse stellt nur einen Bestandteil eines Data Warehouse Systems dar. Als Data Warehousing wird der gesamte Prozess der Datenbeschaffung, Integration und Analyse bezeichnet. Die wichtigsten Anwendungen sind die interaktive Datenanalyse OLAP sowie Data Mining. Konzeptionell liegt einem Data Warehouse das multidimensionale Datenmodell zugrunde. Dieses Modell verwendet die Datenunterteilung in Fakten und Dimensionen, die in ihrer Kombination einen Würfel bilden. Dimensionshierarchien schaffen einen Verdichtungsgrad, der für die Analyse angemessen ist. Für die Berücksichtigung temporaler Gesichtpunkte werden in einem Data Warehouse Zeitstempel verwendet. Diese können entweder auf Attribut- oder Tupelebene eingeführt werden. Für die Umsetzung des multidimensionalen Datenmodells existieren mehrere Möglichkeiten. Neben der direkten multidimensionalen Abbildung (MOLAP), ist auch eine relationale Umsetzung (ROLAP) der multidimensionalen Konstrukte realisierbar. Wenn Detaildaten in Relationen gespeichert werden und gewisse Verdichtungen multidimensional gehalten werden, wird das hybride OLAP (HOLAP) verwendet. 3 2 Data Warehousing 2.1 Einführung Data Warehouses haben aufgrund des enormen Anstiegs des Datenvolumens in den Betrieben an Bedeutung gewonnen. Die Daten stammen aus Quellen vom Point-of-sale bis zum Back-Office-System, aber auch verstärkt aus E-Business-Anwendungen. Der Wunsch wächst, in grossen Datenbeständen die Übersicht zu behalten. Ferner sollen mit möglichst geringem Aufwand interessante Zusammenhänge erkennbar werden. Mit steigendem Interesse wird die Möglichkeit der Analyse und Auswertung von akkumulierten Daten genutzt, um die strategische Unternehmensplanung zu optimieren. Da der Datenbestand oft in unterschiedlichen Formaten und verteilt vorliegt, erweist sich ein zentraler Datenzugang als weniger geeignet. Theoretisch ist es realisierbar, die internen Daten je nach Bedarf unmittelbar aus den Dateien oder Datenbanken zu holen. Die hohe Zugriffszeit und die enorme Aufbereitungszeit der Daten lassen diese Methode allerdings fraglich erscheinen. Effektiver ist es, die gefragten Daten aus den Datenbanken der operativen Anwendungssysteme zu selektieren und zu aggregieren, um sie dann in einer eigenen Datenbank (einem Data Warehouse) zu verwalten und durch OLAP ( On Line Analytical Processing)-Techniken auszuwerten. Die Aufgabenstellung dieser Arbeit lässt sich demnach an zwei Kernfragen verdeutlichen: 1. Wie werden einfliessende Daten verschiedener heterogener Quellen integriert? 2. Welches Datenmodell liegt einem Data Warehouse konzeptionell zu Grunde und wie erfolgt dessen Umsetzung? Daraus ergibt sich als Zielsetzung dieser Arbeit, die Möglichkeiten eines Data Warehousing herauszustellen. 2.1.1 Vorgehensweise In Kapitel 2.2 erfolgt eine allgemeine Erläuterung eines Data Warehousing, wodurch ein erster Überblick über dieses Konzept gegeben wird. Es wird deutlich, dass Unternehmen durch den Einsatz eines Data Warehouse grosse Produktivitätsverbesserungen und Wettbewerbsvorteile gegenüber Konkurrenten erzielen können. Das nächste Kapitel stellt die Anforderungen und Phasen eines Data Warehousing 4 2.2 Data Warehouse vor. Zusätzlich wird die Referenzarchitektur eines Data Warehouse Systems mit den einzelnen Komponenten erläutert. Ferner wird herausgestellt, dass ein Data Warehouse nicht zwingend zentral vorliegen muss. Inhalt des 2.4 Kapitels ist die Vorstellung des multidimensionalen Datenmodells. Dieses eignet sich auf konzeptioneller Ebene am besten für die Modellierung eines Data Warehouse. Es bietet dem Anwender eine Denkweise in Dimensionen und Fakten(vgl. Abschnitt 2.4.3) . In Kapitel 2.5 werden Realisierungskonzepte für die Umsetzung des multidimensionalen Datenmodells vorgestellt. Eine Möglichkeit ist die direkte multidimensionale Datenspeicherung multidimensionaler Konstrukte. Die Abbildung des Datenmodells auf das relationale Datenbanksystem stellt eine Alternative hierzu da. Im letzten Kapitel werden die erarbeiteten Erkenntnisse dieser Arbeit zusammengefasst und beurteilt. Zusätzlich wird der Bezug zu unserer Projektgruppe ”Personalisierung internetbasierter Handelsszenarien” hergestellt. 2.2 Data Warehouse In diesem Kapitel wird das Konzept eines Data Warehousing vorgestellt. Nach einer umfassenden Erläuterung des Begriffes Data Warehouse erfolgt eine Gegenüberstellung der Vor- und Nachteile eines Data Warehouse. Im Anschluss werden die OLAP-Anwendungen von den OLTP (On Line Transactional Processing)-Anwendungen abgegrenzt und die Einsatzgebiete eines Data Warehouse benannt. 2.2.1 Definition In der Literatur gibt es zahlreiche Definitionen für den Begriff Data Warehouse, wodurch die Schwierigkeit einer allgemein zutreffenden Erklärung verdeutlicht wird. A datawarehouse is a copy of transaction data specifically structures for querying and reporting [KRRT98]. Diese Definition von Kimball betrachtet lediglich die verschiedenen Aufgaben eines Data Warehouse. Es vernachlässigt somit die Existenz gespeicherter Daten im Data Warehouse, die nicht für die Abfrage o.ä. gedacht sind. Die etablierteste Definition ist die von Inmon: A Data Warehouse is a subject-oriented, integrated, time-variant and nonvolatile collection of data in support of managements decision and making process (vgl.[Man00]). 5 2 Data Warehousing Fachorientierung (subject- oriented): Ein Data Warehouse ist fach- bzw. subjektorientiert, indem es verschiedene Sachverhalte eines Unternehmens (”subjects” wie Kunde, Verkäufe) betrachtet. Der Auswertungsaspekt steht beim Data Warehouse deutlich im Mittelpunkt. Innerbetriebliche Abläufe und Funktionen sind hingegen von untergeordnetem Interesse. Das Schema ist also analyseorientiert. Integration (integrated): Im Vergleich zu operativen Systemen werden in einem Data Warehouse Daten aus verschiedenen Quellen verarbeitet. Sie werden in einer einzigen, allgemeingültigen Form gespeichert. Nicht- flüchtige Daten (non- volatile): Auf den Datenbestand eines Data Warehouse sind keine Änderungen erlaubt, sondern nur lesende Zugriffe. Daten werden in periodischen Abständen hinzugeladen, aber nicht modifiziert. Sie werden also nach einmaliger Eingabe nicht mehr geändert. Daher besitzt ein Data Warehouse eine persistente und stabile Datenbasis [Man00]. Historisierte Daten (time-variant): Ein Data Warehouse speichert im Vergleich zu den operativen Systemen auch historisierte Daten. Es bietet durch diese Historisierung der Daten einen Vergleich der Daten und Analysen über einen längeren Zeitraum. Der allgemeine Zeithorizont eines Data Warehouse beträgt etwa 5- 10 Jahre (der der operativen Systeme hingegen nur 60- 90 Tage). Ein Data Warehouse stellt somit eine physische Datenbank dar, die eine zeitabhängige Sicht auf beliebige integrierte und bereinigte Daten ermöglicht. Es stellt aber nur ein Bestandteil eines Data Warehouse Systems dar (vgl. Abschnitt 2.3.3). Die einzelnen Komponenten dieses Systems dienen hierbei sowohl der Integration (Bsp. Datenbeschaffung) als auch der Analyse der Daten. Data Warehousing umschreibt den gesamten dynamischen Prozess. Es umfasst alle Schritte der Datenbeschaffung, der Speicherung und der Analyse. Somit beinhaltet es die Integration, Transformation, Konsolidierung, Bereinigung und Speicherung der Daten sowie die Datenbereiststellung für analytische Zwecke und Interpretationen [SAP02]. Ein Data-Warehouse-System ist also ”mehr als die Summe seiner 6 2.2 Data Warehouse Komponenten”[BG01]. Erst der Prozess an sich erreicht die Ziele des Systems. Um die Potentiale eines Data Warehouse auszuschöpfen, wird ein Modellierungsansatz für die Analyse benötigt. Oft wird das multidimensionale Datenmodell verwendet. Dieses stellt Strukturen und Auswertungskomponenten bereit, die bereits bei der Modellierung eine Analyse ermöglichen (vgl. Kapitel 2.4). Als wichtigste Anwendungen gelten die interaktive Datenanalyse OLAP sowie das Data Mining, die Suche nach unbekannten Mustern oder Beziehungen in Daten für die Erlangung neuer Informationen. 2.2.2 Stärken und Schwächen eines Data Warehouse Ein Vorteil eines Data Warehouse ist die verbesserte Datenqualität. Die Daten sind genauer und liegen durch einfache Transformation und Bereinigung in einem konsistenten Zustand vor. Ein Data Warehouse kann die Abfrageperformance beschleunigen, wodurch eine schnellere Informationsbeschaffung ermöglicht wird. Die Historisierung der Daten lässt ferner historische Trends erkennen. Die Leistung, die die Verarbeitung operativer Daten ermöglicht, wird durch den Einsatz eines Data Warehouse zusätzlich besser nutzbar. Nicht zuletzt unterstützt ein Data Warehouse Restrukturierungsmassnahmen und erhöht wegen der geringen Komplexität der Systemarchitektur die Flexibilität. Aus allgemeiner Unternehmenssicht ermöglicht der Einsatz eines Data Warehouse dem Unternehmen eine Verbesserung der Kundenbeziehungen. Durch die Erstellung von Kauf- und Kundenprofilen kann der Anbieter individuell auf die Kundenpräferenzen eingehen (z.B. mit Sonderangeboten). Ein Data Warehouse steigert ferner die Effizienz eines Unternehmens und hilft, Implementierungs- und Wartungskosten eines Data Warehouse zu kontrollieren. Die Potentiale sind allerdings nur erreichbar, wenn ein Data Warehouse professionell eingesetzt wird. Die Verständigung zwischen Anwender, IT-Abteilung sowie Projektmanagement muss dafür vorbildlich und ausgereift sein (vgl. [In 99]). Ferner können Probleme beim Datenmanagement auftreten. Eine effiziente und wartbare Aktualisierung eines Data Warehouse mit neuen Daten ist nicht immer einfach. Da die Datenbeschaffung auf einzelne Komponenten verteilt ist, müssen bei einer Änderung dieses Prozesses alle betroffenen Elemente angepasst sowie ihre technische Zusammenarbeit neu getestet werden. Der Einsatz von Extraktions-Transformation-Lade-Werkzeugen 7 2 Data Warehousing hat dieses Problem gemindert (vgl. [HA02]). Eine weitere Schwäche eines Data Warehouse sind die enormen Kosten hinsichtlich Hard, Software und Personal vor allem in der Anfangsphase eines Data Warehouse. Ebenso muss das Management von dem Einsatz eines Data Warehouse überzeugt werden. Nicht zuletzt ist bei dem Einsatz eines Data Warehouse zu beachten, dass ein Trainingsbedarf für den Endbenutzer hinsichtlich des Datenzugriffes entsteht. 2.2.3 Abgrenzung zu OLTP Um die Möglichkeiten eines Data Warehouse zu verstehen, ist es zunächst nötig, OLTP-Anwendungen von OLAP-Anwendungen abzugrenzen. OLTP-Anwendungen haben für eine auszuführende Transaktion nur begrenzte Datenmengen zu verarbeiten. Sie operieren immer auf dem aktuellsten Datenbestand. Dadurch eignen sie sich für das operative Tagesgeschäft (Bsp. Flugreservierungssystem). Dabei können die Daten nicht nur gelesen, sondern auch modifiziert werden. Das Schema ist eindeutig anwendungsorientiert. Der Fokus liegt bei diesen Anwendungen auf der Dateneingabe. Die ausschliesslich lesenden OLAP-Anwendungen verarbeiten hingegen grosse Datenmengen und arbeiten vor allem mit historisierten Daten. Daher dienen diese der strategischen Unternehmensplanung (Bsp. zur Beantwortung der Fragestellung: Wie hat sich die Auslastung der Transatlantikflüge über die letzten zwei Jahre entwickelt?). Der Schwerpunkt liegt hier auf der Informationslieferung. Da OLAP-Anfragen komplex sind, beeinträchtigen sie bei paralleler Auswertung mit den ”einfachen”, transaktionalen Anwendungen letztere in ihrer Leistung. Diese Unvereinbarkeit hat zur Entwicklung von Data Warehouse-Systemen geführt [KE97]. Die wichtigsten Unterschiede sind zusammengefasst in Abbildung 2.1 (vgl.[ACPT99]) dargestellt. Deutlich wird, dass die Unterschiede zwischen OLAP und OLTP zu einem anderen Benutzerkreis und unterschiedlichen Prioritäten führen. Kimball betont als wichtigsten Unterschied, dass ein Data Warehouse im Gegensatz zu den operativen Systemen die Vergangenheit beschreiben kann [Kim96]. 8 2.2 Data Warehouse Merkmal Orientierung Nutzer Datenbankdesign Fokus Operationen Priorität Summierbarkeit Zugang Arbeitseinheit OLTP OLAP Transaktion Angestellter, DBA etc. ER basiert Dateneingabe Index/hash auf Primärschlüsssel Performance, Verfügbarkeit hoch detailliert Analyse Manager, Analysten etc. Star/Snowflake Informationsausgabe Scan schreibend/lesend kurze, einfache Transaktion Flexibilität summiert, konsolidiert lesend komplexe Anfragen Tabelle 2.1: OLTP versus OLAP 2.2.4 Einsatzgebiete Der Grundgedanke eines Data Warehouse ist die Datenanalyse. Sobald Daten gespeichert werden, entsteht meistens ebenso das Interesse, diese auch auszuwerten zu können. Daher sind die Anwendungsgebiete eines Data Warehouse breit gefächert. Sie reichen von der Betriebswirtschaftslehre über technische Anwendungen bis hin zu den Wissenschaften. Am häufigsten werden Data Warehouse-Systeme jedoch in der Betriebswirtschaft (v.a. Marketing, Controlling) eingesetzt. Bei informationsorientierten Anwendungen fördern sie insbesondere im Berichtswesen die Kennzahlenerstellung. Ein wichtiges Einsatzgebiet liegt im E-Commerce. Ein Data Warehouse sammelt und archiviert hierbei die Daten über das Kundenverhalten im Internet. Es unterstützt durch die dynamische analytische Informationsauswertung die E-CommerceLösungen der einzelnen Abteilungen. Dadurch ermöglicht es die Personalisierung dieser Anwendungen. Da das Beschaffungsverhalten analysierbar wird, werden diese Systeme auch bei der Onlinebeschaffung über Marktplätze oder E-Procurement-Lösungen genutzt. Ebenso ermöglichen sie einen Austausch unterschiedlicher Planungsinformationen, wodurch sie auch bei der Erstellung von Supply-Chains 9 2 Data Warehousing eingesetzt werden. In analyseorientierten Anwendungen werden Data Warehouses vor allem in der Kosten- und Leistungsrechnung eingesetzt. Für die Planungsunterstützung eines Unternehmens müssen Data Warehouses neben Ist- auch Plandaten speichern. Dadurch wird ein Plan/IstVergleich möglich, um die Wirtschaftlichkeit eines Unternehmens beurteilen zu können. In kampagnenorientierten Anwendungen liefern Data Warehouses die Daten, um eine Kampagne zu starten. Am Ende dieser ermöglichen sie es zusätzlich, dessen Erfolg zu beurteilen (Bsp. Customer-relationsship-Management-System zur Betrachtung der Kundenbeziehungen auf unterschiedlichen Ebenen) [BG01, Han01b]. 2.3 Referenzarchitektur Dieses Kapitel stellt eine Referenzarchitektur eines Data Warehouse Systems vor. Diese besteht aus verschiedenen Komponenten. Ein Data Warehouse stellt somit nur ein Bestandteil des Systems dar. Der Datenbestand eines Data Warehouse kann dabei auch verteilt vorliegen. Nachdem zuerst auf die Anforderungen an ein Data Warehousing eingegangen wird, werden anschliessend die einzelnen Systemkomponenten erläutert. Hierbei werden die jeweiligen Aufgaben, die Funktionsweise sowie der Zusammenhang dieser Komponente im System beschrieben. Abschliessend erfolgt eine allgemeine Beschreibung einer Referenzarchitektur sowie der Phasen eines Data Warehousing. 2.3.1 Anforderungen an ein Data Warehousing In diesem Abschnitt werden die Anforderungen an ein Data Warehousing vorgestellt. Wichtig ist eine Unabhängigkeit zwischen Datenquellen und Analysesysteme hinsichtlich Verfügbarkeit (d.h. bei Systemausfällen), Belastung sowie Änderungen in den Quellsystemen. Ferner soll es integrierte und abgeleitete Daten dauerhaft bereitstellen. Diese Daten müssen persistent gespeichert und mehrfach verwendbar sein. Es muss flexibel mit ihnen gearbeitet werden können. Ausserdem fordern Data Warehouses Skalierbarkeit. Erweiterungen sollen möglich sein, die bereits existierende Strukturen nicht verändern und neue Quellen integrieren. Die Prozesse (vgl.Abschnitt 2.3.3) müssen möglichst automatisch ablaufen. Ferner muss Eindeutigkeit hinsichtlich Datenstrukturen, Zugriffsrechten und Prozessen herrschen. Nicht 10 2.3 Referenzarchitektur zuletzt ist eine Anforderung an ein Data Warehousing die Möglichkeit individueller Nutzersichten (also anwenderspezifische Datenbestände). Die Architektur sollte sich am Ziel dieser ausrichten, d.h. also an der Datenanalyse. Damit die enthaltenen Daten entscheidungsrelevant sind, müssen diese bei der Übernahme aggregiert und verdichtet werden. So interessiert sich ein Manager nicht für die einzelnen Bestellpositionen, sondern eher für die Quartals- und Jahressummen. 2.3.2 Die Komponenten eines Data Warehouse Systems Die einzelnen Bestandteile eines Data Warehouse Systems werden im folgenden vorgestellt und in Abbildung 2.3.3 in ihrer Gesamtheit grafisch dargestellt [BG01]. Der Data-Warehouse-Manager initiiert, lenkt und überwacht die einzelnen Prozesse in allen Phasen. Er muss die Prozesse automatisch ablaufen lassen, indem er die Vorgänge durch Kontrollflüsse steuert. Der Datenbeschaffungsprozess kann dabei regelmässig erfolgen, abhängig von Datenänderungen oder aufgrund ausdrücklichen Verlangens [BG01]. Die Datenquelle (Bsp. interne oder externe Datenbank, flat files, www-Seiten) beeinflusst durch die Art der Datenspeicherung die Analysefähigkeit eines Data Warehouse-Systems. Sie stellt einen Bestand von Daten mit Inhalten für die Datenanalyse dar. Hinsichtlich Struktur, Inhalt und Schnittstellen ist sie von heterogener Art. Als Quelldaten werden dabei die Daten in Verbindung mit deren Beschreibungen bezeichnet. Diese können nach verschiedenen Merkmalen klassifiziert werden (Bsp. Herkunft: intern und extern, Zeit: aktuell und historisch). Diese Einteilung ermöglicht eine Strukturierung und verbesserte Übersichtlichkeit der Datenquellen. Bei der Betrachtung der Quelle und deren Auswahl muss sowohl der Verwendungszweck eines Data Warehouse und die Quelldatenqualität (Bsp. Konsistenz, Korrektheit) als auch die Verfügbarkeit (organisatorisch und technisch) und der Preis für den Datenerwerb beachtet werden [BG01]. Monitore sollen Datenmanipulationen in den Quellsystemen aufdecken. Allgemein ist Monitoring die Voraussetzung für die Anpassung eines Data Warehouse an die aktuelle Nutzung. Es gibt meist einen Monitor pro Datenquelle, da seine Funktionsweise von den 11 2 Data Warehousing dessen Merkmalen und den Anforderungen der Analysekomponenten abhängt. Es gibt verschiedene Monitoring-Strategien. Eine Variante aktiviert bei Änderungen einen Trigger, der die Änderungen beispielsweise in eine Datei schreibt. Die Methode der Replikation schreibt einen geänderten Datensatz in eine spezielle Tabelle. Eine weitere Strategie arbeitet mit Zeitstempeln. So wird jedem Datensatz ein Zeitstempel zugewiesen, der den Zeitpunkt der Änderung enthält. Bei der Log-basierten Methode werden Änderungen in eine Log-Datei geschrieben. Eine weitere Alternative basiert auf Snapshot- Dateien. Hierbei wird in regelmässigen Abständen der Datenbestand in eine Schnappschussdatei geschrieben. Für die Entdeckung von Änderungen wird dann der aktuelle Datenbestand mit einem Schnappschuss der alten Daten verglichen. Der Arbeitsbereich enthält die Daten des Datenbeschaffungsbereichs (engl. staging area). Der Datenbeschaffungsbereich wiederum enthält alle Komponenten, die funktional zwischen den Datenquellen und der Basisdatenbank liegen. Damit integriert er heterogene Daten. Im Arbeitsbereich werden die Daten temporär zwischengespeichert sowie bereinigt und integriert. Dadurch behindern die Datentransformationen die anderen Komponenten des Systems nicht. Ferner werden die transformierten Daten erst nach erfolgreichem Abschluss der Transformation in ein Data Warehouse geladen. Die Extraktionskomponente dient der Datenübertragung aus einer Datenquelle in den Arbeitsbereich. Sie stellt daher die Verbindung zu den operativen/externen Datenquellen dar. Ferner unterstützt sie die Auswahl der Quellen, die importiert werden sollen (unabhängig von ihrer Speicherform). Daten werden entweder periodisch, auf Anfrage, aufgrund von Ereignissen oder sofort nach Änderungen extrahiert. Die Extraktion wird normalerweise durch Schnittstellen zwischen Netzwerken und Standarddatenbankschnittstellen (Bsp. ODBC) technisch umgesetzt. Das Ermitteln von Datenänderungen erfolgt in Abhängigkeit der gewählten Monitoring- Strategie [Man00]. Die Transformationskomponente: Die relevanten operativen Daten des Arbeitsbereiches unterscheiden sich strukturell (Bsp. Schemaintegration) und inhaltlich (Bsp. Datenbereinigung). Daher ist es notwendig, sie in einen geeigneten Zustand zu bringen. Heterogene Daten brauchen zunächst ein einheitliches Format für ihre Vergleich- 12 2.3 Referenzarchitektur barkeit (durch z.B. Teilung/ Kombination von Attributen, Vereinheitlichung von Datumsangaben). Data Migration bezeichnet hierbei die Standardisierungstransformationen, die eine Integration heterogener Daten bewirkt. Data Scrubbing stellt den Prozess der Verbesserung der Datenqualität mit Hilfe von Software-tools dar. Die Datensemantik wird hierbei mit Hilfe von domänenspezifischen Wissen kontrolliert (Bsp. Postleitzahlenverzeichnisse). Data Auditing hat die Entdeckung von Beziehungen und Regelmässigkeiten in den Daten zur Aufgabe [Man00]. Ziel ist es also, die verschiedenen Schemata der einzelnen Datenquellen in das Schema zu transformieren, das dem allgemeinen Datenmodell folgt [Bre01]. Die Ladekomponente: Die transformierten Daten des Arbeitsbereiches sind speicher-ungs- und auswertfähig. Für die Weiterleitung ist eine Komponente notwendig, um die analyseunabhängigen Detaildaten in die Basisdatenbank zu übertragen. Eine andere muss die analysespezifischen Daten aus der Basisdatenbank in ein Data Warehouse transferieren. Wenn ein gespeicherter Datensatz geändert werden muss, darf dieser aufgrund der Forderung nach Datenhistorisierung nicht überschrieben werden. Der geänderte Datensatz muss stattdessen gespeichert werden. Zu unterscheiden sind Online- und Offline-Ladevorgänge. Während beim ersteren auch während des Ladens ein Data Warehouse verfügbar ist, ist dies beim letzteren nicht der Fall. Beim Offline-Ladevorgang sind somit während des Ladens Anfragen an ein Data Warehouse nicht erlaubt. Ein Ladevorgang sollte ferner in einem günstigen Zeitraum stattfinden (Bsp. nachts, Wochenende). Eine grosse Datenmenge zwingt hierbei zu effizienteren Maßnahmen (Bsp. durch Parallelisierung). Die anwendunsgneutrale Basisdatenbank stellt eine integrierte Datenbasis dar. Ihre Aufgabe ist die Sammlung, Integration und Verteilung der Daten. Dies ermöglicht eine Mehrfachverwendung und flexible Datenverwendung. Sie enthält aktuelle sowie historisierte Daten, die bereits bereinigt sind. Ausserdem stellt die Basisdatenbank die Analysebasis dar. Sie hat also ebenso eine Auswertungsfunktion. Die Basisdatenbank wird entweder in Echtzeit aktualisiert, in periodischen Abständen oder in Abhängigkeit einer Änderungsquantität (d.h., wenn eine bestimmte Änderungszahl erreicht wird). Es muss erkennbar sein, um welche Daten es sich handelt und v.a. wie sie im Laufe ihres Weges transformiert worden sind. Zusätzlich muss 13 2 Data Warehousing ein Datenzugriff technisch möglich sein. Es werden also verfügbare und nachvollziehbare Daten gefordert. Da der Einsatz einer Basisdatenbank sowohl mit hohem Aufwand als auch enormen Kosten verbunden ist, wird in der Praxis oft auf diese Komponente verzichtet. Grafisch wird die Anordnung der Basisdatenbank als Nabel-SpeicheArchitektur dargestellt. Dabei sind die Datenquellen und das Data Warehouse die Speichen und die Basisdatenbank die Nabe. Dies bewirkt eine Reduktion der Schnittstellen, da der Transport der Daten nur indirekt erfolgt [BG01]. Data Warehouse: Indem ein Data Warehouse mit dem Repositorium und der Basisdatenbank verbunden ist, enthält es alle analyserelevanten Daten. Es muss die vom Anwender benutzten und geforderten Daten dauerhaft verwalten und bei Analysen bereitstellen. Somit passt sich die Strukturierung an den Analysebedarf an. Da die Struktur eines Data Warehouse die Struktur des OLAP-Speichers beeinflusst, nimmt sie auch Einfluss auf die Anfrageperformance. Dem Analyseprogramm werden die relevanten Daten bei Bedarf gegeben. Ein Data Warehouse bietet neben diesen Zugriffsfunktionen auch Funktionen der Verarbeitung. Durch diese Schnittstelle kann eine Anwendung formulieren, was gebraucht wird. Tuningparameter und Mechanismen bieten eine effiziente Anfrageverarbeitung (Bsp. Zugriffsstrukturen). Indem die Daten aus der Basisdatenbank geladen werden, werden sie aktualisiert. Da viele Datensätze pro Zeiteinheit in ein Data Warehouse gelangen, besitzen viele Datenbanksysteme zudem einen Massenlader (engl.bulk loader). Indem einige Funktionen für die Ladezeit abgeschaltet sind (Bsp. Mehrbenutzerkoordination), kann die Ladeperformance erhöht werden. Verteilung eines Data Warehouse/Data Marts: Ein Data Warehouse, das haupt-sächlich detaillierte Firmendaten enthält, muss nicht zwingend zentral vorliegen. In der Praxis wird eine Verteilung der Verarbeitungs- und Administrationslast bevorzugt. Dadurch wird ein zentrales Data Warehouse ausgeschlossen. Dieses bietet zwar einerseits Datenintegrität und einen ”single point of truth”, aber andererseits bedeutet es aber auch eine starke Netzwerkbelastung und mangelnde Flexibilität hinsichtlich Skalierbarkeit. Das sogenannte Data Mart-Konzept liefert stattdessen eine inhaltlich beschränkte Sicht auf ein Data Warehouse. Es bildet Extrakte der Data Warehouse-Daten, die für bestimmte Benutzer mit einem homo- 14 2.3 Referenzarchitektur genen Informationsbedürfnis ausgerichtet sind. Aus Datenbanksicht entspricht es der Verteilung eines Data-Warehouse-Datenbestandes. Vorteilhaft ist hierbei, dass meist aggregierte und nicht mehr so stark normierte Daten vorliegen. Dadurch ist die Performance der Abfragen höher als bei einem Data Warehouse selbst. Oft wird dieses Konzept auch wegen der Benötigung von Zugriffrechten für den Nutzer eingesetzt. Es ermöglicht ferner die Abbildung der Unternehmensstruktur mit den Verantwortlichkeiten, indem z.B. jede Abteilung ein Data Mart bekommt. Dadurch ist eine Unabhängigkeit der Abteilungen erreichbar. Data Marts können auch den Beginn eines zentralen Data-Warehouse-Entwurfs darstellen. So errichtet jede Abteilung ihr eigenes Data Mart. Diese werden dann unternehmensweit zusammengefügt, wodurch sie dann ein zentrales Data Warehouse bilden. Dieses Verfahren ist zeitsparender und kostengünstiger. Data Marts sind hier als eine Art Prototyp einzusetzen, die die Kontrolle der Anforderungen ermöglichen [Bre01]. ”Think big, start small”: Dieses Vorgehen führt also nur zum Erfolg, wenn bereits zu Beginn des Entwurfs die spätere Zusammenführung der einzelnen Marts mit eingeplant wird. Sonst besteht die Gefahr von Insellösungen. Das Data Mart-Konzept ist ferner sinnvoll, wenn Spezialdaten vorliegen, die nur von bestimmten Benutzergruppen benötigt werden. Eine Speicherung dieser Daten in einem zentralen Data Warehouse wäre hier nicht angebracht. Das übergeordnete Ziel dieses Konzeptes ist demnach die Komplexitätsreduktion sowie die Verringerung des Datenvolumens. Konkret gibt es zwei Ausprägungen: Abhängige Data Marts (vgl. Abbildung 2.1 [BG01]) sind Extrakte aus dem integrierten Datenbestand der Basisdatenbank. Ihnen liegt eine integrierte Datenbasis zugrunde. Dadurch sind Analysenergebnisse auf dessen Datenbestand aufgrund der fehlenden Normierung die gleichen wie die auf ein Data Warehouse. Die Extrakte können strukturell gebildet werden (Beschränkung auf Schemateile Bsp. bestimmte Dimension), inhaltlich (Bsp. letzte Jahresergebnis) oder aggregiert. Bei letzterem wird die Granularität verringert (Bsp. Beschränkung auf Monatsergebnisse. Neben dem geringerem Datenvolumen ermöglichen abhängige Data Marts schnellere Antwortzeiten und eine Zugriffslokalität der Daten. Unabhängige Data Marts (vgl. Abbildung 2.2 [BG01]) sind isolierte Sichten auf die Quellsysteme. Sie stellen kleine Data Warehouses dar, die keine integrierte Datengrundlage besitzen. Daher können sie nur entstehen, wenn keine Basisdatenbank existiert. Eine nachträgli- 15 2 Data Warehousing Abbildung 2.1: Abhängige Data Marts che Transformation und Integration in einen übergeordneten Analysekontext ist daher zwingend. Dadurch wird das Integrations- und Transformationsproblem nicht gelöst, sondern nur auf einen späteren Zeitpunkt verschoben. Verschiedene Analysesichten sowie die Konsistenz der Analysen werden aufgrund der zusätzlichen Transformation hierbei zum Problem. Data-Mart-übergreifende Analysen sind nicht realisierbar (Bsp. abteilungsübergreifend). Unabhängige Data Marts bieten zwar ein schnelles Vorgehen, eine Ausfallsicherheit und schnelle Ergebnisse, jedoch sind sie schwer änderbar und unflexibel. Datenintegrität und ”single point of truth” sind hier nicht gegeben. Abbildung 2.2: Unabhängige Data Marts Es gibt auch Architekturen ohne Data Warehouse.Hier liegen stattdessen nur Data Marts vor, die virtuell ein Data Warehouse bilden (vgl.[BG01]). Analyse bezeichnet alle Operationen, die mit den Daten eines Data Warehouse durchgeführt werden, um neue Informationen zu generie- 16 2.3 Referenzarchitektur ren (Bsp. Anfrage von Analysefunktionen auf ausgewählte Daten). Durch Analysewerkzeuge können die Anwender die gesammelten Daten mit interaktiven Navigations- und Analysemöglichkeiten präsentieren. Zu den Darstellungselementen gehören neben Tabellen (v.a. Pivottabellen) und Grafiken auch Text sowie multimediale Elemente (Bsp. Videosequenz). Die Werkzeuge sind meist auf die Anwender und Einsatzgebiete zugeschnitten. Zur Realisierung gibt es Standard Reporting Werkzeuge für die Berichtserstellung und -Verteilung sowie Berichtshefte (engl. briefing books), welche als Entwicklungsumgebungen z.B. Tabellen darstellen können. Ausserdem gibt es ad-hoc-Queries & Reporting, die Berichte grafisch erstellen und Informationen in Form von Kennzahlen und Dimensionen liefern. Eine eigene Oberfläche für die mehrdimensionalen Datenanalyse und -anfrage bieten Analyse- Clients. Ferner gibt es Spreadsheet Add-ins, die Tabellenkalkulationen um Datenanbindung und Navigation erweitern. Für die Realisierung gibt es ebenso Entwicklungsumgebungen, die die Entwicklung eigener Analyseanwendungen fördern und Operationen auf multidimensionalen Daten liefern. Als eine mögliche Plattform gibt es Fat Clients mit eigenen Speicherund Verarbeitungsmöglichkeiten. Diese Clients führen nahezu die gesamte Verarbeitung ohne Server aus. Eine andere Möglichkeit stellen Thin Clients dar, bei denen fast die gesamte Datenverarbeitung auf dem jeweiligen Server stattfindet. Sie dienen nur der Informationendarstellung. Ferner gibt es noch die aktive Verteilung über OfflineMedien. Hier wird lediglich bei Bedarf eine Verbindung zu einem Data Warehouse hergestellt. Das Repositorium (engl.repository) speichert die Metadaten eines Data Warehouse Systems. Metadaten sind Daten über den Daten. Diese dokumentierenden Daten werden nach ihrem fachlichem Nutzen (für den Endanwender) und den technischen Daten wie z.B. Indizes eingeteilt. Sie liefern z.B. physische Speicherinformationen sowie Informationen über Data-Warehouse-Prozesse, Zugriffsrechte und Schemata. Neben dieser Aufgabe der Informationslieferung dienen sie auch zur Steuerung des Data Warehouse Managers für die verschiedenen Prozesse. Der Metadatenmanager steuert die Metadatenverwaltung. Er stellt 17 2 Data Warehousing eine Datenbankanwendung dar, der das Versions- und Konfigurationsmanagement, das Integrations-, die Zugriffs-, die Anfrage- und Navigationsmöglichkeiten der Metadaten anbietet. Ferner liefert er die Schnittstelle für Lese- und Schreibzugriffe auf das Repositorium. Dadurch können Metadaten zwischen den verschiedenen Komponenten erreicht und ausgetauscht werden (Bsp. API). Damit Werkzeuge integriert werden können und das Repositorium steuerbar wird, werden die Metadaten vereinheitlicht. Passende Werkzeuge sind dabei allgemein einsetzbare Metadatenverwaltungssysteme (mit einem einfach zu änderndem Kernschema) und werkzeugspezifischen Metadatenverwaltungskomponenten. Die Praxis zeigt, dass oft ein Austausch zwischen dezentralen Metadaten- Managementsystemen notwendig ist [BG01]. Extraktion Datenquellen Laden Basisdatenbank Arbeitsbereich Kontrollfluss Transformation Analyse Laden Data Warehouse Data Warehouse Manager Monitor Datenfluss Metadaten -Manager Repository Data Warehouse System Abbildung 2.3: Referenzarchitektur eines Data Warehouse Systems 2.3.3 Beschreibung einer Referenzarchitektur und Phasen eines Data Warehousing Um die relevanten Daten aus den operativen Systemen in einem Data Warehouse zu integrieren, muss dieses verschiedene Schritte durchlaufen (vgl. Abbildung 2.3 [BG01]) . Zunächst werden die Änderungen in den Quellen durch Monitore kontrolliert. Mittels Extraktion werden dann die relevanten Daten aus den operativen Systemen in einen temporären Arbeitsbereich kopiert. Dort finden Datentransformationen (d.h. Integration und Bereinigung) statt. Anschliessend werden die Daten in eine Basisdatenbank 18 2.4 Das multidimensionale Datenmodell kopiert, von wo aus sie dann in ein Data Warehouse geladen werden. Diese stellt die Schnittstelle zum Anwender dar und bildet sich durch den jeweiligen Analysezweck. Das Repositorium ist nur mit dem Metadatenmanager verbunden, welcher alle anfallenden Metadaten verwaltet und die restlichen Komponenten mit Metadaten versorgt. Da Unabhängigkeit und zeitliche Stabilität gefragt sind, wird somit auf einen Direktzugriff auf die operativen Daten verzichtet. Stattdessen wird eine separate physische Ablage geschaffen. Die Analyse steht also der Integrationsanforderung gegenüber und lässt mehrere Datenbanken in einer Architektur zu. Die wichtigste Aufgabe eines Data Warehouse ist die laufende Aktualisierung der Daten. Hierbei gibt es zwei Strategien. Beim vollständigen Laden werden Teile der Daten im Data Warehouse gelöscht und neu geladen. Aus Performancegründen ist jedoch die inkrementelle Aktualisierung (engl. inkremental maintenance) effektiver. Hier werden lediglich die Änderungen der operativen Daten in das Data Warehouse eingebracht. Data Warehouses sind meist als Dreischichtenarchitektur realisiert. Auf unterster Ebene befindet sich ein Data Warehouse, das in Verbindung mit dem Repositorium die heterogenen Daten verschiedener Quellen integriert. Es stellt somit die Datenhaltungskomponente dar. Meist liegt ihm ein relationales Datenbanksystem zugrunde. Auf mittlere Ebene befindet sich für die Verarbeitung der OLAP-Server, der für die Analyse multidimensionaler Daten konzipiert worden ist. Er ist meistens als relationales oder multidimensionales OLAP implementiert (vgl. Abschnitt 2.5.2). Die oberste Schicht stellen FrontEnd Tools dar (Bsp. Analyse-, Anfrage- oder auch Berichtstools). Diese Tools stellen Benutzeranwendungen dar, die insbesondere die Anfragen an den OLAP-Server definieren und Analyseergebnisse angemessen präsentieren sollen (vgl. [HK01]). 2.4 Das multidimensionale Datenmodell Wie im traditionellen Datenbankentwurf werden bei der Erstellung eines Data Warehouses die Phasen der konzeptionellen, logischen und physischen Modellierung unterschieden. Dabei wird zuerst ein konzeptionelles Datenmodell erstellt, um Zusammenhänge ohne Beachtung von Implementierungsdetails zu modellieren. Dieses Kapitel stellt das multidimensionale Datenmodell vor. Nach- 19 2 Data Warehousing dem zuerst zwei Designnotationen erläutert werden, erfolgt eine Beschreibung der Struktur des multdimensionalen Datenmodells. Anschliessend werden dynamische Operatoren vorgestellt, die auf diese Strukturen duchführbar sind. Im letzten Abschnitt dieses Kapitels wird im Rahmen der Versionierung von Dimensionstabellen das Konzept der ”slowly chanigng dimensions” eingeführt. 2.4.1 Das multidimensionale Datenmodell Einem Data Warehouse liegt ein multidimensionales Datenmodell zugrunde. Für dessen Abbildung wird also eine konzeptionelle Modellierungstechnik benötigt, die die speziellen semantischen Konstrukte dieses Datenmodells berücksichtigt. Damit ist die Idee des multidimensionalen Modell gemeint, unabhängige Attribute (Dimensionen) logisch von den abhängigen Attributen (Fakten) zu trennen. Konventionelle Entwurfstechniken wie das ER-Modell (entity-relationsshipModell) oder die UML (unified modelling language) bieten aufgrund der wenigen verwendeten Konstrukte eine gewisse einfache Anwendbarkeit. Da sie aber keine Unterscheidung in Klassifikationsstufen, beschreibenden Attributen und Fakten bieten, eignen sie sich nicht. Sie werden der Semantik multidimensionaler Datenmodelle nicht gerecht. So wird aus dem ER-Modell nicht unbedingt ersichtlich, welche der Beziehungen Klassifikationsbeziehungen sind. Schliesslich muss nicht jede 1:n-Beziehung eine Klassifikation darstellen. Klassifikationsbeziehungen können auch als Attribute modelliert sein [BG01]. 2.4.2 Vorstellung verschiedener Designnotationen Im diesem Abschnitt werden verschiedene Designnotationen vorgestellt. Zunächst wird das multidimensional entity/relationsship-Modell (ME/R-Modell) erläutert und anhand eines grafischen Beispiels verdeutlicht (Abbildung 2.4). Als weitere Designnotation wird in Abschnitt 2.4.2.2 die multidimensional unified modelling language (mUML) präsentiert und ebenso in einer Grafik veranschaulicht (Abbildung 2.5). 2.4.2.1 ME/R-Modell Das ME/R-Modell ist von der Universität Erlangen für die Einführung der multidimensionalen Semantik entwickelt worden. Es ergänzt und 20 2.4 Das multidimensionale Datenmodell spezialisiert das ER-Modell um drei Elemente (vgl. Beispiel Abbildung 2.4 [Her01]). Da das klasssiche ER-Schemata genutzt werden kann, bietet es eine einfache Erweiterung bestehender Konzepte (vgl. [Her01]). Die Klassifikationsstufe ist eine besondere Ausprägung von Entities. Diejenige Stufe, die mit der Faktbeziehung verbunden ist, wird als Basisklassifikationsstufe oder Dimension bezeichnet. Sie wird grafisch in Form eines Rechteckes dargestellt Die Faktbeziehung dient der Aufnahme mehrerer Faktattribute und enthält somit die eigentlichen Analysedaten. Grafisch wird sie als Würfel repräsentiert Die Klassifikations-Beziehungsmenge verbindet (als Pfeil) Klassifikationsstufen verschiedener Abstraktionsebenen untereinander und mit der Faktbeziehung Abbildung 2.4: ME/R 2.4.2.2 Multidimensional Unified Modeling Language (mUML) Die mUML ist im Rahmen einer Diplomarbeit von der Universität Oldenburg entwickelt worden. Als erstes wurde sie in einem OFFISProjekt (OFFIS Tools for Data Warehousing) angewendet. Die mUML ermöglicht als UML-Erweiterung die Erstellung eines konzeptionellen, multidimensionalen Schemas [Her01]. Zu unterscheiden sind hier die eigentliche Sprache und die grafischen Konstrukte. Die multidimensionalen Sprachelemente und deren Semantik hat die mUML von der Multidimensional Modeling Language (MML) erhalten, die ebenfalls im Rahmen der o.g. Diplomarbeit entwickelt worden ist (vgl. [Uni01b]). Diese objektorientierte Sprache liefert Konstrukte für abstrakte Klassen, Vererbung und Komposition. Damit 21 2 Data Warehousing ermöglicht sie eine flexible Implementierung, die technische Details nicht beachtet. Sie unterstützt die Anforderungen konzeptioneller, multidimensionaler Modelle (Bsp. Mehrfachhierarchien, Verdichtungspfade) und unterstützt die Schemaevolution. Die MML bietet ferner die konventionelle Unterscheidung zwischen Metamodell, Schema und Ausprägung. Ein Metamodell entspricht einem Modell eines Modells. Es stellt die Konstruktmenge bereit, die zur Modelldarstellung benutzt werden darf und somit den Metadaten zur Verfügung steht. Sie bildet daher das konzeptionelle Schema des Repositoriums. Das Schema wird durch diese Mittel des Metamodells gebildet und bezeichnet die physische Speicherform einer Datenbank. Die Ausprägungen sind die bestimmten Werte, die Instanzen, eines Modells. Während das Metamodell somit die Beschreibungsmittel liefert, stellt das Schema die Muster zur Verfügung. Grundlage für die mUML sind die UML-eigenen Erweiterungsmöglichkeiten, die eine Anpassung ohne Veränderung des UML-Metamodells ermöglichen. Die mUML verwendet für die Bereitstellung der multidimensionalen Elemente v.a. die Eigenschaftswerte (engl. tagged values) und die Stereotypen. Eigenschaftswerte umfassen ein Schlüsselwort (tag), das das Merkmal beschreibt, und einen dazugehörigen Datenwert. Sie sind benutzerdefinierte, sprach- und werkzeugspezifische Paare, die die Semantik einzelner Modellelemente um spezielle Eigenschaften erweitern. Stereotypen sind projekt-, unternehmensoder methodenspezifische Erweiterungen vorhandener Modellelemente, die als neues Konstrukt Untermetaklassen einfügen. Grafisch dargestellt werden mUML-Diagramme durch das Klassendiagramm der UML. Es umfasst die statischen Merkmale von Klassen und Objekten (Bsp. Attributangaben, Beziehungen) sowie die genannten objektorientierten Konstrukte. Abbildung 2.5 (vgl. [Uni01b]) zeigt die Faktentabelle Verkauf sowie die Zeit- und Geographiedimension mit ihren Hierarchien. Die Faktentabelle enthält drei Fakten (Anzahl, Einzelverkaufspreis und Umsatz), wobei der letzte abgeleitet ist. Jede Klassifikationsstufe wird hier durch eine Klasse des Typs dimensional-class modelliert. 2.4.3 Struktur des multidimensionalen Datenmodells Beim multidimensionalen Datenmodell erfolgt eine Unterscheidung in qualifizierende und quantifizierende Daten. Letztere sind die eigentlichen zu analysierenden Daten, wohingegen die qualifizierenden diese 22 2.4 Das multidimensionale Datenmodell Dimension Geographie <<Fact- Class>> Verkauf Anzahl: Verkäufe EinzelVK: Preis /Umsatz : Preis {formula=“Anzahl*EinzelVK”, parameter=“Anzahl, EinzelVK”} <<Dimensional- Class>> Stadt <<Dimensional- Class>> Region <<Dimensional- Class>> Land Dimension Zeit <<Dimensional- Class>> Tag <<Dimensional- Class>> Monat Abbildung 2.5: mUML näher beschreiben. Fakten: Fakten (Bsp. Verkaufszahl) sind Datenobjekte, die neben quantifizierbaren auch qualifizierbare Daten umfassen. Sie enthalten ein oder mehrere Faktattribute, die in der Betriebswirtschaft als Kennzahlen bezeichnet werden. Faktattribute sind meist numerische Daten (Bsp. konkreter Umsatz, Verkäufe). Wenn sich alle Fakten in einem Würfel befinden, wird von einem Single-Cube gesprochen. Andernfalls liegt ein Multi-Cube, welcher dem Galaxy-Schema entspricht (siehe Abschnitt 2.5.2.3) . Dimensionen: Eine Dimension ist eine ausgewählte Entität (Bsp. Produkt), die für die eindeutige Strukturierung des Datenraums unerlässlich ist. Die Dimensionen stellen die beschreibenden Daten dar. Sie enthalten Attribute, die den Charakter der Dimension möglichst genau beschreiben (Bsp. Dimension Zeit: Jahr, Periode, Monat, Woche, Tag). Eine Dimension verdeutlicht damit einen Aspekt der Auswertungskontextes. Eine typische Anzahl von Dimensionen liegt im Versicherungsbereich bei 10- 15, in der Industrie bei 8, im Controlling bei 11-13 und beim Marketing bei 5-7 Dimensionen. Klassifikationsschema, Pfad: Das Klassifikationsschema einer Dimension ist eine halbgeordnete Menge von Klassifikationsstufen mit einem kleinsten Element. Es ist also das Schema zur Abstraktion von einer oder mehreren Klassifikationshierarchien, die einer Dimension zugeordnet wird. Eine vollgeordnete 23 2 Data Warehousing Teilmenge von Klassifikationsstufen eines Klassifikationsschemas wird als Pfad bezeichnet [BG01]. Klassifikationshierarchie: Damit Daten für die Analyse einem angemessenen Verdichtungsgrad entsprechen, werden Dimensionen hierarchisch organisiert. Eine Hierarchie ist ein analyseabhängiger Datenzusammenschluss. Eine Klassifikationshierarchie ist die vollständige Zerlegung einer nichtleeren Menge in disjunkte Teilmengen nach Auswertungssichten. Sie bildet mittels einer Baumstruktur eine Abstraktionshierarchie über die Dimensionselemente. Eine Klassifikationshierarchie bezüglich eines Pfades ist also ein balancierter Baum. Sie enthält als höchste Hierarchiestufe immer die Ebene ¿ALLÀ. Die Daten der niedrigsten Stufe (die Detaildaten) bestimmen die Datengranularität (Verdichtungsgrad) und daher die im Würfel zu speichernde Datenmenge. Daten gleicher Granularität stellen ein Dimensionslevel dar. Dabei wird eine Unabhängigkeit der Klassifikationsstufen vorausgesetzt. Die Baumkanten genügen den funktionalen Abhängigkeiten: Attribut B ist dabei funktional abhängig von einem Attribut A(A → B) wenn jedem Wert a ∈ dom(A) genau ein Wert b ∈ dom(B) zugeordnet ist. Ein Klassifikationsknoten ist die Verdichtungsstufe innerhalb einer Klassifikationshierarchie. Die Dimensioninstanz ist die Menge aller Klassifikationshierarchien auf Pfaden im Klassifikationsschema [BG01]. Bei entarteten Hierarchien (unbalancierte Baumstruktur) sind die Aggregationen unvollständig. Multiple Hierarchien stellen mehrere Hierarchien auf einer einzigen Dimension dar. Verzweigende Pfade innerhalb einer Hierarchie, die wieder zusammengeführt werden, werden als alternative Verdichtungspfade bezeichnet (vgl. [Her01]). Würfel: Ein Würfel (data cube) besteht aus mehreren Datenzellen, welche eine oder mehrere Fakten auf Detailebene beinhalten. Eine Zelle ist daher Schnittpunkt der Dimensionen, die den Würfel aufspannen (Würfelachsen). Ein Würfel ist eine Ausprägung eines Würfelschemas. Dieses Schema besteht aus der Granularität und Faktmenge. Die Würfelinstanz ist eine 24 2.4 Das multidimensionale Datenmodell Menge von Würfelzellen. Ein Würfel entsteht dann durch Instanziierungen eines multidimensionalen Schemas. Oft sind nicht alle Zellen eines Würfels besetzt. Hier gilt die traditionelle Unterscheidung zwischen nicht möglichen (logische Dünnbesetztheit), nicht bekannten und nicht eingetretenen Ereignissen (natürliche Dünnbesetztheit). Für die Speicherung nicht existenter Werte können meist die Werte NULL1 oder N/A2 verwendet werden. Abbildung 2.6 zeigt die graphische Präsentation der erläuterten Struktur ([Uni01b]). Die um den Fakt (hier: Umsatz) angeordneten Dimensionen spannen einen Raum auf, der als Datenwürfel bezeichnet wird. Die Kanten/Achsen der Würfel stellen die Dimensionen (hier: Ort, Produkt, Zeit) dar. Die Datenzellen entsprechen den Fakten (hier: Verkaufszahlen). Die Ortdimension ist in diesem Beispiel hierarchisch organisiert. Fakt (Daten-)Würfel Ort Dimensionen HB Nord Bremen HB Süd Nordwest 7 69 8 4 70 3 55 0 0 85 62 1 34 55 3 80 3 49 94 4 49 39 12 42 75 49 39 12 Zeit OL Nord Oldenburg OL West OL Ost 25.12.2001 23.12.2001 21.12.2001 Hierarchie A B C 42 75 D Produkt E Abbildung 2.6: Multidimensionaler Datenwürfel 2.4.4 Operatoren des multidimensionalen Modells Auf die statischen Strukturen des Datenwürfels sind dynamische Operationen ausführbar, die im folgendem erläutert werden. Das multi1 2 not applicable not available 25 2 Data Warehousing dimensionale Modell bietet als eine Operation die Restriktion eines Würfels, welche einen Teilwürfel selektiert. Spezialfälle der Selektion sind das slice und dice, die beide eine Betrachtung der Daten aus verschiedenen Perspektiven ermöglichen. Während das Slicing einem Schnitt durch den Datenwürfel entspricht, ist Dicing eine Würfelrotation. Wenn die Würfel das gleiche Schema besitzen, sind Operationen wie Vereinigung, Durchschnitt und Differenz zweier Würfel definierbar. Verbundoperationen auf Würfel ermöglichen es, einen neuen Fakt darzustellen oder zu berechnen [BG01]. Eine Aggregation ist eine Würfelverdichtung von einer feineren zu einer höheren Granularität mittels Aggregationsfunktion . Diese Berechnungsfunktion bildet eine Wertemenge auf einen einzelnen Wert ab. Das Ergebnis einer Aggregationsfunktion lässt sich formal durch die funktionalen Abhängigkeiten auf den Klassifikationsstufen ausdrücken. So gibt es das drill-down,das eine Verfeinerung der Hierarchieebenen bis hin zu den atomaren Werten bewirkt (Bsp. Betrachtung der Verkaufszahlen auf Regionalebene anstatt auf Landesebene). Das roll-up stellt das Gegenstück hierzu dar, also eine Vergröberung der Hierarchie. Das drill-through bietet die Möglichkeit, auch auf Daten zu reporten, die nicht im Data Warehouse selbst, sondern nur in den OLTP-Systemen gespeichert sind (Bsp. Buchungsbelege) [HK01]. Summierbarkeit bezeichnet in diesem Zusammenhang die inhaltliche Korrektheit der Anwendung einer Aggregationsfunktion auf einen Würfel. So ist es zwingend, dass Ergebnisse vergleichbar sind. Die Gruppierungsmengen müssen dafür vollständig und disjunkt sein, um Mehrfachzählungen bei der Aggregation zu vermeiden (Bsp. ein Produkt darf nicht in zwei Produktgruppen vorkommen). Ebenso müssen sich die Operatoren der Aggregationen und die Fakten vom Typ her vertragen. Fakten, die Ereignisse wie Verkäufe beschreiben, können problemlos aggregiert werden. Fakten, die einen Zustand zeigen, dürfen nicht hinsichtlich der Zeitdimension summiert werden (Bsp. Lagerbestand am Jahresende ist nicht die Summe der Lagerbestände der vergangenen Monate, sondern der vom letzten Monat). Andere Fakten, die eher Berechnungsfaktoren sind (Bsp. Preise, Steuersätze) machen eine Summierung unsinnig, da die Preissumme über alle Produkte für sich allein keine vernünftige Aussage bietet. 26 2.4 Das multidimensionale Datenmodell 2.4.5 Versionierung von Dimensionstabellen Da die Daten eines Data Warehouses für Analysezwecke gedacht sind, ist der Zeitbezug enorm wichtig. Während Fakten durch die ZeitDimension implizit eine Gültigkeit aufweisen, werden Veränderungen in den Dimensioneninhalten nicht historisiert. Bisher wurden die Werte der Dimensionstabellen als statisch angesehen. So sind in konventionellen Ansätzen die Dimensionselemente als Schnappschuss- Datenbank charakterisiert, in denen nur Informationen über gegenwärtige Zustände gespeichert sind. Da aber z.B. Mitarbeiter wechseln oder Filialen geschlossen/geöffnet werden können, ist diese Annahme nur für wenige Dimensionstypen richtig. Somit müssen auch diese Änderungen berücksichtigt werden. Indem auch alte und neue Dimensionsdaten für Analysen bereitstehen, sind zeitlich nicht zusammengehörige Fakten und Dimensionsdaten kombinierbar (vgl. [Her99]). Der Schemaevolutionsprozess startet, sobald die geänderten Anforderungen in das konzeptionelle Modell integriert werden sollen. Der Designer arbeitet z.B. mit einem Schema in einem Design-tool, das auf einer grafischen Präsentation beruht (Bsp. ME/R-Modell). Das tool ermöglicht es dem Designer, gewünschte Operationen dem Schema hinzuzufügen. Wenn dieser seine Arbeit erfolgreich beendet hat, übergibt er seine Änderungen. Das System kontrolliert dann die Integrität des resultierenden Systems und verbreitet die Änderungen des Schemas und der Instanzen zum Implementierungslevel (Bsp. durch Transformation der Evolutionsoperationen in eine SQL-Sequenz). Somit braucht der Designer keine Implementierungskenntnisse besitzen, da er nur auf konzeptioneller Ebene tätig wird. Kimball führt in diesem Zusammenhang das Konzept der ”slowly changing dimensions” ein (vgl.[Kim96]). Dieses beschäftigt sich mit den Werteänderungen der Dimensionsattribute. Kimball geht hierbei davon aus, dass sich Dimensionswerte nur sehr langsam ändern (Bsp. Produktbeschreibung). Da Daten von OLAP-Systemen immer zeitbezogen sind, muss die Entwicklung der Änderungen analysiert werden. Er unterscheidet drei Möglichkeiten, zeitlich verändernde Dimensionen zu behandeln: 1. So können Änderungen der Klassifikationshierarchie durch Überschreiben realisiert werden. Diese einfache und schnelle Anpassung der Struktur bewirkt den Verlust der ursprünglichen Klassifikationsstruktur. Damit können keine Auswertungen mit alten Hierarchien durchgeführt werden. Bei operativen Systemen 27 2 Data Warehousing ist diese Methode unproblematisch, da hier nur aktuelle Werte von Interesse sind. Für die Anwendung auf Data-WarehouseDaten ist diese jedoch nur empfehlenswert, wenn der alte Wert nicht mehr bedeutend ist (Bsp. bei fehlerhaften Werten). 2. Eine andere Möglichkeit ist ein Ansatz mit Versionsnummern. Hierdurch wird die Historisierung und eine saubere Modellierung gewährleistet. Bei einer Werteänderung wird das entsprechende Tupel mit einer neuen Versionsnummer angelegt. Das alte Tupel zeigt somit die Vergangenheit bis zum Zeitpunkt der Änderung, während das neue die vergangenen Werte nach der Änderung beschreibt. Ein Zeitstempel ist bei diesem Ansatz nicht notwendig. Vorteilhaft ist ebenso, dass so viele Änderungen wie gewünscht vermerkt werden können, da für jede Änderung ein neues Tupel angelegt wird. Die Generalisierungsanforderungen und die Tabellengrösse an sich schwächen allerdings die Vorzüge dieser Methode ab. Sobald sich ein Wert des Tupels ändert, wird dieses dupliziert, wodurch enormer Speicherplatzbedarf entsteht. 3. Eine dritte Möglichkeit ist das Anlegen eines Zustandsattributes. Hier werden für die zu historisierenden Dimensionsattribute zusätzliche Felder für den aktuell gültigen und den ursprünglichen Wert mit einbezogen. Bei einer Änderung wird der aktuell gültige Wert überschrieben, der ursprüngliche erhalten. Es gehen somit nur die Änderungen verloren, die zwischen der ersten Eingabe und der Eingabe des aktuell gültigen Wertes durchgeführt werden. Operatoren auf Schemaebene können Schemaänderungen auf der konzeptionellen multidimensionalen Ebene beschreiben. Diese lassen sich hinsichtlich Operatoren des Klassifikationsschemas und des Würfelschemas wie folgt unterscheiden: insert classification level: diese Operation erweitert das Modell um ein neues Dimensionslevel. Es erweitert die Levelmenge ohne die Klassifikationsbeziehungen zu ändern und hat keine Auswirkungen auf die Instanzen delete classification level: diese Operation löscht ein Dimensionslevel und automatisch auch die Instanzen des Modells 28 2.4 Das multidimensionale Datenmodell insert measure: hier wird ein neuer Fakt eingefügt, welche den spezifischen Dimensionen zugeordnet wird. Es werden zusätzliche Informationen für frühere Werte oder ein ausgezeichnetes Zeichen für einen neuen Fakt benötigt delete measure: diese Operation löscht ein Fakt. Dies hat keinen Einfluss auf die anderen Fakten (es sei denn, sie wurde aus dieser berechnet) und Dimensionen modify granularity: hier wird die Granularität der Dimension geändert. Die Datenanpassung muss explizit geschehen, d.h. eine Vergröberung der Daten bewirkt eine Aggregation (umgekehrt bei einer Verfeinerung) Änderungen der abzubildenden Welt werden also durch Veränderungen von Klassifikationshierarchien dargestellt. Änderungen der Hierarchie können das Ändern, das Hinzufügen oder das Löschen eines Klassifikationsknotens sein. Ein Knoten wird jedoch nur dann gelöscht, wenn dieser in allen betroffenen Datenräumen ungültig ist. Sobald sich jedoch die Klassifikationshierarchie oder das Datenschema ändert, gehen die ursprünglichen Daten verloren. Änderungen bergen also die Gefahr von Datenverlusten und Inkonsistenzen. Dies führt zu Strukturbrüchen, sodass zeitunterschiedliche Analysen nicht mehr vergleichbar sind. Bei diesen dynamischen Klassifikationshierarchien muss also eine vergangenheitsbezogene Auswertung gewährleistet werden. Das Nachvollziehbarkeitsprinzip erzwingt die Reproduzierbarkeit älterer Analysen. Für die Darstellung eines Zeitbezuges in den Dimensionstabellen sind Erweiterungen der OLAP-Architektur notwendig. So müssen im Repositorium Gültigkeiten abgelegt werden. Der OLAP-Server muss ausserdem zeitbezogene Anfragen verstehen können. Nicht zuletzt muss er bei den Informationen der Metadaten Versionsinformationen mitführen können. Unter diesen Voraussetzungen erhält ein OLAP-Server eine zeitbehaftete Anfrage und kann diese interpretieren. Ferner überprüft er, wann welche Dimensionen zu verwenden sind. Das Repositorium wird dann gefragt, welche Instanzen zu diesem Zeitpunkt gültig waren, wodurch die Anfrage an ein Data Warehouse gestellt werden kann [Her99]. 29 2 Data Warehousing 2.5 Umsetzung des multidimensionalen Datenmodells Dieses Kapitel beschäftigt sich mit der Umsetzung des multidimensionalen Datenmodells. Dabei werden im ersten Abschnitt verschiedene physische Speicherungsformen vorgestellt. Im folgendem werden im Rahmen der relationalen Speicherung das Snowflake-, Starschema sowie weitere Schemaformen erläutert. Der letzte Abschnitt dieses Kapitels thematisiert die temporale Erweiterung des multidimensionalen Modells und führt in diesem Zusammenhang die Attribut- und Tupelzeitstempelung ein. 2.5.1 Umsetzungsmöglichkeiten Eine Umsetzungsmöglichkeit des multidimensionalen Datenmodells ist dessen Abbildung auf das relationale Datenmodell des Datenbanksystems. Eine Alternative wäre die direkte multidimensionale Datenspeicherung. Beide Möglichkeiten sind in kommerziellen OLAPProdukten unterschiedlich realisiert. So gibt es einerseits das etablierte ROLAP (relationale OLAP) mit komplexen SQL-Anweisungen und das jüngere MOLAP (multidimensionale OLAP) mit einer einfacheren Anfrageformulierung. Im Vergleich zu OLAP analysiert ROLAP die Daten ohne speziellen zwischengeschalteten Server und erzielt damit schnellere Anfragen [Gre96]. Ein ROLAP-System besteht aus einem relationalem Data Warehouse mit einer OLAP-Schnittstelle. Ein MOLAP-System umfasst hingegen eine multidimensionale Datenbank mit direkt eingebauten OLAPFunktionen. Während MOLAP zwar kurze Antwortzeiten bietet, ermöglicht ROLAP zusätzlich noch gute Skalierbarkeit und stellt einen offenen Standard dar. Da MOLAP-Systeme die Datenwürfel direkt auf den Speicher abbilden, sind alle möglichen Werte darstellbar. Durch ROLAP werden die Daten in Relationen gespeichert, wodurch nur vorhandene Werte abbildbar sind (vgl.[Gre96]). Sinnvoll ergänzen können sich beide Ansätze in einer kombinierten Architektur mit einem grossen, relational implementierten Data Warehouse und davon abhängigen, kleineren multidimensionalen Systemen. Wenn Detaildaten in Relationen gespeichert werden und gewisse Verdichtungen multidimensional gehalten werden, wird das hybride OLAP (HOLAP) verwendet [Her99]. Dieses verbindet die Stärken von relationaler und multidimensionaler Realisierung. 30 2.5 Umsetzung des multidimensionalen Datenmodells Diese Ausarbeitung konzentriert sich auf die relationale Abbildung multidimensionaler Konstrukte. 2.5.2 Relationale Speicherung Das relationale Modell nutzt Relationen für die Datenorganisation und bedient sich der deskriptiven Anfragesprache SQL. Bei der Abbildung multidimensionaler Strukturen in ein relationales Datenmodell soll möglichst wenig anwendungsbezogene Semantik des multidimensionalen Modells verloren gehen. Ferner soll eine effiziente Übersetzung multidimensionaler Anfragen eine effiziente Abarbeitung der übersetzten Anfragen durch das relationale Datenbanksystem ermöglichen. Zusätzlich soll die Wartung der entstandenen Tabellen vereinfacht und beschleunigt werden (Bsp. Einfügen eines neuen Tupels). Da eigentlich jede Relation als multidimensionaler Würfel vorstellbar ist, werden bei der Würfelumsetzung einfach die Spalten der Relation als Würfeldimension betrachtet. Eine Zelle im multidimensionalem Würfel ist dann ein Tupel innerhalb der Tabelle. Wenn nur ein Teil der Tabellenspalten als Dimensionen interpretiert werden und die restlichen Spalten als Fakten angesehen werden, so ist das Konstrukt einer relationalen Tabelle (Faktentabelle) gleich einem Datenwürfel ohne Klassifikationshierarchien. Problematisch hierbei ist jedoch die mangelnde Umsetzung der multidimensionalen Semantik. Hinsichtlich der Faktentabelle ist aus der Tabelle nicht direkt ersichtlich, ob ein Attribut Fakt oder Dimension ist. Ferner ist innerhalb einer Dimensionstabelle eine Attributdifferenzierung nicht möglich. Ein Attribut, welches zum Aufbau der Klassifikationshierarchie gebraucht wird, ist von einem beschreibenden Attribut nicht zu unterscheiden. Ebenso geht der Aufbau der einzelnen Dimensionen verloren. Diese Verluste machen es notwendig, eine Metadatentabelle in das relationale System zu integrieren, die diese Informationen enthält (vgl. [BG01]). Im folgendem werden das Snowflake-und Starschema als zwei Möglichkeiten der relationalen Speicherung multidimensioneller Datenmodelle vorgestellt. 2.5.2.1 Snowflake-Schema Dieses Schema besteht aus einer Faktentabelle und mehreren Dimensionstabellen. Es ermöglicht also die direkte Darstellung von Klas- 31 2 Data Warehousing sifikationen in einer relationalen Datenbank, indem für jede Klassifikationsstufe eine eigene Tabelle angelegt wird. Diese umfasst eine ID für die Klassifikationsknoten dieser Klassifikationsstufe und die beschreibenden Attribute. Da sich zwei benachbarte Klassifikationsstufen aufeinander beziehen, enthält jede Tabelle auch Fremdschlüssel der direkt darüber liegenden Klassifikationsstufen. Die Faktentabelle verwaltet die Fakten eines Datenwürfels und enthält daher die eigentlichen Analysedaten. Diese wird nach obigen Schema aufgebaut (Spalte für Fakten und Fremdschlüssel). Die Fremdschlüsselmenge in einer Faktentabelle beschreibt genau eine Zelle des multidimensionalen Datenraums und bildet daher den Primärschlüssel der Faktentabelle. Attribute der Dimensionentabellen werden durch weitere Relationen beschrieben. Durch die funktionalen Abhängigkeiten sind die Dimensionstabellen normalisiert. Dadurch werden Redundanzen reduziert (d.h. Speicherplatz gespart) und Änderungsanomalien verhindert. Allerdings benötigt dieses Schema viele Verbundoperationen. Dieses reduziert wiederum die Effektivität des Zugangs. Zusätzlich wird durch die Komplexität das Verständnis erschwert (vgl. [BG01]). Allgemein bewirkt dieses Schema eine Einschränkung der Systemperformance. Da die grafische Darstellung einer Schneeflocke ähnelt, erhielt dieses Muster seinen Namen [HK01]. 2.5.2.2 Star-Schema Diese relationale Realisierung vermeidet das Entstehen teurer Verbundoperationen, indem die Tabellen einer Dimension zu einer einzigen Tabelle denormalisiert werden. Während die Faktentabelle weiterhin normalisiert ist, sind die Dimensionstabellen im Gegensatz zum Snowflake-Schema nun denormalisiert. Dadurch sind die funktionalen Abhängigkeiten hier unsichtbar. Strenggenommen bedeutet dieses Schema daher einen Rückschritt in der Datenmodellierung, da hier zur Minimierung der Joins die Normalisierungsregeln ausser Kraft gesetzt werden. Durch die Denormalisierung können Redundanzen in den dimensionalen Tabellen auftreten, wodurch die Gefahr von Änderungsanomalien besteht. Ferner bedeutet dies aufgrund der redundanten Speicherung auch einen hohen Speicherplatzbedarf. Ein weiterer Nachteil dieses Schemas ist, dass Änderungen in den Hierarchien viele Modifikationen in den Dimensionstabellen erfordern [Her01]. Neben diesen Schwächen bietet dieses Schemas jedoch eine einfache 32 2.5 Umsetzung des multidimensionalen Datenmodells Struktur und eine flexible Darstellung von Klassifikationshierarchien durch die Spalten. Ausserdem ermöglicht es eine effiziente Anfrageverarbeitung innerhalb der Dimensionen. Der Name dieses Modells resultiert aus der sternenförmigen Anordnung der dimensionalen Tabellen um die zentrale Faktentabelle. 2.5.2.3 Weitere Schemaformen Neben dem Snowflake- und Star-Schemata gibt es weitere relationale Umsetzungsmöglichkeiten eines multidimensionalen Datenmodells. So fordern anspruchsvolle Anwendungen viele Faktentabellen, um Dimensionstabellen zu teilen. Die Unternehmensrealität ist oft so komplex, dass die Fakten nicht von denselben Dimensionen beschrieben werden können. Aus diesem Grund gibt es als weitere Schemaform das Galaxie-Schema, welches mehrere Faktentabellen (die sich zum Teil auf dieselben Dimensionstabellen beziehen) enthält. Bei einer Mischform der vorgestellten zwei Modelle wird mittels Abwägen der Vor- und Nachteile eine Normalisierung vorgenommen oder nicht. Bei einem Fact-Constellation-Schema sind neben den Basisdaten ebenso verdichtete Daten vorhanden. Das kollabierte Sternschema als weitere Schemaform verfügt bei nur einer einzigen Dimensionentabelle für alle Faktdimensionen über zusätzliche Tabellen mit den Informationen über die Zugehörigkeit der Dimensionen und Hierarchiebildungen [Her99]. 2.5.3 Temporale Erweiterung des relationalen Datenmodells Viele der Attributwerte im Datenbestand ändern sich im Laufe der Zeit. Das Ziel temporaler Datenhaltung ist somit die Fähigkeit, alle jemals aufgetretenen Objekte mit ihren jeweilig gültigen Merkmalen und Beziehungen festzuhalten sowie abfragen zu können. Dafür wird die Zeitbindung der Daten explizit als Zeitstempel festgehalten und für sich ändernde Objekte Objektversionen gespeichert. Zeitstempel umfassen eine Datumsangabe und eine optionale Zeitangabe. Sie werden zeitabhängigen Attributen in der Datenbank zugeordnet, um die zeitliche Bindung ihrer Werte festzulegen. Ein Zeitstempel ist also eine Teilmenge der Zeit, über die ein Objekt definiert ist. Dieser kann entweder ein Ereignis definieren (also einen Zeitpunkt auf der entsprechenden Zeitachse), ein Zeitintervall (die Zeit zwischen 33 2 Data Warehousing zwei Ereignissen) oder ein zeitliches Element, d.h. eine nicht unendliche Menge von Zeitintervallen, die nicht zwingend zusammenhängen müssen. Das relationalen Modell bietet eine mögliche Unterscheidung zwischen benutzerdefinierter Zeit (engl. user-defined-time): Darstellung eines Attributs mit Merkmalen der Zeit. Diese vom Benutzer festgelegten Attribute ähneln den gewöhnlichen zeitunabhängigen Attributen und sind daher für die temporäre Betrachtung irrelevant (Bsp. Geburtsdatum), Gültigkeitszeit (engl. valid time): Darstellung des Zeitraumes, in dem das Objekt den abgebildeten Zustand zeigt. Möglichkeit der Beschreibung von Zeitpunkten, wann die Änderungen eingetreten sind. Fehlerhafte Werte werden überschrieben und Transaktionszeit (engl. transaction time): Zeitpunkt der Dokumentation der Änderungen. Fehlerhafte Werte bleiben mit der jeweiligen Transaktionszeit erhalten. Sie werden in die Datenbank eingetragen. Zu unterscheiden sind die Erstellungsund Abfragezeit einer Relation. Erstere zeigt den Zeitpunkt der Transaktionszeit, an dem die Relation erstellt wurde. Die Abfragezeit gibt den Zeitpunkt an, an dem eine Anfrage formuliert wird. Dieser findet immer zur gegenwärtigen Zeit statt und kann nie in der Zukunft liegen. Der Grund dafür liegt in der Tatsache, dass die Transaktionszeit von der Systemuhr anstatt von den Benutzern mit Werten versorgt wird. Sobald eine Objektversion eingegeben wird, wird der Anfangszeitpunkt mit der Systemzeit gleichgesetzt. Der Endzeitpunkt stellt den Löschzeitpunkt des Objektes dar. Da dieser aber unmöglich ist, wird der Endzeitpunkt beim Einfügen einer neuen Objektversion gesetzt (vgl. [S0̈0]). Gültigkeitszeitpunkt und Transaktionszeit sind unabhängig voneinander, da die Gültigkeit nichts mit der Erfassung in der Datenbank zu tun hat. Sie unterscheiden sich hinsichtlich ihrer Bedeutung. Temporale Datenbanken sind Datenbanken, die i.d.R. auf Gültigkeits- oder Transaktionszeit basieren. Wenn nur die Gültigkeitszeit unterstützt wird, wird von einer historischer Datenbank gesprochen. Ist nur die Transaktionszeit gewährleistet, liegt eine rollback-Datenbank vor. Werden beide Zeiten genutzt, handelt es dich um bitempo- 34 2.5 Umsetzung des multidimensionalen Datenmodells rale Datenbanken. Diese gewährleisten eine Betrachtung der Entwicklung der Gültigkeitszeit bestimmter Daten von beliebigen Zeitpunkten aus. Damit ermöglichen sie die Erfassung der gesamten Geschichte der Datenbank. Die Transaktionszeit ist hier immer ein Intervall und kein Zeitpunkt (vgl. [S0̈0]). Das bekannteste bitemporale Datenmodell ist das vom TSQL2 Language Design Commitee entwickelte bitemporal conceptual data model (BCDM). Hier sind verschiedene temporäre Änderungsoperationen möglich, um Gültigkeitszeiten zu verändern: das temporäre Einfügen, Ändern und Löschen. Die verbreitesten Abfragesprachen temporärer Datenbanken sind derzeit TSQL2 und SQL/Temporal (vgl. [Uni01a]). Zur temporalen Erweiterung des relationalen Modells gibt es zwei Ansätze: die Attribut- und Tupel-Zeitstempelung (vgl. [S0̈0]). Die tupelorientierte Zeitstempelung ist die leichteste und etablierteste Form, Zeitstempel in das relationale Modell zu integrieren. Zeitstempel werden als Attribut mit einem einzigen Wert in das Tupel eingefügt. Das Zeitintervall stellt sich durch ein Attribut für den Anfangs- und eins für den Endzeitpunkt dar. Es werden bei dieser Methode die unterstützten Zeitdimensionen abgegrenzt: Die Gültigkeitszeit umfasst den Anfangs- und Endzeitpunkt des Gültigkeitsintervalls. Die Transaktionszeit beinhaltet analog den Anfangs- und Endzeitpunkt des Transaktionsintervalls. In einer Relation werden die zeitlichen Änderungen also durch die Auflistung der Attribute sowie der genannten Zeitpunkte dargestellt. Damit die Eindeutigkeit gesichert ist, muss der Primärschlüssel einen Zeitstempel erhalten. Dieser identifiziert die Objektversion. Um einen identifizierenden Zugriff zu erreichen, muss eine intervallbezogene Überprüfung stattfinden. Die Tupel-Zeitstempelung bewirkt einen Anstieg des Datenvolumens, da auch nur bei Änderung eines Attributwertes ein Datensatz komplett verdoppelt wird. Allerdings ist ihre Implementierung einfach, da atomare Werte vorliegen. Bei der Attribut-Zeitstempelung erfolgt die Implementierung der Zeitstempel auf Attributebene. Bei zeitunabhängigen Attributen bleiben die Attributwerte im Laufe der Zeit konstant, bei zeitabhängigen Attributen sind die Attribute änderbar. Daher wird zu jedem zeitabhängigen Attribut dessen Gültigkeitsanfangs- und -endzeitpunkt gespeichert. Hinsichtlich der Transaktionszeit werden sowohl die zeitabhängigen als auch die zeitunabhängigen Attribute um einen Zeitstempel erweitert. Werteänderungen werden im jeweiligen Attributfeld innerhalb des Tupels verdeutlicht. Ziel ist also bei dieser Me- 35 2 Data Warehousing thode, Redundanzen zu vermeiden, indem sich eine zeitliche Attributveränderung nur eine Änderung innerhalb des Attributs bewirkt. Dies verhindert das Verdoppeln von Datensätzen. Da alle Objektversionen in einem Tupel dargestellt werden, genügen die Tupel nicht der ersten Normalform. Dies erschwert die Implementierung in kommerziellen Datenbanksystemen. Als Vorteile sind hier aber die flexible Modellierung und die einfache Anpassung auf unterschiedliche Anforderungen zu nennen. Das Datenvolumen wächst nicht so stark wie bei der Tupel-Zeitstempelung, allerdings wird die Komplexität hinsichtlich Modellierung und Realisierung erhöht. 2.6 Fazit Diese Ausarbeitung hat sich mit den Möglichkeiten eines Data Warehousing auseinandergesetzt. Ein Data Warehouse ist eine Zusammenfassung aller Methoden, mit denen die Unternehmensdaten aus verschiedenen Quellen zusammengeführt werden. Dieser Verbund umfasst alte wie auch aktuelle Daten. Es bietet damit eine zeitabhängige Sicht auf integrierte und bereinigte Daten. Ein Data Warehouse organisiert Daten für Unternehmensanalysen wie z.B. hinsichtlich Sortimentgestaltung oder Kundenzufriedenheit. Eine wichtige Aufgabe für den effizienten Einsatz eines Data Warehouse-Systems ist es, den Datenbestand laufend zu aktualisieren. Ferner müssen die Daten in der richtigen Detailtiefe und im richtigen Kontext vorliegen. Die vorgestellte Referenzarchitektur eines Data Warehouse Systems hat die einzelnen Phasen und Komponenten eines Data Warehouse Systems verdeutlicht. Die Aufteilung in Komponenten erleichtert die Wartung und den Systemaufbau. Ferner bewirkt sie eine übersichtlichere und ”einfachere” Implementierung. Ein Data Warehouse ermöglicht ferner durch das Konzept der Data Marts eine sinnvolle Aufteilung des Datenbestandes. Auf der konzeptionellen Ebene ist als Basis eines Data Warehouse das multidimensionale Datenmodell erläutert worden. Dieses wird sowohl bei der Modellierung als auch bei dem Prozess der Datenanalyse genutzt. Das Modell verwendet die Datenunterteilung in Fakten und Dimensionen, die in ihrer Kombination einen Würfel bilden. Dimensionshierarchien schaffen einen Verdichtungsgrad, der sich an dem jeweiligen Analyseziel orientiert. Für die physische Umsetzung des multidimensionalen Datenmodells 36 2.6 Fazit wurden Realisierungsmöglichkeiten vorgestellt. Die direkte Verwendung in einem multidimensionalen Datenbanksystem stellt eine Variante dar. Dieses System konnte noch keine Standardisierung des multidimensionalen Modells sowie einer Anfragesprache erreichen. Auf die Möglichkeit einer Abbildung des multidimensionalen Modells auf ein relationales Datenbanksystem wurde verstärkt eingegangen. Hier werden die Würfeldimensionen als Spalten der Relation betrachtet. Die Schwierigkeit liegt hier in der Transformation und Konvertierung der multidimensionalen Strukturen. Zusätzlich birgt die Übersetzung bei der Anfrageverarbeitung die Gefahr des Semantikverlustes durch die Konvertierung. 2.6.1 Beurteilung und Ausblick Laut Mantel [M0101] liefert ein gutes Data Warehouse die richtigen Daten an die richtigen Personen mit den richtigen Kosten zur richtigen Zeit, um die richtigen Entscheidungen zu treffen. OLAP ermöglicht es hierbei, Informationen ”just-in-time” zu besorgen und ”just-in-time-Entscheidungen” treffen zu können (vgl. [Bre01]). Dem Data Warehouse-Markt wird ein hohes Wachstumspotential prophezeit. Viele Betriebe (v.a. service- und kundenorientierte Unternehmen) sehen Data Warehouses als die Marketingwaffe an. Kunden werden gehalten, indem der Anbieter mehr über ihre individuellen Wünsche lernt und dieses Wissen gezielt einsetzt. Das Internet ist dabei zum Standard der Informationsverteilung geworden (vgl. [M0101]). Wenn über das Internet Waren bestellt werden, können die Anbieter die Daten dieser Transaktion aufzeichnen und dann analysieren. Hinsichtlich unseres Projektes ”Personalisierung internetbasierter Handelsszenarien” ist der Einsatz eines Data Warehouse interessant, da ebenfalls grosse Datenmengen aus vielen verschiedenen Datenquellen (operative Systeme der Online/Offline-Händler sowie Anbieter) verarbeitet werden. Für eine umfassende Realisierung des Szenarios werden neben Kunden-, Artikel- und Verkaufsdaten auch Daten über Filialen, Mitarbeiter und Zahlungsmodalitäten etc. gespeichert. Diese grosse Datenmenge muss vom Anbieter oder Händler integriert und ggf. aggregiert werden. Da eine Betrachtung temporaler Daten für die Erstellung eines personaliserten Angebotes wichtig ist, sollen bei unserem Projekt historisierte Daten verarbeitet werden. OLTPAnwendungen sind somit nicht geeignet. Ein einheitliches Kundenbild 37 2 Data Warehousing und strategisches Direktmarketing sind gefragt. Der Fokus liegt eindeutig auf der Informationslieferung (z.B. Erstellung von Kundenprofilen) und nicht auf der Dateneingabe. OLAP-Anwendungen werden benutzt, um Kunden aus unterschiedlichen Perspektiven zu betrachten. Da in unserem Projekt in einer relationalen Umgebung gearbeitet wird, bietet sich ROLAP an. Hinsichtlich der Ansprüche einer Betrachtung temporaler Daten kann dieses relationale Datenmodell durch die Attribut- oder Tupelzeitstempelung erweitert werden. So wird es uns möglich, z.B. Kunden oder Artikel mit ihren sich im Laufe der Zeit ändernden Eigenschaften (Bsp. Kundenadresse, Preis) zu speichern. Bei Analysen können diese Veränderungen dann mitverarbeitet werden, um z.B. die Preissensibilität eines Kundens zu bestimmen und dementsprechend mit Angeboten reagieren zu können. Ebenso besteht die Möglichkeit, bei der Datenanalyse mit Daten zu arbeiten, die nicht mehr oder noch nicht gültig sind. Data mining ist für das Erkennen von versteckten Daten für unserer Projekt ebenfalls erwünscht (Bsp. Warum kaufen Kunden nun 20% weniger?). Es stellt den wichtigsten Teilschritt des KDD ( Knowledge Discovery in Databases)-Prozesses dar. Dieser bezeichnet den ”nichttrivialen Prozess der Identifikation valider, neuartiger, potentiell nützlicher und klar verständlicher Muster in Daten” [FPSS96a]. Aus der aufbereiteten Datenbasis eines Data Warehouse können Informationen abgeleitet werden, die dem Händler neue Einsichten zu erfolgsversprechenden Aktionen liefern. Ferner ermöglicht das Konzept der Data Marts unserer Projektarbeit eine sinnvolle Verteilung des Datenbestandes auf Anbieter und Händler. So benötigt der Anbieter für die Erstellung der Analyseergebnisse nicht sämtliche Daten des Händlers (Bsp. Strasse der Filiale). Allgemein liefert ein Data Warehouse in diesem Zusammenhang Antworten auf: Wie verhalten sich meine Kunden? Wie stehe ich im Partnerverbund? Wie läuft mein Programm? Welche Kundensegmente kann ich bilden? 38 3 Datenanalyse Allgemein Michael Onken Diese Ausarbeitung betrachtet das Feld der Allgemeinen Datenanalyse, deren Verfahren sich aus verschiedenen wissenschaftlichen Disziplinen zusammensetzen und mit deren Hilfe verstecktes Wissen aus (großen) Datenbeständen gewonnen werden soll. Hierzu wird im folgenden der Bereich der Datenanalyse abgesteckt und Analyseverfahren aus Statistik, Künstlichen Neuronalen Netzen sowie OLAP näher beleuchtet. Ziel ist es, die Werkzeuge kennenzulernen, die nach Stand der Wissenschaft augenblicklich zur Verfügung stehen. 39 3 Datenanalyse Allgemein 3.1 Einleitung Im Rahmen der Projektgruppe “Personalisierte, internetbasierte Handelsszenarien” soll die Rolle eines sogenannten Cardproviders eingenommen werden, wie er zur Zeit beispielsweise in Gestalt von Payback existiert. Dieser versucht aufgrund von Kundendaten wie den Einkäufen (Ort, Zeit, Produkt, ...) sowie Produktpaletten, die ihm vom Händler zur Verfügung gestellt werden, Analysen zu erstellen. Diese werden wiederum an den Händler verkauft, der sowohl daraus als auch aus eigenen Analyseergebnissen ein personalisiertes Angebot für den Kunden entwickelt. Dieses kann zum Beispiel durch eine personalisierte Internetseite (Beispiel Amazon) oder durch BriefWerbesendungen (Beispiel Quelle-Versand) geschehen. Grundlage dieser Individualisierung ist es, ein möglichst genaues Kundenprofil aus gesammelten Daten zu erstellen. Dies geschieht in großem Umfang durch computergestützte Analyse der häufig in Data-Warehouses zusammengefassten Datensätze. Ziel dieser Seminarausarbeitung ist es, einen Überblick über gängige Methoden in der “Allgemeinen Datenanalyse” zu geben, die für oben beschriebene Untersuchungen relevant sein können. Zum großen Teil handelt es sich hierbei um Verfahren aus dem Umfeld des Data Mining (DM) und des Knowledge Discovery in Databases (KDD). 3.2 Datenanalyse: Einordnung und Überblick 3.2.1 Data Mining und Datenanalyse in der Evolution der Datenbanksysteme Die Datenanalyse im Sinne des KDD läßt sich als evolutionärer Schritt in der Informations-system-Entwicklung auffassen[HK01]. Anfangs beschränkten sich Datenbankaktivitäten hauptsächlich auf Datensammlung und Datenerstellung. Als Speichersystem dienten hierbei vorrangig einfache Dateisysteme und Dateien. In den 70er Jahren veränderte sich diese Landschaft; die Datenmengen wurden immer größer und die zu speichernden Daten komplexer. Hieraus und aus einer mit der Zeit stetig gestiegenen verfügbaren Rechenleistung erwuchsen die ersten “echten” Datenbanken mit ihren - gegenüber einfachen Dateisystem-Varianten - wesentlich effizienteren Zugriffsmethoden und Fähigkeiten. Relationale Datenbanken sowie SQL entwickelten sich und gewinnen in vielen Bereichen die Oberhand über 40 3.2 Datenanalyse: Einordnung und Überblick die frühen Hierarchie- oder Netzwerkmodelle. Begriffe und Technologien wie Transaktionen und Entitätsmodelle erblickten das Licht der Welt. Diese Evolution mündete in den späten 80er Jahren u.a. im Data-Warehousing, das die Möglichkeit bietet, große verschiedene Datenbestände bspw. unternehmensweite Daten in eine große Datenbank zu integrieren, das Data-Warehouse. Hiermit steht nun die Möglichkeit offen, auf diesen gesammelten Daten Analysen durchzuführen. Hier zu nennende Technologien sind das On Line Analytical Processing sowie das Data Mining, das sich einer Vielzahl verschiedenster Methoden bedient und sich dabei wissenschaftlich interdisziplinärer Teilgebiete bedient. Ohne diese Verfahren wäre man in einer “data rich, but information-poor” Situation, d.h. die gesammelten riesigen Datenmengen entzögen sich zum großen Teil der menschlichen Analysefähigkeit, die nicht unbedingt für solche große Kapazitäten und multidimensionalen Zusammenhänge geschaffen ist. Wir erleben also zu dieser Zeit, daß für große Datenbanksysteme anscheinend Analysesysteme immer unabkömmlicher werden und inzwischen Software verschiedener Anbieter zu Verfügung steht, die sich auf diese Aufgabe spezialisiert hat. 3.2.2 Übersicht über die Allgemeine Datenanalyse Abbildung 3.1: Übersicht Datenanalyse [KW00] In der Allgemeinen Datenanalyse lassen sich zwei grobe Richtungen 41 3 Datenanalyse Allgemein ausmachen. Zum einen existieren die “Klassischen Verfahren”, die oftmals auf bereits bewährte Methoden zurückgreifen. Diese stellen Möglichkeiten bereit, Hypothesen zu verifizieren, d.h. der Analyst gibt dem System eine Vermutung vor und das Analsysystem kann überprüfen, inwiefern diese zutrifft. Ein solcher Ansatz ist aufgrund der vorher zu konstituierenden Vermutung immer nutzergeführt und man versteht ihn auch als Hypothesengetriebene Datenanalyse oder auch Top-Down-Ansatz. Im Gegenzug hierzu sind die Data Mining Verfahren zu sehen (BottomUp); sie versuchen selbständig aus einer Datenmenge Muster zu erkennen, sind also nicht darauf angewiesen, daß ein Nutzer Hypothesen vorgibt. Es gibt jedoch durchaus Verfahren, in dem der Analyst dem System bei dieser Suche helfen kann (siehe z.B. OLAP). Insofern läßt sich der nutzergeführte Prozess immer als überwachtes Verfahren bezeichnen, während autonome Data Mining Verfahren auch unüberwacht arbeiten können. Diese Verfahren dienen also der Entdeckung (Discovery) von Mustern im Vergleich zu den verifizierenden Klassischen Verfahren. Im großen und ganzen gibt es zwei Einsatzgebiete, in denen Datenanalyseverfahren zum Einsatz kommen können. [FPSS96c] In der Science Data Analysis geht es um wissenschaftliche Aufgabenstellungen, beispielsweise der Analyse von Strömungsund Wetterdaten, um Erkenntnisse über den Klimawandel zu erlangen. Im Bereich Industrial Application handelt es sich dagegen um den Einsatz in der Industrie bzw. im Unternehmen, hier werden zum Beispiel Warenkorbanaylsen durchgeführt, um das Kaufverhalten zu analysieren. Einen großen Boom erleben zur Zeit auch sogenannte CRMS (Customer Relationship Management Systems), die es erlauben sollen, Kundenkontakte hinsichtlich Medium, Zeitpunkt etc. zu optimieren. Voraussetzung für den Einsatz in diesen Gebieten ist jedoch immer, daß von der Menge her ausreichende, sowie alle notwendigen Daten vorhanden sind und diese auch für das Analysesystem aufbereitet und somit problemlos zugreifbar sind. Dazu gehört auch eine vorhergende Datenbereinigung, um fehlende oder fehlerhafte Daten möglichst aus der Untersuchung auszuschließen. Im Allgemeinen hat sich gezeigt, daß in vielen Fällen zeitbasierte Daten ein größeres Potential bieten. 42 3.2 Datenanalyse: Einordnung und Überblick Sind nun alle diese Bedingungen erfüllt, kann eine solche Analyse sehr viel Zeit beanspruchen. Diese läßt sich durch geschickte Auswahl oder Variation des Algorithmus oder auch in besonderem Maße durch Vorwissen im jeweiligen Anwendungsgebiet (Domain) verkürzen. 3.2.3 Data Mining als Teil des KDD-Prozesses Wie wir festgestellt haben in 3.2.1 hat sich die Datenanalyse zu einem wichtigen Instrument in der Datenbankwelt entwickelt. Dieses Feld der Analyse und des “Verstehens” der Daten widmet sich eine Disziplin, die aus diesem Umfeld hervorgegangen ist, das sogenannte Knowledge Discovery in Databases (KDD). Die bekannteste und oft zitierte Definition stammt von Fayadd [FPSS96c] und soll hier wiedergegeben werden: “KDD is the non-trivial process of identifying valid, novel, potentially useful, and ultimatively understandable patterns in data” Als Data Mining läßt sich nun der (möglichst automatisierte) Teil (Abbildung 3.2) des KDD-Prozesses verstehen, der Datenanalyseverfahren und Algorithmen auf die Daten anwendet, um diese Muster in den Daten zu entdecken. Dieser Vorgang sollte dabei effizient sein und vom Berechnungsaufwand her akzeptabel. 3.2.4 Gegenstand, Ziel und Methoden der Data Mining Verfahren Typisch für Data Minig Verfahren ist es, daß sie auf großen strukturierten Datenbeständen arbeiten, die aus numerischen, ordinal- oder nominalskalierten Variablen zusammengesetzt sind. Diese an die Daten gestellten Voraussetzungen können bspw. durch ein Data Warehouse erfüllt werden, das häufig für Data Mining genutzt wird, jedoch nicht essentielle Grundlage dafür ist. Forschungsziel der Datenmustererkennung (deutsch für Data Mining) ist es nun, allgemein verwendbare, effiziente Methoden zu finden, die autonom aus großen Datenmengen die bedeutsamen und aussagekräftigsten Muster identifizieren und sie dem Anwender als interessantes Wissen präsentieren (vgl. [Küs01a]). Die hierbei eingesetzten Verfahren in den Analysealgorithmen stammen aus einer Vielzahl wissenschaftlicher Disziplinen und sind zu 43 3 Datenanalyse Allgemein Abbildung 3.2: Übersicht KDD vgl. [FPSS96c] großen Teilen nicht neu für Data Mining Aufgaben entwickelt worden. Aufzuzählen sind hier Methoden aus den Bereichen: multivariate Statistik Mustererkennung Künstliche Intelligenz und Machine Learning Datenbank-Theorie und Praxis Computerlinguistik und Information Retrieval Computergraphik Auch wenn die angewandten Methoden nicht immer neu sind, so werden sie oft um Data Mining typische Fähigkeiten ergänzt. So ist es unerläßlich, daß sie mit großen Datenmengen umgehen können, das heißt die Forschung auf diesem Gebiet beschränkt sich keineswegs darauf, aus anderen Wissenschaften zu kopieren. Mit diesen Methoden lassen sich nun verschiedene Analysen durchführen mit jeweils unterschiedlichen Zielen: 44 3.2 Datenanalyse: Einordnung und Überblick Klassifizierung: Das System versucht, Datenobjekte in vorher festgelegte Gruppen einzuteilen. Clustern: Im Unterschied zur Klassifizierung sind hier die Gruppen und insbesondere oft auch ihre Anzahl noch nicht bekannt, in die die Datenobjekte eingeteilt werden sollen. Das Analysesystem soll eigenständig diese sogenannten Cluster finden; ähnliche Objekte im selben Cluster (möglichst homogenes Cluster) und die Cluster selbst untereinander möglichst verschieden (heterogen). Zusammenfassen: Hier wird versucht, Gemeinsamkeiten zwischen Daten erkennen und Regeln zu finden, die diese beschreiben können. Assoziationsanalyse: Diese Disziplin untersucht die Daten auf Abhängigkeiten untereinander. Als Standardbeispiel kann hier die Warenkorbanalyse gelten, aus der man beispielsweise Wissen gewinnen kann, welche Produkte häufig miteinander verkauft werden (z.B. Brot und Butter). Abweichungserkennung: Aufgabe der auch Deviation-Analsysis ist es, Auffälligkeiten in Datenmengen zu finden, die nicht in das Normmodell passen, das entweder vom Analysten vorgegeben oder aus den anderen Datenobjekten berechnet wurde. Insgesamt lassen sich zwei große Ziele ausmachen, wenn das Data Mining System autonom die Datenbestände nach verwertbaren Mustern durchsucht (Discovery). Einmal spielt die Beschreibung von Daten (Description) hier eine Rolle, die im Datenbestand enthaltene Beziehungen finden soll. Solch große Datensammlungen, die oftmals für die Analysen genutzt werden, bestehen häufig nicht nur aus Daten, die nur einen bestimmten Zeitpunkt beschreiben, sondern aus historisierten Zeitreihen, die die Entwicklung eines Datenbestandes wiederspiegeln können. Auch aus dieser Beobachtung heraus, erwächst die zweite Aufgabe: Das System versucht aus den bekannten Daten eine Vorhersage über das zukünftige Verhalten von Datenobjekten zu erschließen (Prediction). 45 3 Datenanalyse Allgemein 3.2.5 Datenanalyse-Algorithmen Die in der Datenanalyse verwandten Algorithmen können sehr verschieden sein; das rührt schon alleine aus der Diversität ihrer wisschenschaftlichen Disziplinen und ihren verschiedenen Zielen her. Hier wird der Versuch unternommen, trotzdem ein allgemeines Schema zu finden, in das diese Analysealgorithmen eingepaßt werden können. Fayyad [FPSS96c] beschreibt hier einen möglichen Ansatz: 1. Modellrepräsentation Diese gibt sozusagen den Rahmen vor, in der überhaupt zu findende Muster gesucht werden. Sie spannt bildlich gesprochen den Suchraum auf. Damit richtet sie sich natürlich stark nach den Zielen des KDD / DM Prozesses, da verschiedene Ziele, genannt seien hier Klassifikation oder Regression, selbstverständlich verschiedene Modellrepräsenationen benötigen 2. Modellbewertungskriterien Das Modellbewertungskriterium bezeichnet eine Art “FitFunction” , die bewerten soll, wie genau ein gefundenes Muster den gesteckten Zielen des KDD / DM Prozesses entspricht. 3. Suchmethode Diese kann als Schleife aufgefaßt werden: Loop Modelsearch (hier werden alle sinnvollen Modellrepräsentationen durchlaufen) Loop Parametersearch suche Parameter, die die Modellbewertungskriterien möglichst optimal erfüllen if Muster interessanter als Schwellenwert then Muster merken EndLoop Parametersearch EndLoop Modelsearch 46 3.3 Statistik Punkt 3 stellt die Arbeitsweise des Algorithmus dar. Zuerst wird eine Modellrepräsentation ausgewählt. Innerhalb dieser versucht der Algorithmus Parameter zu finden, die das Modell bestmöglich erfüllen, d.h. Muster zu finden, die besonders gut denen entsprechen, die der Analyst sucht. Liegen diese über einem bestimmten “Interessantheitsgrad”, speichert er das Muster als gefunden. Ist das aktuelle Modell ausgereizt, also alle zu erwägenden Parametervariationen durchgespielt, schreitet der Algorithmus mit der nächsten Modellrepräsentation fort. Wie man aus diesem Schema erahnen kann, durchläuft der Algorithmus die äußere und besonders die innere Schleife unzählige Male, wobei die Bewertung, wie gut ein Muster ist auch rechenintensiv sein kann (beispielsweise ein Clusteralgorithmus). Insofern ist es notwendig, diesen möglichst effizient zu implementieren und den richtigen Algorithmus auszuwählen. Beides zusammen, insbesondere zweites, stellt sich in der Praxis mitunter als keine einfache Aufgabe heraus. 3.3 Statistik Der Zusammenhang zwischen Statistik und Data Mining läßt sich sehr einfach ausmachen.(vgl. [Küs01a, Küs01b]) Die Statistik beschäftigt sich von jeher mit großen Mengen von Daten, die mitunter eine hohe Dimensionalität besitzen. Das prädestiniert sie geradezu auch für den Einsatz im Data Mining Umfeld, wo man es mit einer offensichtlich ähnlichen Problematik zu tun hat. In den statistischen Verfahren läßt sich eine unscharfe Trennung zwischen zwei Teilgebieten vornehmen; die dem Data Mining auf den ersten Blick eher verwandte explorative (erforschende) Statistik, mit deren Hilfe man versucht, unbekannte Muster in den Daten zu finden. Dies entspricht genau dem Ziel, das wir mit Data Mining Verfahren zu erreichen hoffen. Zum anderen beschäftigt sich die konfirmatorische Statistik “nur” mit der Bestätigung (Konfirmation) vorgegebener Hyptothesen. Es handelt sich jedoch um einen Trugschluß, diesem Teilgebiet im DM-Umfeld keine Bedeutung beizumessen. Möchte man beispielsweise Ausreißeroder Abweichungsanalyse betreiben, ist es notwendig mit konfirmatorischen Verfahren vorher ein Normmodell festzulegen (kalibrieren), damit diese überhaupt als solche erkannt werden können. Die Fülle der Aufgaben, die mit multivariaten Methoden gelöst werden können, liest sich nahezu wie die Aufgabenstellungen des Data 47 3 Datenanalyse Allgemein Mining: Clustern Klassifizierung Prognoseverfahren Regression (Erklärung) Ziel dieses Kapitels wird es sein, einen Überblick über Standardmethoden der Statistik zu gewinnen. 3.3.1 Kennzahlen und Visualisierungsverfahren 3.3.1.1 Kennzahlen Die explorative Statistik wird häufig für die Initial Data Analysis (IDA) verwandt, die einen Überblick über die Verteilung sowie die Zusammenhangsstruktur der Variablen geben soll. Dazu gehört unter anderem, wichtige Kennzahlen zu ermitteln, die eine erste Charakterisierung der Daten erlauben sollen. Hier wichtig und häufig verwandt sind u.a. der Median, oberes und unteres Quantil, sowie die Varianz. Arithmetisches Mittel: Das j im Index bedeutet, daß es sich um die j-te Variable handelt. n xj = 1X xi,j n i=1 Median : x0.5,j = ½ x(n+1)/2,j ¡ ¢ n ungerade 1 x + x n gerade (n/2),j (n/2)+1,j 2 Bei xn,j handelt es sich um die j-te Variable, die betrachtet wird und um Stichprobe Nummer n. Hierbei ist zu beachten, daß die Stichproben in sortierter Reihenfolge vorliegen, also xm,j <= xm+1,j Der Median ist der Wert, der die Verteilung einer Variablen in zwei Hälften unterteilt. Zum Beispiel betrug der Median des 48 3.3 Statistik Pro-Kopf-Einkommen der Bundesrepublik Deutschland im Jahre 1993 DM 2.184, d.h. eine Hälfte der Bundesbürger verdiente weniger als diesen Betrag, die andere Hälfte mehr. Den Median bezeichnet man auch als Zentralwert. Oberes Quantil (x0.25,j ) und unteres Quantil (x0.75,j ): Die beiden Quantile werden analog zum Median berechnet; im Unterschied dazu schneiden sie die Variablenverteilung am unteren Viertel und oberen Viertel ab. Interquartilsabstand: x0.25,j − x0.75,j Varianz: n s2j = 1 X (xi,j − xj )2 n−1 i=1 Im folgenden sollen kurz Visualisierungsmöglichkeiten gezeigt werden, die u.a. diese Kennzahlen graphisch aufbereiten. 3.3.1.2 Box-and-Whisker-Plots Abgebildet ist hier ein Box-and-Whisker-Plot, dessen Ausprägung der zu untersuchenden Variable von 0 bist 10 reicht. Diese ist an der Y-Achse aufgetragen. Zentral zu erkennen ist ein Kasten (deshalb “Box”), dessen obere und untere Linie durch die beiden Quantile (siehe 3.3.1.1) festgelegt sind. Das arithmetische Mittel wird als Kreuz in der Box eingetragen, der Median wiederum als Linie. Der obere Strich (etwa bei der 8 auf der Skala) stellt den Wert dar, der unterhalb des 1,5fachen Interquartilsabstands vom oberen Quantil entfernt liegt. Der untere Strich wird analog berechnet. Außerhalb dieser beiden Begrenzungslinien werden die Stichproben, die noch weiter “außen” liegen, durch Kreise eingezeichnet. Das hat im Vergleich zu den klassischen sog. Box-Plots, deren obere und untere Linie die Maximalwerte darstellen, den Vorteil, daß Ausreißer besser zu erkennen sind. In den Box-and-Whisker-Plots bezeichnet der Bereich zwischen den äußeren Linien den namensgebenden “Whisker”. 3.3.1.3 Steam-and-Leaf-Plots Hier werden alle Stichproben verschiedenen Stämmen zugeordnet. Die Wurzeln der Stämme (vertikal gesehen einfach die verschiedenen 49 3 Datenanalyse Allgemein Abbildung 3.3: Box-and-Whisker-Plot [Küs01b] Abbildung 3.4: Steam-and-Leaf-Plot [Küs01b] Reihen) entsprechen hierbei der Skalenausprägung der betrachteten Variable. Im Beispiel liegt also eine Ausprägung von 0 bis 10 vor. Jede Stichprobe wird nun anhand ihrer Vorkommastelle einfach dem 50 3.3 Statistik entsprechenden Stamm zugeordnet und ihre erste Nachkommastelle als Wert dahinter eingetragen. Beispielsweise sind am 4er-Stamm möglicherweise die Stichproben mit 4,09 und danach 4,25 eingetragen worden. Sowohl Box-and-Whisker Plots als auch Steam-and-Leaf Plots bieten einen schnellen Überblick über die Verteilung der Variablen und mögliche Ausreißer. Allerdings werden sie bei großen Stichproben eher unübersichtlich, besonders Steam-and-Leaf-Plots verwandeln sich in endlose Zahlenreihen, während bei den Plots besonders die Ausreißer unlesbar werden. 3.3.1.4 Histogramme Abbildung 3.5: Histogramm [Küs01b] Auch hier versucht man, die Verteilung der Variablen graphisch aufzubereiten. Die X-Achse wird unterteilt in eine Skala, die der Variablenausprägung entspricht. Allerdings werden hier Intervalle festgelegt, das heißt ein Variablenwert wird nicht “genau” eingetragen, sondern nur dem entsprechenden Intervall auf der X-Achse zugeordnet. In der Skizze betrachtet man also Variablenwerte von 0 bis 12, 51 3 Datenanalyse Allgemein die in Intervalle der Länge 1 geteilt werden. Zwei Variablen mit den Werten 0,3 und 0,7 findet man also beide im Intervall [0;1]. Zusätzlich wird der genaue Wert einer Variablen immer als kleiner schwarzer Strich im unteren Bereich der X-Achse eingetragen. Auf der Y-Achse ist nun die absolute Häufigkeit eingetragen, in der die Variablenausprägung in diesen Intervallen liegt. In der Skizze liegen also etwa 27 Stichproben im Bereich des Intervalls [0;1]. Eine Variante des Histogramms erlaubt auch statt der absoluten die prozentuale Häufigkeit auf der Y-Achse aufzutragen. Demnach ergäbe in dieser Form die Fläche der eingetragenen Säulen immer genau 100, immer vorausgesetzt natürlich, jede Stichprobe wird nur einmal eingetragen. 3.3.1.5 Scatterplots Abbildung 3.6: Scatterplot [Küs01b] Bei den Scatterplots versucht man, multidimensionale Zusammenhänge herunterzubrechen auf zweidimensionale. So läßt sich relativ 52 3.3 Statistik gut das Verhältnis von 2 Variablen zueinander überblicken. In der Beispielskizze sind die Angaben in Prozent angegeben, also muß vor dem Zeichnen noch die Variablenausprägungen überprüft werden, um prozentuale Werte aufstellen zu können. Es läßt sich u.a. oben erkennen, daß bei den meisten Stichproben der Bildungsgrad zwischen 0% und 20% liegt, wenn der Anteil der landwirtschaftlich tätigen Bevölkerung eines Landstrichs zwischen 60%-80% Prozent liegt. Weiterhin auffällig ist eine gewisse Redundanz in der Darstellung; jeder Plot wird genau zweimal eingetragen und nur gespiegelt an seiner Diagonalen gezeichnet. 3.3.1.6 Kontingenztabellen Abbildung 3.7: Kontingenztabelle [Küs01b] Kontingenztabellen werden häufig verwandt für nominalskalierte Variablen und zur Auswertung von Auszählungen. Im graphischen Bereich trifft man hierbei meist auf zweidimensionale Darstellungen, da diese bekanntlich in vielen Fällen am besten lesbar für menschliche Anwender ist. Berechnungstheoretisch sind jedoch durchaus mehrdimensionale Modelle denkbar und auch eingesetzt. Möglichkeiten diese zu berechnen bieten die sogenannten loglinearen Modelle. Das Beispiel zeigt eine Darstellung mit den Variablen Raucher/ Nichtraucher, krank/ gesund sowie dem Alter, das hier ausgezählt in Form 53 3 Datenanalyse Allgemein von älter als 65 Jahren oder jünger vorliegt. In den unteren beiden Tabellen werden nun jeweils zwei Variablen miteinander in Beziehung gesetzt. Hier ist auch besonders gut die Gefahr nur zweidimensionaler Darstellungen zu erkennen: Betrachtet man die untere Tabelle exklusiv, ergibt sich, daß fast doppelt so viele Nichtraucher krank sind wie Raucher. Das widerspricht dem gesunden Menschenverstand und auch den Daten, denn das Problem dieser Tabelle ist, daß das Alter in dieser Grafik nicht berücksichtigt wird. Die erste Tabelle zeigt auf, daß der Anteil kranker Menschen in beiden Gruppen etwa gleich ist. Hier wird im Prinzip ein Darstellungstrick angewandt, um alle drei Variablen in der Tabelle “sichtbar” zu machen. 3.3.2 Nichtgraphische Statistische Verfahren Jenseits von visuellen Darstellungen sind auch mathematische Methoden stark in der Statistik vertreten. Besonders Bezug nehmen werde ich hier auf die Regression und kurz auf dimensionreduzierende Verfahren. 3.3.2.1 Klassische Regression Die Regression wird sehr häufig in der Datenanalyse verwandt und ist kein neu entwickeltes Verfahren, so daß man sich hier auf längere Erfahrungen stützen kann. Die Grundform der klassischen Regression ist eine Gleichung der Form: y = b0 + b1 x1 + . . . + bn xn + e Mit deren Hilfe versucht man nun entweder, aus den bekannten Variablen (den Regressoren) - in dieser Formel die x1 . . . xn - eine Vorhersage für den Wert der Variablen y zu errechnen, oder man untersucht, welchen Einfluß die einzelnen Regressoren auf die Bestimmung der Variablen y ausüben. Die Parameter, mit der man das Verhalten der Funktion verändern kann, sind die Koeffizienten xb . . . bn . Ziel ist es also, diese so zu bestimmen, daß die Funktion möglichst genau das Verhalten der Variable y wiedergibt. Betrachtet man beispielsweise das Problem der Datenreduktion, so ist es möglich, eine Variable y möglicherweise durch eine Funktion zu ersetzen, die aus Teilen der restlichen Variablen (x1...xn) bestehen. Statt sich jetzt also bei jeder Stichprobe immer einen Wert für y zu merken, kann man stattdessen sich die Funktion merken, aus der y errechnet werden kann. 54 3.3 Statistik Es gibt verschiedene Möglichkeiten, diese Funktion zu suchen: In der Vorwärtsselektion beginnt man mit der Formel y = b0 + e, also der Regressionsgleichung mit der kleinsten Anzahl an Regressoren und versucht nun, den Regressor mit Koeffizienten so zu bestimmen, daß der Erklärungszuwachs der Gleichung an der Variable y möglichst groß wird. Diesen Schritt des Hinzufügens wiederholt man iterativ, bis kein Erklärungszuwachs mehr sichtbar ist. Rückwärtsselektion bezeichnet nun im Prinzip das umgekehrte Verfahren. Hier versucht man auf Anhieb ein Modell zu schätzen, das bereits alle Regressoren und Koeffizienten enthält. Das kann aus mathematischen Vorbetrachtungen erfolgen oder aus Vermutungen und Vorwissen, das der Analyst möglicherweise in der Anwendungsdomain besitzt. Das Verfahren beruht nun darauf, Schritt für Schritt solche Regressoren zu entfernen, die möglichst wenig Erklärungsanteil an der Variable y besitzen (sprich: eine möglichst geringe Veränderung von y bewirken). Das geschieht nun so lange, bis keine insignifikanten Variablen mehr gefunden werden können. In der Praxis wird dagegen oft eine Kombination aus beiden verwandt. Betrachtet man die Rückwärtsselektion, ist es zum einen oft schwer ein komplettes Regressionsmodell aus dem Stand zu schätzen. Das macht dieses Verfahren häufig nicht anwendbar. Ein Nachteil, der sowohl Vorwärts- als auch Rückwärtsselektion betrifft, stellt die Tatsache dar, daß y nicht direkt von einer Variable klar abhängig ist, sondern daß bestimmte Variablen in Kombination miteinander einen größeren Erklärungszuwachs bedeuten als die Summe ihrer Einzelzuwächse. Insofern kann man beide Methoden kombinieren, indem man beispielsweise mit der Vorwärtsselektion beginnt, bis man eine Sackgasse erreicht. Nun kann man per Rückwärtsselektion einfach ein paar Schritte zurückgehen und nach besseren Ansätzen und Modellen suchen. Es wird sozusagen ein Baumdurchlauf durch mögliche Regressionsmodelle vorgenommen. Ein eher theoretisches Verfahren beschreibt die erschöpfende Enumeration. Dabei werden alle möglichen Regressionsmodelle berechnet und das beste zum Schluß ausgewählt. Bemerkenswert ist, daß durch technischen Fortschritt, insbesondere 55 3 Datenanalyse Allgemein durch stetig steigende Rechenleistungen, dieses Modell immer relevanter für die Praxis wird. Insgesamt ist Regression ein mächtiges Verfahren, bei dem jedoch auch auf bestimmte Voraussetzungen Rücksicht genommen werden muß. Der Fehlerterm e, der manchmal in der weniger wissenschaftlichen Literatur auch einfach vernachlässigt wird, muß für alle Stichproben gleich groß sein (die sogenannte Homoskedastizität). Weiterhin wichtig ist es, daß keine redundanten Regressoren in die Berechnung eingehen, d.h. keine Variablen untereinander linear abhängig sind. Ein offensichtlicher Nachteil in Bezug der Modellierungsfähigkeit der klassischen Regression besteht in der erzwungenen Linearität der Regressoren. Quadratische oder logarithmische Terme, wie sie beispielsweise zur Modellierung von Wachstumsprozessen oder Lebenslaufzyklen notwendig sind, sind hier nicht erlaubt. 3.3.2.2 Untersuchungsfelder der klassischen Regression Mit den Mitteln der klassischen Regression können verschiedene Aspekte untersucht werden. Dazu gehört oben beschriebene Erklärung oder Vorhersage einer Variablen y und außerdem Felder wie die Residuenanalyse: Diese untersucht, inwieweit sich die berechneten Werte aus dem benutzten Regressionsmodell von den empirisch bekannten Werten unterscheidet. Multikollinearitätsdiagnostik: Hier beschäftigt man sich mit der Aufgabe, voneinander abhängige Variablen zu entdecken; dies kann zur Datenreduktion oder auch einfach der Wissensgewinnung dienen. 3.3.2.3 Nichtlineare Regression Im Vergleich zur eben betrachteten klassischen Variante sind hier durchaus nichtlineare Terme erlaubt. Ein weiteres Problem, das mit diesen Verfahren zu lösen ist, ist die Regression nichtmetrisch skalierter Variablen. Hier hat man sogenannte Logit- und Probitmodelle entwickelt, mit denen auch solche Berechnungen möglich sind. Einen weiteren Bereich bilden Regressionsverfahren, die als nichtparametrisch bezeichnet werden. Hier werden andere Wege gesucht, eine Variable y zu erklären, ein Beispiel hierfür bieten Klassifikationsbäume. 56 3.4 Künstliche Neuronale Netze Die zugrundeliegenden mathematischen Verfahren dieser Modelle sind keineswegs trivial, weshalb ich hier nicht auf sie eingehe. 3.3.2.4 Dimensionsreduktion Sowohl in der Regression als auch im Data Mining allgemein liegen eine große Zahl verschiedener Variablen vor und die Dimensionalität ist dementsprechend hoch. Das macht Berechnungen natürlich wesentlich komplexer, rechenintensiver und damit in der Praxis teurer und zeitaufwendiger. Daher kann es sinnvoll sein, Verfahren anzuwenden, die (wie die Multikollinearitätsdiagnostik) die Regressorenzahl verkleinern. Oft kann das schon - und das ist unter Umständen die eleganteste Lösung - durch realwissenschaftliche Überlegungen und Vorwissen in der Anwendungsdomain geschehen. Geht in eine Analyse z.B. sowohl der Umsatz, die Kosten und der Gewinn ein, ist es unbedenklich hier einen Regressor zu streichen. Ist diese einfache Möglichkeit nicht gegeben, gibt es durchaus mathematische Wege, “überflüssige” oder vernachlässigbare Regressoren aus der Analyse auszuschließen. In der sogenannten Hauptkomponentenanalyse versucht man, die Faktoren zu finden, die den größten Beitrag zur Erklärung einer Variable leisten (vgl. Regression). Alle anderen Faktoren, die also eher das Finetuning darstellen, fallen dabei heraus. Ein weiteres Verfahren bietet die Ridge-Regression. Diese löst die korrelierten Faktoren künstlich voneinander, d.h. im Vergleich zur Hauptkomponentenanalyse fallen keine Regressoren weg, sondern die vorhandenen werden so verändert, daß sie untereinander nicht mehr voneinander abhängig sind. Damit geht natürlich auch der ursprüngliche Charakter einer Variable verloren. 3.4 Künstliche Neuronale Netze Künstliche Neuronale Netze (KNN) bieten in vielen Bereichen ähnliche Funktionalität wie statistische Verfahren. Im Gegensatz zu deren Ansatz erlauben KNN jedoch einen (zumindest auf den ersten Blick) eher nichtmathematischen Lösungsweg; sie beschreiten also im Problem- und Lösungszugang einen gänzlich anderen Weg als obige Verfahren. KNN gehen ursprünglich auf Versuche zurück, die Struktur und das Verhalten des menschlichen Gehirns technisch zu simulieren und mögli- 57 3 Datenanalyse Allgemein cherweise zu nutzen [Sch97]. Dabei inspirierte insbesondere das Lernverhalten des Hirns mit seinen auf vielen Bereichen herausragenden Fähigkeiten die Forschung. Inzwischen haben sie sich jedoch stark auch von diesen Ansätzen entfernt und gehen - eher lösungsorientiert als mit dem Ziel einer perfekten Simulation - eigene Wege. Dabei gibt es nicht nur eine Möglichkeit ein solches Netz aufzubauen, sondern es wurden viele verschiedene Modelle entwickelt. (Abbildung 3.8) Abbildung 3.8: Überblick Neruonale Netze [PS01] 3.4.1 Teile eines KNN Ein Künstliches Neuronales Netz besteht immer aus einer Menge verarbeitender Units, die in hohem Maße untereinander verknüpft sind. Die einzelnen Verarbeitungseinheiten (oft als Neuron bezeichnet) sind untereinander weitgehend homogen und erfüllen für sich gesehen häufig eher einfache Aufgaben bzw. mathematische Funktionen. Die Grundeinheit eines “klassischen” Netzes sieht etwa wie folgt aus [Sch97] (Abbildung 3.9): 58 3.4 Künstliche Neuronale Netze Abbildung 3.9: Einzelnes Neuron vgl. [Fat01] Die Komplexität eines Netzes entseht nun durch die Verschaltung der Neuronen untereinander. Der Output eines Neurons ist Teil des Inputs eines anderen. Möchte man Daten in das Netz geben, geschieht dies über die Inputschicht, die Ausgabe wird in der Outputschicht abgelesen. Ein einzelnes Neuron berechnet nun aus einer Menge von Eingaben (x1...xn), den sogenannten Inputs (Inputvektor), die alle eine eigene Gewichtung (w1...wn) besitzen, eine Ausgabe (Output oder Outputvektor). 3.4.1.1 Inputfunktion (auch Propagierungsfunktion) i(x1 , . . . , xn , w1 , . . . , wn ) = i berechnet aus den Gewichten (w1 , . . . , wn ) und dem Inputvektor am Neuron dessen initale Eingabe. Die einfachste, jedoch viel benutzte Funktion ist hierbei i(x1 , . . . , xn , w1 , . . . , wn ) = n X xm wm m=1 Es wird also die Linearkombination aus beiden berechnet. Um so größer der Inputvektor in seinen einzelnen Komponenten und um so größer die Gewichte, um so größer wird also auch i. Daneben existieren auch Netze, in denen bei der Inputfunktion sich i aus dem Maximalwert unter den wi xi ergibt oder ähnliche Funktionen. 59 3 Datenanalyse Allgemein 3.4.1.2 Aktivierungsfunktion In manchen Modellen besitzt ein einzelnes Neuron zu jedem Zeitpunkt t einen Zustand a(t). Aus diesem und dem Ergebnis i berechnet sich der neue Aktivierungszustand zum Zeitpunkt t + 1. Im einfachsten Fall wird i einfach übernommen (Identität) oder eine lineare Funktion realisiert. Allerdings eignen diese sich nur, falls das Netz lineare Funktionen approximieren soll. Es läßt sich zeigen, daß mehrstufige Netze mit lineare Aktivierungsfunktion in einstufige überführen lassen. Allgemein ergibt sich folgende Form der Aktivierungsfunktion fact : a(t + 1) = fact (a(t), i) Soll ein Netz nichtlineare Funktionen approximieren, greift man häufig auf Schwellenwertfunktionen oder sigmoide Funktionen für fact zurück. 3.4.1.3 Ausgabefunktion Die Outputfunktion fout hat die Aufgabe, den in der Aktivierungsfunktion fact berechneten Wert auf den gewünschten Wertebereich zu skalieren. In den meisten Fällen wird dabei einfach auf die Identität zurückgegriffen oder keine explizite Ausgabefunktion angegeben und diese in die Aktivierungsfunktion integriert. Allgemein gilt: o(t + 1) = fout (a(t + 1)) = fout (fact (a(t), i)) 3.4.2 Netzstruktur In der Netzstruktur lassen sich zwei große Gruppen ausmachen: Zum einen sind Netze vertreten, die über die Inputschicht Daten erhalten und diese nun sukzessive Schicht für Schicht durch das Netzwerk weiterberechnen und propagieren; es läßt sich also klar eine Schichthierarchie feststellen, wobei die Inputschicht die erste und die Outputschicht die letzte darstellen. Solche Netze bezeichnet man auch als “Feed-Forward” Netze. Komplexere Typen stellen hier rekursive Netzstrukturen dar, in denen Daten die einzelnen Neuronen durchaus öfter passieren können, sogenannte “Fedback-Netze”. Solche Rückkoppelungen werden oft benutzt, um Teile der Eingabe besonders stark zu “gewichten” im Netz. 60 3.4 Künstliche Neuronale Netze Die Aufgabe, die ein KNN berechnen kann, hängt also insgesamt bedeutend von der Wahl der Netzstruktur, der Vernetzung der einzelnen Neuronen miteinander sowie den Gewichten w1...wn ab. Im Normalfall sind die Gewichte der Teil des Netzes, der bei einem Lernprozess, d.h. des Trainings, in dem das Netz lernt seine Aufgabe zu erfüllen, angepaßt wird. Diese Lernfunktion eines KNN kann entweder in überwachter Form stattfinden, d.h. das Netz wird per Hand trainiert und immer überprüft, inwiefern das errechnete Ergebnis des Netzes mit dem richtigen übereinstimmt (Trainingsdaten) oder gänzlich unüberwacht stattfinden, ein Beispiel dazu in Kapitel 3.5. 3.4.3 Lernen Damit ein KNN seine anwendungsspezifische Aufgabe erfüllen kann, muß es dies zuerst lernen. Normalerweise lernt das Netz für eine Reihe von Trainingsdaten, anhand derer eine netzintere Struktur aufgebaut wird, die für die Trainingsdaten möglichst gute Ergebnisse liefert. Danach soll das Netz dann auch für unbekannte Daten richtige Outputs liefern können. Grundsätzlich gibt es verschiedene Parameter, die sich am KNN verändern lassen: Verbindungen zwischen Neuronen aufbauen oder löschen Neuronen komplett löschen oder neu erstellen Gewichte verändern; dies stellt den meist verfolgten Ansatz dar. Funktionen des Neurons (Input-, Aktivierungs-, Outputfunktion) Die bekannteste Lernregel, nach der Gewichte verändert werden, stammt von Donald Hebb (1949). Sie macht sich die Überlegung zu eigen, daß in biologischen Netzen (z.B. dem Gehirn), die Verbindungen zwischen zwei Neuronen besonders wichtig ist, wenn sie gleichzeitig aktiv sind. Also wird das Gewicht an der Verbindung entsprechend einer vorher definierten (möglicherweise konstanten) Lernrate erhöht. In zweistufigen Netzen wird häufig die sogenannte Delta-Regel benutzt. Dabei vergleicht man beim Training des Netzes ständig NetzErgebnis sowie das zu erreichende Trainingsergebnis. Je nach Ausmaß des Unterschieds (Delta) dieser beiden Werte, werden die Gewichte nun verändert; je größer Delta, desto größer die Modifikation der Gewichte. 61 3 Datenanalyse Allgemein 3.4.4 Vor- und Nachteile sowie zeitliche Einordnung Nach der Erforschung Neuronaler Netze (1943-1955) erlebten KNN eine Blütezeit, in der man in dieser Art System eine große Zukunft sah und glaubte, mit KNN ein Modell gefunden zu haben für jegliche Art von intelligenten (lernenden) Anwendungen. In diese Zeit fällt u.a. die Entwicklung des Perzeptrons von Rosenblatt. Ein bekanntes Paper von Minksy/Papert zerstörte jedoch 1969 schnell diese Auffassung; sie konnten nachweisen, daß Perzeptronen schon für einfach konstruierte Aufgaben nicht geeignet sind. In der Folgezeit bis 1985 etwa wurde es ruhiger um KNN. Es wurden jedoch weiterhin Forschungen angestellt, der eigentliche “Boom” war jedoch vorbei. In den letzten 15 Jahren erlebten Netze jedoch eine Renaissance, sie werden heute gerne für bestimmte Problemfelder eingesetzt; die Sicht wird bestimmt durch eine im Vergleich zur Hochphase gesunde Einschätzung der Fähigkeiten Künstlicher Neuronaler Netze. Heute finden sie Einsatz u.a. in der Finanzwirtschaft zur Vorhersage von Konjunkturdaten oder Aktienkursen, in Robotersteuerungen, um schnell aus Sensorenwerten Aktionen für die Aktoren zu bestimmen oder in Motorsteuerungen wie allgemein in der Steuerungs- und Regelungstechnik. Durch Künstliche Neuronale Netze können (entgegen ihrer einfachen Struktur gleichartiger simpler Verarbeitungselemente) hochgradig komplexe Funktionen dargestellt werden, die weit über die Funktionalität der klassischen Regression hinausgehen. Ihr Anwendungsbereich reicht von der Clusteranalyse (dazu ein Beispiel in Kapitel 3.5) über Diskrimanzanalyse (Klassifikation) bis zur Regression. Ein Vorteil, der sie z.B. im Bereich der Mustererkennung sehr erfolgreich macht, ist ihre Fähigkeit, auch mit verrauschten oder fehlerhaften Daten gute Ergebnisse zu erzielen. Ein neuronales Netz sieht von außen betrachtet relativ einfach aus. Nach Eingabe der Inputdaten kann an der Outputschicht das Ergebnis abgelesen werden. Das klingt zum einen einfach, andererseits liegt darin auch ein gravierender Nachteil: Das Netz bietet dem Analysten keinerlei Erklärungskomponente, es ist sehr schwer nachzuvollziehen, auf welche Art genau das Ergebnis bestimmt wurde; Änderungen einzelner Gewichte können z.B. sehr starke oder sehr schwache Wirkungen auf das Endergebnis erzielen, was in der massiven Parallelität der Berechnung und Komplexität der Netzstruktur zugrunde liegt. In vielen Fällen, zum Beispiel in manchen Robotersteuerungen, ist allerdings genau die gleichzeitige, schnelle Verarbeitung von Daten 62 3.5 Self Organizing Maps gefragt; Sensoren liefern in kurzen Abständen Werte an das Netz, das möglichst schnell reagieren soll; eine Erklärungskomponente ist hier gar nicht gefragt. Die in großen Netzen hohe Parallelität und das damit weit verteilte Wissen im Netz bringen zudem den Vorteil, daß KNN trotz Ausfall einzelner Neuronen trotzdem weiter gute Ergebnisse liefern können. Ein wirkliches Problem besteht darin, die richtige Netzstruktur auszuwählen, verschiedene Netztypen haben unterschiedliche Stärken und Schwächen und die Entscheidung für ein Modell ist nicht trivial. Experten auf dem Gebiet zeichnen sich oft dadurch aus, teilweise aus Erfahrung auf den richtigen Netztyp zurückzugreifen. KNN sind also auch keine Universalwerkzeuge, auf die man immer blind zurückgreifen kann. 3.5 Self Organizing Maps 3.5.1 Einleitung Um die Arbeitsweise eines Neuronalen Netzes darzustellen, soll hier ein eine prinzipiell einfache, jedoch mächtige Variante näher erläutert werden, die sich in der Datenanalyse zunehmender Beliebtheit erfreut. Es handelt sich um ein clusterbildenden Verfahren, den sogenannten SOM - Self Organizing Maps, die Anfang der 80er Jahre von Kohonen entwickelt wurden. Wie der Name andeutet, handelt es sich um ein KNN, das selbstüberwachtes Lernen benutzt um Strukturen zum Clustern in Datensätzen zu finden und sich zu organisieren. Als Endergebnis soll eine zweidimensionale Karte entstehen, auf der sich ähnliche Datenobjekte nahe sind und verschiedene möglichst voneinander getrennt liegen. Die Karte soll also selbständig aus den Daten organisiert werden, ohne das ein Eingreifen von außen nötig wäre. Das Neuronale Netz besteht dabei nur aus zwei Schichten [PS01, Ger99]: 63 3 Datenanalyse Allgemein 3.5.2 Algorithmus und Beispiel Ein anschauliches Beispiel bietet hier das Clustern von Farbdatensätzen auf einer SOM. Im Endergebnis läßt sich hier nämlich gut feststellen, in wie weit ähnliche Farben wirklich auf der Karte benachbart sind und wie gut das Netz also die Clusterbildung verwirklichen konnte. Diese Einführung lehnt sich dabei stark an [Ger99] an. Betrachten wir zunächst unsere Datenobjekte, in diesem Fall also folgende Farben: Abbildung 3.10: Zu clusternde Farben=Sampledaten [Ger99] Um Ähnlichkeiten zwischen Farben beschreiben zu können, muß man wissen, daß eine Farbe durch drei Attribute spezifiert wird, dem Rot-, Grün- und Blauanteil (R-G-B). Die Karte selbst besteht ebenfalls aus Feldern, die jeweils durch diese drei Variablen bestimmt werden. Die Anzahl der Farbfelder ist dabei nicht von großer Bedeutung. Ein zu großer Wert verlangsamt jedoch die Berechnung, während ein zu kleiner vorliegt, wenn gar nicht genug Felder vorhanden sind, um später die zu clusternden Farben aufzunehmen. Im Sinne eines KNN können 64 3.5 Self Organizing Maps die RGB-Werte eines Kartenfeldes als deren Gewichte angesehen werden. Abbildung 3.11: Initiale SOM [Ger99] Die Ausgangsposition für nachfolgenden Algorithmus ist also diese: die Sampledaten (Beispieldaten) liegen vor und eine (meist rechteckige) Karte ist initialisiert worden, deren Gewichte genau die gleiche Attributsstruktur besitzen wie die Samples. Die initiale Belegung der Gewichte auf der Map ist (was überraschend klingen mag), von untergeordneter Bedeutung. Ein Algorithmus in Pseudocode kann wie folgt dargestellt werden: 0. Karte initialisieren, Lernfaktor=max, Radius=max 1. repeat 2. Wähle beliebigen Sampledatensatz 3. Suche die Farbe auf der Map, deren Gewichte dem des Samples am ähnlichsten sind (z.B. eukl. Distanz oder andere Ähnlichkeitsmaße) 65 3 Datenanalyse Allgemein 4. Das ist unser “Gewinner”, die Best Matching Unit (BMU) 5. Die BMU paßt sich nun abhängig vom Lernfaktor dem Sampledatensatz an, er wird ihm also ähnlicher 6. Alle benachbarten Units auf der Map lernen ebenfalls auf diese Weise mit geringerem Lernfaktor 7. Lernfaktor erniedrigen, Radius erniedrigen 8. until Lernfaktor=0 In Schritt 1 wird die Karte initial belegt, das kann beliebig geschehen. Der Lernfaktor gibt an, wie stark jeder Durchlauf der folgenden Schleife die Karte beeinflussen kann, diese also lernen kann. In der folgenden Schleife (1-8) wird nun immer zufällig ein Sampledatensatz ausgewählt, im Farbenbeispiel also beispielsweise rot. In Schritt 3 wird nun das Farbfeld auf der Map gesucht, das diesem Rot am ähnlichsten ist, also bei dem die RGB-Werte am ehesten den des Samples entsprechen. Das Feld bezeichnet den sogenannten Gewinner (Best Matching Unit BMU). In Schritt 5 nun paßt sich die BMU, also das schon ähnlichste Feld auf der Karte, noch weiter an das Sample an; die RGB-Gewichte nähern sich also weiter an, der Gewinner “lernt”. Die Felder um die BMU herum lernen ebenfalls, jedoch in geringerem Maße als der Gewinner selbst, abhängig vom Radius. Sowohl Lernfaktor und Radius sind zu Beginn maximal (Schritt 0), also lernt die Karte am Anfang eher grob, die BMU paßt sich stark an und der Nachbarschaftsradius, in dem die Mitlerner liegen, ist ebenfalls hoch. Je weiter der Algorithmus nun voranschreitet, um so kleiner werden die Veränderungen auf der Karte, da Lernfaktor sowie Radius bei jedem Durchlauf verringert werden (7); die Strukturen werden feiner. Die Güte einer SOM - von algorithmischer Seite betrachtet - steigt mit der Menge der Durchläufe; der Zuwachs pro Durchlauf wird jedoch immer geringer. Eine weitere Beispielkarte (aus [PS01]) stellt keine konstruierte Map wie das Farbenbeispiel dar. Hier wurden einige Länder der Erde betrachtet und insgesamt 12 “Wohlstandsattribute” betrachtet, z.B. Konsumverhalten, Bildungssystem oder das Gesundheitssystem. Das Ergebnis kann als eine Karte des Wohlstands und der Armut der 66 3.5 Self Organizing Maps Welt verstanden werden. Beobachten kann man hier beispielsweise, daß Industrienationen wie Deutschland, Frankreich, Canada oder die USA dicht beieinander liegen, sowohl räumlich als auch farblich; sie befinden sich alle auf der linken Seite in einem fast gleichmäßig hellen Bereich. Rechts davon jenseits des trennenden schwarzen “Grabens” finden wir Länder wie Peru oder Venezuela. Man erkennt also, daß sich die Karte relativ gut mit unseren Erwartungen deckt. Abbildung 3.12: SOM der Verteilung von Wohlstand und Armut in der Welt [PS01] 3.5.3 Zusammenfassung SOM scheinen in der Praxis recht zuverlässig zu funktionieren, weshalb sie oft für einen schnellen Überblick über die Daten genutzt werden. Sie bieten neben der Clusterfindung die Möglichkeit, hochdimensionale Zusammenhänge zweidimensional sichtbar zu machen und damit für Menschen leichter zu erfassen. Der Algorithmus selber ist einfach zu verstehen und implementieren. Allerdings kann er sehr rechenintensiv sein, denn besonders bei größeren Karten machen sich viele Durchläufe durchaus bemerkbar, da das Finden der Best Matching Unit immer über die Euklidische Distanz verläuft. Die 67 3 Datenanalyse Allgemein stochastische Auswahl des Samples pro Durchlauf bringt zudem das Problem mit sich, daß zwei komplett berechnetete Karten der selben Datenmenge nicht identisch sein müssen. Das kann soweit gehen, das eine völlig andere Clusterbildung erfolgt, wenn sich Datensätze auch sinnvoll in andere Gruppen einteilen lassen können; fehlerhafte Daten können auch zu falschen Maps führen. 3.6 Online Analytical Processing (OLAP) Wie wir bereits in vorhergenden Kapiteln festgestellt haben, übersteigen die multidimensionalen Datenbestände enormen Ausmaßes weitesgehend die menschliche Auffassungsgabe. Aus dieser Problemstellung heraus wurde von Codd 1993 OLAP entwickelt. Die Namensgebung setzt sich hier absichtlich vom On Line Transactional Processing (OLTP) ab, dessen Datenbankstrukturen und Zugriffsmöglichkeiten eher der praktischen Verarbeitung von Daten dienen und zur Analyse wenig beitragen können. Genau diesem Umstand trägt OLAP Rechnung. Die Datenbestände, auf denen hierbei aufgesetzt wird, liegen in den meisten Fällen in Data Warehouses vor, d.h. sie sind bereinigt, nach betriebswirtschaftlichen Größen geordnet und häufig historisiert. Mit OLAP-Systemen ist es nun möglich diese Dimensionen dynamisch zu visualisieren mit dem Ziel, Ad-hoc Auswertungen bis hin zu komplexen betriebswirtschaftlichen Analysen durchzuführen. Dazu sind verschiedene Operationen erdacht worden, wie man sich in einem solchen multidimensionalen Datenwürfel bewegen kann. (vgl. [Cha01] 3.6.1 Zugriffsmethoden durch OLAP OLAP-Systeme bieten dem Analysten ein Werkzeug, um multidimensionale Datenbestände sichtbar zu machen, aus verschiedenen Blickwinkeln zu betrachten und für ihn interessante Aspekte auszuwählen und zusammenzustellen. Dabei stehen ihm grundsätzliche folgende Möglichkeiten zur Verfügung, um auf den Datenwürfeln zu arbeiten: Slicing: Hier werden aus dem Würfel Scheiben herausgeschnitten, was natürlich mit einem Dimensions-”Verlust” einhergeht. Rotation (Pivotierung): Bei der Rotation wird der Würfel einfach gedreht, was dem Analysten eine andere Perspektive auf die Daten erlaubt. 68 3.6 Online Analytical Processing (OLAP) Abbildung 3.13: Multidimensionaler Datenwürfel (nach [Kös02]) Dicing: Um einen kleineren Teil des Würfels zu betrachten, bedient man sich des Dicings. Dabei wird ein Teilwürfel aus dem Gesamtwürfel (Hyper-Cube) herausgelöst, der immer noch die gleiche Dimensionalität besitzt, jedoch die Variablen-Range beschneidet. So betrachtet man beispielsweise nur 10 der 20 Jahre beschränkt auf 3 der 5 Filialen, die im Hyper-Cube vorhanden sind. Drill Down / Roll Up (auch Drill Up): Diese Methode macht es möglich, Aggregationen über Dimensionen durchzuführen. Als Roll Up bezeichnet man dabei z.B. den Vorgang, statt der einzelnen Produkte nun Produktkategorien zu betrachten; Drill Down bezeichnet den umgekehrten Vorgang. Drill Through: Bei Analysen kann es sinnvoll sein, die aus dem Data Warehouse stammenden Daten auf unterster Ebene zu verifizieren, in dem ein Durchgriff auf die operativen Datenbestände, mitunter also den OLTP-Systemen, durchgeführt wird. 69 3 Datenanalyse Allgemein Multidimensional Join (auch Drill Across): Liegen mehrere Datenwürfel vor, die über die gleiche Dimensionsstruktur verfügen, kann es sinnvoll sein, diese Würfel zu einem großen zu vereinen. OLAP-Systeme mit dem Feature verschiedene Würfel einzubeziehen, bezeichnet man auch als sogenannte MulticubeSysteme. 3.6.2 Drei-Ebenen-Konzept Bei den OLAP-Systemen kann man drei Ebenen ausmachen: die interne Ebene beschreibt die Datenstrukturen, aus denen das System die Daten bezieht. Zum einen sind hier sogenannte MOLAP (Multidimensional OLAP) Ansätze vertreten, welche die Datenbestände bereits multidimensional speichern, was dem eigentlich Wesen eines OLAP-Systems eher Rechnung trägt, als das sogenannte ROLAP (Relational OLAP). Dieses orientiert sich an den traditionellen relationalen Schemata, d.h. mehrdimensionale Daten werden auf flache Attributtabellen heruntergebrochen und untereinander mit Schlüsseln verknüpft. Sowohl ROLAP als auch OLAP modellieren auf konzeptioneller Ebene ein multidimensionales Modell. Auf der externen Ebene werden vom Anwender multidimensionale Zusammenhänge betrachtet und Operationen auf dem Datenwürfel ausgeführt. Daher passen intuitiv MOLAP Systeme besser zum eigentlichen Ziel der OLAP-Analyse, da sie von Haus aus eine natürlichere Sicht auf die zu verarbeitenden Daten bieten. Bei Zusammenstellung und Anfragen an die Datenwürfel müssen in relationalen Systemen über viele Join-Operationen und Schlüsselbeziehungen multidimensionale Sichten erst aufgebaut werden. Möglicherweise überraschend ist dann die Tatsache, daß im OLAP-Bereich bisher vermehrt auf relationale Strukturen gesetzt wird; dies rührt wohl aus dem starken Übergewicht relationaler Datenbanken in der Informationssystemwelt und damit auch der Tatsache, daß die ursprünglichen Quelldaten aus den OLTP-Systemen in den meisten Fällen in relationaler Form vorliegen. (vgl. [Cha01]) 3.6.3 OLAP im KDD-Prozess OLAP-Systeme werden häufig nicht nur für sich alleine zur Analyse verwandt, sondern können auch im KDD-Prozess eingesetzt werden, um dessen Interaktivität und Güte zu erhöhen. Dabei kann schon am 70 3.6 Online Analytical Processing (OLAP) Abbildung 3.14: Interaktivität im KDD durch OLAP (vgl. [Cha01]) Anfang die Auswahl relevanter Daten aus dem Data Warehouse oder aus verschiedenen (auch externen) Quellen durch OLAP geschehen. Das hat den Vorteil, daß zum einen nur die relevanten Daten in den Prozess eingehen und der Analyst sich auch einen guten Überblick über die Struktur der Daten erhält. Nach dem eigentlichen Data Mining können nun mit Hilfe von OLAP-Systemen entdeckte Muster visualisiert und verifiziert werden. 3.6.4 Bewertung OLAP-Werkzeuge bieten gute Möglichkeiten, um sich in großen Datenmengen zu orientieren, eigene Sichten auf Datenbestände zu untersuchen und die Ergebnisse graphisch aufzubereiten. Sie sind allerdings nicht mit typischen Data Mining Systemen vergleichbar, da sie nicht selbständig arbeiten können und immer auf Interaktivität mit dem Benutzer angewiesen sind. Insofern lassen sie sich sinnvoll für deskriptive Analysen einsetzen, in denen der Analyst bereits scharfe a-priori-Hypothesen aufgestellt haben muß, die er zu bestätigen sucht. Für die Suche nach neuen Mustern in den Daten eignen sich 71 3 Datenanalyse Allgemein OLAP-Systeme weniger, da die multidimensionalen Zusammenhänge graphisch für das System nicht selbständig erkennbar sind; darin besteht allerdings auch nicht ihre Aufgabe. 3.7 Datenanalyse im Rahmen der Projektgruppe Sowohl bei Händlern als auch bei den Cardprovidern werden enorme Mengen von Daten gespeichert, die implizit Wissen enthalten. Mit Datenanalysemethoden können wir nun dieses Wissen sichtbar machen und nutzen, indem wir ein Kundenprofil erstellen können, anhand dessen wir dem Käufer ein personalisiertes Angebot unterbreiten können. Die vorgestellten Verfahren sind hierbei essentiell und aufgrund von Komplexität und Datenmenge der anfallenden Daten nicht allein durch menschliches Analysepotential zu ersetzen. 72 4 Der KDD-Prozess Guido Zendel In dieser Arbeit wird der Prozess des Knowledge Discovery in Databases (KDD), untersucht und anhand von Modellen beschrieben. Die Klassifizierung verschiedener Modellansätze wird mit einer Phaseneinteilung nach Gaul und Säuberlich gemacht, die Beschreibung der einzelnen Teilphasen erfolgt durch den Cross Industry Standard Process for Data Mining (CRISP-DM). Die übrigen hier betrachteten Modelle von Fayyad, Brachman und Anand, Hippner und Wilde und der Entwurf SEMMA von SAS weichen vom CRISP-DM-Ansatz nur in Teilbereichen ab. Krisnashwamy beleuchtet mit seinem Modell die Möglichkeiten des verteilten Data Mining, der Analysephase im KDD-Prozess. Die dargestellten Modelle für den Prozess finden sich in den KDD-Lösungen der führenden Softwareanbieter in diesem Sektor, IBM, SAS und SPSS in unterschiedlicher Form wieder. 73 4 Der KDD-Prozess 4.1 Einleitung In der heutigen Zeit des Informationszeitalter werden in fast allen Bereichen des Lebens eine riesige Menge an Daten erhoben, verwaltet und gespeichert; der nächste Schritt ist, die Daten zu analysieren um aus ihnen Informationen bzw. Wissen zu gewinnen. Dieses bildet jedoch aufgrund der Größe und Heterogenität der Daten sowie der Vielzahl möglicher Analyseziele eine sehr komplexe Problemstellung. Es wurde daher begonnen, die Aufgabe in einzelne Teilschritte zu unterteilen, um diese dann in einer logischen Reihenfolge in den Gesamtprozess einzuordnen. Hierzu sind eine Reihe verschiedener Modelle sowohl aus der Praxis als auch wissenschaftlichen Institutionen erstellt worden um den Prozess der Wissensentdeckung in verschiedenen Datenquellen, dem Knowledge Discovery in Databases (KDD) abzubilden. Es ist das Ziel dieser Arbeit, den Prozess der Wissenserforschung auf einer gegebenen Datenbasis allgemein darzustellen sowie die Aufgaben in einzelne Prozessphasen zu untergliedern. Weiterhin werden verschiedene Ansätze für den Prozess des KDD miteinander verglichen aber nicht bewertet und weitere relevante Aspekte im Umfeld des Knowledge Discoverys werden vorgestellt und eingeordnet. Zum Verständnis des Kontextes bedarf es zuerst einer Erklärung der verwendeten Begriffe (Kap. 4.2). Nach einer allgemeinen Darstellung des Prozesses und einiger mit ihm verbundener Aspekte in Kapitel 4.3 wird auf die einzelnen Prozessschritte im Cross Industry Standard for Data Mining (CRISP-DM) genauer eingegangen (Kap. 4.4). Im folgenden Abschnitt werden alternative Modellansätze betrachtet, anhand des allgemeinen Modelles (Kap.4.3) eingeordnet und mit dem CRISP-DM-Modell verglichen. Zum Abschluss werden die gewonnenen Erkenntnisse mit den Anforderungen der Projektaufgabe in Beziehung gesetzt und zusammengefasst (Kap. 4.6). 74 4.2 Begriffliche Grundlagen 4.2 Begriffliche Grundlagen In der Literatur werden die Begriffe des Knowledge Discovery in Databases und des Data Mining teilweise synonym verwendet, wobei der Begriff Data Mining allgemein weiter verbreitet ist. In dieser Arbeit werden diese Begriffe differenziert, auch wenn sie eng miteinander verbunden sind. Der wichtigste Begriff in dieser Arbeit ist der des Knowlegde Discovery in Databases (KDD), womit einheitlich der gesamte, nichttriviale Prozess der Identifikation valider, neuartiger, potentiell nützlicher und klar verständlicher Muster in Daten bezeichnet wird [FPSS96c]. KDD ist ein mehrstufiger Prozess, der Beziehungen zwischen Datensätzen oder den Daten innerhalb eines Datensatzes beschreiben soll, und diese Muster sollten sowohl für die untersuchten, den übrigen bisher gesammelten Daten als auch insbesondere für zukünftige Daten mit einer einer gewissen Sicherheit gültig sein [ST01]. Im Prozess des KDD ist Data Mining ein Teilschritt, der aus Algorithmen besteht, die in akzeptabler Rechenzeit aus einer vorgegebenen Datenbasis eine Menge von Mustern liefern [FPSS96c]. Weiterhin ist es eine wissenschaftliche Disziplin, die sich mit der Entwicklung, Implementierung und Anwendung von Datenanalyseverfahren befasst, wobei die Analyse sehr gros̈ser Datenmengen, die Analyse von Daten mit komplexer Struktur, sowie die effiziente Implementierung der Algorithmen besondere Beachtung findet [ST01]. Der Prozess des KDD ist keine isolierte Einheit, sondern hat Beziehungen zu vielen Disziplinen und Bereichen, wovon die wichtigsten nachfolgend motiviert werden. Die Methoden des Maschinellen Lernens [Her97], hier vor allem die Neuronalen Netze, werden in der Phase des Data Mining benutzt [Sch00] während statistische Verfahren [Fah02] auch schon in der Phase der Datenvorverarbeitung (dem Preprocessing) zum Einsatz kommen können. Weiterhin finden in fast allen Phasen des Prozesses verschiedene Visualisierungsverfahren und -methoden [Sta97] Verwendung, um dem Benutzer den Prozessablauf zu erleichtern oder die Ergebnisse in einer geeigneten Darstellung zu präsentieren; ebenso großen Einfluss auf das KDD haben Datenbanksysteme [SKS02, GR03, GMUW02], die als Datenquellen die Arbeitsgrundlage für die Datenvorverarbeitung sind und auch zur Abspeicherung der Analyseergebnisse in den KDD-Prozess eingebunden werden können. Der Bereich der computerbasierten Entscheidungsunterstützung (engl. decision support) [SOL02, GB94] dient nicht als 75 4 Der KDD-Prozess Quelle für den Prozess, sondern verarbeitet die Ergebnisse des Data Mining. 4.3 Der KDD-Prozess In diesem Abschnitt wird eine allgemeine Unterteilung des KDDProzesses in Hauptphasen gemacht und dieses Schema auf verschiedene Modellansätze angewendet. Darüber hinaus werden die Gemeinsamkeiten von KDD mit zwei beispielhaft gewählten, verwandten Techniken aufgezeigt. 4.3.1 Allgemeine Phasen des Prozess Um den Gesamtprozess des KDD zu gliedern, wird er nach Gaul und Säuberlich [GS99] in insgesamt fünf Hauptphasen unterteilt. Die nachfolgend dargestellten Phasen dienen in den folgenden Kapiteln als Rahmen bei der Betrachtung der verschiedenen Modelle, die anhand dieser Unterteilung eingeordnet und miteinander verglichen werden können. Als erster Aufgabenbereich wird das Task Analysis angesehen, in dem das Umfeld der Datenanalyse betrachtet wird und die Ziele für den weiteren Prozess festgesetzt werden. In der zweiten Phase stehen dann die Daten, die Zieldatenmenge, im Mittelpunkt, die auf die Analyse hin ausgerichtet, ausgewählt, bereinigt und transformiert werden; diese Aufgaben beanspruchen bis zu 60 Prozent des Gesamtaufwandes und werden allgemein unter dem Begriff des Preprocessing summiert. Das Herzstück“ des KDDs bildet dann die Phase des Data Mining ” , wozu neben der Anwendung von verschiedenen Analyse-Methoden auch die Auswahl dieser gerechnet wird. Die Ergebnisse des Data Mining werden dann im Postprocessing verarbeitet und bewertet und die gewählten Methoden als auch der gesamte bisherige Prozess werden kritisch betrachtet. Die endgültigen Ergebnisse der Datenanalyse werden abschließend im Deployment für eine weitere Verwendung aufbereitet, einerseits als Ausgabe in verschiedenen Formaten für die unterschiedlichen Adressaten und andererseits werden aus ihnen Handlungsanweisungen generiert (neue oder erweiterte Analysen, Anweisungen für verschiedene Applikationen oder Umstrukturierung von Geschäftsprozessen). 76 4.3 Der KDD-Prozess 4.3.2 Verwandte Techniken Das Knowledge Discovery in Databases ist wie in Kapitel 4.2 gesehen kein isolierte Disziplin in der Datenverarbeitung sondern besitzt Beziehungen zu verschiedenen Bereichen und auch Verfahren. In diesem Abschnitt werden die Techniken des Data Warehousing und des Online Analytical Mining (OLAM) mit dem KDD in Beziehung gebracht und die Schnittstellen bzw. Unterschiede aufgezeigt. 4.3.2.1 Data Warehousing Abbildung 4.1: Data Warehouse Referenzarchitektur nach [BG01] Das Data Warehousing steht in enger Beziehung zum Knowledge Discovery, da bei beiden Verfahren ähnliche Phasen durchschritten werden. Beim Data Warehousing werden die Daten aus verschiedenen Datenquellen extrahiert (siehe Abbildung 4.1) und in einen temporären Arbeitsbereich gespeichert, in dem die Daten transformiert und in bereinigter Form in eine Basisdatenbank geladen werden. Der hier dargestellte Teilprozess wird zusammen mit einer Änderungsüberwachung (Monitoring) der Datenquellen als den Datenbeschaffungsbereich des Data Warehousing bezeichnet [BG01]. Aus der Basisdatenbank werden die relevanten Daten in das Data Warehouse 77 4 Der KDD-Prozess geladen, auf denen dann die verschiedenen Analysemethoden durchgeführt werden können. Zu diesen werden auch die Data MiningVerfahren gerechnet. Ein Data Warehouse kann als Quelle für schon teilweise vorverarbeitete Daten angesehen werden, das den Prozess des KDD in der Phase der Datenvorverarbeitung unterstützt. 4.3.2.2 Online Analytical Mining (OLAM) Abbildung 4.2: Prozessmodell zum ning(OLAM) [HK01] Online Analytical Mi- Im Zusammenhang mit dem Data Warehousing und dem Data Mining tritt das sogenannte Online Analytical Mining (OLAM) in Erscheinung, welches die auf Data Warehouse operierenden Techniken Online Analytical Processing (OLAP) und Data Mining integriert. OLAP aggregiert die Daten und fasst sie zusammen, um so die Datenanalyse zu vereinfachen, während das Data Mining die automatische Identifikation von versteckten Mustern in gros̈sen Datenbeständen betreibt. OLAM kombiniert die beiden Techniken und bietet Möglichkeiten an, ein Mining auf verschiedenen Teilgruppen und Abstraktionsebenen, welche basierend auf Datenwürfeln mit OLAP-Methoden gebildet werden, durchzuführen. Die Daten werden dafür in einer multidi- 78 4.3 Der KDD-Prozess mensionalen Datenbank gespeichert, die die Daten aus verschiedenen Quellen (Datenbanken oder Warehouses) integriert und somit eine einheitliche Basis für die Analyse bereitstellt. Der Anwender stellt seine Anfragen an eine OLAM- bzw. OLAP-Engine, die miteinander kooperieren und je nach Anfrage Ergebnisse zurückliefern (Abbildung 4.2) [HK01]. 4.3.3 Betrachtete Modelle Der Prozess des KDD wird in zahlreichen Modellen auf unterschiedlicher Weise dargestellt. Für diese Arbeit wurden insgesamt fünf verschiedene Modelle ausgewählt, die in den folgenden Kapiteln genauer betrachtet werden und durch die gegebenen Phasen aus Kapitel 4.3.1 eingeordnet werden. Eine herausragende Stellung hat dabei der Cross Industry Standard Process for Data Mining (CRISP-DM), der in Kapitel 4.4 ausführlich dargestellt wird. Dieses Modell stellt detailliert die Aufgaben der einzelnen Phasen dar und die Einteilung der einzelnen Phasen stimmt mit den Phasen von Gaul und Säuberlich überein. Die übrigen Modelle von Fayyad [FPSS96c], Brachman und Anand [BA96], Hippner und Wilde [HW00] und der Ansatz “Sampling, Explore, Modify, Model, Assess” (SEMMA) des Unternhemen SAS [SAS02a, SAS02b] werden anschliessend in Kapitel 4.5 vorgestellt und eingeordnet. Die Einordnung der anhand der Hauptphasen ist dabei eng an [GS99] angelehnt (siehe Abbildung 4.1). 79 4 Der KDD-Prozess 4.4 Darstellung der Prozessschritte am CRISP-DM Der Cross Industry Standard Process for Data Mining (CRISP-DM) wurde von den drei Unternehmen SPSS, NCR Teradata und DaimlerChrysler ab dem Jahr 1996 entwickelt und ist zur Zeit in der Ausgangsversion 1.0 frei verfügbar [CD00]. CRISP-DM basiert auf den praktischen Erfahrungen im Umfeld des KDD der einzelnen Teilnehmer an diesem Projekt, was ihn von den meisten der anderen, eher theoretischen Modellen unterscheidet. Weiterhin ist der Entwurf sowohl industrie- als auch applikationsneutral, d.h. er ist nicht wie zum Beispiel das SEMMA-Modell (siehe Kapitel 4.5) von SAS auf eine spezielle Software hin oder nur für ein bestimmtes Anwendungsgebiet entworfen, auch wenn er zur Zeit nur in dem Tool Clementine von SPSS, und dort auch nur zum Teil, umgesetzt wird. 4.4.1 Aufbau und Grundfunktionalität Der CRISP-Ansatz wird als hierarchisches Prozessmodell beschrieben, das sich in vier Abstraktionsebenen untergliedert (Abbildung 4.3). Die höchste Ebene bilden die die sechs Hauptphasen des CRISPDM (Business Understanding, Data Understanding, Preprocessing , Modelling , Evaluation und Deployment). Diese werden weiter in Hauptaufgaben unterteilt, wobei jede Element dieser Stufe genau zu einer Phase des Prozessmodelles zugeordnet wird. Diese beiden oberen Ebenen sind so allgemein gehalten, dass alle Data-MiningSzenarien abgedeckt werden können; sie bilden das Prozessmodell im engeren Sinne. Die beiden unteren Ebenen werden auch der CRISP-Prozess [CRI02] bezeichnet, da hier die Anpassungen an die jeweilige Aufgabe vorgenommen werden müssen. Auf der dritten Ebene werden die Hauptaufgaben der zweiten Ebene in einzelne Spezialaufgaben unterteilt; jede dieser Aufgaben ist ein Output zugeordnet, d.h. es wird spezifiziert, was die Ergebnisse dieser Aufgaben sein sollen. Die niedrigste Abstraktionsebene bilden die einzelnen Aktivitäten, die zur Generierung der Outputs notwendig sind; ein Output ist also immer mit einer Reihe von einzelnen Aktivitäten verbunden. Diese Gliederung findet sich im CRISP-DM user guide [CD00] wieder, dem Hauptdokument des CRISP-DM-Entwurfes (www.crisp-dm.org). 80 4.4 Darstellung der Prozessschritte am CRISP-DM Abbildung 4.3: Das Ebenenmodell in CRISP-DM [CRI02] 4.4.2 Prozessphasen Der Prozess des Knowledge Discovery in Databases nach dem CRISPDM gliedert sich wie im vorherigen Absatz beschrieben in sechs Phasen, die im Folgenden ausführlich dargestellt werden. Die Abbildung 4.4 [CRI02] zeigt die Beziehungen der einzelnen Phasen untereinander, wobei hier nur wichtigsten bzw. häufigsten Verknüpfungen aufgezeigt sind, generell ist es möglich von einer Phase zu jeder anderen Phase in dem CRISP-Prozess überzugehen. Der äußere Ringpfeil soll den zyklischen Charakter des Prozesses symbolisieren, da das Deployment nicht auch das Ende des Knowledge Discovery darstellt: Aus den Ergebnissen und Erfahrungen eines Projektes ergeben sich meist neue und oft auch detailliertere Fragestellungen, so dass das KDD allgemein von vorherigen Projekten profitiert. 4.4.2.1 Business Understanding In der ersten Phase des CRISP-Modells soll das Umfeld des Projektes aus einer Geschäftsperspektive betrachtet werden. Daraufhin werden dann Ziele in der Sprache des betrachteten Geschäftsbereiches formuliert, die in Data-Mining-Zielen übersetzt werden müssen und auf diesen beiden Zielbereichen wird dann ein Projektplan erstellt. Zu Beginn eines KDD-Prozesses findet eine Abstimmung zwischen den Datenanalysten und dem Kunden statt, wozu eine Einarbeitung 81 4 Der KDD-Prozess Abbildung 4.4: Die Phasen von CRISP-DM [CRI02] in das Anwendungsfeld des Kunden unumgänglich ist. Es ist dabei notwendig, die teilweise konträren Ziele des Kunden zu verstehen, auszurichten und realistische Anwendungsziele zu setzen, aus denen die Bedürfnisse für den Prozess herauszuarbeiten sind. Eine gründliche Beschäftigung mit dieser Aufgabe ist für den weiteren Prozessfortgang wichtig, da Fehler in dieser frühen Phase sich mit Fortschreiten des Prozesses multiplizieren und zu einem Mehraufwand in späteren Projektphasen führen. Im Anschluss an die Festlegung der Anwendungsziele erfolgt eine Situationsbewertung, die die Analyse und auch Beurteilung der vorhandenen Ressourcen, der gegebenen Bedingungen, der zu treffenden Annahmen und der Erfordernisse in Bezug auf die Aufgabe der Wissenserforschung umfasst. Bei den Ressourcen wird zuerst die vorhandene Hardware untersucht, inwieweit und für welche Aufgabe diese den Prozessanforderungen genügt und in welchen Bereichen Investitionen notwendig sind; ebenso verhält es sich mit der Software in dem Anwendungsfeld, d.h. das Vorhandensein von Data-Mining-Tools oder anderen den Prozess unterstützenden Programmen. Weitere immaterielle Anforderungen sind die zu analysierenden Daten, wobei Aspekte wie die Quellen, die Art der Daten, aber auch schon vorhandenes Wissen sowie Hintergrundwissen, welches für die Aufgaben ver- 82 4.4 Darstellung der Prozessschritte am CRISP-DM wendet werden kann. Das relevante Personal erstreckt sich von den Geschäftsexperten über technische Unterstützung in Form von Systemadministratoren bis hin zu vielleicht schon vorhandenen Datenund Data-Mining-Fachleuten. Bei all diesen für das Projekt wichtigen Personen sollte die Qualifikation und deren zeitliche Verfügbarkeit geprüft werden, um gerade arbeitsintensive Phasen wie die Datenaufbereitung durchführen zu können. Ein weiterer Gesichtspunkt ist die Identifikation von Risiken im und für das Projekt, d.h. mögliche Ereignisse in der Projektphase die den Fortgang bzw. Ausgang stark beeinflussen. Für jedes denkbare Szenario sollte ein Plan gefasst werden, um bei Eintritt eines Ereignis schnellstmöglich reagieren zu können. Unterschieden wird dabei zwischen Risiken im Geschäftsumfeld (Konkurrenzverhalten), organisatorische, finanzielle, technische und Risiken, die mit den Daten zusammenhängen. Zum Abschluss dieser Teilphase sollte ein Glossar der für das Projekt wichtigsten Begriffe erstellt werden, um der heterogenen Menge an beteiligten Personen eine Kommunikationsgrundlage zur Verfügung zur stellen. Im Gegensatz zu den in der jeweiligen Terminologie formulierten Anwendungszielen, werden dann konkrete Data-Mining-Ziele für die Datenanalyse formuliert, die aber aus den vorherigen abgeleitet beziehungsweise transformiert werden. Um am Ende des Data Mining die Ziele bewerten zu können, müssen auch hier Erfolgsfaktoren, qualitative und quantitative, festgelegt werden, die sich aber von den Erfolgsfaktoren der Anwendungsziele unterscheiden. Bei den Festlegungen sollte immer die spätere Verwendung der Ergebnisse als Ausrichtung dienen, d.h. die Deploymentaufgaben sollten die Zielsetzung mitbestimmen. Zum Abschluss der Einführungsphase ist durch die Ziele, Erfolgsfaktoren, Annahmen und Bedingungen ein Rahmen gegeben, der jetzt in einen genauen Projektplan umgesetzt werden muss. Hierzu sollten die einzelnen Schritte zusammen mit der Dauer, den benötigten Mittel sowie den Ein- und Ausgaben aufgeführt werden. Neben den Phasen sollten auch die kritischen Schritte, wichtige Entscheidungspunkte sowie die wichtigsten Iterationen herausgearbeitet werden, da die einzelnen Prozessphasen nicht sequentiell abzuarbeiten sind, sondern eine Vielzahl an Wiederholungen und Rückschritten in diesem Prozess vorhanden sind (siehe Abschnitt 4.4.1). Der einmal festgelegte Projektplan ist aber im Laufe des Projektes kritisch zu überprüfen und wenn nötig revidiert werden, um einer veränderten Situation ge- 83 4 Der KDD-Prozess recht zu werden. In Hinblick auf die nachfolgenden Phasen, sollte hier schon eine Vorauswahl von Miningtools und Techniken getroffen werden, soweit dieses auf der Basis der bisherigen Ergebnisse möglich ist. Je früher dieser Auswahl getroffen wird, um so eher können die Daten für die entsprechenden Anwendungen zielgerichtet ausgewählt und vorbereitet werden. 4.4.2.2 Data Understanding Das Data Understanding beginnt mit der Sammlung und der Beschäftigung mit den notwendigen Daten, um etwaige Probleme in Umfang oder Qualität herauszufiltern. Weiterhin sind in dieser Phase interessante Mengen zu finden um Hypothesen für versteckte Informationen zu formulieren. Am Anfang steht die Auswahl aus den zur Verfügung stehenden Quellen bzw. die Bestimmung von notwendigen, aber noch nicht verfügbaren Daten, zur Analyse und das Laden dieser Daten in eine Datenbank oder schon in ein spezielles Tool. Es sollte dabei dokumentiert werden, woher welche Daten stammen und welche Kriterien zur Selektion angewendet wurden. Die ausgewählten Daten werden im nächsten Schritt ausführlich beschrieben, wobei Aspekte wie das Format, die Anzahl der Daten, die einzelnen Datensätze samt ihrer Attribute und die Beziehungen dieser untereinander aufgeführt werden. Hierbei ist das Augenmerk auf die Schlüsselattribute der einzelnen Datensätze zu legen und auf mögliche überschneidungen in der gesamten Datenmenge (Redundanz). Zum Abschluss dieser Aufgabe müssen die Annahmen aus dem Business Understanding betrachtet und nötigenfalls korrigiert werden. Nach der Beschreibung sind die Daten nach gewissen Mustern und Untergruppen zu untersuchen, wobei aber keine Data Mining Methoden Anwendung finden, sondern einfache statistische Verfahren und Visualisierungstechniken. Die so gewonnenen Erkenntnisse dienen dazu, die Datenbeschreibung zu verfeinern und eventuell neue Hypothesen zu erzeugen oder die bisherigen Data Mining-Ziele zu korrigieren. Das Data Understanding wird durch eine Qualitätsanalyse auf der gewählten Datenmenge abgerundet, indem zum einen die Vollständigkeit und zum anderen die Korrektheit erhoben wird. Im Bereich der Vollständigkeit werden vor allem die fehlenden Attributwerte, deren Darstellung und Verteilung in den Daten, betrachtet und es wird 84 4.4 Darstellung der Prozessschritte am CRISP-DM festgelegt wie diese Daten behandelt und wie dieser Nutzereingriff sich auf die Analyse auswirken kann. Bei der Korrektheit wird neben klar ersichtlichen Fehlern nach Abweichungen in der Schreibweise der Werte geachtet, um daraus resultierende Schwierigkeiten in der Datenanalyse schon an dieser Stelle vermeiden zu können oder die potentiellen Fehlerquellen bei nachfolgende Iterationen in dem Qualitätsbericht zu vermerken. 4.4.2.3 Data Preparation Ziel dieser Vorbereitungsphase ist die Bereitstellung eines Datensatzes für die gewünschten Analysen und Verfahren, wozu die Aufgaben des Transformieren, Bereinigen und der Selektion in nicht festgesetzter Reihenfolge mehrfach wiederholt werden. Die Datenvorverarbeitung ist die arbeitsintensivste Phase des ganzen KDD-Prozessen und beansprucht teilweise mehr als die Hälfte der ganzen zur Verfügung stehenden Zeit. Die bisher gesammelten Daten werden nun nach der Relevanz zu den Data-Mining-Zielen und technischen Bedingungen wie dem maximalen Datenvolumen basierend auf den Datenauswahlkriterien aus dem Data Understanding ausgewählt. Anschlies̈send werden ausgehend vom Qualitätsreport die sauberen Teildaten gewählt und fehlende Werte durch Standardwerte ersetzt oder durch verschiedene Techniken aus den übrigen Daten modelliert, bis die benötigte Qualitätsstufe der Daten erreicht ist. Nachdem die Zieldatenmenge bestimmt und diese den geforderten QualitÄtsansprüchen genügt, werden sie anschliessend transformiert. Die Datentransformation umfasst das Erzeugen von neuen, abgeleiteten und umgewandelten Daten, wie die Einteilung in bestimmte Wertebereiche anstatt konkreter Ausprägungen (z.B. Einteilung in Altersgruppen anstatt des genauen Alters). Bei den abgeleiteten Daten ist anzumerken, dass sie zur Vereinfachung des nachfolgenden Data-Mining-Schrittes dienen sollen, nicht aber zur simplen Datenreduktion benutzt werden. Die Daten aus unterschiedlichen Quellen werden nun zu einer homogenen Datenmenge zusammengefasst, was insbesondere bei den Schlüsselattributen Schwierigkeiten hervorruft, da diese nun nicht mehr zwingend eindeutig sind und andererseits aber nur solche Daten zusammengefasst werden sollten, die vergleichbare Attribute einer Domäne in sich vereinen. Weiterhin sollten die entstehende Daten- 85 4 Der KDD-Prozess menge möglichst redundanzfrei sein, um die Qualität der Gesamtdaten zu gewährleisten. Auf der gewonnenen, einheitlichen Datenmenge müssen dann noch syntaktische Veränderungen durchgeführt werden, die nicht die Bedeutung der Werte verändern aber durch die Mining-Tools und deren Methoden bedingt sind. Beispiele für solche Anpassungen sind die Umordnung der Attribute, die Neuordnung der Datensätze oder die Veränderung der Darstellung (Gross- und Kleinschreibung). Sämtliche durchgeführten Datenveränderungen im Bereich des Data Preparation sind durch die jeweiligen Berichte zu dokumentieren, um die Aktivitäten in einer späteren Phase rekonstruieren zu können. 4.4.2.4 Modelling Der Bereich, der allgemein als Data Mining bezeichnet wird, umfasst die Auswahl und die Anwendung verschiedener Modellierungstechniken, um die in dem Business Understanding festgesetzten DataMining-Ziele zu erreichen. Hierzu ist neben der Einstellung der verschiedenen Parametern in den Tools, um die einzelnen Methoden zu konfigurieren, auch eine erneute Anpassung der Daten und damit ein Rückschritt in die vorherige Phase notwendig. Am Anfang der Prozessphase sind die aus der Menge der zur Verfügung stehenden Modellierungstechniken diejenigen zu selektieren, die in Bezug auf die Problemstellung und den gegebenen Rahmenbedingungen für die Aufgabe geeignet sind. Aus diesen ist dann eine initiale Methode für die Modellbildung zu wählen. Vor der eigentlichen Analyse ist eine Testprozedur zu erzeugen,um die Qualität und Gültigkeit eines Modells nach der Analyse zu bestimmen. Daher sind die Daten in Trainingsdaten zur Modellbildung und Testdaten zu trennen, wobei letztere auch noch für die beiden Teilaufgaben separiert werden können. Das Herzstück des gesamten KDD-Prozesses ist die Generierung von Modellen oder Mustern durch die Anwendung von verschiedenen DataMining-Methoden. Während dieser Teilphase steuert der Nutzer durch die Parametrisierung der einzelnen Verfahren die Endresultate der Analyse. Diese Parameterbelegung ist mit den Modellen abzuspeichern, um die Unterschiede in den Modellen in Beziehung zu den Einstellungen setzen zu können. Die so erzeugten Modelle sind mit den Testdaten zu validieren und mit den im Business Understanding festgelegten Data-Mining-Erfolgsfaktoren zu vergleichen. Wenn diese 86 4.4 Darstellung der Prozessschritte am CRISP-DM Kriterien nicht erreicht werden, so muss die Modelling-Phase wiederholt und die Parameterwahl verändert werden. 4.4.2.5 Evaluation Nach Abschluss der Mining-Phase sind die gefundenen Ergebnisse in Form von Modellen einer kritischen Betrachtung zu unterziehen. Bevor die Ergebnisse zum Deployment freigegeben werden, müssen die zu Beginn aufgestellten Geschäftsziele hinsichtlich ihrer Erfüllung betrachtet werden. Nebenbei werden auch die Modellierungsmethoden und die Schritte des gesamten Prozess überprüft, um etwaige Verbesserungspotentiale zu erkennen. Im Anschluss an diese Prüfungen wird über den Prozessfortgang und den Grad der Nutzung der Ergebnisse entschieden. Nachdem in der Modelling-Phase die Ergebnisse nach den Erfolgsfaktoren des Data Mining betrachtet wurden, werden sie nun durch die Erfolgskriterien der Anwendungsziele beurteilt. Dazu werden die Ergebnisse in die Sprache des Anwendungsumfeldes übersetzt und es wird überprüft, inwieweit die Ergebnisse die Forderungen erfüllen und wie gros̈s der Neuheitsgrad der Informationen ist. Sind die Resultate ausreichend, so werden sie für das Deployment freigegeben, anderenfalls müssen die mangelhaften Teilbereiche durch neue Analysen verbessert werden. Im Anschluss an die Ergebnisbewertung sollte der ganze bisherige Prozess rückblickend betrachtet werden. Als Ergebnis dieser Betrachtungen sollten Bereiche aufgezeigt werden, die bisher übersehen wurden und die für die gestellten Ziele von gros̈ser Relevanz sind, und Phasen in dem Prozess, die noch Verbesserungspotentiale beinhalten . Um diese herauszufiltern, muss jeder einzelne Schritt im Prozess hinsichtlich seiner Notwendigkeit und der Durchführung betrachtet werden um so neues Wissen über den Prozess zu erzeugen. Die Erkenntnisse der beiden vorangegangenen Aufgaben Ergebnisbewertung und Prozessrückblick entscheiden über den weitere Vorgehensweise im aktuellen Projekt: Es muss dabei zwischen den Alternativen entschieden werden, das Projekt zu beenden und in die Deploymentphase überzugehen, weitere Iterationen der Modellingphase zu starten oder aufgrund der Erkenntnisse ganz neue Projekte zu initiieren. Es ist aber nicht zwingend vorgeschrieben, dass nur eine Möglichkeit gewählt wird, sondern es können mehrere der Alternativen verfolgt werden. 87 4 Der KDD-Prozess 4.4.2.6 Deployment Die Bildung und Prüfung von Modellen ist nicht das Ende des KDDProzesses, denn das gewonnene Wissen wird in der Deployment-Phase für die Weiterverarbeitung organisiert und aufbereitet. Die Verwendung der Ergebnisse reicht von einfachen Reports, über personalisierte Webpages als Echtzeitverwendung, bis hin zur Errichtung von automatischen Mining-Prozessen oder dienen als Grundlage für die Gestaltung eines neuen Softwaresystems. Der Deploymentschritt ist im Prozess die Schnittstelle zwischen dem Datenanalysten und dem Kunden, da diese Phase von beiden Parteien durchgeführt werden kann. Die Definition dieser Schnittstelle sollte schon in der ersten Projektphase festgelegt werden, um eine optimale Nutzung der Ergebnisse zu gewährleisten. Um die durch eine Datenanalyse gewonnenen Ergebnisse optimal weiterverarbeiten und in das Anwendungsfeld integrieren zu können muss für die Deployment-Phase ein Strategieplan entwickelt werden, der die notwendigen Schritte und deren Ausführungszeitpunkte festhält. Die einmal erzielten Ergebnisse müssen nach Abschluss des Projektes weiterhin gewartet und überwacht werden, was ebenfalls strategisch geplant und festgelegt werden sollte. Dieser Bereich ist um so wichtiger, je mehr die Daten im täglichen Einsatz sich befinden und neue Daten aus den Geschäftsbetrieb entstehen. Es sollten daher vor allem die dynamischen Aspekte genauer betrachtet werden, die eine Datengrundlage verändern können und neue Analysen bedingen, um nicht zu lange auf veralteten und je nach Bereich schlechten Analyseergebnissen zu operieren. Am Ende eines Projektes wird dieser dann in seiner Gesamtheit betrachtet und die Ergebnisse dieser Betrachtungen sollten in einen Abschlussbericht festgehalten werden. Dieser Bericht beinhaltet Aspekte, wie die übereinstimmung der erhaltenen Ergebnisse mit den Forderungen in Bezug auf Qualität, Zeit und Kosten, Gründe für etwaige Abweichungen von den Zielen, aber auch der Ausblick in die Zukunft in Form von Implementierungsplänen sind hierin aufzunehmen. Neben den Ergebnissen sind die Arbeitsbedingungen während des Projektes zu analysieren, um die Erfahrungen für spätere Projekte zu nutzen; Interviews aller an dem Projekt beteiligten Personen, von den beteiligten Analysten bis hin zu den Kunden, liefern dabei die gewünschten Resultate, die dann ebenfalls in den Abschlussbericht sich wiederfinden sollten. 88 4.4 Darstellung der Prozessschritte am CRISP-DM Insgesamt kann der CRISP-DM als ein sehr umfassender Ansatz für die Realisierung des KDD-Prozesses angesehen werden, jedoch wird er wie schon erwähnt nur durch das Unternehmen SPSS in deren Software Clementine umgesetzt. Für eine qualitative Bewertung wäre aber gerade die Anwendung dieses Modelles durch ein nicht am Entwicklungsprozess beteiligtes Unternehmen, um die Allgemeingültigkeit zu verifizieren. Zur Darstellung der einzelnen Aufgaben in den unterschiedlichen Phasen des KDD-Prozesses eignet sich CRISP-DM sehr gut, da eine sehr strukturierte Vorgehensweise gegeben ist. 89 4 Der KDD-Prozess 4.5 Andere Modelle Abbildung 4.5: Übersicht über die Prozessmodelle (angelehnt an [GS99]) Nachdem im vorangegangenen Kapitel auf das CRISP-DM-Modell ausführlich eingegangen wurde, werden nun vier weitere Modelle für den KDD-Prozess vorgestellt: Der weit verbreitete Ansatz von Fayyad, der etwas detaillierte Entwurf von Brachman und Anand, ein Modell aus dem Marketingbereich von Hippner und Wilde und das unternehmenseigene Modell SEMMA von SAS. Sämtliche Modelle werden anhand der Phasen von Gaul und Säuberlich eingeordnet (Abbildung 4.5) und es werden die wesentliche Unterschiede zum ausführlich dargestelltem CRISP-DM aufgezeigt. 4.5.1 Modell nach Fayyad Der KDD-Prozess nach Fayyad [FPSS96c] wird als interaktiv und iterativ beschrieben, der sich aus neun grundlegenden Aufgaben zusammensetz. Am Anfang steht dabei das Identifizierung der Ziele des gesamten Prozesses aus Kundensicht und allgemein ein Verständnis für die den zu untersuchenden Bereich zu entwickeln. Die nächsten Schritte sind ähnlich dem CRISP-DM die Auswahl der Daten und deren Vorverarbeitung und Transformation für das Data Mining. Zur Vorbereitung auf diese Analysephase müssen die Ziele des KDDProzesses in Data-Mining-Ziele übersetzt werden, um dann die anzuwendenen Methoden auszuwählen. Im Anschluss an das Data Mining sollen die Ergebnisse interpretiert und ausgewertet werden. Aufgrund 90 4.5 Andere Modelle Abbildung 4.6: KDD-Prozessmodell nach Fayyad [BA96] der hier gewonnenen Erkenntnisse kann zu einer der bisherigen Phasen zurückgesprungen werden. Ein Rücksprung in eine vorherige Phase ist zwar von allen Phasen aus möglich, die hier betrachtete Evaluationsphase ist aber häufig der Ausgangspunkt für begründete Rückschritte. Die letzte Aufgabe im Modell von Fayyad ist die Anwendung der erzielten Resultate in anderen Anwendungen, die Generierung von Berichten für verschiedenen Adressaten und der abgleich des neuen Wissens mit der bisherigen Wissensbasis, um etwaige Veränderungen oder bisher fehlerhafte Annahme herauszuarbeiten. Das Modell von Fayyad wird in Abbildung 4.6 leider nur zum Teil dargestellt. Einerseits werden verschiedene Aufgaben zu einem Begriff zusammengefasst, andererseits werden die erste und letzte Phase in der Darstellung gar nicht wiedergegeben. Die aus der Abbildung übernommenen Phasen decken die Bereiche des Preprocessing (zusammengesetzt aus Selection, Preprocessing und Transformation), des Data Mining und des Postprocessing nach [GS99] ab. Die Bereiche des Task Analysis und des Deployment sind nicht in der Abbildung bereücksichtigt werden aber in [FPSS96c] erwähnt. Der Ansatz CRISP-DM und das Modell von Fayyad weisen gros̈se ähnlichkeiten auf, einzig der Bereich Data Understanding wird von Fayyad in zwei Phasen unterteilt. Inhaltlich werden aber die gleichen Aufgaben in diesem Bereich erwähnt. Obwohl Fayyad’s 91 4 Der KDD-Prozess Ansatz zeitlich vor dem CRISP-DM entstanden ist, wurde CRISPDM aufgrund der detaillierten hierarchischen Gliederung (Kap. 4.4.1 [CRI02]) für die Darstellung der einzelnen Aufgaben gewählt. In der Literatur wird zum Thema Knowlegde Discovery in Database allgemein das Modell von Fayyad verwendet. 4.5.2 Modell nach Brachman und Anand Das Modell von Brachman und Anand [BA96] besteht ist aus sechs Hauptphasen aufgebaut, die den gesamten Prozess des KDD abdecken. Der Prozess beginnt dem dem Task Discovery, das die Ziele des KDD herausarbeitet und somit eine Arbeitsgrundlage liefert. Auf der Basis dieser wird im Data Discovery die notwendige Zieldatenmenge aus den zu Verfügung stehenden Datenquellen ausgewählt. Hierbei sollte auch ein genaues Verständnis über die Beschaffenheit der Daten (Fehler, Redundanz, Vollständigkeit) erzielt werden. Diese Erkenntnisse sind die Grundlage für das Data Cleaning, der Datenaufbereitung und -transformation, wobei darauf hingewiesen wird, das durch die Datenbereinigung auch wichtige Daten aufgrund ihrer Einzigartigkeit gelöscht oder verändert werden können, was zu veränderten Analyseergebnisse führen kann. Anschliessend erfolgt in der Phase Model Development eine Segmentierung der Daten, die Auswahl eines Miningsverfahrens und die Festlegung der notwendigen Parameter. Die eigentliche Anwendung der Data Mining Methoden erfolgt in dem Data Analysis. Weiterhin wird die Evaluation der Ergebnisse und eine Verfeinerung der gewählten Modelle in dieser Prozessphase durchgeführt. Hierdurch wird sichtbar, dass die Anwendung der Analysemethoden nicht nur ein einziges Mal geschieht, sondern solange wiederholt wird, bis die Ergebnisse den Anforderungen durch die KDD-Ziele entsprechen. Zum Abschluss werden die Ergebnisse in der Phase des Output Generation für die unterschiedlichen Verwendungszwecke aufbereitet (Berichte, Handlungsanweisungen, Modelle als Spezifikatio für ein Programm, ...). Die Phasen von Brachman und Anand lassen sich weitesgehend in das gegebene Schema von [GS99] einordnen: Der Bereich des Task Discovery deckt den des Task Analysis vollständig ab, während das Preprocessing durch das Data Discovery und Cleaning erfüllt wird. Im Data Mining Bereich ist das Model Development einzuordnen, die weitere Funktionalität, anwenden der Miningverfahren, ist in dem Data Analysis zu finden. Jedoch ist in dem Modell von Brachman 92 4.5 Andere Modelle Abbildung 4.7: Modell nach Brachman und Anand [BA96] und Anand auch weite Teile des Postprocessing in dem Data Analysis integriert, so dass eine eindeutige Zuordnung nicht erfolgen. Die letzte Phase des Output Generation deckt den Bereich des Deployment von Gaul und Säuberlich weitesgehend ab. Das sehr umfassende Phase des Data Analysis stellt auch im Vergleich zum CRISP-DM den grössten Unterschied dar, da CRISP-DM die Aufgaben auf die beiden Bereiche Modelling und Evaluation aufteilt. Aufgrund der häufigen Wechsel zwischen dieses beiden Bereichen ist eine Vereinigung der Phasen als sinnvoll zu erachten. 4.5.3 Modell nach Hippner und Wilde Der Ansatz von Hippner und Wilde hat seine Wurzel im Marketing, unterscheidet sich deswegen aber nicht grundsätzlich von den anderen Vorschlägen aus dem engeren KDD-Umfeld. Das Modell deckt alle relevanten Aufgaben eines KDD-Prozesses ab und untergliedert sich dabei in insgesamt sieben Phasen, wobei die Reihenfolge der Phase nicht als starres, allgemein gültiges Schema zu verstehen ist, sondern als eine nach der typischen Ablaufreihenfolge geordnete Toolbox von Methoden und Entscheidungshilfen [HW00]. Am Anfang eines jeden Projektes steht die Aufgabendefinition, in der die betriebswirtschaftliche Problemstellung bestimmt wird, aus 93 4 Der KDD-Prozess dieser konkrete Data-Mining-Ziele abgeleitet werden und schlies̈slich in einem Projektplan münden, nach der Einteilung von [GS99] die Phase der Task Analysis. Aufbauend auf die Formulierung der analytischen Ziele für das Data Mining werden in der nächsten Phase die relevanten Daten katologisiert, qualitativ bewertet und ausgewählt. Die so bestimmten Daten werden anschließend aufbereitet, worunter Hippner und Wilde die Transformation, Anreicherung, Reduktion und die Behandlung von Fehlern in der Datenmenge verstehen. Die beiden zuletzt genannten Phasen decken genau den Aufgabenbereich des Preprocessing in dem Schema nach [GS99] ab; die folgende Hauptphase des Data Mining wird in dem hier betrachteten Modell in die Aufgabenbereiche der der Auswahl von Data-MiningMethoden, was auch die Auswahl des eines Data-Mining-Werkzeugs impliziert, und die Anwendung der gewählten Mehtoden auf die gebildete Zieldatenmenge. Nach jedem Data Mining erfolgt eine Interpretation bzw. Evaluation der gewonnenen Data-Mining-Resultate, aus denen die aufgabenrelevanten ausgefiltert und aus betriebswirtschaftlicher Sicht bewertet werden. Neben der Betrachtung der Ergebnisse wird auch der Prozess des Data Minings einer Prüfung unterzogen. Abgeschlossen wird das Prozessmodell durch die Verwendung der neu entstandenen Wissens durch die Integration und Anwendung in den operativen Geschäftsprozessen und als Grundlage für Führungsentscheidungen oder Aufgabendefinition für weitere KDD-Projekte. Die Trennung zwischen den beiden letztgenannten Phasen wird bei Hippner und Wilde nicht so strend wie in anderen Modellen angewandt; das Aufgabenspektrum in diesen Bereichen entspricht denen der Evaluation und des Deployment in der Einteilung von Gaul und Säuberlich. Im Vergleich mit dem CRISP-DM ist eine sehr gros̈se Ähnlichkeit zu finden, alleine die Phase des Modeling wird bei Hippner und Wilde in die Auswahl und die Anwendung der Data-Mining-Methoden unterteilt. Weiterhin werden im Gegensatz zu dem allgemeingültigen Ansatz in [CRI02] die Aufgaben des KDD auf den Marketingbereich bei [HW00] fokussiert. 4.5.4 Modell SEMMA von SAS Das Modell SEMMA [SAS02b], wurde von SAS, im Gegensatz zu den bisherigen Modellen, speziell für die unternehmenseigene Software entwickelt. Zwar findet das in Kapitel 4.4 vorgestellte CRISP- 94 4.5 Andere Modelle DM bisher auch nur in einem namhaften Werkzeug Anwendung, das Prozessmodell ist aber applikationsneutral gestaltet. Der Name des SAS-Modells leitet sich dabei aus den Hauptaufgaben Sample, Explore, Modify, Model und Asses ab, die gleichzeitig die Phasen für das Modell bilden. Abbildung 4.8: Das Prozessmodell SEMMA von SAS [SAS02b] In der ersten Phase, dem Sampling, werden einerseits die notwendigen Daten gesammelt, ausgewählt und teilweise schon transformiert; andererseits werden die Daten in Trainingsdaten, auf denen die Analysemethoden angewandt werden, und Testdaten, die die Ergebnisse der Analyse validieren, unterteilt. Die gegebene Datenmenge wird soweit es in diesem Stadium möglich ist durch statistische Methoden vereinfacht, um das Datenvolumen zu reduzieren um so den nachfolgenden Prozess zu beschleunigen. Nach dem Sampling ist der nächste Schritt eine explorative Analyse der Daten durch Visualisierung oder Verfahren aus der Statistik wie das Clustering. Die Explore-Phase soll für ein besseres Verständnis der Daten sorgen und Trends bzw. Untergruppen finden, um den gesamten Prozess zu verfeinern. In der dritten Phase werden die Daten für die eigentlichen Analyseverfahren vorbereitet. Die ersten drei Phasen lassen sich in der Aufteilung 95 4 Der KDD-Prozess von [GS99] dem Bereich des Preprocessing zuordnen; die Aufgabe des Task Analysis wird von diesem Modell durch keinerlei Funktionalität abgedeckt. Die Anwendung von Data-Mining-Verfahren im SEMMA-Prozessmodell wird dann durch die gleichnamige Phase Modeling durchgeführt, wobei die möglichen Verfahren (neuronale Netze, baumbasierte Modelle, ...) als einzelne Unterphasen im SEMMAModell aufgeführt werden (siehe Abbildung 4.8). Die Ergebnisse der Analyse werden abschließend in der Assess-Phase hinsichtlich Brauchbarkeit und Zielerreichung bewertet (allgemein als Postprocessing beschrieben). Nach dieser der Bewertung ergeben sich dann neue Miningziele für nachfolgende Projekte oder bei Unzufriedenheit wird in die Explore-Phase zurückgesprungen[UKO99, SAS02a]. Hier liegt ein großer Unterschied zu den anderen Modellen, wo man aus fast jeder Phase in die übrigen Phasen übergehen konnte. Der Bereich des Deployment [GS99], findet wie das Task Analysis in dem hier betrachteten Ansatz keine Berüchsichtigung. Das Fehlen der ersten und letzten Phase sowie die teilweise schon in der Explore-Phase durchgeführten Analysen bilden die Hauptunterschiede zum CRISP-DM aus Kapitel 4.4. 4.5.5 Verteiltes Data Mining Bei den bisher betrachteten Modellen wurde bei der Analyse immer von einer, einheitlichen Datenbasis ausgegangen. Beim nun betrachteten verteiltem Mining werden verschiedene Quellen zum Zeitpunkt des Mining in den Prozess eingebunden. Dieser neue Ansatz ist auf die Mining-Phase fokussiert, berührt aber auch die Bereiche der Vorund Nachverarbeitung. Um den Prozess des verteilten Data Mining zu veranschaulichen, wird das Modell von Krishnaswamy [KZL00] hier genauer betrachtet: Grundlage des Modells ist die Umsetzung des Client-Server-Ansatzes und die Verwendung von mobilen Agenten, welche selbständig bei bestimmten Ereignissen eine Aufgabe automatisch ausführen. Auf der obersten Ebene befinden sich die verschiedenen Nutzer, die Anfragen an den verteilten Data Mining Server auf der mittleren Ebene stellen. Dessen Hauptbestandteil ist das verteilte Data Mining Management System, das die verschiedenen Aufgaben im Prozess durchführt bzw. verwaltet. Die Komponenten des Systems sind der User Manager zur Verwaltung von Benutzern und deren Anfragen, ein Algorithmen Manager zur Verwaltung der verschiedenen Analysemethoden, 96 4.5 Andere Modelle Abbildung 4.9: Verteiltes Data-Mining-Modell (nach [KZL00] eine Einheit zur Optimierung der Data-Mining-Aufgaben (Optimizer) und die beiden Hauptakteure, der Mining Process Manager und das Agent Control Center. Während der Process Manager für die Kommunikation der Komponenten untereinander sorgt, stimmt das Control Center das Verhalten der Agenten aufeinander ab. Bei den Agenten unterscheidet man in den User Agent, der den einzelnen Nutzer Informationen und Ergebnisse liefert, dem Network Manager für die Aufrechterhaltung des Netzes verschiedenen Quellen und dem Data Resource Monitoring Agent, der Informationen über einzelne Quellen bereithält. Für die eigentlichen Mining-Aufgaben stellt das System den Mine-Sweeper Agent für die konkrete Verbindung zur Datenquelle und der Datenvorverarbeitung und den Mining Agent, der eine Instantiierung eines bestimmten Algorithmus darstellt, bereit. Die Ergebnisse der getrennten Analysen werden in der Agent Control Center Komponente, dem Knowledge Integrator, vereint, der die Endergebnisse über den User Agent an die einzelnen Anwender weiterleitet. 97 4 Der KDD-Prozess 4.6 Wichtige Aspekte für das Projekt In diesem Abschnitt werden die bisherigen Ergebnisse zum einen in Verbindung mit Miningtools gebracht und dann der Prozess in das für das Projekt beispielhafte Handelsszenario integriert. 4.6.1 Anwendung von Modellen in Softwarewerkzeugen In diesem Abschnitt werden die verwendeten Modelle von Softwarelösungen im Bereich des KDD betrachtet. Das Data-Mining-Tool der Firma SAS, der Enterprise Miner [SAS02a], verwendet das eigene Modell SEMMA [SAS02b], welches speziell für die Software entworfen wurde. Damit ist auch zu erklären, dass SEMMA nicht die Phasen der Task Analysis und des Deployment umfasst, da diese Phasen in den meisten Fällen nicht von den Mining-Tools unterstützt werden. SEMMA ist also nur das Abbild des SoftwareProzesses und im eigentlichen Sinne kein KDD-Prozessmodell. Die Firma SPSS war die führende Kraft in der Entwicklung des CRISP-DM [CD00], dass Ihr Tool Clementine [SPS02] nach diesem Modell aufgebaut ist. Im Gegensatz zum SEMMA-Modell von SAS deckt CRISP-DM aber den gesamten KDD-Prozess ab, denn es wurde kein Modell für eine Software entwickelt, sondern die Software wurde nach dem allgemeingehaltenen Modell konzipiert. Clementine unterstützt aber nicht den ganzen Prozess, da sich das Business Understanding nur schlecht durch Software unterstützen lässt und auch das Deployment wird nicht in vollem Umfang durch das Tool abgedeckt. Der dritte namhafte Anbieter, IBM, verwendet einen eigenen Ansatz für ihren Intelligent Miner“ [IBM02b], der sich aber nicht sehr ” von den anderen Modellen unterscheidet. Die Software gliedert sich grob in die Phasen Datenauswahl, Datenumwandlung, dem eigentlichen Data Mining und der Auswertung [IBM01]; die Integration in ein Geschäftsumfeld und das Verwenden der Ergebnisse wird nicht unterstützt. 4.6.2 KDD im Projekt Für die Projektgruppe Personalisierung internetbasierter Handels” szenarien“ erscheint mir eine Orientierung an CRISP-DM sinnvoll, da der Prozess dort sehr detailliert und strukturiert beschrieben wird 98 4.6 Wichtige Aspekte für das Projekt und einen Handlungsrahmen für das Projekt liefert. Weiterhin ist zu diesem Zeitpunkt der Einsatz eines bestimmten Softwarewerkzeuges vorgesehen, dass ein konkretes Modell vorgibt. Die in CRISP-DM vorgestellten sechs Phasen werden im Projekt allesamt durchlaufen, wenn auch mit unterschiedlicher Intensität. Dabei umfasst das Business Understanding die Betrachtung der verschiedenen Teilnehmer an den Szenarien (Online- und Offline-Händler sowie Kartenanbieter) und deren unterschiedlichen Aufgaben und Ziele. Diese Erkenntnisse werden dann im Data Understanding auf die im Prozess verwendeten Daten angewandt. Dabei verfügen sämtliche Teilnehmer über selbsterhobene Daten als auch über Daten von den anderen Teilnehmern: Der Kartenanbieter besitzt die Daten der Karteninhaber und erhält von den Händlern einerseits Stammdaten zum Unternehmen und den Produkten und andererseits die Transaktionsdaten. Die Händler wiederum erheben diese Daten erhalten von dem Kartenanbieter Analyseergebnisse, die mit den eigenen Daten die Datenbasis für eine Analyse bilden. Die Datenvorverarbeitung (Data Preparation) besteht somit aus der Integration der verschiedenen Datenquellen zu einer homogen Datenbasis auf denen ein Data Mining stattfinden kann. Dieser Bereich ist vor allen Dingen für den Kartenanbieter eine große Aufgabe, da er mit einer Vielzahl von unterschiedlichen Händlern einen Datenaustausch hat, während ein Händler nur die eigenen und die Daten meist eines Cardproviders zu integrieren hat. Das Modeling, die Auswahl und die Anwendung von Mining-Methoden findet wiederum auf beiden Seiten statt, wenn auch die Verfahren sich je nach Akteur unterscheiden werden. Auch die Evaluation der Ergebnisse und die Betrachtung des Prozesses wird folglich sowohl bei den Händlern als auch beim Cardprovider durchgeführt, wobei bei Letzterem diese Phase wesentlich intensiver sein wird. Der Grund dafür ist in der Vielzahl der Datenquellen und der damit verbundenen großen Anzahl von Adressaten der Analyseergebnisse. Die Aufgaben des Deployment bestehen beim Cardprovider aus der Aufbereitung der Analyseergebnisse für die verschiedenen Kunden (Händlern), während ein Händler die gewonnenen Erkenntnisse aus dem Data Mining in ein personalisiertes Angebot für die Endkunden übersetzen muss. 99 4 Der KDD-Prozess 4.7 Zusammenfassung In dieser Arbeit wurde der Prozess des Knowledge Discovery in Databases beschrieben, der die komplexe Analyseaufgabe in Phasen untergliedert, die zueinander in einer wechselseitigen Beziehung stehen. Das Ziel dieser Arbeit bestand darin, die einzelne Phasen und die und die verbundenen Aufgaben herauszuarbeiten und die unterschiedlichen Modellansätze einzordnen, um sie untereinander vergleichbar zu machen. Hierzu wurde nach einer kurzen Beschreibung und Abgrenzung des KDDs zunächst die Hauptphasen eines allgemeinen Modelles herausgearbeitet, an denen die Einordnug der konkreteren Ansätze durchgeführt wurden. Die genaue Aufgabenstellung einer jeden Phase wurde anhand des CRISP-DM vorgestellt, welches im Anschluss als Vergleichsobjekt bei der Darstellung der übrigen Modelle herangezogen wurde. Zum Abschluss wurde aufgezeigt, wo die einzelnen Prozessphasen im Projekt Anwendung finden können, und welche Modelle von den einzelnen Softwaretools verwendet werden. 100 5 Data Preprocessing Datenvorverarbeitungsschritte des Prozessmodelles Ralph Stuber Daten treten in der realen Welt oftmals unvollständig, mit Fehlern behaftet oder inkonsistent auf. Weiterhin erfordert die Integration mehrerer Datenbestände in einen gemeinsamen Datenbestand oftmals die Anpassung einzelner Daten, sei es, weil der Wertebereich differiert oder weil einfach syntaktische Unterschiede zwischen den zu vereinheitlichenden Datensätzen vorherrschen. Soll schließlich knowledge ” discovery“ auf Daten betrieben werden, so können heterogene Daten Konfusionen verursachen, die zu unzuverlässigen und ungenauen Ergebnissen führen können. Wächst die Datenmenge enorm an, so kann eine Datenreduktion sowohl die Geschwindigkeit einer Datenverarbeitung als auch deren Kosten senken. Die angesprochenen Fragestellungen lassen sich in gewissem Maße mit Hilfe von Datenvorverarbeitungsschritten durchführen. Es werden hierzu verschiedene Technologien und Vorgehensweisen vorgestellt. 101 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles 5.1 Einleitung Daten treten in der realen Welt unvollständig, mit Fehlern oder Ausreißern behaftet und inkonsistent auf (vgl. [Zho02]). In Vorverarbeitungsschritten kann man Fehler beseitigen, fehlende Datensätze ergänzen und Ausreißer entfernen, also sog. data cleaning“ betrei” ben (vgl. [HK00b]). Unbereinigte Daten können Konfusionen beim Data Mining-Prozess verursachen, was zu unzuverlässigen Ergebnissen führt. So können Daten beispielsweise verfälscht werden, wenn Daten unterschiedlicher, nicht einander angeglichener Wertebereiche oder Einheiten zusammengefügt werden (beispielsweise das Zusammenrechnen zweier Strecken, wobei der Wert der einen in der Einheit Meter angegeben wird, der Wert der anderen hingegen in der Einheit Kilometer). Weitere Arten von Konfusionen werden im Folgenden beschrieben. Weiterhin muss Datenintegration betrieben werden, um Daten aus verschiedenen Quellen einander anzugleichen (beispielsweise verschiedene Namen für die selben Felder wie customer id und cust id), da sonst Redundanzen und Inkonsistenzen entstehen können (vgl. [HK00b]). In der Regel werden die Schritte der Datenbereinigung (data cleaning) und der Datenintegration (data integration) in der Transformationsphase der Datenaufbereitung für ein Data Warehouse durchgeführt. Ein zusätzlicher Datenbereinigungsschritt kann durchgeführt werden, um die Redundanzen zu entfernen, die durch Datenintegration entstehen können. Zudem können bestimmte Data Mining-Methoden die Daten in normalisierter Form besser verarbeiten, so dass der Schritt der Datennormalisierung durchgeführt werden muss, bevor Data Mining-Methoden die Daten weiter verarbeiten können. Datentransformationsoperationen wie Normalisierung und Aggregation sind zusätzliche Vorverarbeitungsschritte, die einen Beitrag zum Erfolg des Data Mining-Prozesses leisten. Eine Reduktion der zu analysierenden Daten bringt Performancegewinne mit sich, so dass der Data Mining-Prozess schneller und kostengünstiger durchgeführt werden kann. Es gibt viele Arten der Datenreduktion (data reduction) wie z.B. Datenaggregation (data aggregation) beispielsweise bei der Erstellung eines Datenwürfels oder Dimensionsreduktion (dimension reduction) zum Entfernen irrelevanter Attribute durch Korrelationsanalyse. Weiterhin trägt die Datenkomprimierung (data compression) unter Nutzung verschiedener Ko- 102 5.2 Datenbereinigung (data cleaning) dierungsschemata zur Verkleinerung des physikalischen Datenbestandes bei und eine Numerische Datenreduktion (numerosity reduction) kann zur Ersetzung der Daten durch kleinere alternative Repräsentationsformen wie Verbände oder Diskretisierung (discretization) und Konzepthierarchiebildung (concept hierarchy generation) zur Organisation der verschiedenen Abstraktionsebenen (vgl. [HK98],[HK00b]) verwendet werden. Die Vorverarbeitungsschritte schließen sich nicht gegenseitig aus. Durchgeführte Schritte können so beispielsweise sowohl als data cleaning als auch als Datenreduktion betrachtet werden. Ziel dieser Arbeit ist es, die oben aufgeführten Datenvorverarbeitungsschritte anhand von Theorien und Beispielen vorzustellen und näher zu erläutern. 5.2 Datenbereinigung (data cleaning) Die Datenbereinigung beschäftigt sich mit grundlegenden Problemen, die in Daten der realen Welt auftreten können. Darunter fallen u.a. der Umgang mit fehlenden Attributwerten (siehe 5.2.1) oder zufälligen Fehlern in Attributwerten (noisy data) (siehe 5.2.2) sowie Inkonsistenzen bzgl. der referenziellen Integrität (siehe 5.2.3) (vgl.[BG01], [Böh01], [Zho02]). In diesem Kapitel sollen verschiedene Lösungsansätze zur Behandlung dieser Probleme vorgestellt werden. 5.2.1 Fehlende Werte (missing values) Es kann vorkommen, dass einzelne Werte nicht vorhanden sind. Daher benötigt man verschiedene Verfahren, mit fehlenden Werten umzugehen. So kann das Tupel beispielsweise ignoriert werden. Diese Methode ist jedoch nicht sehr effektiv, es sei denn, einer Mehrzahl an Attributen fehlt der Wert. Alternativ können fehlende Werte auch manuell eingefügt werden. Diese Methode ist wiederum sehr zeitintensiv, es kann in einigen Indikationen sogar undurchführbar aufwändig sein. Weiterhin kann eine globale Konstante zum Ausfüllen des fehlenden Wertes genutzt werden. Hierbei kann man Bezeichnungen wie Unbekannt“ ” oder Minus Unendlich“ verwenden bzw. einführen. Statt der Heran” ziehung einer globalen Konstante gibt es auch die Möglichkeit, den Durchschnittswert aller Einträge, die zur selben Klasse wie das Tupel mit dem fehlenden Wert gehören, zu berechnen und diesen dann in 103 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles die leeren Attributfelder einzusetzen, oder anstelle des Durchschnittswertes den wahrscheinlichsten Wert hierfür heranzuziehen. Ermittelt wird der wahrscheinlichste Wert anhand statistischer Methoden. In manchen Fällen kann ein fehlender Merkmalswert als zulässige Merkmalsausprägung kodiert werden. Dies macht genau dann Sinn, wenn aufgrund der Semantik der Merkmalsausprägung in einem speziellen Fall kein Wert für eine Entität der realen Welt existiert, wie z.B. das Lebensmittel Honig kein Mindesthaltbarkeitsdatum hat, wohingegen die meisten Lebensmittel verderblich sind und somit ein Mindesthaltbarkeitsdatum aufweisen. Schließlich kann ein Datensatz mit fehlenden Merkmalsausprägungen als fehlerhaft gekennzeichnet und somit von der Weiterverarbeitung ausgenommen werden. (vgl. [HK00b],[HMKW01],[Zho02]) Zu beachten ist, dass die Methoden der Heranziehung einer globalen Konstante bzw. eines Durchschnittswertes oder auch eines wahrscheinlichsten Wertes sowie die Kennzeichnung als zulässige Merkmalsausprägung die Daten beeinflussen, so dass die eingefügten Werte möglicherweise nicht korrekt sind und somit die Datenqualität leidet, d.h. die Semantik der Daten verfälscht wird. Auch das Ignorieren des Tupels mit fehlendem Attributwert oder die Kennzeichnung des gesamten Tupels als fehlerhaft sind problematisch, da in diesen Fällen sich die Wahrscheinlichkeitsverteilung der Attributwerte ändert, und somit die Semantik der Daten ebenfalls verfälscht werden kann. 5.2.2 Verrauschte Daten (noisy data) Daten der realen Welt enthalten u.U. noisy data. Darunter versteht man einen zufälligen, fehlerhaften Wert oder eine Abweichung in einem gemessenen Attributwert (vgl. [HK00b]). Es gibt mehrere Techniken, mit noise behaftete Daten zu glätten (man nennt dies im Englischen data smoothing). Eine Technik ist die der Klasseneinteilungen (binning) (vgl. [Zho02]). Diese Methode glättet Daten durch Beobachtung der Umgebung, indem die sortierten Werte in Eimern“ ” (engl. bins) gruppiert und durch deren Mittel- oder Grenzwerte ersetzt werden. Es gibt verschiedene Verteilungsmöglichkeiten für das binning, auf die im Folgenden näher eingegangen wird. Bei der Equiwidth-Verteilung ist die Tiefe der Klassen einheitlich, d.h. die Wertebereichs-Intervalle der Elemente innerhalb der Klassen sind gleich groß. Ein Beispiel ist in Abbildung 5.1 aufgeführt. Bei der Equidepth-Verteilung ist die Anzahl der Vorkommen pro 104 5.2 Datenbereinigung (data cleaning) {1} genau:[1,3.3) {3} [3.3,6.6) {8,10} [6.6,10] Die Elemente {1,5,8,10} sind in drei Klassen einzuteilen. Abbildung 5.1: Equiwidth-Verteilung Klasse konstant, d.h in jeder Klasse ist exakt die selbe Anzahl von Elementen vorhanden. Eine solche Verteilung ist in Abbildung 5.2 dargestellt. Bei v-optimaler Verteilung wird die Verteilung gewählt, bei der die {5} {5,8} {1} {1} {1,5} {8} {8,10} oder {10} oder {10} Die Elemente {1,5,8,10} sind in drei Klassen einzuteilen. Abbildung 5.2: Equidepth-Verteilung gewichtete Summe aller Varianzen der Originalwerte innerhalb der Klassen am kleinsten ist. In Abbildung 5.3 ist ein Beispiel zu sehen. Hier errechnen sich die Varianzen nach der Formel V arianz = 1 Σi (xi − x̄)2 n−1 (5.1) wobei n die Anzahl der Klassen, xi den i-ten Wert innerhalb der Klasse und x̄ den Mittelwert aller Werte innerhalb der Klasse darstellt. So berechnet sich für die Verteilung {1}{5}{8, 10} in Abbildung 5.3 eine Varianz v1 = 0 + 0 + 2 ∗ 2 = 4, für eine Verteilung {1}{5, 8}{10} ergibt sich eine Varianz v2 = 0 + 4.5 ∗ 2 + 0 = 9 und für die Verteilung {1, 5}{8}{10} entsprechend v3 = 8 ∗ 2 + 0 + 0 = 16. Die kleinste Varianz ergibt sich bei der Verteilung {1}{5}{8, 10}, so dass diese einer 105 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles v-optimalen Verteilung entspricht. Die MaxDiff-Verteilung stellt ein Verfahren dar, bei dem die Diffe- {1} {5} {8,10} Die Elemente {1,5,8,10} sind in drei Klassen einzuteilen. Abbildung 5.3: V-Optimal-Verteilung renz zwischen jedem Paar benachbarter Werte betrachtet wird. Die Elemente innerhalb einer Klasse haben eine Differenz kleiner einem Grenzwert β − 1. β spezifiziert die Anzahl der Klassen. Ein Beispiel für diese Verteilungsart ist in Abbildung 5.4 einzusehen. {1} {5} {8,10} Die Elemente {1,5,8,10} sind in drei Klassen einzuteilen. Abbildung 5.4: MaxDiff-Verteilung Eine weitere Technik, Daten zu glätten, ist die Verbundbildung (clustering): Ausreißer können durch Verbundbildung erkannt werden, wobei ähnliche Werte in Gruppen organisiert werden und die Ausreißer außerhalb dieser Gruppen liegen (vgl. [Zho02]). In Abbildung 5.5 ist ein Beispiel Ausreißer-Erkennung mittels Verbünden dargestellt. Weiterhin kann durch eine kombinierte Maschine/Mensch-Untersuchung (combined computer and human inspection) eine Datenglättung erfolgen. Der Computer stellt bei dieser Methode eine Liste befremdlicher Werte zusammen, aus denen der Mensch die Ausreißer mittels seines a priori-Wissens identifiziert (vgl. [Zho02]). 106 5.2 Datenbereinigung (data cleaning) Abbildung 5.5: Ausreißererkennung durch Clustering Eine mathematische Methode der Datenglättung stellt die Regression dar. Dabei werden die Daten durch eine mathematische Funktion beschrieben, und die einzelnen Datenwerte der realen Welt werden dann durch die berechneten Funktionswerte der gefundenen Funktion ersetzt (vgl. [Zho02]). Eine Veranschaulichung dieser Methode ist in Abbildung 5.6 dargestellt. Viele dieser hier vorgestellten Methoden zur Datenglättung können auch zur Datenreduktion genutzt werden, worauf später näher eingegangen wird. 5.2.3 Inkonsistente Daten (inconsistencies) Inkonsistenzen können in Form von Verletzungen der referenziellen Integrität (beispielsweise ein Verweis eines Fremdschlüssels auf ein nicht existierendes Schlüsselattribut) auftreten. Korrigieren lässt sich dies mit Hilfe anderer Datensätze oder durch künstliches Anlegen des fehlenden Schlüsselattributes. Falls das nicht möglich sein sollte, so bleibt nur die Löschung des betreffenden Datensatzes oder dessen Markierung als fehlerhaft. 107 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Y f(x) X Abbildung 5.6: Regression zum Data Smoothing Einen weitere Inkonsistenz betrifft den Bereich der fehlerhaften und unzulässigen Werte, wie beispielsweise Attributwerte, die den Wertebereich des betreffenden Attributs verletzen, oder Verletzungen von Plausibilitätsbeziehungen, wie beispielsweise ein sonst umsatzschwacher Kunde mit einem plötzlich auftretenden, sehr großen Jahresumsatz. Einige solcher Inkonsistenzen können durch externe Referenzen manuell korrigiert werden. Zur Erkennung der Verletzung von Datenvorgaben können sog. Wissensrepräsentationswerkzeuge (knowledge engineering tools) genutzt werden. 5.2.4 Nachteile der Datenbereinigung Es sind bei der Datenbereinigung auch Nachteile anzuführen. So entsteht ein erhöhter Arbeitsaufwand, es können ggfs. große Mengen an Zeit für die Bereinigung konsumiert werden, was zusätzliche (hohe) Kosten verursachen kann. Zudem kann eine Verfälschung der Daten eintreten. Abschließend ist aufzuführen, dass bereinigte Daten nicht zwangsläufig Unterschiede zu unbereinigten Daten aufweisen müssen, so dass die Möglichkeit besteht, dass der Aufwand und die Kosten vergebens investiert wurden. 108 5.3 Datenintegration (data integration) 5.3 Datenintegration (data integration) Um beispielsweise filialübergreifende Datenanalysen durchführen zu können, müssen Daten ggfs aus verschiedenen Datenbanken zusammengefügt werden, da u.U. jede Filiale ihre eigene Datenbank betreibt. Hierbei ist jedoch auf einige Aspekte zu achten, da das Zusammenführen von Daten semantische und syntaktische Probleme erzeugen kann. Die Datenintegration umfasst also das Zusammenfügen der Daten mehrerer Datensätze von verschiedenen Quellen (verschiedene Datenbanken, Datenwürfel oder sonstiges) zu einem schlüssigen, kohärenten Datensatz. 5.3.1 Attributformate Vor der näheren Beleuchtung der Aspekte der Datenintegration sollen zunächst ein paar Worte zu verschiedenen Attributformaten angebracht werden. Man unterscheidet im allgemeinen zwischen folgenden Attributformaten: Kategorische Daten: – Nominale Daten (Namen ohne Wert wie z.B. ein Kundenname) – Ordinale Daten (Namen mit einer darauf definierten Ordnungsrelation, wie z.B. eine Verbrennung 1., 2. und 3. Grades) Numerische Daten: – Diskrete Daten (feste, numerische Werte, wie sie durch Zählungen entstehen, z.B. die Entität Artikelmenge“) ” – Kontinuierliche Daten (numerische Werte, die z.B. durch Messungen entstehen, wie z.B. die Entität Gewicht“) ” Boolesche Werte: – Wahrheitswerte aus der Menge {Wahr, Falsch} oder engl. {true, false} 109 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles 5.3.2 Probleme bei der Datenintegration Die Integration der verschiedenen Datenbankschemata beinhaltet die Problematik des sog. Entitätenidentifikationsproblems (entity identification problem), also des Erkennens, welche Merkmalsnamen die selben Semantiken haben. Ein Beispiel ist die Frage, ob die Entität customer id die selbe Entität wie cust nr modelliert. Zur Lösung dieses Problems kann man oftmals Metadaten (die Daten beschreibende Daten) nutzen (vgl. [HK00b]). Ein weiteres Problem ist das der Redundanz: Redundanz kann durch Inkonsistenzen in der Nomenklatur von Attributen oder Dimensionen verursacht werden. So können beispielsweise die Attribute Name“ ” und name“, die syntaktisch unterschiedlich sind, den selben Inhalt ” haben. Es können durch folgende Gleichung (Korrelationskoeffizient) solche Redundanzen erkannt werden (vgl. [Zho02]): rA,B = Σ(A − Ā)(B − B̄) (n − 1)σA σB (5.2) Falls das Ergebnis der Gleichung > 0 ist, sind A und B positiv korreliert, d.h. der Wert von A erhöht sich genauso wie der Wert von B. Je höher der Wert, desto mehr impliziert jedes Attribut das andere. Also indiziert ein hoher Wert eine Redundanz zwischen A und B. Ist das Ergebnis gleich 0, dann sind A und B unabhängig voneinander und es gibt keine Korrelation zwischen ihnen. Bei Ergebnissen < 0 sind A und B negativ korreliert, d.h. die Werte des einen Attributs steigen, während die Werte des anderen sinken. Ist das Ergebnis gleich 0, so kann dies bei der Datenintegration dazu genutzt werden, die Entitäten als identisch zu identifizieren. Eine dritte wichtige Aufgabe in der Datenintegration ist die Erkennung und Auflösung von Datenwertskonflikten. So können in unterschiedlichen Datensätzen in ein und der selben Entität verschiedene Werte stehen, beispielsweise Preise inklusive oder Preise exklusive der Mehrwertsteuer (vgl. [Zho02]). Insgesamt trägt eine saubere Datenintegration zu einem schnelleren und genaueren Mining-Prozess bei, da die Daten auf einer einheitlichen Basis vorliegen, minimal und konsistent in Bezug auf die referenzielle Integrität sind. 110 5.4 Datentransformation (data transformation) 5.4 Datentransformation (data transformation) Bei der Datentransformation werden die Daten homogenisiert und in eine für das Data Mining angepasste Form gebracht. Hierbei sind verschiedene Datentransformationsaspekte zu beachten, auf die im folgenden näher eingegangen wird. Zunächst ist eine Transformation in (de-)normalisierte Datenstrukturen durchzuführen, wobei unterschiedliche Datenstrukturen einander anzupassen sind (vgl. [Zho02]). Zu beachten ist hierbei, daß Normalisierung die Originaldaten ändert, so dass man die Normalisierungsparameter speichern muss, um Originaldaten wiederherstellen zu können. Der Aspekt der Schlüsselbehandlung beinhaltet ebenfalls einige zu beachtende Umstände. So können, falls Originalschlüssel nicht aus der Datenquelle übernommen werden können, künstliche Schlüssel (sog. Surrogate) gebildet werden, wobei die Abbildung in einer Zuordnungstabelle gespeichert werden muss, damit keine Relationsinformationen verloren gehen. Ein Originalschlüssel kann beispielsweise dann nicht aus einer Datenquelle übernommen werden, wenn im Zieldatensatz bereits ein Attribut mit dem selben Namen vorhanden ist (vgl. [BG01]). Weiterhin ist die Anpassung von Datentypen zu berücksichtigen. Ein Beispiel für dieses Szenario wäre die Konvertierung eines Char-Datums in ein numerisches Datum (vgl. [BG01]). Auch Konvertierung von Kodierungen bedürfen Berücksichtigung. In manchen Fällen benutzen Datenquelle und Integrationsziel unterschiedliche Kodierungsstandards, die einander angeglichen werden müssen, um eine Korrektheit der Semantik der Werte garantieren zu können (vgl. [BG01],[Zho02]). Ähnlich verhält es sich bei der Vereinheitlichung von Zeichenketten. Die Vereinheitlichung von Zeichenketten umfasst Aufgaben wie das Ersetzen von Umlauten, Groß- und Kleinschreibung sowie die Elimination von Leerzeichen und Tabulatoren und dient der Senkung der Wahrscheinlichkeit von Homonymfehlern1 , wobei jedoch die Gefahr der Erzeugung von Synonymfehlern2 gegeben ist (vgl. [BG01]). 1 Unter einem Homonymfehler versteht man die fälschliche Zusammenführung zweier Objekte oder Tupel, die unterschiedliche Entitäten beschreiben, zu einer neuen Entität. 2 Unter einem Synonymfehler versteht man das Nichterkennen der Zusammengehörigkeit zweier Tupel oder Objekte, die die selbe Entität beschreiben. 111 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Genauso müssen bei der Vereinheitlichung von Datumsangaben die in verschiedenen Ländern verbreiteten verschiedenen Formate, ein Datum anzugeben, ineinander überführt werden. Dies ist nötig, um eine korrekte Semantik der Werte zu garantieren. Außerdem können verschiedene Datenbanksysteme unterschiedliche interne und externe Datumsdarstellungen nutzen, für die ebenfalls gilt, dass sie aus den gleichen Gründen wie schon oben erwähnt vereinheitlicht werden müssen. Schließlich existieren verschiedene Zeitzonen, die bei Datenintegration in eine gemeinsame Quelle in eine kompatible Zeitzone überführt werden müssen. Auch hier sind es die selben Gründe, die eine Vereinheitlichung erforderlich machen (vgl. [BG01],[Zho02]). Eine Umrechnung von Maßeinheiten und Skalierungen kann nötig sein, da es ähnlich den Zeit- und Datumsangaben in verschiedenen Ländern unterschiedliche Maßeinheiten und Skalierungen gibt, die aus o.g. Gründen einander angepasst werden müssen. Mit Hilfe einer Kombination oder Separierung von Attributwerten können beispielsweise die Attribute Tag, Monat und Jahr zu einem neuen Attribut Datum zusammengefasst werden. Eine Separierung lässt sich beispielsweise anhand der Aufteilung eines Attributs Bezeichnung, Menge in zwei neue Attribute Bezeichnung und Menge aufzeigen (vgl. [BG01]). Auch kann eine Berechnung abgeleiteter Werte durchgeführt werden. Neue Attribute können eingeführt werden, indem vorhandene Attribute zu einem neuen Attribut zusammengerechnet werden (vgl. [BG01]). Ein Beispiel ist die Berechnung des neuen Attributs Verkaufszeitraum aus der Differenz der Attribute aktuelles Datum und Einführungsdatum eines Artikels. Eine weitere Datentransformation ist die Aggregation. Oftmals liegen die Daten in einer sehr feinen Aggregationsebene vor, die gar nicht benötigt wird. In diesen Fällen kann eine Aggregation in eine höhere Ebene sinnvoll sein (vgl. [BG01]). Ein Beispielszenario hierfür wäre der Wunsch nach dem Wert des Attributs Einwohnerzahl Oldenburg, welches aufgrund von ausschließlich vorhandenen, fein granulierten, stadtteilbezogenen Attributwerten wie z.B. Einwohnerzahl Hundsmühlen erst aus all diesen Datensätzen errechnet werden müsste. Aggregation schufe hier ein Attribut Einwohnerzahl Oldenburg, welches ja auch erwünscht ist. Die Glättung der Daten ist ebenfalls eine Transformationsmethode. Zusammengefasst wird data smoothing zum Entfernen von Rauschen in Daten betrieben. Da die Datenglättung bereits während der Da- 112 5.5 Datenreduktion (data reduction) tenbereinigung ausführlich behandelt wurde, wird hier nicht weiter darauf eingegangen. Die Datentransformation dient also dazu, Daten zwischen verschiedenen Formen transformieren zu können, um eine Korrektheit der Semantik der Attributwerte zu garantieren, oder neue Attribute aus bestehenden Attributen zusammenzusetzen. Es können auch bestehende Attribute in neue Attribute aufgeteilt oder Daten zwischen verschiedenen Ebenen aggregiert werden, um eine geänderte Sicht auf die Daten zu erhalten. 5.5 Datenreduktion (data reduction) Da Datensätze sehr groß sein können und Data Mining somit unpraktisch bis undurchführbar werden kann, können Datenreduktionsschritte durchgeführt werden, um das Volumen der Daten zu verkleinern und das Data Mining damit effizienter zu gestalten. Es gibt vielfältige Strategien für die Datenreduktion. Eine Datenreduktionsstrategie ist die Aggregation (aggregation). Reduziert wird der Datenbestand hierbei beispielsweise durch das Zusammenfassen von verschiedenen Attributen einer unteren Aggregationsstufe zu einem Attribut einer höheren Aggregationsebene. Die Dimensionsreduktion (dimension reduction) stellt ebenfalls eine Datenreduktionsstrategie dar, da durch Einschränkung auf für den Mining-Prozess stark relevante Attribute und das Ignorieren von für den Mining-Prozess schwach relevanter oder irrelevanter Attribute die Datenmenge reduziert wird. Auch die Datenkompression dient der Datenreduktion. Kompressionsverfahren werden auf den Daten angewandt, um die Datengröße zu reduzieren. Dies wird ebenfalls später ausführlicher erläutert. Die Numerische Reduktion (numerosity reduction) kann zur Datenreduktion eingesetzt werden. Hierbei werden die Daten ersetzt oder abgeschätzt durch Stichprobenziehungen (sampling), lineare Regressionsmethoden oder Verbundbildung. Mittels Diskretisierung und Konzepthierarchiebildung können Rohdatenwerte für Attribute durch Bereiche höherer konzeptueller Ebenen ersetzt werden, wodurch das Volumen der Daten reduziert wird (vgl. [HK00b]). Die hier genannten Strategien sollen nun im Einzelnen genauer betrachtet werden. 113 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles 5.5.1 Aggregation (aggregation) Die Aggregation bezeichnet das Zusammenfassen mehrerer Datensätze der unteren zu einem der oberen Aggregationsebene mittels Aggregationsfunktionen. Zu beachten ist hierbei, daß Aggregation das Datenvolumen reduziert. Weiterhin muss die Aggregation aller Daten aus verschiedenen Quellen auf eine gemeinsame Aggregationsebene durchgeführt werden, da sonst Datenverfälschungen auftreten können. Außerdem entstehen bei Wahl einer niedrigen Aggregationsebene oftmals dünn besetzte“ Datentabellen und die beobachtbare Streuung ” der Merkmale wird durch Aggregation reduziert. 5.5.2 Dimensionsreduktion (feature selection) Datensätze können hunderte von Attributen haben, von denen viele für den Mining-Prozess irrelevant sein können. Daher ist es sinnvoll, sich auf die nützlichen Attribute zu beschränken. Bei der Dimensionsreduktion werden also irrelevante oder schwach relevante3 oder redundante Attribute oder Dimensionen erkannt und entfernt (vgl. [Zho02]). Irrelevante Datensätze sind beispielsweise Datensätze, die hochgradig korrelierte Attributwerte enthalten oder solche, deren Löschung ohne Informationsverlust durchführbar ist. Nimmt man jedoch sinnvolle Attribute heraus oder lässt unwichtige Attribute drin, so kann dies zu schlechter Qualität der entdeckten Pattern führen. Das Ziel der Attributuntermengenauswahl (attribute subset selection) besteht letztlich darin, eine minimale Menge zu finden, so dass das Ergebnis des Data Mining-Prozesses auf dieser Menge so nah wie möglich an das Ergebnis des Data Mining-Prozesses auf der Menge der Originaldaten heranreicht (vgl. [Zho02]). Wie findet man diese Attributuntermenge? Da eine vollständige Suche exponentiell mit der Zahl der Attribute wächst, ist es nicht möglich, diese schnell durchzuführen, so dass man auf Heuristiken angewiesen ist. Die besten“ und schlechtesten“ Attribute werden typischerwei” ” se unter Nutzung statistischer Bedeutung (statistical significance) erkannt. Weitere Methoden wären die manuelle Vorgehensweise basierend auf a-priori-Wissen, die Generierung synthetischer Merkmale bei optimaler Informationsausschöpfung der vorhandenen Merkmale oder 3 Hierbei handelt es sich um Attribute, die für den Mining-Prozess nicht weiter von Bedeutung sind. 114 5.5 Datenreduktion (data reduction) eine automatische Vorauswahl aufgrund von Korrelationsbetrachtungen (vgl. [HMKW01]). Bei der Erkennung mit einer der vorgestellten Methoden kann man nun unterschiedlich vorgehen, um die Attributuntermenge zu generieren (vgl. [HK00b]): 1. Schrittweise Vorwärtsauswahl (stepwise forward selection): Ausgehend von einer leeren Menge werden die besten Attribute erkannt und der Menge hinzugefügt. Dies wird in jedem weiteren Schritt wiederholt. 2. Schrittweise Rückwärtseliminierung (stepwise backward elimination): Ausgehend von der gesamten Menge der Attribute werden in jedem Schritt die schlechtesten Attribute entfernt. 3. Kombination von Vorwärtsauswahl und Rückwärtseliminierung: In jedem Schritt ergänzt man die besten Attribute und entfernt die schlechtesten aus der Menge der verbleibenden Attribute. 5.5.3 Datenkompression (data compression) Datenkompression wendet Datenkodierung4 oder Datentransformation5 an, um eine reduzierte oder komprimierte Form der Daten zu erhalten. Es gibt verlustfreie und verlustbehaftete Kompressionsverfahren (vgl. [Zho02]). Zwei verlustbehaftete Verfahren sind diese (vgl. [HK00b],[Zho02]): 1. Wavelet Transformation: Hierbei handelt es sich um eine lineare Signalverarbeitungstechnik, die, wenn auf einen Vektor6 angewendet, diesen in einen anderen Vektor gleicher Länge transformiert, der jedoch beschnitten werden kann. Eine komprimierte Näherung kann durch das Speichern eines kleinen Teiles des stärksten Wellenkoeffizienten erreicht werden. Aus dem so beschnittenen Vektor lässt sich der zu Grunde liegende Datensatz wiederherstellen, wobei der Informationsverlust vom Umfang der Beschneidung abhängt. Wavelet Transformation kann auch auf multidimensionale Daten angewandt werden, indem 4 Datenkodierung ist die Struktur der digitalen Repräsentation einer Information. Datentransformationsmethoden werden in Kapitel 5.4 näher erläutert 6 Daten sind in Vektoren überführbar gemäß mathematischer Verfahren, auf die hier nicht näher eingegangen wird 5 115 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles zunächst die erste Transformation auf die erste Dimension angewandt wird, dann die zweite auf die zweite usw.. Es werden bei diesem Kompressionsverfahren also nur die beschnittenen Vektoren gespeichert, deren Datenvolumen geringer ist als das der Originalvektoren. Somit ist eine Datenvolumen-Verringerung erreicht. Die Verlustbehaftung resultiert aus der nicht vollständig rückführbaren Abbildung des des beschnittenen Vektors in die Originaldaten. 2. Hauptkomponentenanalyse (principal component analysis): Bestehen die zu komprimierenden Daten aus N k-dimensionalen Tupeln, so sucht man bei der Hauptkomponentenanalyse nach c k-dimensionalen Tupeln, die am besten geeignet sind, um die Daten zu repräsentieren, wobei c ≤ k. Bei der Hauptkomponentenanalyse kombiniert man die Attribute durch Erzeugung einer alternativen kleineren Variablenmenge. Dies geschieht nach folgendem Algorithmus: a) Die Daten werden normalisiert. b) Es werden c orthonormale7 Vektoren berechnet, die eine Basis für die Eingabedaten bilden und die als Hauptbestandteile deklariert werden. Die Eingabedaten stellen eine Linearkombination8 der Hauptbestandteile dar. c) Die Hauptbestandteile werden in absteigender Signifikanz oder Stärke sortiert und in Form einer Menge von Achsen dargestellt. d) Nun können die Daten durch Eliminierung schwächerer Komponenten verkleinert werden. Das Nutzen stärkerer Hauptkomponenten ermöglicht die Rekonstruktion einer guten Annäherung der Originaldaten. Die Hauptkomponentenanalyse ist vom Rechenaufwand günstig durchführbar und kann sowohl auf geordnete als auch auf ungeordnete Attribute angewandt werden. 7 Zwei Vektoren v, w ∈ V heißen orthogonal, in Zeichen v ⊥ w ⇔ hv, wi = 0. Sie heißen orthonormal, falls zusätzlich kvi k = 1f.a.i. Unter hv, wi versteht man das Skalarprodukt der beiden Vektoren, also hv, wi = v1 w1 + v2 w2 + ... + vn wn (vgl. [Fis97]). 8 Ein Vektor v ∈ V heißt Linearkombination von Vektoren v1 , ...vn , wenn es λ1 , ..., λn gibt, so daß v = λ1 v1 + ... + λn vn gilt (vgl. [Fis97]). 116 5.5 Datenreduktion (data reduction) Insgesamt eignet sich die Hauptkomponentenanalyse-Methode gut für dünn besetzte Daten (sparse data), während Wavelet Transformation sich eher für multidimensionale Daten eignet (vgl. [HK00b]). 5.5.4 Numerische Datenreduktion (numerosity reduction) Die numerische Datenreduktion kann angewandt werden, um Daten durch alternative, kleinere Formen der Datenrepräsentation zu ersetzen (vgl. [Zho02]). Es gibt verschiedene Formen der Reduktion. Im folgenden werden dazu verschiedene Formen der Stichprobenziehung (sampling), die lineare Regression sowie Histogramme zur Visualisierung von binning-Methoden vorgestellt. Die Stichprobenziehung kann als Datenreduktionsmethode genutzt werden, da Stichproben erlauben, große Datenmengen durch kleinere zu repräsentieren (vgl. [Zho02]). Eine Stichprobenziehung kann man sich so vorstellen, daß beispielsweise aus einer Urne, die mit Elementen (Kugeln) gefüllt ist, nacheinander einzelne Kugeln herausgezogen werden. Diese herausgezogenen Kugeln bilden die Zielmenge der Stichprobenziehung. Je nach Durchführungsmethode der Stichprobenziehungen entstehen verschiedene Zielmengen, die unterschiedliche Eigenschaften aufweisen können. Wie die Datenreduktion bei den einzelnen Durchführungsmethoden zustande kommt, wird bei deren Beschreibung genauer erläutert. Stichproben lassen sich auf unterschiedliche Arten durchführen (alle im folgenden vorgestellten Methoden vgl. [HMKW01]). Die Repräsentative Stichprobe stellt eine einfache Form der Zufallsstichprobe dar. Hier werden also zufällig beliebige Elemente aus einer Urne entnommen und der Zielmenge hinzugefügt, also nicht wieder in die Urne zurückgegeben. Die Datenreduktion entsteht hier durch die Differenz der Mächtigkeit der Zieldatenmenge (also der Anzahl der Ziehungen) und der Mächtigkeit der Quelldatenmenge (also der Elemente in der Urne). Eine Geschichtete Stichprobe ist eine Zufallsstichprobe mit beeinflusster Wahl der Besetzungsdichte der als wichtig erachteten Merkmale. Es kann hier also vor der Ziehung Einfluss auf die Elemente in der Urne genommen werden, d.h. die Elemente der Quelldatenmenge können gezielt gewählt werden mit entsprechenden Folgen für die Zieldatenmenge. So kann beispielsweise die Quelldatenmenge derart beeinflusst werden, daß anstelle von schwarzen und weißen Kugeln nur noch schwarze Kugeln vorhanden sind mit der entsprechenden 117 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Folge, daß in der Zieldatenmenge ausschließlich schwarze Kugeln vorhanden sind. Die Datenreduktion wird analog zur repräsentativen Stichprobenziehung erreicht. Bei der Inkrementellen Stichprobenziehung wird ausgehend von einer ersten Stichprobenziehung und der darauf folgenden Datenanalyse die Stichprobe schrittweise erweitert und die Datenanalyse nach jedem Schritt wiederholt. Hier wird die Datenreduktion ebenfalls analog zur repräsentativen Stichprobenziehung erzielt. Average Sampling bezeichnet eine Form der Stichprobenziehung, bei der der Datenbestand in mehrere Teilstichproben mit je eigener Datenanalyse aufgeteilt wird, und anschließend die Werte der einzelnen Teilanalyseergebnisse gemittelt werden. In diesem Fall wird die Datenreduktion durch die Mittelung der Teilanalyseergebnisse nochmals vermindert. Eine Selektive Stichprobenziehung umfasst die Herausfilterung unergiebiger Datensätze aus der Menge der für die Ziehungen zur Verfügung stehenden Datensätze. Mit der Bezeichnung unergiebige Datensätze“ ” sind Datensätze gemeint, aus denen die Data Mining-Methoden wenig lernen könnten. Auf den verbliebenen Daten wird eine Stichprobenziehung analog einer der vorigen Durchführungsarten durchgeführt. Hier wird die Datenreduktion wie bei der jeweilig gewählten Durchführungsart erreicht; die Qualität der Ergebnisse ist jedoch aufgrund der vorgefilterten Datensätze ggfs besser. Beim so genannten Windowing geht man von einer ersten Ziehung und einer anschließenden Datenanalyse auf den gezogenen Daten aus. Im folgenden wird die Stichprobe schrittweise um besonders ergiebige Datensätze erweitert. Ergiebige Datensätzen“ implizieren Da” tensätze, aus denen die Mining-Methoden viel lernen können. Hierauf erfolgt eine erneute Ziehung mit anschließender Analyse. Auch hier wird die Datenreduktion analog zur Repräsentativen Stichprobe erreicht; die Qualität der Ergebnisse ist jedoch aufgrund der Erweiterung der Quelldatensätze um ergiebige Datensätze ggfs besser. Bei der Clustergestützten Stichprobenziehung werden die Daten basierend auf den Analyseergebnissen einer ersten Ziehung per Clusteranalyse in Gruppen ähnlicher Daten eingeteilt. Für jede dieser Gruppen wird dann ein repräsentativer Datensatz gewählt, der die anderen Datensätze aus seiner Gruppe im folgenden repräsentiert. Hier werden die Daten durch das Einschränken auf lediglich einen Datensatz pro Cluster minimiert bzw. reduziert. Zusätzlich zu den verschiedenen Arten der Stichprobenziehung gibt 118 5.5 Datenreduktion (data reduction) es auch noch verschiedene Möglichkeiten, diese durchzuführen (ausgehend von einem Datensatz D mit N Tupeln) (vgl. [HK00b]): Einfache zufällige Stichprobe ohne Ersetzung (SRSWOR: simple random sample without replacement) der Größe n: erzeugt durch n Tupel aus D, n < N , wobei jedes Tupel gleich wahrscheinlich ist, und jedes gezogene Tupel aus D entfernt wird. Einfache zufällige Stichprobe mit Ersetzung (SRSWR: simple random sample with replacement) der Größe n: genauso wie SRSWOR, nur das jedes aus D entnommene Tupel in der Stichprobe verzeichnet wird, dann aber wieder zurückgegeben wird an D, so dass es erneut gezogen werden kann. Verbundstichprobe (cluster sample): Wenn die Tupel in D in Verbünde aufgeteilt sind, dann kann eine einfache zufällige Stichprobe von m Verbünden ziehen mit m < M . Schichtenweise Stichproben (stratified sample): falls D in disjunkte Teile (strata) geteilt ist, wird eine schichtenweise Stichprobe durch ein SRS (Simple Random Sample, zufällige Ziehung eines Elementes) auf jedem Stratum erreicht, was garantiert, dass alle Schichten in der Stichprobenmenge enthalten sind. Der Unterschied zur Geschichteten Stichprobe ist, dass hier aus jedem Cluster ein Element in die Ziehung einbezogen wird. Es handelt sich also um einen Spezialfall der Geschichteten Stichprobe. Ein Vorteil der Stichprobenziehungen ist, dass die Kosten zum Erhalten einer Stichprobe proportional zur Größe n der Stichprobe sind. Andere Datenreduktionsmethoden können einen kompletten Datendurchlauf erfordern. Bei der linearen Regression, einer weiteren numerischen Datenreduktionsmethode, werden die Daten durch Koeffizienten einer linearen Funktion ersetzt und so eine Reduktion der Daten erreicht. Findet man also eine Funktion der Form f (x) = α + βX, so kann man durch Speicherung der Koeffizienten α und β die Speicherung der Daten ersetzen. Bei Histogrammen handelt es sich um eine Visualisierungsmethode von binning-Methoden. Die disjunkten Klassen (bins) werden in einem Diagramm auf der horizontalen Achse aufgetragen, wobei die Höhe und Fläche der Teilmengen die Anzahl der Vorkommen von 119 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Elementen in den einzelnen Klassen visualisieren. Beispiel: Dieses Histogramm könnte z.B. die Altersverteilung eines Anzahl Besucher 20 10 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 Alter Abbildung 5.7: Histogramm als Visualisierungsmethode von binningMethoden Theaterbesuches visualisieren. 5.6 Diskretisierung und Konzepthierarchiebildung (discretization and concept hierarchy generation) Diskretisierungstechniken können die Anzahl der Werte für ein durchgängiges Attribut (continuous attribute) durch eine Aufteilung des Wertebereichs in einzelne Intervalle verringern. Die Intervall-Bezeichnungen (labels) können dann zum Ersetzen der eigentlichen Werte verwendet werden (vgl. [HK00b],[Zho02]). Dies kann allerdings nur unter Datenverlust durchgeführt werden! 120 5.6 Diskretisierung und Konzepthierarchiebildung 5.6.1 Arten der Diskretisierung und Konzepthierarchiebildung für numerische Daten Zur Diskretisierung und Konzepthierarchiebildung können verschiedene Wege beschritten werden. Eine Methode der Diskretisierung und Konzepthierarchiebildung ist das binning. Binning-Methoden wurden schon bei der Datenglättung in Kapitel 5.2.2 ausführlich behandelt. Kurz zusammengefasst werden die Werte in bins gesammelt und durch den bin-Durchschnittswert ersetzt. Diese Schritte können rekursiv durchgeführt werden, um Konzepthierarchien zu erzeugen (vgl. [HK00b],[Zho02]). Weiterhin kann die Histogramm-Analyse zur Diskretisierung und Konzepthierarchiebildung genutzt werden. Partitionierungsregeln können genutzt werden, um die Wertebereiche festzulegen. Beispiele für Partitionierungsregeln wären die verschiedenen Binning-Verteilungsmethoden: Equidepth- , Equiwidth, V-Optimal- und MaxDiff-Verteilung, die aus Kapitel 5.2.2 bekannt sind. Die Histogramm-Analyse kann auf jede Partition angewandt werden, um automatisch eine Konzepthierarchie ausgeprägt über verschiedene Ebenen zu erzeugen (vgl. [HK00b],[Zho02]). Bei der entropiebasierten Diskretisierung wird ausgehend von einem Attribut A und einer Menge von Tupeln S ein Wert v aus A gewählt, der S in zwei Partitionen teilt, wobei der Inhalt der ersten Partition < v ist und der Inhalt der zweiten Partition > v ist. Die Grenze, die die Entropie über alle möglichen Grenzen minimiert, wird gewählt. Es wird rekursiv partitioniert, bis die Haltebedingung zutrifft: Ent(S) − I(S, T ) > δ. Die entropiebasierte Diskretisierung reduziert das Datenvolumen und verbessert die Klassifizierungspräzision (vgl. [HK00b],[Zho02]). Eine Segmentierung durch natürliche Partitionierung wird angewandt, wenn der Nutzer lieber natürliche“ Grenzen wie 50000$ sehen möchte ” und nicht welche wie 51233,23$. Die sog. 3-4-5-Regel kann genutzt werden, um numerische Daten in relativ uniforme, natürliche“ In” tervalle zu segmentieren. Generell partitioniert die Regel einen gegebenen Wertebereich in 3, 4 oder 5 relativ gleich weite Intervalle. Dies geschieht rekursiv und Ebene für Ebene, basierend auf dem Wertebereich der positivsten Stelle. Die Regel funktioniert so: Falls ein Intervall 3,6,7 oder 9 unterschiedliche Werte an der positivsten Stelle aufweist, so wird der Bereich in 3 Intervalle (3 gleich weite für 3,6,9 und 2-3-2 für 7) partitioniert. 121 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Falls ein Intervall 2,4 oder 8 unterschiedliche Werte an der positivsten Stelle hat, so wird der Bereich in 4 gleich weite Intervalle aufgeteilt. Falls ein Intervall 1,5 oder 10 unterschiedliche Werte an der positivsten Stelle aufweist, so wird der Bereich in 5 gleich weite Intervalle aufgeteilt. Die Regel kann rekursiv auf jedes Intervall angewendet werden, und so eine Konzepthierarchie für das gegebene numerische Attribut erzeugen (vgl. [HK00b]). 5.6.2 Arten der Diskretisierung und Konzepthierarchiebildung für kategorische Daten Kategorische Daten sind einzelne Daten wie beispielsweise geographische Orte, Job-Kategorien oder Gegenstandstypen. Es gibt keine Sortierung entlang der unterschiedlichen Werte. Es gibt viele verschiedene Wege, Konzepthierarchien hierfür zu generieren (vgl. [HK00b], [Zho02]). Eine Spezifizierung einer partiellen Ordnung der Attribute kann explizit auf Schemaebene durch den Nutzer oder einen Experten durchgeführt werden. Konzepthierarchien für kategorische Attribute oder Dimensionen beinhalten typischerweise eine Gruppe von Attributen. Ein Nutzer oder Experte kann einfach eine Konzepthierarchie definieren, indem er eine partielle oder totale Ordnung der Attribute auf Schemaebene spezifiziert. Eine Spezifizierung einer Menge von Attributen, aber nicht deren partieller Ordnung ist möglich. Ein Nutzer kann eine Menge von Attributen spezifizieren, die eine Konzepthierarchie formen, und das System kann dann versuchen, automatisch eine Attributordnung zu erzeugen, um eine aussagekräftige Konzepthierarchie zu konstruieren. Wenn Konzepte einer höheren Ebene viele untergeordnete Konzepte einer tieferen Ebene beinhalten, dann beinhaltet ein Attribut aus einer höheren Konzeptebene eine kleinere Nummer von unterschiedlichen Werten als eines einer tieferen Ebene, so dass man eine Konzepthierarchie basierend auf der Anzahl unterschiedlicher Werte pro Attribut erzeugen lassen kann. Das Attribut mit den meisten unterschiedlichen Werten wird in der Konzepthierarchie nach unten geordnet, je weniger Unterschiede es gibt, desto höher wird das Attribut eingeordnet. Am Ende können noch Eingriffe von Nutzern oder Experten erfolgen, um letzte Korrekturen 122 5.7 Fazit durchzuführen. Achtung: Dies klappt nicht immer, z.B. kann es 20 unterschiedliche Jahre geben, 12 unterschiedliche Monate und 7 unterschiedliche Wochentage, dies soll aber nicht dazu veranlassen, eine Hierarchie der Ordnung Jahr < M onat < T ag mit Tag an der Spitze zu erzeugen. Die Spezifizierung nur einer kleinen Menge von Attributen ist eine Möglichkeit zur Konzepthierarchiegenerierung. Um mit solchen nur zum Teil spezifizierten Hierarchien umzugehen, ist es wichtig, DatenSemantik mit in das Schema einzubinden, so dass Attribute mit nahen semantischen Verbindungen aneinander gesetzt werden können. So kann die Spezifikation eines Attributs das Erzeugen einer Gruppe von semantisch nah beieinander stehenden Attributen in eine Konzepthierarchie auslösen. Konzepthierarchien für numerische Attribute können automatisch generiert werden basierend auf Datendistributionsanalysen (data distribution analysis). 5.7 Fazit Diese Arbeit stellt als Ergebnis heraus, dass Daten bereinigt werden müssen, um eine höhere Qualität der Ergebnisse von Data-MiningProzessen erreichen zu können. Wenn Daten aus verschiedenen Quellen in einen neuen Bestand integriert werden müssen, so müssen sie aneinander angepasst werden. Hierzu sind ggfs Transformationsschritte nötig, um Semantik erhalten und Konsistenz garantieren zu können. Daten können für eine bessere Performance und eine höhere Qualität des Data Mining-Prozesses reduziert werden. Dies spart auch Kosten, da weniger Daten bei der Aufbereitung auch weniger Aufwand nach sich ziehen. Schließlich können Daten diskretisiert und in Konzepthierarchien strukturiert werden, um sie übersichtlicher gestalten und auf ihnen zusätzlich hierarchische Ordnungen definieren zu können. 5.8 Einordnung in den Kontext der PG Im Rahmen der Aufgabenstellung im Kontext der Projektgruppe stellen sich vielfältige Anwendungsgebiete für eine Datenvorverarbeitung. Beispielsweise entsteht überall an den Stellen, an denen Daten aus verschiedenen Datenbanken zusammengeführt werden müssen, zwingend die Notwendigkeit von Datenvorverarbeitungsschritten wie 123 5 Data Preprocessing - Datenvorverarbeitungsschritte des Prozessmodelles Transformationen. Es resultieren allerdings auch Nachteile aus der Durchführung von Datenvorverarbeitungsschritten. Vor- und Nachteile sollen hier gegenüber gestellt werden: 5.8.1 Vorteile der Datenvorverarbeitung im Kontext der PG Die Vorteile von Datenvorverarbeitungsschritten im Kontext der Projektgruppe sind vielfältig. So kann eine gezieltere Aufbereitung anfallender Daten vom Kunden (wie z.B. Anfragen, Weblogs, Bestellungen) sowie bereits vorhandener Daten dafür sorgen, dass nur relevante, minimale und nicht redundante Daten gespeichert und an den Card-Provider übermittelt werden können. Dadurch kann eine Steigerung der Qualität der Ergebnisse der Analyseschritte vom CardProvider auf den vom Händler gelieferten, vorverarbeiteten Daten erzielt werden. Darauf basierend kann eine einfachere Erstellung von personalisierten Angeboten durchgeführt werden, da die Personalisierungsmethoden mit derart bereinigten Daten effizienter arbeiten können als mit unbereinigten Daten. Für den Kunden ergibt sich schließlich der Vorteil durch personalisierte Angebote. 5.8.2 Nachteile der Datenvorverarbeitung im Kontext der PG Durch Datenvorverarbeitungsschritte entsteht ein erhöhter Zeitaufwand für den gesamten Ablauf vom Data Mining bis zum personalisierten Angebot, wobei hier noch auf die Aktualität des personalisierten Angebotes zu achten ist. Ebenso entsteht ein erhöhter Kostenaufwand im Gesamtprozess der Erstellung personalisierter Angebote. Hier ist dann zu bedenken, inwieweit sich die Personalisierung überhaupt noch lohnt, d.h. wann der Nutzen der personalisierten Angebote die Kosten der Erstellung dieser übersteigt. 124 6 Clustering und Klassifikation Matthias Pretzer Im heutigen Informationszeitalter fallen immer schneller mehr und mehr Daten an, die von Unternehmen, wissenschaftlichen Vereinigungen oder anderen Interessenverbänden gespeichert werden. Diese Daten bergen ein enormes Wissenspotential, das es zu erschließen gilt. Hier setzen Knowledge Discovery in Databases und vor allem das Teilgebiet Data Mining an. Zwei wichtige Methoden des Data Mining – Clustering und Klassifikation – werden in dieser Arbeit vorgestellt. Zunächst werden die Zielsetzung und Grundlagen der beiden Verfahren umrissen, dann einige Ansätze, die diese Ziele erreichen sollen, beschrieben. Clusteringverfahren dienen dazu, Objekte der Eingabedaten zu Gruppen zusammenzufassen, um diese besser verstehen zu können. Es werden partitionierende Clusteringalgorithmen wie kmeans, k-medoid und Dbscan, sowie hierarchische wie das SingleLink Verfahren und Optics vorgestellt. Klassifikationsverfahren dienen dagegen dazu, unbekannte Daten einer vorgegebenen Klasse zuzuordnen. Dabei lernt ein Klassifikator die Zuordnung anhand bereits klassifizierter Trainingsdaten. Es werden Bayes-Klassifikatoren, Entscheidungsbäume und (k)-Nächste-Nachbarn-Klassifikatoren vorgestellt. 125 6 Clustering und Klassifikation 6.1 Einleitung In der modernen, von Computern geprägten Gesellschaft werden immer mehr Vorgänge, seien es geschäftliche Transaktionen, wissenschaftliche Experimente oder andere, Daten generierende Prozesse, rein elektronisch erfaßt und in großen Datenbanken gespeichert. Dabei wächst nicht nur die Größe der Datenbanken, sondern auch die Geschwindigkeit, mit der neue Daten produziert werden. Man spricht sogar davon, daß sich Moore’s Law , welches besagt, daß sich die Anzahl von Transistoren pro Quadratzentimeter auf einem Chip alle achtzehn Monate verdoppelt, auch auf die Größe von Datenbanken anwenden läßt [Heg99]. Doch was nützen solche Unmengen von Daten, wenn man sie nicht versteht? Mit der steigenden Informationsflut werden daher Techniken immer wichtiger, die in großen Mengen von Daten Muster finden, Zusammenhänge entdecken, und damit Wissen erzeugen. Dies ist die Hauptaufgabe von Knowledge Discovery in Databases (KDD). Nach [FPSS96c] ist KDD der nicht triviale Prozeß, gültige, neue, potentiell nützliche und verständliche Muster in Daten zu finden. Das Ziel des KDD ist es, neues Wissen aus den vorhandenen Daten zu erschließen. Hierzu sind mehrere Schritte notwendig: 1. Selektion: Um überhaupt die Chance wahrnehmen zu können, sinnvolles Wissen aus einer riesigen Datenbank zu extrahieren, ist es zunächst notwendig, sich auf die relevanten Daten zu beschränken, diese also zu selektieren. 2. Vorverarbeitung: Die selektierten Daten müssen nach Möglichkeit von Rauschen befreit werden, fehlende Attribute müssen ersetzt oder gestrichen werden. 3. Transformation: Daten müssen in geeignete Form gebracht werden, um in den nachfolgenden Schritten bearbeitet werden zu können. 4. Data Mining: Durch Anwenden von speziellen Algorithmen sollen Muster in den Daten gefunden werden. 5. Interpretation: Die Interpretation der gelieferten Muster soll dem Benutzer neues Wissen vermitteln. 126 6.2 Clustering Der KDD-Prozeß beinhaltet also insbesondere neben dem Data Mining wichtige, vorbereitende Schritte, die das Data Mining überhaupt erst ermöglichen. Der Data Mining Schritt im KDD-Prozeß soll mittels geeigneter Algorithmen Muster in Daten finden, um so die Grundlage für das Erkennen neuen Wissens zu liefern. Zwei wichtige Felder des Data Mining sind Clustering und Klassifikation, die in dieser Arbeit genauer vorgestellt werden. Clusteringverfahren dienen dazu, die Objekte der Eingabedaten in Gruppen, sogenannte Cluster einzuteilen. Dabei ist vorher unbekannt, welche Gruppen in den Daten existieren. Klassifikationsverfahren teilen Objekte der Eingabedaten hingegen in eine Reihe vorher bekannter Klassen ein. Diese Einteilung lernt ein Klassifikator mit Hilfe einer Menge von Trainingsdaten, von denen voher bekannt ist, welcher Klasse sie angehören. Der Rest dieser Arbeit ist folgendermaßen aufgebaut: Abschnitt 6.2 stellt die Grundlagen von Clustering und einige ausgewählte Algorithmen vor, Abschnitt 6.3 beschäftigt sich mit der Klassifikation. Abschnitt 6.4 schliesst mit einem Fazit und der Einordnung der vorgestellten Techniken in die Projektgruppe Personalisierung internetbasierter Handelsszenarien. 6.2 Clustering Um Zusammenhänge in Daten entdecken zu können, ist es hilfreich, gleichartige Daten zu Gruppen zusammenzufassen. Clusteringverfahren leisten dies, indem sie sich ähnelnde Objekte der Eingabedaten in Cluster einteilen. Ein Cluster ist eine Menge von Objekten, die untereinander eine hohe und zu anderen Objekten außerhalb des Clusters eine möglichst geringe Ähnlichkeit aufweisen [ES00]. Der Rest dieses Abschnittes ist folgerndermaßen aufgebaut: Zunächst werden notwendige Grundlagen erläutert (Abschnitt 6.2.1). Im Anschluß werden in Abschnitt 6.2.2 Clusteringalgorithmen vorgestellt, die ein partitionierendes Clustering erstellen, in Abschnitt 6.2.3 werden Verfahren erläutert, die ein hierarchisches Clustering erzeugen. 6.2.1 Grundlagen Clusteringverfahren sollen Objekte in Mengen hoher Ähnlichkeit einteilen. Wie bestimmt man die Ähnlichkeit zweier Objekte? Dies ist eine der elementaren Frage des Clustering, von deren Beantwortung 127 6 Clustering und Klassifikation die Qualität des Ergebnisses entscheidend beeinflußt wird. Üblicherweise wird die Ähnlichkeit zweier Objekte über ihre Distanz zueinander approximiert. Je größer die Distanz, desto unähnlicher sind sich die Objekte. Ein Objekt x aus der Menge der Daten D habe die Attribute A1 , . . . , Ad mit den Werten x = (x1 , . . . , xd ). Man muß nun unterscheiden zwischen qualitativen (oder kategorialen) Attributen (z.B. Geschlecht, Farbe) und quantitativen Attributen (z.B. Einkommen, Größe). Die Ausprägungen von quantitativen Attributen sind vergleichbar, d.h. man kann Differenzen zwischen zwei Werten eines quantitativen Attributs bilden. Zum Beispiel ist ein dreizehnjähriger jünger als eine zwanzigjährige, da 13 − 20 < 0 ⇔ 13 < 20. Anders sieht es bei qualitativen Merkmalen aus. Hier lassen sich keine Differenzen und damit keine Vergleiche bilden. Zum Beispiel ist nicht definiert, was männlich − weiblich ergibt. Man kann nur feststellen, daß sich zwei Ausprägungen eines qualitativen Attributs unterscheiden. Eine detaillierte Beschreibung des Unterschiedes zwischen quantitativen und qualitativen Attributen liefert [FKPT97]. Für Objekte, welche nur quantitative Attribute besitzen, ist es sehr einfach, eine Distanzfunktion zu finden. Ein Beispiel für solch eine Distanzfunktion ist die Euklidische Distanz : v u d uX p dist(x, y) = (x1 − y1 )2 + . . . + (xd − yd )2 = t (xi − yi )2 (6.1) i=1 Eine Distanzfunktion muß die folgenden drei Bedingungen erfüllen: ∀x, y ∈ D : dist(x, y) ∈ R≥0 dist(x, y) = 0 ⇔ x = y dist(x, y) = dist(y, x) Die euklidische Distanz erfüllt zusätzlich noch die Dreiecksungleichung: ∀x, y, z ∈ D : dist(x, z) ≤ dist(x, y) + dist(y, z) Eine Distanzfunktion, die die Dreiecksungleichung erfüllt, ist eine Metrik . Weitere häufig benutzte Distanzfunktionen für quantitative Attribute sind die Manhattan-Distanz (Gleichung (6.2)) sowie die 128 6.2 Clustering Maximums-Metrik (Gleichung (6.3)). Auch diese beiden Distanzfunktionen sind Metriken. dist(x, y) = |x1 − y1 | + · · · + |xd − yd | = d X |xi − yi | (6.2) i=1 ¡ ¢ dist(x, y) = max |x1 − y1 |, . . . , |xd − yd | (6.3) Für qualitative Attribute kann man diese Distanzfuntionen nicht verwenden, da hier keine Differenzen gebildet werden können. Eine Möglichkeit, eine Distanzfunktion für solche Attribute zu bilden, ist es, die Anzahl der Attribute zu zählen, in denen sich zwei Objekte unterscheiden: d X dist(x, y) = δ(xi , yi ) (6.4) i=1 mit ½ δ(xi , yi ) = 0 wenn (xi = yi ), 1 sonst Oftmals ist es schwierig, eine geeignete Distanzfunktion zu finden, weil die Objekte häufig sowohl qualitative als auch quantitative Attribute besitzen und diese oft von unterschiedlich großer Wichtigkeit für die Gruppierung der Objekte sind. Beispielsweise ist die Haarfarbe eines Kunden für die Gruppierung in Kundengruppen eines Supermarktes sicherlich nicht so wichtig wie sein Einkommen. Ein Clusteringverfahren kann also nicht einfach eine fest gewählte Distanzfunktion nutzen, sondern muß diese je nach Anwendung variieren. Für das Finden einer geeigneten Distanzfunktion benötigt man Hintergrundwissen über die vorliegenden Daten, so daß dies nicht automatisch von einem Clusteringalgorithmus geleistet werden kann, sondern von einem Experten übernommen werden muß. Im folgenden wird davon ausgegangen, daß eine geeignete Distanzfunktion zur Verfügung steht. Clusteringverfahren werden oft in verschiedene Klassen eingeteilt. Han und Kamber [HK01] teilen Clusteringverfahren in partitionierende, hierarchische, dichte-basierte, gitter-basierte und modell-basierte Verfahren ein. Diese Einteilung beruht auf der Vorgehensweise, die die Verfahren verwenden, um Cluster zu finden. Partitionierende Verfahren sind nach [HK01] solche, die mit einem initialen Clustering beginnen, um dann iterativ solange eine Neuzordnung der Eingabedaten 129 6 Clustering und Klassifikation zu den bestehenden Clustern vorzunehmen, bis das Clustering optimal ist. Hierarchische Methoden sind nach dieser Einteilung dagegen solche, die entweder zunächst jedes einzelne Objekt einem Cluster zuweisen und dann solange Cluster miteinander zu neuen Clustern vereinen, bis alle Objekte in einem Cluster enthalten sind, oder zunächst alle Objekte einem Cluster zuordnen und diesen dann sukzessiv aufspalten, bis alle Objekte einem eigenen Cluster angehören. Dichtebasierte Verfahren sehen Cluster als Regionen von Objekten an, die in einer hohen Dichte zueinander stehen. Gitter-basierte Methoden teilen den Raum der Eingabedaten in ein Gitter ein und weisen Objekte aufgrund ihrer Lage in diesem Gitter einem bestimmten Cluster zu. Modell-basierte Verfahren versuchen nach [HK01] ein mathematisches Modell zu entwickeln und dessen Parameter so zu wählen, daß die Eingabedaten möglichst gut repräsentiert werden. Im folgenden werden Clusteringverfahren analog zu [ES00] nur in partitionierende (Abschnitt 6.2.2) und hierarchische (Abschnitt 6.2.3) Verfahren eingeteilt. Diese Einteilung beruht nicht auf der Vorgehensweise der jeweiligen Algorithmen, sondern auf der Art der Cluster, die die Algorithmen in den Eingabedaten finden. So lassen sich alle in [HK01] vorgestellten Verfahren danach unterscheiden, ob sie ein Objekt nur jeweils einem Cluster zuordnen, oder ob sie eine Hierarchie von Clustern erzeugen. Beispielsweise gibt es dichte-basierte Verfahren, die ein partitionierendes Clustering erzeugen, und solche, die ein hierarchisches erzeugen. Alle hier betrachteten Verfahren sind distanz-basiert, d.h. sie teilen ein Objekt aufgrund seiner Distanz zu anderen Objekten in den passenden Cluster ein. Han und Kamber erwähnen in [HK01] zusätzlich noch das konzept-basierte Clustering, das hier jedoch nicht weiter behandelt wird. 6.2.2 Partitionierendes Clustering Partitionierende Clusteringverfahren teilen die Eingabedaten in disjunkte Cluster ein, so daß gilt: Jeder Cluster besteht aus mindestens einem Objekt. Jedes Objekt ist höchstens in einem Cluster enthalten. Es gibt mehrere Methoden, solch ein Clustering zu erzeugen. Zunächst werden Verfahren vorgestellt, die den Mittelpunkt eines Clusters su- 130 6.2 Clustering chen und die übrigen Punkte dem Cluster zuordnen, zu dessen Mittelpunkt sie die geringste Distanz haben. Danach wird ein Verfahren untersucht, daß auf Wahrscheinlichkeitstheorie basiert und als letztes ein dichte-basiertes Verfahren vorgestellt. 6.2.2.1 Mittelpunktbestimmung Verfahren, die in diese Kategorie fallen, beginnen zunächst mit einem initialen Clustering und verbessern dieses iterativ. Das bedeutet, daß im ersten Schritt alle Objekte der Eingabedaten (meist wahllos, z.B. zufällig) einem Cluster zugeordnet werden und dann der Mittelpunkt dieser Cluster bestimmt wird. Dann werden die Objekte neu zu den Clustern zugewiesen, zu deren Mittelpunkt sie am wenigsten entfernt sind. Dies wird solange iterativ wiederholt, bis sich die Qualität des Clustering nicht mehr verbessert. Algorithmus 1 stellt einen allgemeinen Algorithmus dar, der nach diesem Schema arbeitet. Wie aber 1. Weise alle Objekte aus den Eingabedaten einem der Cluster C1 , . . . , Ck zu. 2. Bestimmt die Kompaktheit T D des Clustering. 3. Bestimme die Mittelpunkte x̄1 , . . . , x̄k der Cluster. 4. Für alle x aus den Eingabedaten: Weise x demjenigen Cluster Ci zu, von dessen Mittelpunkt x̄i es am wenigsten entfernt ist. 5. Falls die Kompaktheit des neuen Clustering kleiner als T D ist, weiter bei 3. Algorithmus 1: Clustering per Mittelpunktbestimmung bestimmt man den Mittelpunkt eines Clusters und die Kompaktheit des Clustering? Dazu werden im folgenden die zwei bekannten Verfahren k-means und k-medoid vorgestellt. k-means Das k-means Verfahren benutzt als Mittelpunkt eines Clusters den sogenannten Centroid µC , der anschaulich den geometrischen Mittelpunkt eines Clusters C darstellt: ¡ ¢ 1 X µC = x̄1 (C), . . . , x̄d (C) mit x̄j (C) = xj |C| (6.5) x∈C 131 6 Clustering und Klassifikation Um das Maß der Kompaktheit eines Clustering nach diesem Verfahren bestimmen zu können, bestimmt man zunächst die Kompaktheit eines Clusters C in diesem Clustering durch: X T D2 (C) = dist(x, µC )2 (6.6) x∈C Dann bezeichnt die Kompaktheit des Clustering die Summe der Kompaktheit der einzelnen Cluster Ci : 2 TD = k X T D2 (Ci ) (6.7) i=1 Abbildung 6.1 zeigt den initialen Schritt der (zufälligen) Zuweisung der Objekte zu einem Cluster, die Berechnung der Centroide und die Neuberechnung der Cluster. Das k-means Verfahren weicht von Algorithmus 1 in dem Punkt ab, daß es die Centroide der neuen Cluster nicht erst nach der Umordnung aller Punkte, sondern inkrementell bei jeder Umordnung anpaßt. Dadurch kann das Neuberechnen der Centroide am Ende der Umordnung eingespart werden. Der Nachteil ist, daß das Verfahren dadurch abhängig von der Reihenfolge der Abarbeitung der einzelnen Punkte in den Clustern ist. k-medoid Ein Verfahren, das dem k-means Verfahren sehr ähnlich ist, ist das k-medoid Verfahren, das ebenfalls nach dem Schema des Algorithmus 1 arbeitet. Hier wird als zentraler Punkt eines Clusters der sogenannte Medoid mC bestimmt, der im Gegensatz zum Centroid ein Objekt aus den Eingabedaten sein muß. Der Medoid ist derjenige Punkt der Eingabedaten, der die geringste Entfernung zum arithmetischen Mittelpunkt hat. Maß für die Kompaktheit ist hier üblicherweise nicht die Summe der quadrierten Distanzen, sondern die einfache Summe der Distanzen: X T D(C) = dist(x, mC ) (6.8) x∈C TD = k X T D(Ci ) (6.9) i=1 Dadurch wird verhindert, daß große Entfernungen zum Medoid ein zu starkes Gewicht erlangen [ES00]. 132 6.2 Clustering Eingabedaten (a) 5 4 4 3 3 2 2 1 1 0 0 1 2 4 5 Eingabedaten Centroide (c) 5 3 0 4 3 3 2 2 1 1 0 0 1 2 3 4 0 5 0 1 2 0 3 4 5 Eingabedaten Centroide (d) 5 4 Eingabedaten (b) 5 1 2 3 4 5 Abbildung 6.1: Centroid basiertes Clustering: (a) Eingabedaten, (b) initiales Clustering, (c) Centroidbestimmung, (d) Neueinteilung der Cluster 133 6 Clustering und Klassifikation Das ein Medoid ein Element der Eingabedaten ist, bedeutet, daß man ihn nun nicht einfach errechnen“ kann, sondern ihn in den Einga” bedaten suchen muß. Es existieren mittlerweile verschiedene Algorithmen, die dies mit unterschiedlichen Strategien erreichen. Ein bekannter ist Partitioning Around Medoids“ (Pam) [KR90], der eine ” sehr gründliche Suche auf den Eingabedaten durchführt. Dadurch bewertet er die Kompaktheit des Clustering für nahezu alle möglichen Kombinationen von Medoiden und ist deshalb in der Lage, gute Cluster zu finden [ES00]. Der Nachteil ist allerdings, daß die Laufzeit mit der Anzahl der Eingabeobjekte sehr stark ansteigt und Pam daher nur für kleine Mengen zu clusternder Objekte geeignet ist. Eine weniger gründliche Suche führt Clustering Large Applications based on ” RANdomized Search“ (Clarans) [NH94] durch, der nicht den kompletten Eingaberaum absucht, sondern zufallsbasiert nur einen Teil der Daten berücksichtigt. Dadurch ist er deutlich effizienter, ohne dabei wesentlich schlechtere Ergebnisse als Pam zu liefern [ES00, NH94]. 6.2.2.2 Erwartungsmaximierung Im Gegensatz zu den vorherigen Methoden, werden beim Clustering nach Erwartungsmaximierung die Cluster nicht durch Mittelpunkte repräsentiert, sondern durch Wahrscheinlichkeitsverteilungen. Eine Wahrscheinlichkeitsverteilung ist eine Abbildung, die jedem möglichen Ausgang eines Zufallsexperiments eine Wahrscheinlichkeit zuordnet [FKPT97]. Beim Clustering durch Erwartungsmaximierung nimmt man also an, daß die Daten aus einem Zufallsexperiment enstanden sind und approximiert die Cluster durch Gaußverteilungen. Eine Gaußverteilung ist eine symmetrische Wahrscheinlichkeitsverteilung, die einen Graphen in Glockenform induziert. Gaußverteilungen werden benutzt, weil sich durch eine Mischung dieser beliebige andere Verteilungen approximieren lassen [FKPT97]. Eine Gaußverteilung C ist eindeutig definiert durch ihren Mittelwert µC und ihre Kovarianzmatrix ΣC [ES00]. Eine Kovarianzmatrix bezüglich einer d-dimensionalen Zufallsvariablen X = (X1 , . . . , Xd ) ist eine d × d Matrix, deren einzelne Elemente die paarweisen Kovarianzen der Zufallsvariablen Xi sind: Cov(X1 , X1 ) · · · Cov(X1 , Xd ) .. .. .. Σ= . . . Cov(Xd , X1 ) · · · Cov(Xd , Xd ) 134 6.2 Clustering Hier ist diese Zufallsvariable gegeben durch die Menge der Eingabedaten mit ihren Attributen (A1 , . . . , Ad ). Die Kovarianz bezüglich zweier Zufallsvariablen Xi und Xj ist definiert als ¡ ¢ Cov(Xi , Yj ) = E (Xi − EXi )(Yj − EYj ) , wobei E(Xi ) der Erwartungswert der Zufallsvariablen Xi ist. Man nimmt nun an, daß die Eingabedaten aus einer Mischung von k Gaußverteilungen entstanden sind. Das Ziel des Em-Algorithmus ist es daher, die k Gaußverteilungen zu finden, für die die Wahrscheinlichkeit, daß die gegebenen Daten aus ihnen entstanden sind, maximal ist. Dazu beginnt man ähnlich wie beim k-means oder k-medoid Verfahren mit beliebigen Startwerten für µC und ΣC und verbessert das Clustering iterativ, analog zu Algorithmus 1, wobei hier an Stelle der Mittelpunkte die Parameter der Gaußverteilungen bestimmt werden. Um dies zu tun, berechnet man zunächst für die initialen Belegungen die Wahrscheinlichkeiten, mit denen ein Punkt x aus einer der k Gaußverteilungen Ci entstanden ist: 1 1 −1 T (6.10) e− 2 (x−µCi ) (ΣCi ) (x−µCi ) P (x|Ci ) = p d (2π) |ΣCi | Damit läßt sich nun die Wahrscheinlichkeit berechnen, mit der x aus der Mischung der k Gaußverteilungen entstanden ist: P (x) = k X Wi P (x|Ci ), (6.11) i=1 Wi ist dabei die Anzahl der Objekte im Cluster Ci geteilt durch die Anzahl aller Objekte, also eine Gewichtung entsprechend der Größe des Clusters. Die Wahrscheinlichkeit, mit der nun ein bestimmtes Objekt x einem Cluster Ci angehört ist:1 P (Ci |x) = Wi P (x|Ci ) P (x) (6.12) Um zu überprüfen, ob das vorgegebene Ziel, daß die gegebenen Daten mit maximaler Wahrscheinlichkeit aus den errechneten Gaußverteilungen entstanden sind, erreicht wurde, werden die Wahrscheinlichkeiten aller Objekte der Daten, die nach Formel (6.11) errechnet wurden, summiert: X E= log(P (x)) (6.13) x∈D 1 siehe dazu auch Gleichung (6.21) auf Seite 148 135 6 Clustering und Klassifikation Der iterative Algorithmus berechnet zu den initialen Belegungen die Wahrscheinlichkeiten P (x), P (x|Ci ) und P (Ci |x), um dann aus diesen neue Mittelwerte µCi und Kovarianzmatrizen ΣCi der Cluster C1 , . . . , Ck zu errechnen, aus denen sich dann wiederum neue Wahrscheinlichkeiten ergeben. Dies wird solange wiederholt, bis E nicht mehr erhöht werden kann. Rechnerisch kann nun ein Objekt mehreren Clustern angehören, nämlich gerade denen, für die P (Ci |x) > 0 ist. Um der Einschränkung des partitionierenden Clustering zu genügen, daß ein Objekt höchstens einem Cluster angehört, kann man die Objekte demjenigen Cluster Ci zuweisen, für den P (Ci |x) maximal ist. Clustering nach Erwartungsmaximierung hat ebenso wie die Verfahren nach Mittelpunktbestimmung (Abschnitt 6.2.2.1) Probleme, Cluster zu finden, die bestimmte Eigenschaften aufweisen. So können beispielsweise Cluster, die stark unterschiedliche räumliche Strukturen besitzen, schlecht von solchen Verfahren erkannt werden [ES00]. Für solche Cluster bietet sich das dichte-basierte Clustering an, das im folgenden vorgestellt wird. 6.2.2.3 Dichte-basiertes Clustering Statt einen Cluster als eine Menge von Objekten anzusehen, die möglichst nah an einem gewissen Mittelpunkt liegen, kann man einen Cluster auch als eine Menge von Objekten ansehen, die in einer bestimmten Dichte zueinander stehen und von anderen Clustern durch Regionen geringerer Dichte getrennt werden. Ein Algorithmus, der Cluster auf diese Weise findet, ist Density Based Spatial Clustering ” of Applications with Noise“ (Dbscan) [EKSX96, ES00]. Um ein solches Clustering durchführen zu können, werden zunächst folgende Begriffe definiert: Sei ε ∈ R≥0 , x ∈ D. Dann ist Nε (x) = {y ∈ D : dist(x, y) ≤ ε} die ε-Umgebung von x Sei M inP T S ∈ N. x ∈ D ist ein Kernobjekt, falls |Nε (x)| ≥ M inP T S x ∈ D ist direkt dichte-erreichbar von y ∈ D, falls y Kernobjekt ist und x ∈ Nε (y). x ist dichte-erreichbar von y, falls ∃p1 , . . . , pn ∈ D : p1 = y, pn = x und 136 6.2 Clustering ∀i ∈ (1, . . . , n − 1) : pi+1 ist direkt dichte-erreichbar von pi x und y sind dichte-verbunden, wenn ∃z ∈ D : x und y sind dichte-erreichbar von z x ist ein Randobjekt, falls es kein Kernobjekt ist und in der ε-Umgebung eines Kernobjektes liegt Abbildung 6.2 verdeutlicht diese Definitionen. Man sieht vier Kernobjekte und die zwei Randobjekte x und y. Alle Kernobjekte sind hier direkt dichte-erreichbar untereinander. x ist direkt dichte-erreichbar vom untersten Kernobjekt, von den anderen dichte-erreichbar. x und y sind über die Kernobjekte dichte-verbunden. 3 Kernobjekte x y Epsilon MinPTS=4 Epsilon=0,5 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 Abbildung 6.2: ε-Umgebungen und Dichte-Erreichbarkeit Anhand der getroffenen Definitionen lassen sich nun sehr leicht Cluster identifizieren. Man wählt ein beliebiges Kernobjekt aus den Eingabedaten und ordnet dieses und alle von ihm dichte-erreichbaren Objekte einem gemeinsamen Cluster zu. Ein Cluster ist damit eine Menge von dichte-verbundenen Objekten. In Abbildung 6.2 gehören also alle Objekte zum selben Cluster. Anhand dieser Definition eines Clusters läßt sich auch leicht Rauschen erkennen, also Daten, die keinem 137 6 Clustering und Klassifikation Cluster zuzuordnen sind. Dies sind einfach Objekte, die weder Kernnoch Randobjekt, also von keinem Kernobjekt aus dichte-erreichbar sind. Eine formale Definition dieser Art der Clusterrepräsentation findet sich in [ES00]. Die Tatsache, daß sich von einem beliebigen Kernobjekt innerhalb eines Clusters alle Objekte des Clusters finden lassen, indem man die jeweils dichte-erreichbaren Objekte absucht, macht sich Dbscan zu nutze, wie Algorithmus 2 zeigt. Seien ε ∈ R≥0 , M inP T S ∈ N, D die Eingabedaten, k = 1 eine Zählervariable 1. Weise allen Objekten den Status UNKLASSIFIZIERT zu 2. ∀x ∈ D, Status(x) = UNKLASSIFIZIERT: Falls |Nε (x)| < M inP T S: Setze Status(x) = NOISE. Andernfalls: a) Sei seeds = Nε (x) b) ∀y ∈ seeds: Falls Status(y) {UNKLASSIZIFIZIERT,NOISE}: Setze Status(y) = k ∈ c) seeds = seeds \ {x} d) Solange seeds 6= ∅: i. Sei y ∈ seeds ii. Falls Nε (y) ≥ M inP T S: ∀z ∈ Nε (y): A. Falls Status(z) = UNKLASSIFIZIERT: seeds = seeds ∪ {z} B. Falls Status(z) ∈ {UNKLASSIZIFIZIERT,NOISE}: Setze Status(z) = k iii. seeds = seeds \ {y} e) Inkrementiere k 3. Das Clustering ist gegeben durch die Cluster C1 , . . . , Ck . Alle Objekte der Eingabedaten mit dem Status NOISE sind Rauschen, Objekte mit Status i gehören zum Cluster Ci . Algorithmus 2: Dbscan 138 6.2 Clustering Überlappungen Die hier vorgestellte Clusterdefinition läßt es zu, daß ein Randobjekt zu mehr als einem Cluster gehören kann. Für diesen Fall weist Algorithmus 2 das Objekt demjenigen Cluster zu, den er zuerst gefunden hat. Überlappungen sind jedoch nur für M inP T S ≥ 4 überhaupt möglich, wie man leicht sieht: Sei M inP T S = 3, x ein Kernobjekt des Clusters C1 , y ein Kernobjekt des Clusters C2 und z ein Randobjekt beider Cluster mit z ∈ Nε (x) und z ∈ Nε (y). Damit ist jedoch |Nε (z)| ≥ 3, weil x, y, z bereits in Nε (z) enthalten sind. Daher ist z Kernobjekt und C1 = C2 . 6.2.3 Hierarchisches Clustering Im Gegensatz zum partitionierenden Clustering (Abschnitt 6.2.2) werden die Eingabedaten nicht in disjunkte Cluster eingeteilt, sondern in eine Hierarchie von Clustern. Es werden neben möglicherweise disjunkten Clustern auch solche gebildet, die in einem anderen, größeren Cluster enthalten sind, diesem also untergeordnet sind. Ebenso können übergeordnete Cluster aus der Vereinigung bereits bestehender Cluster gebildet werden. So eine Clusterhierarchie ist gerade dann von Vorteil, wenn Daten zu analysieren sind, die natürlicherweise eine Hierarchie darstellen, beispielsweise eine Hierarchie von Kundengruppen unterschiedlicher Qualität. Im folgenden werden zwei unterschiedliche Methoden vorgestellt, die ein hierarchisches Clustering erzeugen. Agglomeratives Clustering (Abschnitt 6.2.3.1) erstellt Cluster anhand von Distanzen zwischen Objekten und Distanzen von Clustern zueinander, Abschnitt 6.2.3.2 stellt ein dichte-basiertes Verfahren zur Erstellung eines hierarchischen Clustering vor. 6.2.3.1 Agglomeratives Clustering Agglomeratives Clustering [DH73] benutzt einen bottom-up Ansatz, um eine Hierarchie von Clustern aufzubauen. Zuerst werden einelementige Cluster erzeugt,2 welche dann zu zweielementigen Clustern verbunden werden, die dann wiederum mit anderen Clustern verbunden werden, bis schließlich alle Objekte in einem gemeinsamen Cluster enthalten sind. Das divisive Clustering baut eine Hierarchie dagegen in umgekehrter Reihenfolge auf, indem es zunächst alle Objekte einem einzigen Cluster zuordnet und diesen dann sukzessiv in 2 Jedes Objekt in den Eingabedaten wird also als ein Cluster angesehen. 139 6 Clustering und Klassifikation kleinere Cluster aufspaltet. Wegen der großen konzeptionellen Ähnlichkeit zum agglomerativen Clustering, wird das divisive Clustering im folgenden nicht weiter behandelt. Um ein agglomeratives Clustering erzeugen zu können, wird neben einer Distanzfunktion zwischen zwei Objekten (Abschnitt 6.2.1) zusätzlich eine Distanzfunktion zwischen Mengen von Objekten, also zwischen Clustern, benötigt. Auch hier gibt es unterschiedliche Vorgehensweisen, die sich lediglich in der Wahl dieser Distanzfunktion unterscheiden [ES00]. Die Single-Link-Methode definiert die Distanz einer Menge X ⊆ D zu einer Menge Y ⊆ D als die kleinste Distanz zweier Objekte dieser Mengen zueinander: dist(X, Y ) = min x∈X,y∈Y dist(x, y) (6.14) Die Complete-Link-Methode verwendet dagegen die maximale Distanz zweier Objekte: dist(X, Y ) = max dist(x, y) x∈X,y∈Y (6.15) Die Distanzfunktion der Average-Link-Methode bildet stattdessen das arithmetische Mittel der Distanzen aller Objekte der einen Menge zu den Objekten der anderen Menge: dist(X, Y ) = 1 |X||Y | X dist(x, y) (6.16) x∈X,y∈Y Unabhängig von der verwendeten Distanzfunktion läßt sich ein agglomeratives Clustering durch bottum-up Aufbau mittels Algorithmus 3 durchführen. Clusterhierarchien, die auf diese Weise aufgebaut werden, werden oft durch ein Dendrogramm dargestellt [DH73]. Abbildung 6.3 zeigt rechts ein solches Dendrogramm für die links abgebildeten Beispielsdaten. 6.2.3.2 Dichte-basiertes Clustering In Abschnitt 6.2.2.3 wurde mit Dbscan ein Verfahren vorgestellt, daß ein partitionierendes Clustering erstellt, indem es Cluster als Regionen hoher Dichte betrachtet, die untereinander durch Regionen geringer Dichte getrennt sind. In [ABKS99] stellen die Autoren eine Möglichkeit vor, wie man diese Technik nutzen kann, um hierarchische Cluster zu finden. Der Grundgedanke dabei ist, daß für einen 140 6.2 Clustering 1. Messe alle Distanzen zwischen je zwei Objekten aus den Eingabedaten 2. Fasse diejenigen Objekte mit den kleinsten Distanzen zueinander zu je einem Cluster zusammen 3. Berechne die Distanzen der erzeugten Cluster zu den übrigen Objekten neu 4. Weiter bei 2. falls nicht alle Objekte im selben Cluster sind Algorithmus 3: Agglomeratives Clustering 3 2 3 1.5 2 6 1.5 2 1 1 4 5 0.5 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Distanz zwischen den Clustern 2.5 1.5 1 0.5 0 1 2 3 4 5 6 Abbildung 6.3: Clusterrepräsentation durch ein Dendrogramm festen Wert M inP T S eine Hierarchie von Clustern aufgebaut werden kann, wenn man den Wert für ε variiert. Dann sind die Cluster für kleine Werte von ε vollständig in den Clustern für große Werte von ε enthalten, wodurch sich eine Hierarchie von Clustern aufbauen läßt. Abbildung 6.4 verdeutlicht dies anhand der zwei Cluster C1 und C2 für ε1 = 0, 5 und dem übergeordneten Cluster C für ε2 = 1. Man könnte also Dbscan mehrere Male mit unterschiedlichen ε Werten starten und dadurch ein hierarchisches Clustering erzeugen. Welche Werte sollen hierfür benutzt werden? Diese Frage umgehen Ankerst et al [ABKS99] und stellen stattdessen den Algorithmus Ordering Points To Identify the Clustering Struc” ture“ (Optics) vor, der die Eingabedaten so ordnet, daß für beliebige ε Werte unterhalb eines Schwellenwertes ε0 Cluster gefunden werden können. Dazu definiert man zunächst die Kerndistanz eines Objektes 141 6 Clustering und Klassifikation 3.5 MinPTS=4 3 C 2.5 2 1.5 1 0.5 C1 0 0 1 C2 2 3 4 5 6 Abbildung 6.4: Hierarchische Dichte-basierte Cluster x in Bezug zu ε und M inP T S als: KerndistanzM inP ts,ε (x) = ½ UNDEFINIERT, falls Nε (x) < M inP T S M inP T S-Distanz(x) sonst (6.17) Dabei ist die M inP T S-Distanz eines Objektes die Distanz, ab der es ein Kernobjekt ist, ab der also M inP T S Nachbarn in der Nachbarschaft des Objektes liegen. Zum Beispiel hat in Abbildung 6.4 das p Objekt mit den Koordinaten h1; 1, 5i die Kerndistanz 2 × (0, 25)2 für M inP T S = 4 und ε = 0, 5. Weiterhin definiert man die Erreichbarkeitsdistanz eines Objektes x von einem Objekt y aus als: ErreichbarkeitsdistanzM inP T S,ε (x, y) = ½ UNDEFINIERT, ¡ ¢ falls Nε (y) < M inP T S max Kerndistanz(y), dist(x, y) sonst (6.18) In Abbildung 6.4 hat z.B. das Objekt x = h1, 25; 1, 75i vom Objekt y = h1, 5; 1, 5i die Erreichbarkeitsdistanz 0, 5, da y erst ab dieser Distanz ein Kernobjekt ist. Optics durchläuft nun die Eingabedaten und ermittelt für jedes Objekt die Kern- und die kleinste Erreichbarkeitsdistanz relativ zu ei- 142 6.2 Clustering nem bereits bearbeiteten Objekt3 . Dabei werden die Objekte entsprechend der ermittelten Erreichbarkeitsdistanz geordnet in eine Datei geschrieben. Mit Hilfe dieser Datei kann man nun einen Graphen erstellen, der die Erreichbarkeitsdistanzen darstellt. Anhand eines solchen Graphen läßt sich die hierarchische Clusterstruktur für alle Cluster, deren Dichteparameter ε kleiner als der dem Optics übergebenen ε0 ist, identifizieren. Abbildung 6.5 zeigt so ein Erreichbarkeitsdiagramm. Die einzelnen Cluster sind gut als Senken der Erreichbar- Abbildung 6.5: Erreichbarkeitsdiagramm (Quelle: [ABKS99]) keitsdistanzen zu erkennen, auch die Hierarchie des rechten Clusters mit seinen untergeordneten Subclustern ist gut erkennbar. Lediglich die Form der Cluster geht verloren. Diese ist aber im Falle von Daten mit hoher Dimension sowieso kaum noch erfaßbar, während ein Erreichbarkeitsdiagramm bei unterschiedlicher Dimension der Ausgangsdaten immer zwei Dimensionen beinhaltet, nämlich die Ordnung durch Optics und die Erreichbarkeitsdistanzen. In [ABKS99] stellen die Autoren außerdem den sogenannten ξ-Algorithmus vor, der aus einem von Optics erstellten Erreichbarkeitsdiagramm automatisch eine Hierarchie von Clustern anhand von steigenden und sinkenden Regionen der Erreichbarkeit erstellen kann. Dabei wird der Eingabeparameter ξ benutzt, um die Steilheit solcher Regionen zu bestimmen, wodurch sich kontrollieren läßt, bis zu welchem Grad ein Cluster noch als solcher erkannt wird. Übergibt man nun Optics den Eingabeparameter ε in einer Größe, für die Dbscan alle Objekte der Eingabedaten einem Cluster zuweisen würde, kann man 3 Beachte: jedes Objekt hat eine eindeutige Kerndistanz, aber evtl. mehrere Erreichbarkeitsdistanzen, falls es in der ε-Nachbarschaft mehrerer Kernobjekte liegt. 143 6 Clustering und Klassifikation so mit Hilfe von Optics alle hierarchisch darunter liegenden Cluster aufdecken und mit Hilfe des ξ-Algorithmus automatisch erkennen. Unter http://www.dbs.informatik.uni-muenchen.de/Forschung/ KDD/Clustering/OPTICS/Demo/ findet sich eine Demo, die dies sehr schön veranschaulicht. 6.2.4 Zusammenfassung Es wurden zwei grundlegend verschiedene Arten vorgestellt, Eingabedaten in Cluster einzuteilen – das partitionierende und das hierarchische Clustering. In beiden Teilgebieten gibt es eine Unzahl verschiedener Vorgehensweisen, dieses Ziel zu erreichen. Einige davon wurden hier erläutert. Partitionierendes Clustering Beim Clustering durch Mittelpunktbestimmung suchen die Verfahren von einem initialen Clustering aus iterativ die Mittelpunkte, die das kompakteste Clustering definieren. Beim Clustering durch Erwartungsmaximierung wird ebenfalls iterativ eine Mischung aus Gaußverteilungen solange verbessert, bis die Eingabedaten möglichst wahrscheinlich aus dieser Mischung hervorgegangen sind. Beide Verfahren haben den Nachteil, daß ihre Effizienz und ihr Ergebnis stark von dem initialen Clustering abhängt. Daher beschäftigen sich Fayyad et al [FRB98] mit der Frage, welche initialen Belegungen die besten Ergebnisse liefern und schlagen einen Algorithmus vor, der mittels Sampling solche Startpunkte finden soll, die möglichst nahe an den optimalen liegen. Ein weiteres Problem dieser Gruppe von Verfahren ist es, daß die Anzahl k der zu findenden Cluster vorgegeben werden muß. Bei Anwendungen, bei denen die Anzahl der Cluster a priori feststeht ist dies natürlich unproblematisch, bei Anwendungen, wo die Anzahl der Cluster unbekannt ist, müssen die Verfahren für verschiedene Werte von k angewendet werden. Problematisch ist dann allerdings die Bewertung der verschiedenen Durchläufe, weil die Kompaktheit mit steigendem k ebenfalls zunimmt. In [ES00] und [KR90] werden geeignete Bewertungsmaße für dieses Problem vorgestellt. Ein großer Nachteil der Mittelpunktbestimmung und der Erwartungsmaximierung ist weiterhin, daß sie für Cluster, die nicht kugelförmig sind oder stark unterschiedliche Ausdehnungen haben, falsche Ergebnisse liefern [ES00]. Hier setzt das dichte-basierte Clustering (Abschnitt 6.2.2.3) an, das bei Clustern der verschiedensten Formen gute 144 6.3 Klassifikation Ergebnisse liefert [ES00] [EKSX96]. Probleme hat dieses Clusteringverfahren bei Eingabedaten stark unterschiedlicher Dichte. Hierarchisches Clustering Häufig hat man Eingabedaten, die in einer natürliche Hierarchie geordnet sind und damit auch ineinander verschachtelte Cluster bilden. Solche Clusterstrukturen lassen sich mit partitionierenden Methoden nicht finden. Es wurden zwei Verfahren vorgestellt, die eine solche Hierarchie von Clustern erzeugen können. Agglomerative Verfahren arbeitet mit Distanzen von Objekten und Clustern zueinander und fügen Objekte und Cluster solange zu neuen Clustern zusammen, bis alle Objekte in einem gemeinsamen Cluster enthalten sind. Die Struktur des Clustering wird in einem Dendrogramm wiedergegeben. Neben dem Problem, das diese Verfahren nicht immer die wahre Clusterstruktur erkennen, kann ein Dendrogramm für eine sehr große Menge von Daten sehr unübersichtlich und schwer zu interpretieren sein. Das dichte-basierte hierarchische Clustering, das in Abschnitt 6.2.3.2 vorstellt wurde, vereint die Vorteile von Dbscan mit einer neuartigen Methode, hierarchische Cluster zu finden und zu repräsentieren. Dabei ist die Art der Visualisierung auch für sehr viele Daten mit hoher Dimension geeignet. Außerdem wurde das Problem, daß Dbscan mit Clustern stark unterschiedlicher Dichte hat, auf diese Weise eliminiert. Ein Problem, das alle hier vorgestellten Verfahren gemeinsam haben ist das Problem der Dimension. Häufig weisen die Eingabedaten eine hohe Anzahl von Attributen auf, die für das Clustering überhaupt nicht relevant sind und die vorgestellten Verfahren dadurch keine Cluster finden können. Dieses Problem kann man vermeiden, wenn man vorher weiß, welche Attribute für das Clustering relevant sind und die übrigen von der Analyse ausschließt. Für den Fall, daß dies nicht bekannt ist, wird in [AGGR98] ein Verfahren vorgestellt, daß automatisch in Unterräumen geringerer Dimensionalität nach Clustern sucht. 6.3 Klassifikation In Abschnitt 6.2 wurde gezeigt, wie man unbekannte Eingabedaten in Cluster einteilen kann, so daß die Daten untereinander eine hohe Ähnlichkeit und zu Daten in anderen Clustern eine geringe Ähnlichkeit 145 6 Clustering und Klassifikation haben. Dabei ist vorher unbekannt, aus was für Objekten ein Cluster besteht. Man spricht deshalb auch von unüberwachtem Lernen. Aufgabe der Klassifikation hingegen ist es, anhand einer vorgegebenen Trainingsmenge von bekannten Objekten ein Modell aufzubauen, mit dem sich unbekannte Objekte aufgrund ihrer Eigenschaften in Klassen einteilen lassen. Dabei sind sowohl die Klassen als auch die Zugehörigkeit der Trainingsobjekte zu einer Klasse vorher bekannt. Man spricht daher von überwachtem Lernen. 6.3.1 Grundlagen Gegeben sei eine Menge T von Trainingsdaten mit Attributen A1 , . . . , Ad und zusätzlich dem Klassenattribut c, das jedes Trainingsobjekt einer der bereits bekannten Klassen C1 , . . . , Ck zuordnet. Dabei können die Attribute sowohl quantitativ als auch qualitativ sein (siehe Seite 128), das Klassenattribut ist immer qualitativ.4 Klassifikationsverfahren arbeiten in zwei Phasen. Zuerst wird anhand der Trainingsdaten ein Modell aufgebaut, mit dessen Hilfe man in der zweiten Phase unbekannte Daten, also solche, bei denen das Klassenattribut c unbekannt ist, in eine passende Klasse einordnet. Ein weiteres wichtiges Ziel der Klassifikation ist es, anhand des aufgebauten Modells Wissen über die Klassen zu erlangen. 6.3.2 Bewertung der Klassifikationsgüte Während es beim Clustering schwer ist, die Leistung unterschiedlicher Verfahren anhand einer Kenngröße (oder Kostenfunktion) zu beurteilen, ist dies beim Vergleich unterschiedlicher Klassifikatoren einfacher. Ziel eines Klassifikators ist es, wie erwähnt, ein Objekt seiner korrekten Klasse zuzuordnen. Die Güte eines Klassifikators läßt sich daher dadurch bestimmen, wie hoch der Anteil an falsch klassifizierten Objekten ist. Diese wahre Fehlerrate (true error rate) berechnet Gleichung (6.19). true error rate = 4 Anzahl der falsch klassifizierten Objekte (6.19) Anzahl aller Objekte Bei quantitativen Klassenattributen spricht man nicht mehr von Klassifikation, sondern von Regression. Solche Verfahren sind nicht Thema dieser Arbeit. 146 6.3 Klassifikation Das Problem hierbei ist jedoch, daß es bei unbekannten Objekten keine Möglichkeit gibt, die wahre Klasse und damit potentielle Fehlklassifikationen zu erkennen. Dies kann nur für die Trainingsdaten, deren Klassenzugehörigkeit a priori bekannt ist, erfolgen. Die Fehlerrate eines Klassifikators auf den Trainingsdaten nennt man auch offensichtliche Fehlerrate (apparent error rate); sie ist gegeben durch Gleichung (6.20). apparent error rate = Anzahl der falsch klassifizierten Trainingsobjekte Anzahl aller Trainingsobjekte (6.20) Aus der Statistik weiß man, daß sich die offensichtliche Fehlerrate der wahren Fehlerrate annähert, wenn man genügend Trainingsobjekte zur Verfügung hat, so daß diese die Gesamtheit der Daten widerspiegeln [FKPT97]. In realen Problemstellungen ist es jedoch häufig so, daß die Menge der Trainingsdaten beschränkt ist. Es sind also Verfahren gesucht, mit denen man anhand einer beschränkten Menge von Trainingsobjekten eine Fehlerrate errechnen kann, die möglichst nah an der wahren liegt. Train and Test Die einfachste Methode ist es, die Trainingsdaten in zwei Teilmengen zu zerlegen, die eigentliche Trainingsmenge und eine Testmenge. Die Trainingsmenge wird wie gewohnt zum Aufbau des Klassifikators benutzt, die Testmenge hingegen nur zum Testen der Klassifikationsgüte. Unter der Voraussetzung, daß die beiden Mengen nicht abhängig voneinander sind, sondern z.B. rein zufällig aufgeteilt wurden, kann man die wahre Fehlerrate mit diesem Verfahren ziemlich gut approximieren, wenn die Testmenge aus mehr als 1000 Objekten besteht [WK91]. Wenn man weniger Daten zur Verfügung hat, muß man zu bestimmten Sampling-Techniken greifen, die in [WK91] näher erläutert werden. Die Klassifikationsgüte läßt sich, je nach Anwendung, auch durch andere Maße messen, die bei gutem Hintergrundwissen über das Anwendungsgebiet gute Ergebnisse liefern, aber den Klassifikator auch in eine ungünstige Richtung negativ beeinflussen können. Mehr dazu findet sich ebenfalls in [WK91]. 147 6 Clustering und Klassifikation 6.3.3 Verfahren Im folgenden werden drei Verfahren zur Klassifikation vorgestellt, die sich in ihrer Herangehensweise an das Problem grundlegend unterscheiden. In Abschnitt 6.3.3.1 werden zunächst Bayes-Klassifikatoren beschrieben, in Abschnitt 6.3.3.2 Entscheidungsbäume und in Abschnitt 6.3.3.3 schließlich die (k)-Nächste-Nachbarn-Klassifikatoren. Bayes-Klassifikatoren basieren auf Wahrscheinlichkeitstheorie und sind wegen ihrer guten Leistung in der Klassifikation von Texten interessant. Entscheidungsbäume werden vorgestellt, weil sie sich sehr gut eignen, das aufgebaute Klassifikationswissen in explizites Wissen im Form von Regeln umzuwandeln. Weiterhin existieren neuartige Algorithmen zum Entscheidungsbaumaufbau, die solche Klassifikatoren für den Einsatz im Data Mining auf großen Datensätzen prädestinieren. Einen anderen, instanz-basierten Ansatz zur Klassifikation stellen die Nächste-Nachbarn-Klassifikatoren dar. 6.3.3.1 Bayes-Klassifikatoren Bayes-Klassifikatoren arbeiten auf Grundlage von Berechnungen über die Wahrscheinlichkeit, mit der ein unbekanntes Objekt einer der Klassen (C1 , . . . , Ck ) angehört. Bayes Theorem Die mathematische Grundlage für diese Berechnungen ist das Bayes Theorem, das es ermöglicht, die a posteriori Wahrscheinlichkeit einer Hypothese X unter Annahme einer Hypothese Y anhand der a priori Wahrscheinlichkeiten von X und Y zu berechnen. Es lautet: P (X|Y ) = P (Y |X)P (X) P (Y ) (6.21) Das folgende Beispiel verdeutlicht das Theorem von Bayes. Beispiel Man betrachte das Zufallsexperiment Werfen eines sechsseitigen Würfels. Sei X die Zufallsvariable Das Ergebnis ” ist 1“ und Y die Zufallsvariable Das Ergebnis ist 1, 2 oder ” 3“. Offensichtlich ist P (X) = 1/6 und P (Y ) = 3/6 = 1/2. Um nun die bedingte Wahrscheinlichkeit zu berechnen, mit der der Wurf unter der Annahme, das entweder 1,2 oder 3 geworfen wurden, eine 1 zeigt, benutzt man das Theorem 148 6.3 Klassifikation von Bayes: P (X|Y ) = P (Y |X)P (X) 1 ∗ 1/6 = = 1/3 P (Y ) 1/2 Offensichtlich entspricht dieses Ergebnis dem erwarteten Wert. Naiver Bayes-Klassifikator Der naive Bayes-Klassifikator ordnet ein unbekanntes Objekt x derjenigen Klasse Ci zu, für die die a posteriori Wahrscheinlichkeit, daß x ihr angehört am höchsten ist. Diese läßt sich nach Gleichung (6.21) berechnen durch: P (Ci |x) = P (x|Ci )P (Ci ) P (x) Das Objekt x wird dann der Klasse zugewiesen, für die P (Ci |x) maximal ist. Da P (x) für alle Klassen gleich ist, reicht es, den Term P (x|Ci )P (Ci ) zu maximieren. Die Entscheidungsregel des naiven BayesKlassifikators ist damit: argmax Ci ∈{C1 ,...,Ck } P (x|Ci )P (Ci ) (6.22) P (Ci ) kann dabei leicht anhand der Trainingsdaten T geschätzt werden durch die Anzahl der Trainingsobjekte in Ci geteilt durch die Anzahl aller Trainingsobjekte: ¯ ¯ ¯{o ∈ T |o ∈ Ci }¯ P (Ci ) = |T | Um P (x|Ci ) zu schätzen, macht sich der naive Bayes-Klassifikator die Annahme zunutze, daß sich die einzelnen Attribute xj eines Objektes x nicht untereinander beeinflussen, wie etwa zwei Würfe einer Münze. Daher läßt sich P (x|Ci ) berechnen durch P (x|Ci ) = d Y P (xj |Ci ) j=1 P (xj |Ci ) läßt sich wiederum leicht anhand der Trainingsdaten abschätzen: ¯ ¯ ¯{y ∈ T |y ∈ Ci ∧ yj = xj }¯ ¯ ¯ P (xj |Ci ) = ¯{y ∈ T |y ∈ Ci }¯ Typischerweise wird P (xj |Ci ) in realen Anwendungen noch geglättet, um z.B. Ausreißer der Art P (xj |Ci ) = 0 zu verhindern. Siehe dazu z.B. [ES00]. 149 6 Clustering und Klassifikation 6.3.3.2 Entscheidungsbäume Entscheidungsbaum-Klassifikatoren bauen Klassifikationswissen in Form von Bäumen auf. Die inneren Knoten solcher Bäume enthalten Tests auf eines der Attribute Ai der Daten. Die Kanten repräsentieren mögliche Ergebnisse solcher Tests. Die Blätter eines Entscheidungsbaumes repräsentieren die Klassen, in die die Objekte eingeteilt werden sollen. Um nun ein unbekanntes Objekt zu klassifizieren, beginnt man bei der Wurzel, führt den entsprechenden Test durch und folgt dann der Kante, die das passende Ergebnis präsentiert. Dies wiederholt man solange, bis man ein Blatt erreicht und weist das Objekt dann der von diesem Blatt repräsentierten Klasse zu. Regen? nein ja Temperatur? schlecht >=15 <15 gut schlecht Abbildung 6.6: Entscheidungsbaum, um Wetter zu klassifizieren Beispiel Will man das Wetter eines Tages in die Klassen gut und schlecht einteilen, kann man dies mit Hilfe des Entscheidungsbaumes aus Abbildung 6.6 und den Attributen Temperatur und Regen erreichen, indem man für einen unbekannten Tag von der Wurzel aus der Reihe nach die Tests ausführt. Angenommen, der unbekannte Tag x mit den Attributen hTemperatur, Regeni habe die Werte h15C, neini, wobei nein bedeutet, daß es an dem Tag nicht regnet. Wenn man x nun anhand des Baumes aus Abbildung 6.6 klassifiziert, erhält man für den Test in der Wurzel das Ergebnis nein, testet danach die Temperatur und gelangt so in das Blatt gut. x ist also der Klasse gut zuzuordnen. Wie man an Abbildung 6.6 sieht, können Klassen von mehreren Blättern repräsentiert sein. Die Ursache hierfür ist, das die Objekte einer Klasse üblicherweise nicht in allen Attributen übereinstimmen. 150 6.3 Klassifikation Aufbau Es existieren zahlreiche Algorithmen, um einen Entscheidungsbaum aufzubauen, die typischerweise aber das gleiche Schema verwenden (Algorithmus 4). Der Algorithmus baut den Entschei1. Sei K die Wurzel des zu erzeugenden Baumes B, T die Menge der Trainingsdaten 2. Suche das Attribut Ai und den dazugehörigen Test, der T am besten in die disjunkten Teilmengen T1 , . . . , Tm aufspaltet 3. Spalte T entsprechend auf und erzeuge für alle Tj einen Knoten Kj als Sohn von K 4. Für alle Kj ∈ (K1 , . . . , Km ): falls alle x ∈ Tj der selben Klasse C angehören, wird Kj ein Blatt mit dem Klassenlabel C, andernfalls rekursiv weiter bei 2 mit K = Kj und T = Tj Algorithmus 4: Aufbau eines Entscheidungsbaumes dungsbaum rekursiv auf und stellt sicher, daß alle x ∈ T von diesem Baum korrekt klassifiziert werden. Prominente Algorithmen, die nach dieser Weise arbeiten, sind beispielsweise Id3 und C4.5 [Qui93]. Splitstrategien Schritt 2 in Algorithmus 4 soll das Attribut und den zugehörigen Test finden, der T am besten aufteilt. Wie kann man diesen Test finden? Mit anderen Worten: Was ist der beste Split, um T aufzuteilen? Es gibt mehrere Methoden, die eine Antwort auf diese Frage geben wollen, drei davon seien hier kurz vorgestellt. Welchen Split würde man intuitiv wählen? Nach kurzer Überlegung ist es plausibel, denjenigen zu wählen, der die Daten so in verschiedene Teilmengen aufteilt, daß diese möglichst rein sind, also nach Möglichkeit nur Objekte einer Klasse enthalten. Wie mißt man diese Reinheit mathematisch? Ein geeignetes Maß für diese Reinheit ist die Entropie, die um so größer wird, je unreiner eine Teilmenge Ti ist. Sie ist definiert als entropie(T ) = − k X pi log2 pi , (6.23) i=1 wobei pi die Wahrscheinlichkeit darstellt, mit der ein Objekt x ∈ T 151 6 Clustering und Klassifikation der Klasse Ci angehört. Sie läßt sich mit Hilfe der Trainingsdaten i }| abschätzen durch pi = |{x∈T|T|x∈C . | Um nun den besten Split zu bewerten, errechnet man mit Hilfe der Entropie den Informationsgewinn (gain), der die Abnahme der gesamten Entropie durch die Durchführung eines Splits beschreibt: gain(T, A) = entropie(T ) − m X |Tj | |T | j=1 entropie(Tj ) (6.24) Mit Hilfe der Gleichung (6.24) entscheidet der Algorithmus Id3, welchen Split er ausführt. C4.5 [Qui93], eine Weiterentwicklung von Id3 verfeinert dieses Kriterium, um zu verhindern, daß Splits bevorzugt werden, die m Teilmengen mit jeweils einem Objekt x ∈ T erzeugen. Wie man leicht sieht, ist der nach Gleichung (6.24) berechnete Informationsgewinn für m einelementige Teilmengen maximal. Aus diesem Grund verwendet C4.5 das Kriterium gain ratio, das sich folgendermaßen berechnen läßt: split info(T, A) = − m X |Tj | j=1 |T | log2 |Tj | |T | gain ratio(T, A) = gain(T, A)/split info(T, A) (6.25) (6.26) Für einen Test, der m einelementige Teilmengen erzeugt, ist der Wert von split info hoch, der Wert des gain ratio damit niedrig. Um zu vermeiden, daß nun Tests bevorzugt werden, die einen sehr kleinen Wert für split info liefern, setzt C4.5 einen gewissen Schwellenwert für gain(T, A) voraus. Das heißt, es wird derjenige Test ausgewählt, dessen Informationsgewinn diesen Schwellenwert erreicht und dessen gain ratio maximal ist. Ein weiteres Maß für die Bestimmung des besten Splits, welches in einigen aktuelleren Algorithmen, wie z.B. Supervised Learning ” In Quest“ (Sliq) [MAR96] und Scalable PaRallelizable INduction ” of decision Trees“ (Sprint) [SAM96] eingesetzt wird, ist der GiniIndex , der schnell zu berechnen ist und vergleichbar gute Resultate wie das gain ratio liefert [ES00]. gini (T ) = 1 − k X i=1 152 p2i (6.27) 6.3 Klassifikation Der Gini-Index einer Partition von T in T1 , . . . , Tm berechnet sich dann durch: m X |Tj | gini (T1 , . . . , Tm ) = gini (Tj ) (6.28) |T | j=1 Eine detailliertere Beschreibung des Gini-Index findet sich in [BFOS84]. Hat man nun einen Entscheidungsbaum mit Hilfe einer dieser Splitstrategien aufgebaut, klassifiziert der Baum die Trainingsdaten T korrekt, d.h. alle x ∈ T werden der Klasse zugeordnet, die auch ihr Klassenattribut aufweist. Overfitting Man hat jedoch experimentell festgestellt, daß ein Entscheidungsbaum, der soweit aufgebaut wurde, daß er alle Trainingsdaten korrekt klassifiziert, häufig für neue, unklassifizierte Daten eine schlechtere Klassifikationsgüte aufweist, als ein weniger komplexer Baum. Diesen Effekt bezeichnet man als Overfitting [Mit97]. 0.9 0.85 Accuracy 0.8 0.75 0.7 0.65 0.6 On training data On test data 0.55 0.5 0 10 20 30 40 50 60 70 80 90 100 Size of tree (number of nodes) Abbildung 6.7: Effekt des Overfitting (Quelle: [Mit97]) Abbildung 6.7 zeigt die Klassifikationsgenauigkeit eines mit Id3 aufgebauten Entscheidungsbaumes in Abhängigkeit von der Anzahl der Knoten. Wie man erwarten würde, steigt sie für die Trainingsdaten monoton an. In Bezug auf die Testdaten sinkt die Klassifikationsgüte ab einer bestimmten Anzahl Knoten jedoch wieder. Ein Grund dafür 153 6 Clustering und Klassifikation ist, daß die Trainingsdaten häufig Ausreißer beinhalten, so daß sie insgesamt keine repräsentative Stichprobe der zu klassifizierenden, unbekannten Daten darstellen. Um diese Verschlechterung der Klassifikationsgüte zu verhindern, gibt es zwei unterschiedliche Ansätze: Bevor der Baum komplett aufgebaut ist, stoppt man den Algorithmus und verhindert so, daß er zu groß wird und damit die Klassifikationsgüte hinsichtlich der Testdaten zu stark abnimmt. Nachdem der Baum komplett aufgebaut wurde, wird er wieder beschnitten, d.h. Teilbäume werden durch Blätter ersetzt und so die Größe des Baumes verkleinert. Auf diese Weise soll ein Baum gefunden werden, der die Testdaten möglichst gut klassifiziert. Die erste Variante, das sogenannte PrePruning ist weniger verbreitet als die zweite, das sogenannte PostPruning. Der Grund dafür ist, daß es schwierig zu entscheiden ist, wann der Aufbau des Entscheidungsbaumes gestoppt werden soll [Mit97, Qui93]. Im folgenden wird die zweite Vorgehensweise, das Post-Pruning genauer betrachtet. Post-Pruning Wie entscheidet man, welche Teilbäume eines voll ausgebauten Entscheidungsbaumes durch Blätter ersetzt werden sollen? Das Ziel ist es, die noch unbekannten Daten möglichst gut zu klassifizieren, doch diese sind aufgrund ihrer Unbekanntheit gerade nicht als Testdaten für den Baum verwendbar. Eine Strategie, die dieses Problem beheben soll, ist das Fehlerreduktionspruning, das die bekannten Trainingsdaten in Trainings- und Testdaten aufteilt. Nachdem dann der Baum anhand der Trainingsdaten aufgebaut wurde, wird er mit Hilfe der Testdaten geprunt, indem man die Testdaten zur Bewertung der Klassifikationsgüte des um einen Teilbaum beschnittenen Baumes heranzieht. Algorithmus 5 arbeitet nach diesem Prinzip.5 Um durch die Aufteilung der Trainingsdaten in Trainings- und Testdaten kein Ungleichgewicht in den beiden Mengen aufkommen zu lassen, bedient man sich häufig der Methode der Cross-Validation, d.h. 5 Im Gegensatz zu [ES00] wird der Baum hier solange beschnitten, bis der Klassifikationsfehler wieder zunimmt. Der Gedanke dahinter ist, daß bei gleichem Klassifikationsfehler der kleinste Baum zu bevorzugen ist. 154 6.3 Klassifikation 1. Sei B der voll ausgebaute Entscheidungsbaum, T die Menge der Testdaten und E der Klassifikationsfehler von B auf T 2. Für jeden Knoten K aus B: Sei FK der Klassifikationsfehler von B − K, also des um K beschnittenen Baumes B. 3. Sei BF das Minimum aller so bestimmten FK ; BK der Knoten, dessen Pruning dieses F erzeugte 4. Falls BF ≤ E: E = BF , B = B − BK, weiter bei 2. 5. B ist der geprunte Entscheidungsbaum Algorithmus 5: Fehlerreduktionspruning man teilt die Trainingsdaten T nicht in zwei, sondern in n gleichgroßen Teilmengen T1 , . . . , Tn auf. Nun werden n − 1 Entscheidungsbäume mit T1 , . . . , Ti−1 , Ti+1 , . . . , Tn als Trainingsdaten aufgebaut und mittels Ti wie in Algorithmus 5 beschnitten. Derjenige Baum, der zum Abschluß des Verfahrens die höchste Klassifikationsgenauigkeit besitzt, wird verwendet. Der Nachteil an dieser Methode ist natürlich, daß man die Trainingsdaten in Trainings- und Testdaten teilen muß. Das wird besonders dann zu einem Problem, wenn nur wenige Trainingsdaten zur Verfügung stehen, da die Qualität des Baumaufbaus durch Abgreifen von Testdaten noch weiter sinkt. Dieser Nachteil läßt sich durch Cross-Validation verringern, dadurch erhöht sich jedoch der Berechnungsaufwand. Einen Ausweg aus diesen Problemen liefert das Minimale Kostenkomplexitäts-Pruning, welches keine zusätzlichen Testdaten benötigt, um zu entscheiden, welche Teilbäume geprunt werden sollen. Stattdessen wird eine Überlegung aus der Informationstheorie benutzt, um diese Entscheidung zu treffen. Die Überlegung ist, daß derjenige Baum zu bevorzugen ist, der die Codierung des Baumes und die der Trainingsdaten minimiert. Dazu stellt man sich vor, daß man eine Nachricht verschicken will, die den Baum und die Klassenzugehörigkeit der Trainingsdaten beschreibt. Der Empfänger hat nur Kenntnis über die Attributwerte der einzelnen Objekte, und soll die Klassenzugehörigkeit dieser anhand der Nachricht bestimmen können. Wenn man nun einen voll ausgebauten 155 6 Clustering und Klassifikation Baum überträgt, benötigt man keine zusätzliche Information über die Klassifizierung der Trainingsdaten – diese ist schließlich direkt aus dem Baum ableitbar. Dafür ist bei so einem Baum die Nachricht, die nur den Baum darstellt, sehr groß. Wenn der Baum nun beschnitten wird, nimmt die Größe dieser Nachricht ab, dafür steigt die Größe der Nachricht, die die Klassenzuordnung der Trainingsdaten beschreibt an, da ja nicht mehr alle Objekte korrekt durch den Baum klassifiziert werden. Es ist nun der Baum gesucht, der die Summe der beiden Nachrichten minimiert. Weitere Details zum Minimalen Kostenkomplexitäts-Pruning finden sich in [BFOS84]; Mehta et al beschreiben in [MRA95] einen anderen Ansatz dieser Technik, der beispielsweise von Sliq (in einer leicht erweiterten Form) benutzt wird. Anwendung auf große Datenbestände Eine wesentliche Problemstellung, worauf sich die Forschung im Bereich des Data Mining konzentriert, ist die Anwendbarkeit der Verfahren auf sehr große Datenbestände. Auch bei Algorithmen zum Aufbau von Entscheidungsbäumen ist dies nicht anders. In den Anfängen der Klassifikation mit Hilfe von Entscheidungsbäumen war die Frage nach großen Datenbeständen jedoch nicht von Bedeutung, Entscheidungsbäume wurden nur für kleine Mengen von Trainingsdaten aufgebaut. Daher, so vermuten Mehta et al in [MAR96], arbeiteten die ersten Entscheidungsbaum Algorithmen ausschließlich auf Daten im Hauptspeicher. Mit der Vorstellung von Sliq im Jahre 1996 wollten Mehta et al diese Beschränkung aufheben. Sie erkannten, daß der größte Zeitaufwand beim Aufbau eines Entscheidungsbaumes auf das Suchen der besten Splits entfällt. Bei numerischen Attributen ist der rechenintensivste Teil die Sortierung der Attributwerte. Um diese Rechenzeit zu reduzieren, und vor allem um immer wiederkehrende Zugriffe auf die Datenobjekte zu verhindern – was ja eine wichtige Vorbedingung zur Anwendung eines Algorithmus, der auf Daten auf Sekundärspeichern arbeiten soll, ist – bedient sich Sliq spezieller Datenstrukturen, die genau dies ermöglichen. Für jedes Attribut der Daten wird eine sogenannte Attributliste (engl. attribute list) erzeugt, die für jedes Trainingsobjekt den Wert des entsprechenden Attributes in sortierter Reihenfolge und einen Verweis auf die sogenannte Klassenliste (engl. class-list) beinhaltet. Die Klassenliste enthält für jedes Ob- 156 6.3 Klassifikation jekt einen Eintrag der Form hC, Li, wobei C die Klasse des Objektes und L das Blatt des Baumes bestimmt, in dem es sich befindet. Die Attributlisten können auf Festplatte gespeichert werden, einzig die Klassenliste muß im Hauptspeicher gehalten werden, wodurch der Hauptspeicherbedarf von Sliq sehr gering ist. Durch das Anlegen der sortierten Attributlisten müssen die Attribute zudem nur einmal sortiert werden. Mit Sliq wurde es erstmals möglich, Millionen von Oid 2 5 1 4 3 Alter 13 18 41 64 72 Oid 1 2 3 4 5 C Jazz Pop Klassik Klassik Pop L B2 B2 B3 B3 B2 Abbildung 6.8: Beispiel von Attribut- und Klassenliste von Sliq Datensätzen zum Aufbau des Baumes zu benutzen. Jedoch ist auch Sliq durch die Anforderung, daß die Klassenliste im Hauptspeicher vorgehalten werden muß, in der Anzahl der Trainingsdaten begrenzt. Sprint [SAM96], ein Nachfolger von Sliq, hebt diese Beschränkung auf, indem er auf eine Klassenliste verzichtet und die entsprechenden Informationen in den Attributlisten unterbringt, die weiterhin auf dem Sekundärspeicher gelagert werden können. Neben der Reduktion des Hauptspeicherverbrauchs hat dies den Vorteil, daß Sprint dadurch sehr leicht parallelisierbar wird. In [SAM96] werden zwar auch zwei parallel arbeitende Varianten von Sliq vorgestellt, diese liefern aber keinen so guten Performanzgewinn wie ein parallel ausgeführter Sprint. Das liegt daran, daß der Verwaltungsaufwand, der nötig ist, um Sliq parallel auszuführen, höher ist als der für Sprint [SAM96]. Anmerkungen Wichtig für Entscheidungsbäume ist die Frage, welche Splits man zuläßt. Viele Algorithmen beschränken sich auf binäre Splits, daß heißt, jeder Test hat nur zwei Ergebnisse und somit wird ein binärer Baum aufgebaut. Andere Algorithmen bauen dagegen näre Bäume auf. Entscheidend für die Qualität des aufgebauten Baumes ist auch, wie mit fehlenden Attributen verfahren wird. Sollen solche Objekte gar 157 6 Clustering und Klassifikation nicht erst berücksichtigt werden? Das wäre sicherlich keine gute Lösung, da man ja daran interessiert ist, den Entscheidungsbaum durch möglichst viele Trainingsobjekte aufzubauen. Häufig wird eine Normalverteilung der Attributwerte angenommen und dadurch ein fehlendes Attribut ersatzweise angenähert. Eine interessante neue Entwicklung stellt Bootstrapped Optimistic ” Algorithm for Tree construction“ (Boat) [GGRL99] dar, ein Algorithmus, der Bootstrapping zum Aufbau des Baumes verwendet. Bootstrapping [WK91] ist eine Technik, mit der man aus einer kleinen Stichprobe von Trainingsdaten mit Hilfe von statistischen Methoden repräsentative Ergebnisse erzielen kann. Außerdem bietet Boat die Möglichkeit, Bäume inkrementell aufzubauen, d.h. man kann zunächst einen Baum mit den vorhandenen Trainingsdaten aufbauen und diesen verbessern, wenn man später weitere Trainingsdaten zur Verfügung hat. Die anderen hier vorgestellten Algorithmen müssen den Baum jedesmal wieder komplett neu generieren. 6.3.3.3 (k)-Nächste-Nachbarn-Klassifikatoren Nächste-Nachbarn-Klassifikatoren arbeiten ähnlich wie Clusteringmethoden mit Distanzen zwischen den zu klassifizierenden Objekten. Die Zuordnung eines unbekannten Objektes zu einer Klasse wird dabei über die Klassenzugehörigkeit seiner Nachbarn getroffen. Die einfachste Version eines Nächste-Nachbarn-Klassifikators weist ein unbekanntes Objekt x derjenigen Klasse zu, der das von x am wenigsten entfernte Trainingsobjekt y angehört: à ! c(x) = c argmin dist(x, y) (6.29) y∈T Als Distanzfunktion wird hier üblicherweise die euklidische Distanz (vgl. Abschnitt 6.2.1) benutzt. Eine Variante dieses Nächste-Nachbarn-Klassifikators ist es, nicht nur das nächste benachbarte Trainingsobjekt zur Klassifizierung zu verwenden, sondern die nächsten k. Das unbekannte Objekt wird dann der Klasse zugewiesen, der die meisten dieser k Trainingsobjekte angehören. Seien (y1 , . . . , yk ) diese nächsten Nachbarn, dann läßt sich die Klasse c(x) des unbekannten Objektes bestimmen durch c(x) = argmax Ci ∈C 158 k X j=1 δ(Ci , c(yj )) (6.30) 6.3 Klassifikation wobei gilt: δ(a, b) = 1, wenn a = b, δ(a, b) = 0 sonst. 3 Objekte der Klasse A Objekte der Klasse B x 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Abbildung 6.9: Unterschiedliche Klassifikationsergebnisse bei k = 2 und k = 5 Wie in Abbildung 6.9 zu sehen ist, ist die Wahl von k entscheidend für die Zuordnung eines Objektes zu einer bestimmten Klasse. Um diese Abhängigkeit zu reduzieren, kann man den Einfluß eines Nachbarn von x abhängig von seiner Distanz zu x machen, d.h. weiter entfernte Nachbarn haben weniger Einfluß auf die Klassenzugehörigkeit als weniger entfernte. Dazu benutzt man eine Gewichtsfunktion, beispielsweise w(x, y) = dist(x, y)−2 . Gleichung (6.30) wird dann abgeändert zu: c(x) = argmax Ci ∈C k X w(x, yj ) δ(Ci , c(yj )) (6.31) j=1 Benutzt man eine derartige Gewichtsfunktion, kann man statt der k nächsten Nachbarn auch alle Objekte der Trainingsdaten zur Klassifikation heranziehen. Im Gegensatz zu den vorher betrachteten Bayes-Klassifikatoren und den Entscheidungsbäumen bauen k-Nächste-Nachbarn-Klassifikatoren kein Wissen auf, sondern ziehen für jedes zu klassifizierende Objekt die Beschaffenheit der Trainingsdaten heran. Dagegen verwenden 159 6 Clustering und Klassifikation Entscheidungsbaum-Klassifikatoren zur Klassifikation nur den aufgebauten Baum, Bayes-Klassifikatoren nur die durch die Trainingsdaten approximierten Wahrscheinlichkeiten. Darum bezeichnet man Nächste-Nachbarn-Klassifikatoren auch als Instanz-basierte Lernverfahren (instance based learners) [Mit97]. Dieses Vorgehen hat den Vorteil, daß die Entscheidung, zu welcher Klasse ein Objekt gehört, nur von den in unmittelbarer Nähe befindlichen Trainingsdaten bestimmt wird, während bei den anderen Verfahren alle Trainingsdaten Einfluß auf die Klassifizierung haben [Mit97]. Ein Nachteil dieses Konzeptes ist, daß die kompletten Berechnungen erst zur Klassifikationszeit und für jedes neue Objekt neu durchgeführt werden, was bei vielen Trainingsdaten und/oder vielen Attributen zu Performanzproblemen führen kann. Ein weiteres Problem ist, daß alle Attribute gleich stark in die Beurteilung eines Objektes eingehen. Wenn nun die Klasse eines Objektes in einem Anwendungsszenario von nur wenigen Attributen abhängt, insgesamt aber eine große Anzahl von Attributen vorhanden ist, kann es passieren, daß Objekte gleicher Klasse räumlich weit voneinander entfernt sind. Dadurch verringert sich dann die Klassifikationsgenauigkeit. Dies kann man verhindern, indem man die Distanzfunktion so wählt, daß die wichtigen Attribute stärker als die unwichtigen berücksichtigt werden. 6.3.4 Zusammenfassung Es wurden drei unterschiedliche Herangehensweisen an das Problem der Klassifikation vorgestellt. Zwei davon bauen zunächst Wissen in Form von Bäumen oder Wahrscheinlichkeiten auf, die dritte, kNächste-Nachbarn-Klassifikatoren, ist instanzbasiert. Bayes-Klassifikatoren Bayes-Klassifikatoren arbeiten mit bedingten Wahrscheinlichkeiten und weisen ein Objekt derjenigen Klasse zu, für die die Wahrscheinlichkeit am höchsten ist. Der hier vorgestellte naive Bayes-Klassifikator macht die Annahme, daß die einzelnen Attribute eines Objektes untereinander nicht beeinflussen. Dadurch ist er in der Lage, auf komplexe Berechnungen zu verzichten und einfach die relativen Häufigkeiten der Attribute zu zählen. Obwohl diese Annahme in viele realen Szenarien nicht gerechtfertigt ist, erzielen naive Bayes-Klassifikatoren gute Ergebnisse bei der Klassifikation 160 6.4 Fazit von Texten [CDF+ 00, ES00]. In jüngster Zeit werden naive BayesKlassifikatoren auch erfolgreich zur Filterung von Spam benutzt.6 Der optimale Bayes-Klassifikator erreicht theoretisch die beste Klassifikationsgüte aller Klassifikatoren überhaupt. Leider kann er nicht in allen Situationen angewendet werden, weil er bestimmte a priori Hypothesen benötigt, die nicht in jedem Anwendungsfall bekannt sind. Näheres zum optimalen Bayes-Klassifikator findet sich in [ES00]. Entscheidungsbäume Moderne Entscheidungsbaumalgorithmen erreichen eine hohe Klassifikationsgüte und sind auf sehr großen Datenbeständen anwendbar, was sie für das Data Mining geradezu prädestiniert. Neuere Algorithmen, wie Boat bieten auch die Möglichkeit, Bäume inkrementell zu verbessern, wenn neue Daten zur Verfügung stehen, während traditionelle Entscheidungsbaumalgorithmen, wie C4.5 hier einen komplett neuen Baum aufbauen müssen. Ein großer Vorteil von Entscheidungsbäumen ist, das diese sehr leicht in Regeln umgesetzt werden können, die einem explizites Wissen über die Klassen liefern. Außerdem ist das Prinzip eines Entscheidungsbaumes wesentlich leichter zu erfassen als beispielsweise ein BayesKlassifikator oder gar ein neuronales Netz. (k)-Nächste-Nachbarn-Klassifikatoren (k)-Nächste-Nachbarn-Klassifikatoren haben den Vorteil, daß sich die Klassifikationsergebnisse von Objekten untereinander nicht beeinflussen. Allerdings haben sie Probleme, wenn die Daten viele Attribute beinhalten, die keine Relevanz für die Klassifikation haben. Dies kann man mit der Wahl einer geeigneten Distanzfunktion umgehen, doch diese muß erst einmal für die jeweilige Anwendung gefunden werden. 6.4 Fazit In dieser Arbeit wurde kurz der KDD-Prozeß und dessen Teilschritt, das Data Mining vorgestellt. Zwei wichtige Gebiete des Data Mining – Clustering und Klassifikation – wurden genauer erläutert. Es wurden verschiedene Techniken präsentiert, die die Ziele dieser beiden Gebiete auf teilweise sehr unterschiedliche Weise erreichen. Was bringt diese beiden Gebiete mit der Projektgruppe Personali” sierung internetbasierter Handelsszenarien“ in Verbindung? 6 http://www.paulgraham.com/spam.html 161 6 Clustering und Klassifikation Ziel der Projektgruppe ist es, ein Framework zu erstellen, mit dem sich ein System personalisierter Webshops realisieren läßt. Dazu soll ein Kartenanbieter in der Art von Payback [Pay03] oder Miles&More [Mil03] modelliert werden, der von fiktiven Händlern Kunden- und Transaktionsdaten bekommt. Anhand dieser Daten sollen die Kunden in Gruppen eingeteilt und diese Gruppen beschrieben werden. Mit diesen Ergebnisse sollen dann die Händler ein personalisiertes Angebot an die Kunden richten können. Wie dargelegt wurde, bieten Clustering und Klassifikation viele Techniken an, die so eine Kundeneinteilung auf Seiten des Cardproviders leisten können. Bei der Auswahl spezieller Verfahren ist darauf zu achten, daß diese auch mit großen Datenmengen zurecht kommen und ggf. parallelisiert werden können. Wichtig ist auch, daß die Verfahren Ergebnisse in einer Form liefern, mit denen die Händler leicht eine Personalisierung duchführen können. 162 7 Assoziationsanalyse und Konzeptbeschreibung Helge Saathoff Wir leben im Informationszeitalter. Fortschritte in der Hard- und Softwaretechnologie haben es ermöglicht, daß heutzutage riesige Datenmengen erfaßt und gespeichert werden können. Das in diesen Datenbanken enthaltene Wissenpotential wird jedoch häufig nicht voll ausgeschöpft. Knowledge Discovery in Databases wurde entwickelt, um diesen Mangel zu beheben. In diesem Forschungsgebiet geht es um die automatisierte Entdeckung von Wissen in Datenbanken mit Hilfe von intelligenten Suchalgorithmen. Diese werden unter dem Begriff Data Mining Verfahren zusammengefaßt. Zwei dieser Verfahren, die Assoziationsanalyse und die Konzeptbeschreibung, sollen in dieser Arbeit vorgestellt werden. Der erste Teil dieser Arbeit befaßt sich mit der Assoziationsanalyse, die nach Regelmäßigkeiten in Datenmengen sucht und diese in Form von Assoziationsregeln darstellt. Für diese Aufgabe steht eine Vielzahl von Suchalgorithmen zur Verfügung, von denen der in dieser Arbeit erläuterte Apriori-Algorithmus der Grundlegendste ist. Je nach Anwendungszweck stehen außerdem mehr oder weniger komplexe Typen von Assoziationsregeln zur Verfügung, von denen ebenfalls einige eingeführt werden. Der zweite Teil der Arbeit behandelt das Thema Konzeptbeschreibung. Diese dient dazu, große und unübersichtliche Datenmengen auf ein für menschliche Benutzer verständliches Maß zusammenzufassen ohne dabei wichtige Informationen zu verlieren. In diesem Zusammenhang wird auf die Charakterisierung und den Klassenvergleich mittels Attributorientierter Induktion eingegangen. 163 7 Assoziationsanalyse und Konzeptbeschreibung 7.1 Einleitung In allen Bereichen des heutigen Lebens gibt es Systeme zur Datenverarbeitung. Ob in der Forschung, der Wirtschaft, im Privatleben oder von staatlicher Seite aus - überall werden Daten gesammelt und gespeichert. Die meisten Datenbanken entstanden aus der Notwendigkeit heraus, bestimmte Daten schnell abrufen zu können. Die Entwicklung neuer Technologien hat es jedoch ermöglicht, Zusammenhänge zwischen den gespeicherten Informationen zu erforschen um so neues Wissen zugänglich zu machen. Das Forschungsgebiet, in dessen Rahmen Methoden für die Suche nach solchem Wissen entwickelt werden trägt den Namen Knowledge Discovery in Databases (KDD). Geprägt wurde dieser Begriff 1991 in einem Artikel im AI Magazine von Gregory Piatetsky-Shapiro. [PS91] Der Nutzen der Assoziationsanalyse soll mit zwei kleinen Beispielen verdeutlicht werden: Ein modernes, im Internet präsentes Versandhaus analysiert seine Verkaufsdaten und macht die Feststellung, daß sich die Kunden zwei verschiedene Gruppen aufteilen lassen. Die Mitglieder der Gruppe Junger, gutverdienender, stadtbewohnender ” Karrierist“ weisen ein anderes Kaufverhalten auf als die Kunden, die der Gruppe Alleinerziehende Sozialhilfeempfänger“ ” angehören. Da die Mitglieder der ersten Gruppe den größeren Beitrag zum Umsatz des Unternehmens leisten, wird das Angebot den Wünschen dieser Kunden angepasst. Ein Supermarkt verwendet die Barcode-Lesegeräte an den Kassen dazu, die Daten der einzelnen Einkäufe zu sammeln. Diese Daten werden an eine Datenbank übermittelt und dort gespeichert. Mittels KDD können Erkenntnisse darüber gewonnen werden, welche Waren häufig zusammen gekauft werden. Eine entsprechende Anordnung dieser Waren in den Regalen kann dann dazu führen, daß aufgrund zufriedener Kundschaft die Verkaufszahlen steigen. Diese recht trivialen Beispiele machen den allgemeinen Nutzen von KDD deutlich. In dieser Arbeit soll zunächst der KDD-Prozess im Allgemeinen kurz vorgestellt werden, um anschließend näher auf zwei spezielle Methoden einzugehen, die Assoziationsanalyse und die Konzeptbeschreibung. Die Assoziationsanalyse wird anhand von Grundlagen und Beispielen eingeführt. Im Anschluß wird mit dem Apriori- 164 7.2 Knowledge Discovery in Databases Algorithmus ein grundliegender Algorithmus für das Finden von Assoziationsregeln erläutert. Das Kapitel Assoziationsanalyse schließt mit der Vorstellung mehrerer komplexerer Assoziationsregeln ab, die für anspruchsvollere Aufgaben entwickelt wurden. Mit der Konzeptbeschreibung wird eine Methode für die Ermittlung einer zusammengefaßten Sicht auf Datenmengen vorgestellt. Die Konzeptbeschreibung ist in zwei Komponenten gegliedert: die Charakterisierung von Klassen und dem Klassenvergleich. Die Funktionsweise dieser beiden Bereiche sowie auf den ihnen zugrundeliegenden Algorithmus der attributorientierten Induktion wird im Rahmen dieser Arbeit genauer betrachtet werden. 7.2 Knowledge Discovery in Databases KDD befasst sich mit der automatischen Generierung und Prüfung von Methoden und Hypothesen zur Beschreibung von in einem Datenbestand vorhandenen Regelmässigkeiten. Es ist zwar keine allgemein anwendbare und sicher zum Erfolg führende Methode bekannt, mit der Wissen aus Datenbanken gewonnen werden kann, aber es existieren viele Techniken, die auf viele praktische Probleme anwendbar sind und zu zufriedenstellenden Ergebnissen führen [Bor97]. KDD ist das Forschungsgebiet, daß sich mit der Entwicklung und Untersuchung dieser Methoden befasst. Die Anwendung dieser Techniken erfolgt im sogenannten KDD-Prozess. Dieser wird von Fayyad, PiatetskyShapiro & Smyth folgendermaßen definiert [FPSS96c]: KDD Process is the process of using the database along with any required selection, preprocessing subsampling, and transformations of it; to apply data mining methods (algorithms) to enumerate patterns from it; and to evaluate the products of data mining to identify the subset of the enumerated patterns deemed knowledge“. ” Der KDD-Prozess ist also ein iterativer (und interaktiver) Vorgang, in dessen Verlauf auf Daten einer Datenbank zugegriffen wird, diese Daten mehrere Phasen der Bearbeitung durchlaufen und schliesslich ein Ergebnis (neues Wissen) präsentiert wird. Nach diesem Verständnis besteht der KDD-Prozeß aus folgenden Schritten: 1. Die Datenbereinigung sortiert fehlerhafte, abweichende, unvollständige und irrelevante Daten aus. 165 7 Assoziationsanalyse und Konzeptbeschreibung 2. Die Datenintegration vereinigt mehrere Datenquellen zu einer einzigen. 3. Die Datenselektion wählt die für den KDD-Prozeß relevanten Daten aus. 4. Durch Datentransformation werden die Daten in ein für Data Mining geeignetes Format gebracht. 5. Data Mining ist schließlich der essentielle Part des KDDProzesses, in dem intelligente Algorithmen die Daten nach Mustern durchsuchen. 6. In der Musterevaluierung werden uninteressante Muster aussortiert. 7. Die Wissensrepräsentation macht dem Benutzer das neue Wissen in einer ver-ständlichen Form zugänglich. Die ersten 4 Phasen des Prozessen lassen sich durch Interaktion mit dem Benutzer des Data-Mining-Tools bewältigen. Die Phasen Musterevaluierung und Wissensrepräsentation werden auch häufig dem Data Mining zugerechnet. Data Mining ist der zentrale Schritt des KDD-Prozesses, bestehend aus der Anwendung von Algorithmen zur Datenanalyse und Entdeckung von Strukturen, die neues Wissen enthalten. Die Auswahl der zu verwendenden Entdeckungstechniken hängt von dem gewünschten Ergebnis ab. Der Benutzer eines Data-Mining-Tools legt die Art der gewünschten Ergebnisse fest, prüft und bewertet sie und läßt gegebenenfalls die Anwendung der Data Mining Verfahren des KDD-Prozesses erneut durchlaufen. Spätestens hier wird deutlich, daß KDD kein völlig automatisierter sondern ein interaktiver Prozeß ist. Mit der Zeit haben sich verschiedene Aufgaben des Data Mining herauskristallisiert, die anhand von Beispielen aus dem Handel verdeutlicht werden; Klassifikation (classification) Ist dieser Kunde kreditwürdig? Konzeptbeschreibung (concept description) Was unterscheidet reparaturanfällige Fahrzeuge von anderen? 166 7.2 Knowledge Discovery in Databases Segmentierung (segmentation, clustering) Was für Kundengruppen habe ich? Prognose (prediction, trend analysis) Wie wird sich der Dollarkurs entwickeln? Abhängigkeitsanalyse (dependency, association analysis) Welche Produkte werden zusammen gekauft? Abweichungsanalyse (deviation analysis) Gibt es jahreszeitliche Umsatzschwankungen? Die zur Bewältigung der Aufgaben eingesetzten Techniken lassen sich grundsätzlich in zwei Kategorien einteilen: beschreibende (deskriptive) und vorhersagende (prediktive) Data-Mining-Verfahren, auch wenn die Einteilung nicht immer eindeutig ist. Beschreibendes Data Mining analysiert die vorhandenen Daten, faßt sie zusammen und präsentiert die gefundenen interessanten Strukturen. Vorhersagendes Data Mining analysiert die Daten um Regelmässigkeiten zu identifizieren und das Verhalten neuer Datensätze vorherzusagen. In dieser Arbeit werden zwei Data-Mining-Methoden vorgestellt: 1. Die Assoziationsanalyse entstand aus der Warenkorbanalyse, die den Zweck hat, das Warenangebot den Wünschen und Bedürfnissen der Kunden im Einzelhandel anzupassen. Dazu werden Regeln verwendet, die in etwa folgende Form haben: Falls Artikel A gekauft wird, besteht eine Wahrscheinlichkeit von X%, dass auch Artikel B gekauft wird. Diese Regel trifft auf Y% der Kunden zu. Etwas formeller geschrieben: A → B [s : Y %][c : X%] Die genauere Bedeutung von s und c wird im nächsten Kapitel erläutert. Mit Hilfe der Assoziationsanalyse können Zusammenhänge zwischen verschiedenen Waren erkannt und das Kundenverhalten analysiert werden. Assoziationsanalyse ist ein vorhersagendes Data-Mining-Verfahren. 2. Die Konzeptbeschreibung ist die einfachste Form von deskriptivem Data Mining [FPSM92]. Sie bietet Methoden, um Datensätze in Klassen zusammenzufassen. Diese Klassen bieten eine kurz zusammengefaßte und doch aussagekräftige übersicht 167 7 Assoziationsanalyse und Konzeptbeschreibung über die Eigenschaften bestimmter Datengruppen. Ein weiteres Element der Konzeptbeschreibung sind Methoden die einen Vergleich verschiedener Klassen ermöglichen, beispielsweise die Verkaufzahlen eines Unternehmens in Zeitraum von mehreren Jahren. Darüber hinaus existieren noch weitere Methoden zur Datenanalyse, wie z.B. die Sequenz- und die Clusteranalyse, auf die in diesem Text nicht weiter eingegangen werden soll. KDD ist ein ein Forschungsgebiet dem heutzutage viel Aufmerksamkeit geschenkt wird, da die Forschungsergebnisse vielältige Anwendbungsmöglichkeiten versprechen. 7.3 Assoziationsanalyse Mit dem Aufkommen der Barcodetechnologie und insbesondere der immer größer werdenden Verbreitung von Lesegeräten vor allem in Supermärkten wurde es möglich, das Kaufverhalten von Kunden ohne eine unangemessene Steigerung des Arbeitsaufwands zu dokumentieren. Große Datenmengen fielen fast automatisch an, diese Daten galt es nun zu analysieren um Antworten auf Fragen wie: Wie ordne ” ich meine Waren optimal an?“, In welche Kategorien lässt sich die ” Kundschaft einordnen?“ oder Welche Artikel sollten aus dem Sorti” ment genommen werden?“ zu finden. Sinn dieser Warenkorbanalyse war also letzten Endes die Gewinnsteigerung. Dieses Kapitel umfaßt eine Einführung in die Grundlagen der Assoziationsanalyse, inklusive einer Erläuterung des wichtigsten Suchalgorithmus für Assoziationsregeln und bietet darüber hinaus einen Überblick über einige Weiterentwicklungen von Assoziationsregeln. 7.3.1 Motivation Mit der Anwendung in anderen Bereichen entwickelte sich die Warenkorbanalyse schließlich zur Assoziationsanalyse. Diese ist der Versuch, Regionen bzw. Datenbereiche in einer Datenbank zu identifizieren und zu beschreiben, in denen mit hoher Wahrscheinlichkeit mehrere Werte gleichzeitig auftreten.[Koh02] Der wesentliche Unterschied zur Warenkorbanalyse besteht in der Vielzahl der Anwendungsgebiete. 168 7.3 Assoziationsanalyse Es bieten sich viele mögliche Einsatzgebiete für die Assoziationsanalyse an. Datenbanken sind weit verbreitet und liefern große Datenmengen. Denkbare Anwendunsgsmöglichkeiten sind beispielsweise die Risikoabschätzung in der Versicherungsbranche oder die Analyse der Spielweise einer gegnerischen Fußballmannschaft. 7.3.2 Grundlagen und Beispiele Eine Assoziationsregeln ist eine Implikation, gepaart mit Angaben über die Häufigkeit ihres Auftretens in einer Menge von Transaktionen. Gegeben seien eine Menge von Transaktionen T, und eine Menge von Items I. Die Items können als die Artikel verstanden werden, die in einem Supermarkt verkauft werden. Eine Transaktion ist in diesem Fall als Einkauf bzw. ein Warenkorb. Das Aussehen von Assoziationsregeln läßt sich folgendermaßen beschreiben: Eine Assoziationsregel besteht aus einer Prämisse A und einer Konsequenz B. A und B sind Kunjunktionen von Items, die ihrerseits die Waren des ’Supermarktes’ darstellen. Die Regel hat dann die Form A ⇒ B. Die Schnittmenge von A und B muss leer sein. Außerdem werdeb zwei Interessantheitsmaße benötigt, welche über die Qualität einer Assoziationsregel bestimmen. Der Support eines Items oder Itemsets ist die Anzahl der Transaktionen die das Item bzw. das Itemset als Teilmenge enthalten im Verhältnis zur Gesamtzahl der Transaktionen der Menge T. Der Support einer Assoziationsregel ist gleich dem Support der Vereinigung von Prämisse und Konsequenz (A ∪ B) der Regel. Support(A ⇒ B) = Support(A ∪ B) (7.1) Die Konfidenz einer Assoziationsregel berechnet sich aus dem Verhältnis zwischen den Transaktionen, die nur die Prämisse enthalten und den Transaktionen, die sowohl Prämisse als auch Konsequenz enthalten. Conf idence(A ⇒ B) = Support(A ⇒ B) Support(A) (7.2) 169 7 Assoziationsanalyse und Konzeptbeschreibung Mit Abbildung 7.1 ist ein simples Beispiel gegeben, anhand dessen sich die eingeführten Begriffe anschaulich erklären lassen. Das vorgestellte Beispiel entstammt [San00a] . Angenommen, in einem Supermarkt werden die Einkäufe der Kunden in einer Datenbank gespeichert. Gegeben sei also eine Menge von Transaktionen in einer Transaktionsdatenbank T. ID 1 2 3 4 5 6 Transaktion {Brot, Kaffee, Kuchen, Milch} {Kaffee, Kuchen, Milch} {Brot, Butter, Kaffee, Milch} {Kuchen, Milch} {Brot, Kuchen} {Brot} Tabelle 7.1: Transaktionsdatenbank T Gegeben seinen nun die Itemsets A und B, A := {M ilch, Kaf f ee} B := {Kuchen} die Assoziationsregel X: X := A ⇒ B = {M ilch, Kaf f ee} ⇒ {Kuchen} Dann gilt folgendes: Support(A) = 3 von 6 = 50% Support(A ∪ B) = 2 von 6 = 33% Support(X) = Support(A ∪ B) Conf idence(X) = Conf idence(A ⇒ B) Support(A ⇒ B) = Support(A) Support(A ∪ B) = Support(A) = 66% 170 7.3 Assoziationsanalyse Die Konfidenz einer Regel gibt für einzelne Artikel (oder Artikelgruppen) die Wahrscheinlichkeit an, daß noch bestimmte Artikel dazugekauft werden. Der Support gibt an, auf wie viele Transaktionen in der Datenbank die Regel zutrifft, also mit welcher Regelmäßigkeit die Waren in dieser Zusammenstellung verkauft werden. Auf das Beispiel übertragen heißt dies, daß ein Kunde mit einer Wahrscheinlichkeit von 66% Kuchen kaufen wird, wenn er zuvor Kaffee und Milch gekauft hat. Der Support besagt, daß 33 von 100 Kunden Kaffee, Kuchen und Milch kaufen. Im Allgemeinen gilt: Je größer Support und Konfidenz, umso wertvoller ist die Assoziationsregel. Hier kann es zu Ausnahmen kommen, so haben beispielsweise Regeln wie {Person lebt} ⇒ {Person atmet} trivialerweise eine hohe Konfidenz und sind trotzdem uninteressant. Um die wertvollen von den weniger wertvollen Assoziationsregeln zu trennen, müssen Schwellwerte für Konfidenz und Support eingeführt werden, die nicht unterschritten werden dürfen. Diese seien als Minconf und Minsupp bezeichnet. Die Festlegung dieser Werte erfolgt im Allgemeinen durch den Benutzer des Data-Mining-Tools. Nun kann es vorkommen, daß eine Assoziationsregel, obwohl sie den minimalen Support und die minimale Konfidenz besitzt irreführende Informationen vermittelt. Seien beispielsweise A und B Itemsets mit Support(A)=60% und Support(B)=75% und A ⇒ B eine Assoziationsregel mit einem Support von 45%, dann hat diese Regel eine 45% = 75%. Konfidenz von 60% Die Konfidenz ist jedoch genauso groß wie der Support von B, sie spiegelt somit nur den allgemeinen Support von B wieder und macht keine explizite Aussage über den Zusammenhang zwischen den Itemsets A und B. Um dieses Problem zu eliminieren, muss eine weitere Eigenschaft von Assoziationsregeln eingeführt werden: der Lift. Der Lift einer Regel ist der Quotient aus der Konfidenz der Regel und dem Support der Konsequenz der Regel. Lif t(A ⇒ B) := Conf idence(A ⇒ B) Support(B) Je höher der Lift einer Regel, umso außergewöhnlicher ist der Zusammenhang zwischen Prämisse und Konsequenz der Regel. Der Lift einer Regel kann als Maß für die Interessantheit einer Regel betrachtet 171 7 Assoziationsanalyse und Konzeptbeschreibung werden[San00a, Koh02]. Minlift ist dann die minimale Interessantheit einer Assoziationsregel. 7.3.3 Der Apriori-Algorithmus Es gilt nun, alle Assoziationsregeln in einer Transaktionsdatenbank T zu finden, deren Support und Konfidenz grösser sind als die spezifizierten Werte von Minconf und Minsupp. Die zu bewältigende Aufgabe läßt sich in zwei Teilaufgaben zerteilen: 1. Finde alle Mengen von Items (bzw. alle Itemsets), deren Support über Minsupp liegt. Diese Itemsets werden als häufig auftretende Itemsets oder Frequent Itemsets bezeichnet. [AIS93] 2. Erzeuge aus den Frequent Itemsets alle möglichen Assoziationsregeln und berechne ihre Konfidenzen. Die generierten Assoziationsregeln haben automatisch den minimalen Support, da Support(A ⇒ B) = Support(A ∪ B) gilt und Support(A ∪ B) in der Menge der Frequent Items liegt. Für die Bewältigung der ersten Teilaufgabe stehen sehr viele Algorithmen zur Verfügung, in dieser Arbeit soll jedoch nur der bekannteste und grundlegendste ausführlich behandelt werden: der AprioriAlgorithmus, der auch als Grundlage für zalreiche weitere Methoden dient.. Bevor näher auf die Funktionsweise des Algorithmus eingegangen wird, soll noch eine Zusatzeigenschaft für Itemsets eingeführt werden: Items sollen in Itemsets lexikographisch angeordnet sein. Besteht ein Itemset X der Länge k aus den Items x1 , x2 , ..., xk soll gelten: x1 ≤ x2 ≤ ... ≤ xk . Ein Itemset hat die Länge k, wenn es aus k Elementen besteht. Durch die Ordnung wird die Menge der aus den Items erzeugbaren Itemsets stark beschränkt. Für eine Menge von Items I mit n Elementen gibt es n! (n−k)! mögliche Itemsets der Länge k, wenn die Items nicht lexikographisch angeordnet werden. Durch Einführung der lexikographischen n! Ordnung gibt es k!(n−k)! Möglichkeiten für ein Itemset der Länge k und es gilt: n! n! ≤ k!(n − k)! (n − k)! Es ist nicht von Interesse, in welcher Reihenfolge die Artikel in den Warenkorb wandern sondern ausschließlich, welche Artikel an der 172 7.3 Assoziationsanalyse Transaktion beteiligt sind. Durch die Einführung dieser Ordnung kann der Zeitaufwand für die Datenanalyse bedeutend gesenkt werden. Basis des Apriori Algorithmus ist die Monotonie-Eigenschaft von Frequent Itemsets: Ist ein Itemset häufig, so sind auch alle Teilmengen dieses Itemsets häufig [San00a]. Anders formuliert: Ist ein Itemsets nicht häufig, dann sind alle Itemsets, die dieses Itemset als Teilmenge beinhalten ebenfalls nicht häufig. Der Apriori-Algorithmus beschränkt sich bei der Generierung von Assoziationsregeln auf die Verwendung von Frequent Itemsets aus denen neue Itemsets zusammengesetzt werden. Itemsets, die wegen der Monotonieeigenschaft nicht häufig sein können, werden von dem Algorithmus automatisch ignoriert. Die Wahrscheinlichkeit, dass die betrachteten Regeln den minimalen Support haben, steigt. Abbildung 7.1 zeigt den Algorithmus, wie er von Agrawal vorgestellt wird [AS94]. Gegeben seien eine Menge von Items I, eine Menge von Transaktionen T und ein Wert für Minsupp. Die Frequent Itemsets der Länge 1 lassen sich durch einfaches Abzählen der Items in den Transaktionen ermitteln. Apriori(I, T, M insupp) L1 := {frequent 1-Itemsets aus I}; k := 2; while Lk−1 6= ∅ do Ck := AprioriKandidatenGenerierung(Lk−1 ); for each T ransaktion t ∈ T do CT := Subset(Ck , t); // alle Kandidaten // aus Ck , die in der T ransaktion // t enthalten sind; for each Kandidat c ∈ CT do c.count + +; Lk := {c ∈ Ck | (c.count / |D|) ≥ M insup}; k + +; return [ Lk ; 173 7 Assoziationsanalyse und Konzeptbeschreibung AprioriKandidatenGenerierung(Lk−1 ) insert into Ck //1. Join select p.item1 , p.item2 , ..., p.itemk−1 , q.itemk−1 f rom Lk−1 p, Lk − 1 q where((p.item1 = q.item1 ), (p.item1 = q.item1 ), ... (p.itemk−1 < q.itemk−1 ) for each itemset c ∈ Ck do for each (k-1)-elementige Teilmenge s von c do if s ∈ / Lk−1 then Losche c aus Ck ; // 2. P runing Abbildung 7.1: Algorithmus Apriori Die Itemsets werden iterativ gebildet. Der Algorithmus startet mit den 1-stelligen Frequent Itemsets und läßt aus diesen über die AprioriKandidatenGenerierung Itemsets der Länge 2 erzeugen, die möglicherweise - d.h. mit einer gewissen Wahrscheinlichkeit - die Minsupp Bedingung erfüllen. Abschliessend werden aus dieser Menge diejenigen Itemsets aussortiert, die nicht den minimalen Support haben. Diese Schritte werden so lange mit immer länger werdenden Itemsets wiederholt, bis keine weiteren Frequent Itemsets mehr gefunden werden. Die Methode AprioriKandidatenGenerierung soll auf möglichst effiziente Art und Weise eine Menge zurückliefern, die zu einem möglichst großen Anteil aus Frequent Itemsets der Länge k besteht (mit k ≥ 2). Dazu wird die Monotonieeigenschaft von Frequent Itemsets benötigt. Die Kandidatengenerierung besteht aus zwei Operationen: Im ersten Schritt wird jedes (k-1)-elementige Itemset p jeweils um das letzte Item aller (k-1)-elementigen Itemsets q verlängert, bei denen die ersten k-2 Items mit denen von p übereinstimmen. Dieser Teil der Methode wird als Join-Phase (von engl. join: verbinden, (hin)zufügen) bezeichnet. Das so entstandene k-elementige Itemset wird dann in der Pruning- 174 7.3 Assoziationsanalyse Phase (von engl. prune: (be)schneiden, Text streichen)in seine (k-1)elementigen Teilmengen zerlegt, um festzustellen ob alle diese Teilmengen in der Menge der Frequent Itemsets enthalten sind. Die Join-Phase garantiert, daß wenigstens zwei der beim Pruning getesteten Teilmengen häufig sind. Beim Pruning reicht es deswegen aus, das zu testende Itemset in Teilmengen der Länge k-1 aufzuteilen, weil aufgrund der Monotoniebedingung ein nicht häufiges Itemset nicht in einem häufigen Itemset als Teilmenge enthalten sein kann und alle Frequent Itemsets der Länge k-1 bekannt sind. Abbildung 7.2 soll zum Verständnis der Funktionsweisen beitragen. Abbildung 7.2: Join- und Pruning-Phase Hat der Apriori-Algorithmus seine Arbeit beendet und alle Frequent Itemsets erfaßt, kann zu Schritt 2 der Aufgabenstellung übergegangen werden, der Erzeugung der Assoziationsregeln. Es ist Hilfreich, alle bei der Berechnung der Frequent Itemsets anfallenden Daten zu speichern, da diese bei der Erstellung der Assoziationsregeln und der Konfidenz-Berechnung benötigt werden und so ein weiterer Zugriff auf die Datenbank vermieden werden kann. Für jedes häufig auftretende Itemset X müssen Assoziationsregeln der Form A ⇒ (X − A) gebildet werden mit A ⊂ X und a 6= ∅ für die gilt: Conf idence(A ⇒ (X − A)) = Support(X) ≥ M inconf Support(A) Es ist nicht nötig, alle möglichen Assoziationsregeln auf ihre Konfidenz zu prüfen. Sei beispielsweise X={a,b,c,d} und A={a,b,c}, dann ist der Support von A’={a,b} größer oder gleich dem Support von A. 175 7 Assoziationsanalyse und Konzeptbeschreibung Durch die Ersetzung von A mit A’ kann die Konfidenz der Regel nur sinken. Wenn eine Regel A ⇒ (X − A) nicht die minimale Konfidenz besitzt, brauchen alle Regeln der Form A0 ⇒ (X − A0 ) mit A0 ⊂ A gar nicht erst betrachtet zu werden. [AS94] Das Ergebnis enthält alle Assoziationsregeln, die sowohl den minimalen Support als auch die minimale Konfidenz besitzen. Abschliessend kann zu jeder Regel noch der Lift gebildet werden. Da der Support der Konsequenz und die Konfidenz der Regel nun bekannt sind, ist dies keine schwierige Aufgabe. 7.3.4 Weitere Arten von Assoziationsregeln Bisher wurden einfache Assoziationsregeln betrachtet. Tatsache ist, daß derart simple Assoziationsregeln in der Praxis verwertbare Ergebnisse nur in beschränktem Ausmaß liefern. Der Grund dafür ist, daß einfache Assoziationsregeln nicht aussagekräftig genug sind, um komplexere Sachverhalte anzuzeigen. Hinzu kommt, daß die Wahl von Minconf und Minsupp nicht immer optimal ist. Zu niedrige Werte führen dazu, dass eine große und unüberschaubare Menge von wenig aussagekräftigen Regeln gefunden wird. Zu große Werte lassen nur eine geringe Anzahl von einfachen Regeln übrig. Um die Effizeinz zu verbessern, lassen sich Assoziationsregeln auf vielfältige Weise erweitern. 7.3.4.1 Hierarchische Assoziationsregeln Eine Möglichkeit der Erweiterung ist die Verwendung von Item-Taxonomien (Konzepthierarchien) wie in Abbildung 7.3, durch die einzelne Items in (Waren-)Gruppen zusammengefaßt werden. Die Knoten eines Baumes sind die Items und Gruppenbezeichnungen. Ist ein Knoten mit einem oder mehreren untergeordneten Knoten verbunden, dann handelt es sich um eine Gruppe, die den untergeordneten Knoten enthält. Besitzt ein Knoten keine untergeordneten Knoten, handelt es sich um ein Item. Die Bezeichnungen der Warengruppen, auch Label genannt, werden 176 7.3 Assoziationsanalyse wie Items behandelt. Dadurch ist es möglich, Regeln zu finden, die nicht mehr auf der untersten Abstraktionsebene (z.B. dem Bar-CodeLevel) sondern auf einem abstrakteren Level angesiedelt sind. Hierarchische Assoziationsregeln haben meist einen höheren Support als einfache Assoziationsregeln, da ihr Support aus dem Support vieler Itemsets berechnet wird. {Rucksack} ⇒ {Kochgeschirr} Obige Regel ist ein Beispiel für eine hierarchische Assoziationsregel. Obwohl kein Artikel Kochgeschirr“ existiert, lassen sich Regeln bil” den, die das Konzept Kochgeschirr“ unterstützen. ” Der Apriori-Algorithmus lässt sich den hierarchischen Assoziationsregeln relativ leicht anpassen, die neu hinzugekommenen Konzepte (bzw. die Label des Baumes) werden lediglich als neue Items eigefügt. Der Support eines Labels ist die Summe aus dem Support aller Nachfolgeknoten des Labels (die untergeordneten Knoten des Labels) in der Konzepthierarchie. Da Konzepthierarchien verwendet werden, bezeichnet man hierarchische Assoziationsregeln auch als generalisierte Assoziationsregeln (Siehe auch Kapitel 7.4.2 Generalisierung). Abbildung 7.3: Eine Konzepthierarchie 177 7 Assoziationsanalyse und Konzeptbeschreibung 7.3.4.2 Quantitative Assoziationsregeln Einfache und hierarchische Assoziationsregeln machen keine Aussagen über die Anzahl des Auftretens eines Items in einer Transaktion. Entweder, ein Item in einem Itemset enthalten oder nicht - quantitative Angaben zu einem Item werden nicht berücksichtigt. Im Bereich der Warenkorbanalyse sind die quantitativen Eigenschaften von Items oftmals auch gar nicht von Interesse. In anderen Bereichen dagegen haben haben Items oft einen numerischen (Alter, Anzahl der Kinder, Gewicht) oder kategorischen (Name, Anschrift) Charakter. Ein Beispiel für eine quantitative Assoziationsregel: < Alter : 30...39 >, < F amilienstand : verheiratet > ⇒< #Autos : 2 > (7.3) Grundlage der Arbeit mit quantitativen Assoziationsregeln ist die Idee, für jeden möglichen Wert eines numerischen oder kategorischen Attributs ein neues Item in die Menge der Items I einzufügen. Numerische Attribute mit einem zu großen Wertebereich lassen sich in Intervalle einteilen [SA96a]. Aufgrund dieser Vorgehensweise unterscheidet sich das Finden quantitativer Assoziationsregeln nur leicht von der Suche nach einfachen Assoziationsregeln, der Apriori-Algorithmus kann im wesentlichen unverändert übernommen werden. ID 1 2 ... ID 1 2 ... 178 Alter 25 38 ... Datenbank D Fam.stand ledig verheiratet ... #Autos 0 2 ... l Transaktionsdatenbank D’ Personendaten {hAlter : 20 − 29i , hledigi , h#Autos : 0i} {hAlter : 30 − 39i , hverheirateti , h#Autos : 2i} ... 7.3 Assoziationsanalyse 7.3.4.3 Unscharfe Assoziationsregeln Quantitative Assoziationsregeln benutzen Algorithmen zum Finden von interessanten Regeln, die numerische Wertebereiche in Intervalle aufteilen [CA97]. Diese Intervalle sind aber eventuell nicht prägnant und aussagekräftig genug, um menschlichen Benutzern neues Wissen zu vermitteln. Unscharfe Assoziationsregeln (Fuzzy Association Rules) verwenden anstelle von Intervallen sprachliche Formulierungen wie ziemlich groß“ oder lange“, um Zusammenhänge aufzu” ” zeigen und Wertebereiche einzuteilen. Assoziationsregeln dieser Art sind bestens für eine Datenanalyse in Bereichen geeignet, in denen mit Ausreißern“ und Meßfehlern (wie in der Physik) gerechnet wer” den muss. Beispiel: Ein Call-Center plant, Daten der eingehenden Anrufe zu speichern. Zu diesen Daten zählt unter anderem auch der Zeitpunkt, an dem der Anruf angenommen wurde. Angenommen, die Leitung des Centers möchte die Anrufe nach Tageszeiten sortieren. Das vorgehen nach dem quantitativen Schema würde so ablaufen, das die 24 Stunden eines Tages in Intervalle aufgeteilt werden würden, beispielsweise in Nacht, Morgen, Nachmittag und Abend. Das Intervall Nacht endet um 6.00 Uhr und wird von dem Intervall Morgen gefolgt; der Morgen endet um 12 und geht in den Nachmittag über usw. Der Charakteristikum dieser Vorgehensweise ist, daß es zu überschneidungen kommen kann. So könnte es eine Gruppe von Anrufern geben, die morgens zwischen 6 und 12 anrufen um z.B. Brötchen zu bestellen. Eine Regel der Form < Zeit = M orgen >⇒< Bestellung : Brötchen > wäre die Folge. Der Nachteil dieser Vorgehensweise liegt darin begründet, daß es Kunden geben kann, die vor kurz 6 Uhr oder kurz nach 12 Uhr anrufen um Brötchen zu bestellen. Da der Zeitpunkt dieser Anrufe nicht mehr in dem vorgegebenen Intervall liegt, gehören diese Anrufe nicht mehr zu der Kundengruppe Morgen, auch wenn sie sonst alle Eigenschaften der Mitglieder dieser Gruppe aufweisen. Die Folge ist, daß der Support obiger Regel sinkt. Mit unscharfen Assoziationregeln kann diesem Verhalten entgegengewirkt werden. Anstelle von festen Intervallen wird mit Zugehörigkeitsgraden gearbeitet (siehe Abb. 7.4). Ein Anruf um 11 Uhr kann sowohl zur Gruppe Morgen als auch zur Gruppe Nachmittag zugeteilt werden. Die Zuteilung erfolgt mit Hilfe von Methoden aus der Fuzzy-Logik. Ein Logarithmus wird in 179 7 Assoziationsanalyse und Konzeptbeschreibung Abbildung 7.4: Zuordnung linguistischer Bezeichnungen [CA97] vorgestellt. Der wesentliche Unterschied zwischen unscharfen und quantitativen Assoziationsregeln ist in der Art und Weise der Regelgenerierung zu suchen, im weiteren Verhalten sind sich beide Formen recht ähnlich. 7.3.4.4 Temporale Assoziationsregeln Oftmals bestehen Zusammenhänge zwischen Transaktionen, die zeitlich voneinander getrennt sind. Wenn beispielsweise jeden Freitag in einem Supermarkt 6 Kästen Bier erworben werden und am nächsten Tag die Verkaufszahlen für Kopfschmerztabletten in die Höhe schießen, gibt es einen temporalen Aspekt bestehend aus dem Zusammenhang zwischen diesen beiden Ereignissen, der berücksichtigt werden sollte. In temporalen Datenbanken sind Daten in einem zeitlichen Kontext gespeichert. Die Assoziationsregeln können als Schnappschüsse“ der ” sich verändernden Zusammenhänge zwischen den Daten aufgefaßt werden. Dadurch ist es möglich Veränderungen und Fluktuationen dieser Zusammenhänge zu betrachten und zu erforschen [WYM]. 180 7.3 Assoziationsanalyse Die vorgestellten Typen von Assoziationsregeln eröffnen vielfältige Anwendungsmöglichkeiten. Darüber hinaus gibt es noch weitere Arten und da die Assoziationsanalyse ein noch relativ junges Forschungsgebiet ist, ist zu erwarten, das es hier noch viele Entwicklungen geben wird. 181 7 Assoziationsanalyse und Konzeptbeschreibung 7.4 Konzeptbeschreibung und Generalisierung Die in Datenbanken gespeicherten Datenmengen sind für Menschen für gewöhnlich höchst unübersichtlich. Für die Benutzer dieser Datenbanken ist es daher erstrebenswert, ein Werkzeug zu Verfügung zu haben, welches diese Daten in einer zusammengefassten, übersichtlicheren Form darstellen kann und Vergleichsmöglichkeiten bietet. Dieses Kapitel behandelt die einzelnen Komponenten der Konzeptbeschreibung. Dazu werden zunächst ein Einstieg in das der Konzeptbeschreibung zugrundeliegende Verfahren der Generalisierung vermittelt und Unterschiede zu einem anderen Datenanalyse-Werkzeug verdeutlicht. Das Thema Attributrelevanzanalyse schließt das Kapitel ab. 7.4.1 Motivation Die Konzeptbeschreibung oder auch Klassenbeschreibung wurde zu diesem Zweck entwickelt. Sie ist die einfachste Form von beschreibendem Data Mining. Konzeptbeschreibung untersucht vorhandene Daten auf Gemeinsamkeiten und teilt sie dement-sprechend in verschiedene Gruppen bzw. Klassen auf (daher die Bezeichnung Klassenbeschreibung). Die Konzeptbeschreibung besteht aus zwei Komponenten, der Charakterisierung von Klassen und dem Klassenvergleich. Beide Teilbereiche basieren auf der Generalisierung, einem Verfahren, das zur Abstrahierung von Relationen und ihren Attributen eingesetzt wird. 7.4.2 Einschub Generalisierung Seien Di , 1 ≤ i ≤ d, logisch zusammengehörige Mengen von Werten (Wertebereiche) mit ALLE ∈ Di . Sei R eine Relation R ⊆ D1 × D2 × ... × Dd mit den Attributen A1 , ..., Ad . Definition Konzepthierarchie (nach [San00b]) Eine Konzepthierarchie für Di (bzw. für Ai ) ist ein (typischerweise balancierter) Baum mit den folgenden Eigenschaften: Die Knoten des Baumes repräsentieren Werte aus Di , die Wurzel des Baumes repräsentiert den speziellen Wert ALLE. 182 7.4 Konzeptbeschreibung und Generalisierung Die Kanten des Baumes repräsentieren eine is-a“-Beziehung ” zwischen den verbundenen Knoten. Sind zwei Knoten über eine Kante miteinander verbunden, wird der übergeordnete Knoten als Vorgänger, der untergeordnete Knoten als Nachfolger bezeichnet. Abbildung 7.5: Beispiele für Konzepthierarchien Die Konzeptebene eines Attributwerts ist definiert als der Abstand des entsprechenden Knotens von den Blattknoten, d.h. die Blattknoten mit den konkreten Attributwerten (wie z.B. Schützenweg) liegen auf der Konzeptebene 0. Abbildung 7.5 stellt mögliche Konzepthierarchien dar. Definition Generalisierung (nach [San00b]) Als Generalisierung der Relation R in Bezug auf das Attribut Ai be- 183 7 Assoziationsanalyse und Konzeptbeschreibung zeichnen wir die Operation, die bei allen Tupeln aus R den jeweiligen Wert von Ai durch seinen direkten Vorgänger in der Konzepthierarchie von Di ersetzt. Umgekehrt bezeichnen wir als Spezialisierung der Relation R die Ersetzung aller Ai -Werte durch einen ihrer direkten Nachfolger in der Konzepthierarchie von Di . Im Zusammenhang mit Online Analytical Processing (OLAP) werden Generalisierung und Spezialisierung in den OLAP-Methoden Drill-Down und Roll-Up angewandt. Bei der Generalisierung können partiell redundante Tupel entstehen, die mit Hilfe einer Aggregierungs-Operation in ein (einziges) Tupel transformiert werden. Mit anderen Worten: Mehrere identische Zeilen der Relation werden zu einer einzigen Zeile zusammengefaßt. Dabei gibt es verschiedene Möglichkeiten, numerische Werte zusammenzufassen, beispielsweise durch Addition. Die Aggregierung einer Menge T von Tupeln, T ⊆ R, die auf den Attributen A1 , ..., Ac mit 1 ≤ c ≤ d übereinstimmen, liefert das Tupel (a1 , ..., ac, Op({ac+1 (t)|t ∈ T }), ..., Op({ad (t)|t ∈ T })) wobei a1 ∈ A1 , ..., ac ∈ Ac . Die Attribute Ac+1 , ..., Ad besitzen numerische Wertebereiche und Op ist ein arithmetischer Operator wie z.B. +“ oder MAX“. ” ” Beispielanwendung: Gegeben sei eine Relation Kunden A. Name Schmidt Klein Meyer Müller ... Geschlecht M W M W ... Alter 25 19 30 54 ... Wohnort Oldenburg Hannover München Papenburg ... Support 1 1 1 1 ... Tabelle 7.2: Relation Kunden A Dann können die Attribute Alter und Wohnort anhand der bekannten Konzepthierarchien (siehe Beispiele: Konzepthierarchien) generalisiert werden. Für das Attribut Support sei ein arithmetischer Operator +“ gegeben. Das Attribut Name wird aus der Ergebnisrelation ” 184 7.4 Konzeptbeschreibung und Generalisierung entfernt, da es zu viele verschiedene Werte annehmen kann. Andernfalls wäre eine Generalisierung nicht durchführbar, da jeder Name ein gewisses Maß an Einmaligkeit besitzt und die Tupel nicht zusammenfasst werden können, solange sie nicht identisch sind. Geschlecht M M W W ... Alter jung alt jung mittel alt ... Bundesland Niedersachsen Niedersachsen Niedersachsen Bayern ... Support 54 19 6 14 ... Tabelle 7.3: generalisierte Relation Kunden A Hauptanwendungsgebiete für die Generalisierung sind Online Analytical Processing (OLAP) und attributorientierte Induktion. OLAP ist eine Form explorativer Datenanalyse. Der Benutzer lässt die gewünschten Generalisierungen Schritt für Schritt ausführen und gibt alle für den Generalisierungsprozeß benötigten Parameter vor. Die Generalisierung wird im Zusammenhang mit OLAP-Systemen auch als Roll-Up, die Spezialisierung als Drill-Down bezeichnet. Attributorientierte Induktion dagegen ist ein weitgehend automatisierter Vorgang, für den der Benutzer nur wenige Parameter angeben muß und der die Generalisierung selbstständig vornimmt. Sie wird in der Klassenbeschreibung verwendet. 7.4.3 Unterschiede zwischen OLAP und Konzeptbeschreibung Online Analytical Processing ist eine Methode zur Datenanalyse, die wie die Konzeptbeschreibung dazu verwendet werden kann, zusammenfassende Sichten auf Datensätze zu erhalten und identifizierte Klassen miteinander zu vergleichen. Da OLAP ein rein benutzergesteuerter Vorgang ist, zählt es nicht zu den Data-Mining-Methoden. OLAP Tools basieren auf der Verwendung von Data Cubes. Diese verwenden zwei verschiedene Arten von Attributen; Dimensionen und Fakten. Dimensionen entsprechen üblicherweise den Konzepten einer 185 7 Assoziationsanalyse und Konzeptbeschreibung Abbildung 7.6: Ein Data Cube mit den Dimensionen Produkt, Lieferant und Kunde Konzepthierarchie, Fakten sind in der Regel numerische Daten. Zwischen OLAP und Konzeptbeschreibung bestehen nun zwei wesentliche Unterschiede [Han01a]: Durch die Beschränkung auf zwei Attributtypen (Dimensionen und Fakten) wird die Arbeit mit OLAP-Tools stark beschränkt. Für die Klassenbeschreibung dagegen besteht keine derartige Einschränkung. Im Prinzip können alle Daten analysiert werden, die sich in einer Datenbank speichern lassen, z.B. Multimedia-Dateien. Mittlerweile hat sich OLAP allerdings derart weiterentwickelt, daß die Beschränkungen in der Auswahl der Datentypen etwas gelockert wurden. Welche OLAP-Operationen ausgeführt werden sollen untersteht stets der Kontrolle des Benutzers. Die Auswahl der Dimensionen des Data Cubes und der OLAP-Funktionen liegt weitestgehend in der Hand des Benutzers, allerdings müssen hier vorgegebene Kozepthierarchien berücksichtigt werden. Ein ausreichendes Vorwissen ist für die Arbeit mit OLAP-Systemen unerlässlich. Konzeptbeschreibung läuft zum größten Teil automatisiert ab. 7.4.4 Charakterisierung Unter der Methode der Charakterisierung können Relationen einer Datenbank zusammengefasst werden und spezifische Klassen zu iden- 186 7.4 Konzeptbeschreibung und Generalisierung tifizieren. Es handelt sich um eine Form der automatisierten Datengeneralisierung. Sind die Attribute einer Relation auf einem niedrigen Abstraktionslevel können sie für die weitere Betrachtung der Relation entweder auf ein höheres Niveau abstrahiert oder ausgeklammert werden. Ein Attribut besitzt ein niedriges Abstraktionslevel bzw. einen niedrigen Abstraktionsgrad, wenn viele verschiedene Wertbelegungen für das Attribut existieren. Das Attribut ’Name’ ist ein klassisches Bespiel für ein Attribut mit einem niedrigen Abstraktionsgrad. Für die Bewältigung dieser Aufgabe wird die Datengeneralisierung eingesetzt. Manuelle Datengeneralisierung wird in OLAP-Systemen eingesetzt; Ein Benutzer führt mit einem Analysetool die Generalisierung selbst durch. Der automatisierte Ansatz - die attributorientierte Induktion - soll an dieser Stelle vorgestellt werden. 7.4.4.1 Attributorientierte Induktion (AOI) Attributorientierte Induktion ist eine Data-Mining-Methode, die Datenbanken anhand gegebener Konzepthierarchien generalisiert, um interessante Informationen zu extrahieren [Han01a]. Der Prozess besteht im wesentlichen aus drei Phasen: 1. Relevante Daten sammeln, 2. Daten generalisieren, 3. Ergebnis präsentieren. Es wird eine Zielklasse betrachtet und es soll anhand der Konzepthierarchien eine Generalisierung der Daten durchgeführt werden. Im Laufe der Generalisierung werden alle Attribute, für die eine große Anzahl verschiedener Wertbelegungen existiert entweder entfernt oder auf die nächsthöhere Ebene der Konzepthierarchie übertragen (vgl. Abschnitt 7.4.2). Die Werte werden also durch ihren Vorgänger inder Hierarchie ersetzt. Dadurch reduziert sich die Anzahl der verschiedenen Werte, die ein Attribut haben kann und der Abstraktionsgrad steigt. Ab wann eine Anzahl von möglichen Wertbelegungen eines Attributs als zu groß angesehen wird, wird in der Regel vom Benutzer mit einem Schwellwert festgelegt. Ansonsten verwendet das Data-Mining-Tool einen vorher festgelegten Standard-Schwellwert. 187 7 Assoziationsanalyse und Konzeptbeschreibung Folgender Algorithmus beschreibt die attributorientierte Induktion: Algorithmus Attributorientierte Induktion: Gegeben sind: Eine relationale Datenbank, eine Zielklasse, eine Konzepthierarchie und ein Schwellwert für die Generalisierung. 1. Datenakquisition. Basierend auf der Benutzeranfrage, eine bestimmte Zielklasse zu generalisieren werden die für diese Zielklasse relevanten Daten aus der Datenbank eingelesen. 2. Für jedes Attribut der Zielklasse gilt folgendes: a) Falls die Anzahl der möglichen Werte für ein Attribut den Schwellwert übersteigt und es für das Attribut keine Konzepthierarchie gibt bzw. die Relation bereits ein Attribut besitzt, das die übergeordneten Konzepte als Werte akzeptiert, muss das Attribut entfernt werden. b) Falls die Anzahl der möglichen Werte für ein Attribut den Schwellwert übersteigt und für dieses Attribut eine Konzepthierarchie existiert, dann soll das Attribut generalisiert werden. Außerdem muss Schritt 2 für das generalisierte Attribut wiederholt werden. c) Falls die Anzahl der möglichen Werte für ein Attribut den Schwellwert nicht übersteigt, muss nichts getan werden. 3. Ergebnis: Es wurde eine zusammengefaßte Sicht auf die Daten der ursprünglichen Zielklasse erstellt. Durch die Generalisierung entstehen mehrere identische Tupel, die zu einem Tupel zusammengefasst werden können. Um statistische Bewertungen machen zu können, kann daher ein neues Attribut Support eingefügt werden, durch das für jedes Tupel angegeben wird, aus wie vielen Tupeln der Ursprungsrelation es zusammengefasst wurde. Für die Wahl des Schwellwertes sind viele Möglichkeiten denkbar. In der einfachsten Fassung des Algorithmus existiert ein einzelner globaler Schwellwert, der für jedes Attribut gilt. Alternativ wäre es denkbar, jedem Attribut einen eigenen Schwellwert zuzuweisen. Dadurch hat der Benutzer des Data-Mining-Tools einen größeren Einfluß auf die attributorientierte Induktion und kann eingreifen, falls einzelne Attribute seiner Meinung nach zu stark oder zu schwach generalisiert werden. 188 7.4 Konzeptbeschreibung und Generalisierung Ein weiterer Ansatz ist die Verwendung von Generalisierungsgraden. Jedes Attribut der Relation besitzt einen Generalisierungsgrad. Das ist die Ebene der Konzepthierarchie, auf der sich die Werte des Attributs befinden. Anstatt einen Schwellwert anzugeben könnte der Benutzer eine Konzeptebene angeben und die Attribute werden so lange generalisiert, bis sie diese Ebene erreichen. Beispiel: Charakterisierung der Klasse Kunden B Der Benutzer stellt eine Anfrage auf Charakterisierung der Klasse Kunden B. Die Zielklasse ist als Relation in der Datenbank Shops enthalten. Name Schmidt Klein Meyer Müller ... Geschlecht M W M W ... Alter 25 19 30 54 ... Wohnort Oldenburg Hannover München Papenburg ... Bundesland Niedersachsen Niedersachsen Bayern Niedersachsen ... Tabelle 7.4: Beispielrelation Der erste Schritt des AOI-Prozesses greift auf eine Datenbank zu und liefert eine Relation zurück (Abbildung 7.4). Als Konzepthierarchien sollen die Hierarchien aus Abbildung 7.5 (Kapitel 7.4.2) dienen. In Schritt 2 des AOI-Algorithmus wird für jedes Attribut der Relation festgelegt, ob es entfernt, generalisiert oder nicht verändert werden soll. Der gegebene Schwellwert sei 4, für ein Attribut darf es also nicht mehr als 4 verschiedene Möglichkeiten geben. 1. name: Es gibt eine große Auswahl an Möglichkeiten für dieses Attribut und esexistiert keine Konzepthierarchie. Also wird es aus der Betrachtung ausgeschlossen. 2. Geschlecht: Für dieses Attribut gibt es maximal zwei Möglichkeiten, M(ännlich) und W(eiblich). Dieser Anzahl der Möglichkeiten liegt unter dem Schwellwert, das Attribut wird weder generalisiert noch entfernt. 3. Alter: Der Wertebereich dieses Attributs ist groß , aber es exisitert eine Konzepthierarchie, das Attribut wird generalisiert 189 7 Assoziationsanalyse und Konzeptbeschreibung und die Werte durch jung, mittel alt oder alt ersetzt. 4. Wohnort: Auch hier gibt es viele verschiedene Werte, die angenommen werden können und es existiert eine Konzepthierarchie. Allerdings hat die Relation bereits ein Attribut, das Werte besitzt, die auf der nächsthöheren Ebene dieser Konzepthierarchie liegen. Das Attribut wird entfernt. 5. Bundesland: Es existieren nur zwei mögliche Werte, die nicht verändert werden müssen. Eine generalisierte Relation könnte wie in Abb. 7.5 aussehen. Geschlecht M W M W ... Alter alt mittel alt jung jung ... Bundesland Niedersachsen Bayern Niedersachsen Niedersachsen ... Support 63 43 4 14 ... Tabelle 7.5: generalisierte Beispielrelation Das neu hinzugekommene Attribut Support gibt die Anzahl der zusammengefassten Datensätze an. Als Maß für die Gewichtung eines Tupels qa in einer Relation führen wir noch den Wert t weight ein. Formal gilt für n = #T upel der Relation: [Han01a] Support(qa t weight := Pn i=1 Support(qi ) Je höher t weight, desto größer ist die Zahl der zu qa generalisierten Tupel (aus der ursprünglichen Relation) im Verhältnis zur Gesamtzahl der Tupel. Da jetzt die Zielklasse in einer zusammengefassten Form vorliegt, folgt abschließend der letzte Teil des AOI-Prozesses, die Präsentation des Ergebnisses. Für diese Aufgabe stehen verschiedenste graphische Darstellungsformen wie Tortengrafiken, Säulen- oder Balkendiagramme oder Graphen zur Verfügung. Es besteht auch die Möglichkeit, die Klassen in Tabellenform, mittels Assoziationsregeln oder als Data Cube zu präsentieren. 190 7.4 Konzeptbeschreibung und Generalisierung Data-Mining-Tools können Standard-Darstellungsformen anbieten, letzten Endes liegt die Wahl der Präsentationsform jedoch meist beim Benutzer. 7.4.5 Klassenvergleich Oft sind Benutzer weniger an Aussagen über einzelne Klassen interessiert als an Aussagen über das Verhältnis unterschiedlicher Klassen zueinander. Ein Beispiel für solche vergleichbaren Klassen sind beispielsweise die Verkaufszahlen eines Unternehmens für die Jahre 2000 und 2002. Um einen Vergleich zu ermöglichen müssen die zu vergleichenden Klassen (in generalisierter Form) die gleichen Attribute besitzen. Die Klassen Personen und äpfel sind nicht vergleichbar. (Bei äpfel und Birnen könnte eine geschickte Wahl der Attribute einen Vergleich ermöglichen.) Der Ablauf der Klassengegenüberstellung gleicht dem Ablauf der attributorientierten Induktion - mit dem Unterschied, daß wir zusätzlich zu der Zielklasse mindestens eine weitere, kontrastierende Klasse betrachten, die parallel zu der Zielklasse bearbeitet wird. Der Klassenvergleich besteht aus folgenden Schritten: 1. Relevante Daten sammeln, 2. Daten generalisieren: Die Zielklasse wird generalisiert. Anschließend werden die Attribute der Vergleichsklasse(n) auf den gleichen Generalisierungsgrad gebracht wie ihre Gegenstücke in der Zielklasse. 3. Generalisierungsergebnisse vorstellen. Angenommen, alle Klassen liegen in generalisierter Form vor (siehe Abb. 7.6 und 7.7). Dann ist der nächste Schritt die vergleichende Präsentation der Daten. Prinzipiell stehen dafür die gleichen Darstellungsformen zur Verfügung wie für die Charakterisierung. Hinzu kommen Kontingenztabellen (Kreuztabellen), die auf statistischen Werten basieren. (Bis auf den Support) Identische Tupel in den generalisierten Relationen können vergleichend dargestellt werden (siehe Abb. 7.8). Um 191 7 Assoziationsanalyse und Konzeptbeschreibung Geschlecht M M W W ... Alter jung alt jung mittel alt ... Bundesland Niedersachsen Niedersachsen Niedersachsen Bayern ... Support 54 19 6 14 ... Tabelle 7.6: generalisierte Relation Kunden A Geschlecht M W M W ... Alter alt mittel alt jung jung ... Bundesland Niedersachsen Bayern Niedersachsen Niedersachsen ... Support 63 43 10 14 ... Tabelle 7.7: generalisierte Relation Kunden B eine genauere Aussage über das Verhältnis einzelner Tupel zueinander machen zu können, wird ein Maß für die statistische Interessantheit eingeführt: d weight. Sei m die Gesamtzahl aller generalisierten Klassen, qa ein Tupel der (generalisierten) Zielklasse Cj mit 1 ≤ j ≤ m und {C1 , ..., Cm } die Menge aller generalisierten Klassen, dann soll für d weight gelten [Han01a]: Support(qa ∈ Cj ) d weight := Pm i=1 Support(qa ∈ Ci ) Wenn t weight den Anteil eines bestimmten Tupels innerhalb einer Relation wiederspiegelt, dann steht d weight für den Anteil, den die Relation Cj am Gesamtvorkommen des Tupels (in allen betrachteten Relationen zusammen) beisteuert. Mit t weight und d weight können Kontingenztabellen angelegt werden, die einen schnellen und übersichtlichen Vergleich mehrerer Tupel aus verschiedenen Klassen ermöglichen. So wird abschliessend eine übersichtliche und vereinigte Sicht auf die Daten gewährt. 192 7.4 Konzeptbeschreibung und Generalisierung Quelle Kunden A Kunden B Geschlecht M M Alter jung jung Bundesland Niedersachsen Niedersachsen Support 54 10 Tabelle 7.8: Vergleich von Tupeln aus verschiedenen Relationen 7.4.6 Attributrelevanz In der Praxis tritt häufig die Situation auf, daß eine betrachtete Relation eine große Anzahl von Attributen besitzt. Dadurch wird folgende Frage aufgeworfen: Welche Attribute der Relation sind für die Gewinnung neuen Wissens wirklich notwendig? Denn: Wenn eine Relation viele Attribute (z.B: mehr als 50) besitzt, ist es wahrscheinlich, daß eine generalisierte Version dieser Relation immer noch aus eine unübersichtliche Menge von Attributen besteht, von denen viele unwichtige Informationen vermitteln. Will man beispielsweise die Klassen Luxuswagen“ und Billig-Auto“ ” ” miteinander vergleichen, ist zu erwarten, dass die Farbe des Lackes kaum bei der Differenzierung hilft. Von Attributen wie Preis, Modell, Hersteller und Zylinderzahl ist dagegen eine hohe Relevanz zu erwarten. Einerseits kann nicht davon ausgegangen werden kann, das ein Benutzer über die nötige Kenntnis verfügt, um Attribute von geringer bzw. ohne Bedeutung zu erkennen und aus der Betrachtung auszuschließen, andererseits ist der hohe Grad der Automatisierung gerade ein Vorteil der Konzeptbeschreibung anderen Werkzeugen zur Datenanalyse gegenüber sein, wie z.B. OLAP. Daraus folgt die Notwendigkeit der Entwicklung einer Methode zur Vorverarbeitung einer betrachteten Relation mit dem Ziel, für die Analyse irrelevante Attribute aus der Bearbeitung zu entfernen. Diese nennen wir Attributrelevanz-Analyse. Ein Attribut einer Klasse heißt relevant, falls es dazu beiträgt, eine betrachtete Klasse von anderen Klassen zu unterscheiden. Ein Maß für die Relevanz eines Attributs ist der Information Gain. Dieser kann auf der Basis mehrerer Testklassen ermittelt werden. Wird die Relevanzanalyse im Klassenvergleich angewenset, können die zu vergleichenden Klassen als Testklassen verwendet werden. Für die Charakterisierung nimmt man dagegen üblicherweise alle in der Datenbank gespeicherten vergleichbaren Klassen für die Relevanzana- 193 7 Assoziationsanalyse und Konzeptbeschreibung lyse. Wie wird der Information Gain berechnet?[Han01a] Sei S eine Menge von Tupeln mit jeweils einem Attribut zur Angabe der Herkunftsklasse. Die Zahl der Herkunftsklassen sei mit m gegeben. S beinhalte si Tupel der Klasse Ci mit 1 ≤ i ≤ m. Dann gilt: m X si si I(s1 , ..., sm ) := − log2 s s i=1 Das Attribut A habe die Werte {a1 , ..., av } und teile die Menge S in Teilmenen S1 , ..., Sv , so dass Sj die Tupel aus S enthält, für die A den Wert aj besitzt. Sj habe sij Tupel der Klasse Ci v X s1j + ... + smj E(A) := I(s1 , ..., sm ) s j=1 Der Information Gain eines Attributs entsteht schliesslich durch folgende Subtraktion: IGain(A) = I(s1 , ..., sm ) − E(A) Die Relevanzanalyse kann vor der AOI eingesetzt werden, um die Zahl der zu analysierenden Attribute zu verringern. Charakterisierung mit integrierter Relevanzanalyse wird als Analytische Charakterisierung (analytical characterisation), der Klassenvergleich als Analytischer Klassenvergleich (analytical comparision) bezeichnet 7.5 Fazit Wir haben zwei essentielle Data-Mining-Methoden kennengelernt die für Knowledge Discovery in Databases eingesetzt werden: Die Assoziationsanalyse und die Klassenbeschreibung. Beide Methoden sind effiziente Werkzeuge zur Gewinnung von Wissen aus großen Datenmengen. Die Assoziationanalyse bietet mit einer großen Anzahl verschiedener Assoziationsregeln vielfältige Anpassungsmöglichkeiten für viele Bereiche in Wirtschaft, Forschung und im täglichen Leben. Einfache Assoziationsregeln repräsentieren häufiges gemeinsames Auftreten von Elementen in Transaktionen wie z.B. oft gemeinsam gekaufte 194 7.5 Fazit Waren in einer Menge von Warenkörben. Komplexere Assoziationsregeln bauen auf diesen einfachen Regeln auf bieten durch ihre Erweiterungen neue Möglichkeiten, so können hierarchische, quantitative, fuzzy“ und temporale Aspekte mit in die Assoziationsanalyse auf” genommen werden. Von der Vielzahl von Algorithmen, die in der Assoziationsanalyse angewendet werden, wurde nur der grundlegendste vorgestellt: der Apriori-Algorithmus. Allerdings bietet dieser selbst viele Erweiterungsmöglichkeiten, wie z.B. eine Anpassung an hierarchische und quantitative Assoziationsregeln. Mit der Konzeptbeschreibung wurde eine einfache Technik für deskriptives Data Mining vorgestellt. Unter dem Begrff Konzept- oder Klassenbeschreibung sind Verfahren zusammengefasst, die zusammengefasste Sichten auf eine angegebene Datenmenge, der Zielklasse, bieten und außs erdem die Möglichkeit des Vergleichs mehrerer solcher zusammengefassten Sichten eröffnet. Dazu greift die Konzeptbeschreibung auf Generalisierungs-Algorithmen zurürck, wie sie auch im Bereich des OnLine Analytical Processing angewendet werden. Diese Algorithmen werden von der attributorientierten Induktion zur Zusammenfassung von Zielklassen (und Vergleichsklassen) benutzt. Um irrelevante oder nur wenig relevante Attribute aus einer Relation auszuschliessen und so große Attributzahlen auf ein übersichtliches Maß zu verringern, kann der attributorientierten Induktion eine Relvanzanalyse vorgeschaltet werden. Diese berechnet den Wert des Informationsgewinns jedes einzelnen Attributs der Zielklasse. Für die Präsentation des gewonnenen Wissens stehen viele Darstellungsarten zur Ver-fügung. Die Konzeptbeschreibung letztendlich steht für die Vereinigung der durch Charakterisierung und Vergleich ermittelten Daten in einer einzigen Relation, Kreuztabelle oder in Form von quantitativen Regeln. Hierfür wurden Maße für die Interessantheit der Charakterisierung bzw. dem Vergleich eingeführt (t weight und d weight). 7.5.1 Einordnung in den Projektgruppenkontext Die Projektgruppe Personalisierung internetbasierter Handelsszena” rien“ hat sich die Aufgabe gestellt, ein Handelsszenario zu entwickeln, in dem einzelne Kunden individuell betreut werden sollen. Zu diesem Zweck soll das Szenario Möglichkeiten zum Sammeln von Kundendaten und der anschliessenden Analyse bieten. 195 7 Assoziationsanalyse und Konzeptbeschreibung Für die Datenanalyse sind im Zusammenhang mit den hier vorgestellten Data-Mining-Methoden vor allem zwei Anwendungsmöglichkeiten von Interesse: Die klassische Warenkorbanalyse und die Erstellung von Kundenprofilen. Die gesammelten Kundendaten können verwendet werden, um aus den bisher getätigten Käufen Rückschlüsse auf Verhaltensmuster zu ziehen. Anhand dieser Verhaltensmuster können Kunden in Gruppen eingeteilt werden. Für dieses Szenario können beide Techniken eingesetzt werden, sowohl die Assoziationsanalyse als auch die Konzeptbeschreibung. Die Konzeptbeschreibung eignet sich dafür, die Kunden eines Händlers zu Gruppen zusammenzufassen. Mit der Assoziationsanalyse können dann Regelmässigkeiten im Verhalten erkannt werden, um beispielsweise einzelnen Kunden bestimmte Produkte anzubieten, die von anderen Kunden mit einem ähnlichen Profil gekauft wurden. 196 8 Temporale Aspekte des Data Mining Oliver Wien Die vorliegende Arbeit beschäftigt sich mit den temporalen Aspekten des Data Mining. Es werden wichtige Grundlagen zum Zeitbegriff und seiner Verwendung gemacht sowie die Granularität von Zeitpunkt und Zeitraum bestimmt. Die Repräsentationsformen Temporale Datenbank“ und Zeitreihen“ ” ” sowie ihre Eigenschaften werden vorgestellt. Deutlich gemacht wird dabei der Nutzen von Transaktions- und Gültigkeitszeit in Form des bitemporalen Modells. Das Data Mining über einzelne Transaktionen hinaus birgt weitere Vorteile in so genannten Inter-Transaktionsmustern. Diese Muster decken Zusammenhänge auf, die ohne temporale Komponenten nicht realisiert werden würden. Zu den bekanntesten gehören dabei sequentielle Muster und zeitliche Assoziationsregeln. Die Analyse der zeitlichen Assoziationsregeln sowie zwei Algorithmen zur Entdeckung von sequentiellen Mustern werden zum Abschluss dieser Ausarbeitung ausführlich und mit Beispielen dargestellt. 197 8 Temporale Aspekte des Data Mining 8.1 Einleitung 8.1.1 Motivation In der Praxis ist es oftmals erforderlich, dass zu einem bestimmten Objekt nicht nur eine Menge an Informationen verfügbar, sondern auch ein zeitlicher Zusammenhang von großer Bedeutung ist. Dazu gehört beispielsweise die Änderungen der zu einem Objekt bereitgehaltenen Informationen. Aber auch die Gültigkeit eines Objektes bzw. spezieller Objektdaten ist oftmals von Interesse. Letztendlich bringt die Erweiterung um temporale Aspekte auch die Option, Operationen auf den Daten nachzuvollziehen und ggf. beliebig weit rückgängig zu machen. Data Mining ist ein Verfahren, das es ermöglicht wiederkehrende Muster, aber auch Unregelmäßigkeiten, wie z.B. Ausreißer in großen und sehr großen Datenbeständen aufzufinden. Das Verwenden temporaler Aspekte bedeutet eine Erweiterung des Knowledge Discovery“. Als Knowledge Discovery wird der Prozess ” verstanden mit dem Muster in Datenbanken gefunden werden, Data Mining stellt einen Schritt in diesem Prozess dar [FPSS96c]. In der Erweiterung des Data Mining begründet sich auch die Motivation zu dieser Ausarbeitung: Es soll deutlich gemacht werden, welche Möglichkeiten, aber auch welche Grenzen die temporale Dimensionen in diesem Umfeld bieten. 8.1.2 Vorgehensweise Im Anschluss an diese Einleitung finden sich im zweiten Kapitel die Grundlagen des Themas. Zu den Grundlagen gehören eine knappe Einführung in das Data Mining, die Definition des Zeitbegriffs und die Erläuterung der notwendigen Voraussetzungen, um die Arbeit mit temporalen Daten zu ermöglichen. Zwei möglichen Repräsentationsformen ist das dritte Kapitel gewidmet. Hier werden zwei Wege vorgestellt, die zeigen wie mit temporalen Daten gearbeitet werden kann. Dazu gehören einerseits temporale Datenbanken, insbesondere die Erweiterung der bekannten relationalen Systeme und zum anderen geht es um Zeitreihen. Das vierte Kapitel Temporale Muster“ stellt den Kern des Data Mi” ning dar, schließlich ist das Entdecken von Mustern (engl. Pattern) 198 8.2 Grundlagen und Begriffe dessen Hauptziel. Innerhalb dieses Kapitels werden ausgewählte temporale Muster vorgestellt, die beispielsweise zur Personalisierung verwendet werden können. Es gilt dabei häufige und wiederkehrende Vorgänge festzustellen und allgemein gültig zu beschreiben. Zu den bekanntesten Mustern gehören die temporalen Assoziationsregeln“. ” Die Analyse der temporalen Daten steht im Mittelpunkt des fünften Kapitels. In der Datenanalyse werden die zuvor beschriebenen Muster ausfindig gemacht. Zur Erläuterung der Analysetechniken werden verschiedene Algorithmen vorgestellt, die speziell für die Bearbeitung von temporalen Daten konzipiert oder daran angepasst wurden. Dazu gehören Clustering- und Klassifikationsverfahren sowie der GSP und SPADE-Algorithmus. Die letzten beiden Kapitel dieser Arbeit zeigen eine Einordnung dieses Teilthemas in das Gesamtbild des Projekts DIKO - Data in Know” ledge out“ und die Schlussbetrachtung. Das Projekt beschäftigt sich mit der Personalisierung internetbasierender Handelsszenarien. Den Schluss dieser Arbeit bilden Glossar und Literaturverzeichnis. 8.2 Grundlagen und Begriffe In diesem Kapitel werden die wichtigen Begriffe und notwendigen Voraussetzungen erläutert. Dazu gehören der Zeitbegriff und die verwandten Begriffe Zeitraum“ und Zeitpunkt“ sowie die Granula” ” ” rität“. Darüberhinaus gibt es unterschiedliche Modelle die Zeit darzustellen und es wird klar, dass der Zeitbegriff an sich sehr subjektiv sein kann. Bevor allerdings die mit den temporalen Aspekten in Zusammenhang stehenden Begriffe eingeführt werden, soll noch knapp das Data Mining erklärt werden. 8.2.1 Data Mining Im Zeitalter der Informationstechnik wächst die Zahl der Daten, die in Unternehmen sowie in Wissenschaft und Forschung gespeichert werden ins Unüberschaubare [HK01]. Die Bemühungen, trotz der Menge der Daten die notwendigen wichtigen Informationen aufzudecken, werden unter dem Oberbegriff Knowledge Discovery in Da” tabases“ (KDD) zusammengefasst. KKD ist der nicht-triviale“ Pro” zess, dessen Ziel es ist, gültige, neue, potentiell nützliche und letzt” endlich verständliche Muster in Daten“ zu finden [FPSS96c]. Man 199 8 Temporale Aspekte des Data Mining spricht deshalb vom KDD-Prozess. Dieser Prozess besteht aus neun Schritten: 1. Datenverständnis und Zielbestimmung (Kundensicht) 2. Auswahl der Daten 3. Aufbereitung der Daten (Preprocessing) 4. Reduzierung und Projektion der Daten 5. Wahl einer geeigneten Data-Mining-Methode 6. Wahl geeigneter Data-Mining-Algorithmen 7. Data-Mining 8. Interpretation der gefundenen Muster und ggf. Wiederholung der vorangegangenen Schritte 9. Festigung und Übertragung des neuens Wissen Der siebte Schritt, das Data Mining“ beschäftigt sich mit der Suche ” nach interessanten Mustern, die in einer bestimmten Darstellungsform vorliegen [FPSS96c]. Bei den temporalen Aspekten des Data Mining handelt es sich um die Erweiterung der zu analysierenden Daten und der Analyseergebnisse um eine weitere Dimension: der Zeit. Durch Erweiterung der Daten um zeitliche Attribute, ist es möglich das Data Mining zu vertiefen. Existiert eine zeitliche Dimension, so können auch die Ergebnisse des Data Mining mit einer zeitlichen Komponenten aufwarten. Dann werden Muster gefunden, die die ebenfalls temporal bestimmt sind. Es lassen sich zudem Zusammenhänge feststellen, die für die spätere Projektarbeit von Nutzen sein könnten und ohne zeitliche Dimension nicht nachvollziehbar wären. Welche Zusammenhänge es gibt, wird weiter unten gezeigt. 8.2.2 Der Zeitbegriff Meyers Lexikon definiert die Zeit als Existenzform der Materie in der ” alle ihre Änderungen und Bewegungen ablaufen“[M0101]. Allgemein handelt es sich um die Abfolge eines Geschehens, die im menschli” chen Bewusstsein als Vergangenheit, Gegenwart und Zukunft am Entstehen und Vergehen der Dinge erfahren wird. Die Gegenwart lässt 200 8.2 Grundlagen und Begriffe sich als Grenze zwischen Noch-nicht (Zukunft) und Nicht-Mehr (Vergangenheit) bestimmen.“ Für den Mensch gilt die Zeit also auch als Maßstab, um Vorgänge und Geschehen in einem Kontext richtig einzuordnen. Die Einordnung findet dann in zeitlicher Reihenfolge statt. Erwähnenswert ist an dieser Stelle, dass das Zeitempfinden allgemein sehr subjektiv ist. Neu“ oder alt“ sind Adjektive, die lediglich eine ” ” Unterscheidung zur Vergangenheit machen, nicht aber als Maßstab verwendet werden können. Im Rahmen der zu machenden Analysen muss also sehr sensibel mit der Zeit umgegangen werden. 8.2.3 Granularität - Zeitpunkt - Zeitraum Für den Zeitbegriff ist es notwendig, zwischen Zeitraum und Zeitpunkt zu unterscheiden. Nur so können Analyseergebnisse richtig interpretiert werden. Während ein Zeitpunkt z.B. ein exaktes Datum beschreibt, gehen wir davon aus, dass ein Zeitraum mindestens zwei Zeitpunkte enthält, die aus einem Start- und einem Endzeitpunkt bestehen. Dabei ergibt sich folgendes Problem: Bezeichnet man ein Datum, z.B. den 18.11.2002 als Zeitpunkt, so stellt er zugleich einen Zeitraum dar. Schließlich steht ein Datum immer für einen Tag, der wiederum aus 24 Stunden besteht. Aber nicht mal eine Stunde dieses Tages könnte zweifelsfrei als Zeitpunkt definiert werden, da auch eine Stunde wieder aus 60 Minuten besteht. Diese Verfeinerung lässt sich unendlich lange fortsetzen bis unendlich kleine Zeiteinheiten vorliegen. Die gängigen Uhren beschränken sich auf Minuten und Sekunden als kleinste Zeiteinheit. Wenige Ausnahmen gibt es z.B. bei Sportveranstaltungen wo auf eine Hundertstel Sekunde genau gemessen wird. Bei der Implementierung temporaler Daten ist die so genannte Gra” nularität“ dafür umso wichtiger. Mit Granularität meint man die Körnigkeit, in diesem speziellen Fall die Unterscheidung zwischen Zeitraum und Zeitpunkt. Wann ist ein Zeitraum gleich einem Zeitpunkt? Zur Darstellung der Zeit gibt es drei gängige mathematische Modelle. Das stetige Modell ist isomorph zum Bereich der reelen Zahlen und wird mit diesen gleichgesetzt. Das dichte Modell basiert auf den rationalen Zahlen. Je genauer ein Modell, desto feinere Zeiteinheiten gibt es. So bietet das stetige Modell eine detailliertere Einteilung als das dichte Modell. Ein Modell , dass nur“ mit natürlichen Zahlen ” auskommt, ist das diskrete Modell. Üblicherweise verwendet man bei temporalen Daten das diskrete Modell. Die kleinste Zeiteinheit wird 201 8 Temporale Aspekte des Data Mining hier als Chronon“ bezeichnet und wird dabei als das kleinste mögli” che Zeitsegment verstanden, z.B. ein Augenblick. In allen drei Modellen wird von einem linearen Zeitverlauf ausgegangen. Darüberhinaus gibt es aber auch Modelle mit anderen Zeitverläufe, die in dieser Ausarbeitung unberücksichtigt bleiben sollen. Hier sei das Zeitmodell von Minkowski genannt, dass sich einer kegelförmigen Darstellung bedient [Mar99]. 8.3 Repräsentationsformen Es gibt unterschiedliche Repräsentationsformen für temporale Daten, von denen im Folgenden zwei vorgestellt werden sollen. Einerseits gibt es temporale Datenbankmanagementsysteme (DBMS), die eine Erweiterung der relationalen DBMS darstellen und andererseits gibt es Zeitreihen (auch Sequenzen genannt). 8.3.1 Temporale Datenbanken Bei der Erklärung temporaler Datenbanken wird wie folgt vorgegangen. Im ersten Schritt werden temporale Datenbanken mit konventionellen Datenbanken verglichen und ihre Besonderheiten, wie unter anderem die verwendeten Zeittypen aufgezeigt. Daraufhin wird erläutert wie Daten auf zwei verschiedene Arten mit Zeitstempeln versehen werden können. Den Abschluss bildet das bitemporale Datenmodell, das alle zuvor genannten Grundlagen in sich vereint. Temporale DBMS verwalten zeitbezogene Daten. Sie unterscheiden sich damit von den so genannten Schnappschuss-Datenbanken [Kai00]: Im Normalfall wird in einer Datenbank der aktuelle Zustand der in ihr enthaltenen Objekte gespeichert. Das heißt auch, dass nach einer Veränderung der Attribute eines Objektes der Ursprungszustand überschrieben ist und nicht wieder hergestellt werden kann. Zwar bieten moderne DBMS die Möglichkeit eines Undo“mit dem zwischen ” zwei unterschiedliche alten Sichten (engl. view) gewechselt werden kann, doch können nicht mehrere Sichten zeitgleich angezeigt werden. Dies kann in bestimmten Anwendungen von großem Nachteil sein, da in vielen Fällen noch auf ältere Daten zurückgegriffen werden muss. In Oracle werden diese Ansichten als materialized views“ ” bezeichnet. Man bezeichnet diesen Typ auch als Rollback-DMBS. 202 8.3 Repräsentationsformen Es gibt Attribute, die von vornherein nur eine begrenzte Gültigkeit aufweisen. So sind Vertragsdaten beispielsweise mit unter durch Start- und Enddatum gekennzeichnet. An diesem Punkt kommen temporale DBMS ins Spiel. Stahlknecht [SH02] beschreibt sie wie folgt: Zeitorientierte (temporale) Datenbanken verwalten den Daten” bestand als Folge zeitlich aufeinander folgender Zustände einschließlich der Zeitpunkte der Änderungen (Historisierung).“ Bei zeitbezogenen Daten ist demzufolge nicht erlaubt, Daten zu löschen oder zu überschreiben[KM96]. Nur so können zeitabhängige Versionen festgehalten werden, die wiederum eine Historisierung ermöglichen. Ein Löschvorgang wäre dann also nur logisch als Statusveränderung in der Datenbank zu verstehen, nicht aber physikalisch. Um unterschiedliche Versionen von einander abgrenzen zu können, werden temporale Attribute benötigt, die die einzelnen Versionen beschreiben. Wie diese Attribute aussehen, wird im folgenden Abschnitt Zeittypen“ behandelt. Insgesamt gibt es vier verschiedene ” Ausprägungen von Datenbanken in Abhängigkeit der genutzten Zeittypen [AS86]. Die bereits erwähnte Schnappschuss-Datenbak verwendet keine temporalen Attribute, die Rollback-Datenbank verfügt über Transaktionszeiten. Eine Datenbank, die lediglich über Gültigkeitszeiten verfügt, wird als historische Datenbank bezeichnet. Bitemporal“ ” ist eine Datenbank, die sowohl Transaktions- als auch Gültigkeitszeit verwendet. 8.3.1.1 Zeittypen Zu den gebräuchlichen Zeittypen gehören die Transaktionszeit (engl. Transaction Time), die Gültigkeitszeit (engl. Valid Time) und die benutzerdefinierte Zeit (engl. User-defined-time). Letzterer Zeittyp ist bereits von nicht-temporalen DBMS bekannt. Mit diesem Zeittypen werden beliebige zeitliche Daten, wie z.B. das Geburtsdatum festgehalten. Die Transaction Time und die Valid Time bieten mehr Möglichkeiten, da sie direkt in DBMS integriert sind. Die Vorzüge sollen im Folgenden deutlich werden. User-defined-time Die User-defined-time [JCG+ 92] bzw. die benutzerdefinierte Zeit wird vom DBMS nicht interpretiert. Es handelt es sich genauso um eine Domäne für zeitliche Werte wie Integer für Zahlenwerte. Als Domäne wird im allgemeinen eine Menge atomarer Werte verstanden [Goi]. 203 8 Temporale Aspekte des Data Mining Im Gegensatz zu den folgenden Zeittypen findet die User-DefinedTime eine spezielle Unterstützung in der Data Manipulation Language (DML). Informationen zur DML finden sich in [ACPT99]. Aufgrund vorhandener User-defined-time kann nicht auf eine temporale Datenbank geschlossen werden [KM96]. Valid Time Unter der Valid Time [JCG+ 92], der Gültigkeitszeit, versteht man einen Zeitraum zu dem ein Fakt in der modellierten Welt wahr“ ” bzw. gültig ist. So ist es durch Wahl entsprechender Werte für die Valid Time auch möglich, dass ein Fakt erst in der Zukunft wahr wird. Durch Verwaltung der Gültigkeitszeit entsteht eine historisierte Datenbank aus der jederzeit ersichtlich ist, wann welcher Zustand gültig war, gültig ist oder gültig sein wird [JCG+ 92]. Es werden als zwei Werte GZA, der Gültigkeitszeitanfang und GZE, das Gültigkeitszeitende, gespeichert. Transaction Time Ein Fakt wird zu einem bestimmen Zeitpunkt in der Datenbank gespeichert und danach immer wieder abgerufen. Die Transaction Time [JCG+ 92] gibt an, wann dieser Fakt in der Datenbank gültig ist. Es handelt sich dabei um die Erweiterung der bisherigen Dimensionen Objekt und Eigenschaft. Es wird also immer ein zusätzlicher Wert für jedes Objekt gespeichert, der die zeitliche Dimension darstellt. Die Transaktionszeit kann nicht in der Zukunft liegen. Ebenso wenig kann eine Transaktionszeit im Nachhinein geändert werden, da es nicht möglich ist, die Vergangenheit zu ändern. Es werden je nach Zeitstempelung (siehe unten) zwei Zeiten je Tupel bzw. Attribut gespeichert. Ein Wert TZA“ steht für den Transak” tionszeitanfang und ein Wert TZE“ für das Transaktionszeitende. ” Der erste Wert wird zu Beginn einer Transaktion gesetzt, z.B. dann, wenn ein Tupel in die Datenbank eingefügt wird und entspricht der dann aktuellen Systemzeit. Der zweite Wert bestimmt das Ende der Transaktion, das ist der Zeitpunkt, wenn ein Wert aus der Datenbank gelöscht“ wird. ” Die Transaktionszeit ist von der Gültigkeitszeit unabhängig und umgekehrt, da die Transaktionszeit (s.o.) vom System und die Gültigkeitszeit auch vom Anwender vergeben werden kann. Mit Hilfe der Transaktionszeit wird eine Rollback-Relation geschaffen: es könnte jeder Veränderungsschritt rückgängig gemacht bzw. 204 8.3 Repräsentationsformen Änderungen jederzeit nachvollzogen werden. Beliebige Zustände zu unterschiedlichen Zeiten können abgerufen werden. 8.3.1.2 Zeitstempelung Bei einer Zeitstempelung wird ein Tupel oder ein Attribut vom DBMS, teils automatisch, mit einem Zeitwert versehen. Es gibt zwei unterschiedliche Ansätze bei der Zeitstempelung (engl. Timestamp). Zum einen gibt es die Tupel-Zeitstempelung und zum anderen die Attributzeitstempelung. Tupel-Zeitstempelung Hierbei handelt es sich um die einfachste und am häufigsten verwendete Methode [JDS98]. Die Zeitstempelung erfolgt hier für jedes Tupel. Die vorhandene Relation würde um entsprechende Attribute erweitert werden. Der große Vorteil ist darin zu sehen, dass die konventionellen rationalen DBMS problemlos mit dieser Art der temporalen Erweiterung umgehen können [KM96]. Die Form der Datenbank bleibt erhalten. Je nach verwendeter Zeitdimension wird das Datenbank-Schema auf Tupelebene wie folgt ergänzt. Für die Gültigkeitszeitstempelung wird je ein Attribut für den Anfangs- und für den Endwert des Gültigkeitszeitraums notiert. Bei der Transaktionzeitstempelung werden die Werte für Start und Ende des Transaktionsintervalls gespeichert, das heißt, von wann bis wann ein Fakt in der Datenbank gültig ist. Speichert man sowohl die Gültigskeitszeiten als auch die Transaktionszeiten, spricht man von bitemporaler ” Zeitstempelung“ (siehe unten). In diesem Fall werden insgesamt vier zusätzliche Attribute für die Zeitstempelung vorgehalten. Der Vorteil der Tupel-Zeitstemplung liegt darin, dass die Zeitstempelung in vorhandene konventionelle Datenbanksysteme relativ einfach implementiert werden kann. Nachteilig ist, dass für alle Attribute eines Tupels nur eine Zeitstempelung erfolgt. In der Regel findet immer nur die Änderung eines oder mehrerer Attribute statt, die Änderung aller Attributwerte tritt nur selten auf. Da bei temporalen Datenbank Änderungen in einem neuen Tupel mit einem neuen Zeitstempel gespeichert werden (siehe oben), kommt es auf diesem Weg zwangsläufig zu Redundanzen: mehrere Attribute müssen neu gespeichert werden, obwohl es für sie keine Veränderung gegeben hat. Attribut-Zeitstempelung 205 8 Temporale Aspekte des Data Mining Im Gegensatz zur Tupel-Zeitstempelung werden hier einzelne Attribute mit einem Zeitstempel versehen [JDS98]. Dabei gilt es zeitabhängige und zeitunabhängige Attribute zu unterscheiden. Bei unabhängigen Attributen tritt im Laufe der Zeit keine Veränderung auf. Bei abhängigen Attributen muss davon ausgegangen werden, dass eine Veränderung des Attributs potentiell möglich ist. Ist eine Änderung möglich, wird auch eine Gültigkeitszeitstempelung nötig, sonst nicht. Für die Transaktionszeit ist die zeitliche Abhängigkeit nicht relevant, sowohl die abhängigen als auch die unabhängigen erhalten hier einen Zeitstempel. Dadurch, dass die Zeiten bei den einzelnen Attributen stehen, ergibt sich eine komplexe mehrwertige Speicherung. Änderungen eines Attributs werden in der Relation nur beim Attribut selbst gespeichert. Redundanzen werden hierdurch vermieden. Da alle Versionen in einem einzigen Tupel gespeichert werden, unterliegt die Relation nicht mehr der ersten Normalform, da deren Bedingung Atomarität lautet [ACPT99]. Die Einhaltung der ersten Normalform ist wiederum Bedingung für die meisten kommerziell verfügbaren relationalen Datenbanksysteme. Dem gegenüber stehen die Vorteile der flexiblen Modellierung und Anpassbarkeit sowie die vergleichsweise geringere Datenmenge. Nachteilig wirkt sich dann allerdings die Komplexitätssteigerung in punkto Modellierung und Realisierung aus. 8.3.1.3 Bitemporales Modell Besitzt ein Modell sowohl Transaktionszeit als auch Gültigkeitszeit, handelt es sich um ein bitemporales Modell. Das Bitemporal Conceptual Data Model (BCDM) wurde 1993 vom TSQL2 Language Design Commitee entworfen. Mitglieder des Komiteees waren unter andem R. Snodgrass, J. Clifford und C. Jensen. Zu den Eigenschaften des BCDM gehören die bereits besprochenen Transaktions- und Gültigkeitszeiten, aber auch die Basierung auf dem Modell der diskreten Zeit mit dem Chronon als kleinster Zeiteinheit [Sno95]. Von Vorteil ist, dass die Vorteile von Transaktionszeit und Gültigkeitszeit bei diesem Modell kombiniert werden. Es handelt sich dann also nicht nur um eine Rollback-Relation (Transaktionszeit) oder um eine Objekt-Historie (Gültigkeitszeit), sondern um die Möglichkeit der Rekonstruktion der Objekt-Historie. Es kann so die Entwicklung der Gültigkeit im Nachhinein betrachtet werden. Wird die Gültigkeit eines Tupels nachträglich geändert, so wird das in diesem Modell fest- 206 8.3 Repräsentationsformen gehalten. Beispiel zum bitemporalen Modell Das folgende Beispiel soll die Funktionsweise des BCDM verdeutlichen [Lan96]: Zum Zeitpunkt 5 wird vom Personalchef eines Kauf” hauses festgelegt, dass Herr Meier für das Zeitintervall 11-44 in der Abteilung Spielzeuge arbeiten soll. Zum Zeitpunkt 15 meldet ein Mitarbeiter, dass Herr Meier nicht in der Abteilung arbeitet. Der Personalchef verändert daraufhin seine Konzeption und teilt Herrn Meier nun im Zeitintervall 20-32 für die Spielzeugabteilung ein. Bei der Feststellung des Mitarbeiters, dass Herr Meier zum Zeitpunkt 15 noch keine Spielzeuge verkaufte, handelte es sich um jedoch um einen Irrtum. Deshalb übernimmt der Personalchef zum Zeitpunkt 25 wieder die ursprüngliche Arbeitseinteilung für Herrn Meier. ” Abbildung 8.1: Grafische Darstellung des BCDM-Beispiels [Lan96] In der Abbildung 8.1 sieht man, dass der Graph die ursprünglichen Angaben des Personalchefs enthält. Auf der Abszisse ist die Transaktionszeit und auf der Ordinate die Gültigkeitszeit zu sehen. Zum Zeitpunkt 5, zu dem der Personalchef seine Planung festgelegt, wird auf der Abszisse die Transaktionszeit 5 und auf der Ordinate die dazugehörige Gültigkeitszeit 11 bis 44 eingetragen. Zum Zeitpunkt 15 kommt es nun zu einer Änderung, die - so veranschaulicht es der zweite Graph - erneut festgehalten wird ohne die bisherigen Angaben zu überschreiben. Als der Personalchef die zuletzt gemachten Angaben korrigiert, verändern sich die in der Datenbank gespeicherten Werte gemäß Graph 3. Wäre diese Relation nicht bitemporal, würde entweder die Gültigkeitszeit oder der Verlauf der Gültigkeitszeit nicht notiert worden sein. Der gleiche Vorgang ist noch einmal in einer Tabelle zu beobachten (siehe Abbildung 8.2). Es handelt sich hier um eine Attributzeitstempelung. 207 8 Temporale Aspekte des Data Mining Abbildung 8.2: Tabellarische [Lan96] Darstellung des BCDM-Beispiels Beispiele für temporale Datenbanken In der Praxis werden in temporalen Datenbanken zum Beispiel Point-Of-Sale-Daten, InventarDaten und Call-Center-Daten gespeichert. Bei Inventar-Daten ist es mit diesen temporalen Komponenten möglich, Inventarveränderungen, d.h. Abgänge und Zugänge zu protokollieren. Im Point-Of-SaleBereich kann es wiederum wichtig sein, fehlerhafte Buchungen und deren Stornierungen nachzvollziehen zu können. 8.3.2 Zeitreihen Bei den so genannten Zeitreihen, im Folgenden Sequenzen“ genannt, ” handelt es sich um eine Folge von Werten, die sich auf aufeinander ” folgende Zeitpunkte oder Zeiträume bezieht.“ Bei Sequenzen handelt es sich nicht zwangsläufig um Relationen, sondern vielmehr um eine Folge von Kombinationen aus (ggf. mehrdimensionalen) Wert“ und ” Zeitpunkt“. Unabhängig davon können Sequenzen auch Relationen ” gespeichert werden. Formal lässt sich eine Sequenz folgendermaßen darstellen: Unter I = {i1 , i2 , ..., im } (8.1) versteht man eine Menge verschiedener Attribute, die man Literale oder Items (im Folgenden Items) nennt [Zak97] [Hip01]. Eine nicht leere Menge von Items I = {i1 , i2 , ..., ik } = αj (8.2) mit ij als Item wird als Itemset bezeichnet. Eine Sequenz ist dann eine zeitlich geordnete Liste von Itemsets. Gibt es ein Itemset mit k Items, so wird dieses als k-Itemset“ bezeichnet und die Länge ist k. ” Eine Sequenz α wird mit α = (α1 7→ α2 7→ ... 7→ αq ) 208 (8.3) 8.3 Repräsentationsformen bezeichnet. Bei jedem Element αj dieser Sequenz handelt es sich um ein Itemset. Jedes Item kann nur einmal in einem Itemset vorkommen. Unabhängig davon ist es natürlich möglich, dass ein Item in mehreren P Itemsets enthalten ist. Eine Sequenz mit k Itemsets (k = j |αj |) wird als k-Sequenz“ bezeichnet. ” 8.3.2.1 Subsequenzen Eine Sequenz α = (α1 7→ α2 7→ ... 7→ αn ), N = {1, 2, ..., n} (8.4) wird als Subsequenz einer weiteren Sequenz β = (β1 7→ β2 7→ ... 7→ βm ), M = {1, 2, ..., m} (8.5) bezeichnet, wenn für alle x ∈ N ein Index jx ∈ M existiert, so dass αx ⊆ βjx . Außerdem gilt für alle x, y ∈ N , dass wenn x > y auch jx > jy gilt [Zak97]. Eine Subsequenz wird mit α ¹ β notiert. Beispiel: Im Folgenden handelt es sich bei α = (B 7→ AC 7→ D) (8.6) um eine Subsequenz von β = (AB 7→ E 7→ ACE 7→ BE 7→ DE), (8.7) also α ¹ β, da α vollständig in β enthalten ist. B ⊆ AB, AC ⊆ ACE, D ⊆ DE (8.8) 8.3.2.2 Beispiele für Zeitreihen Zeitreihen erfassen in der praktischen Anwendung beispielsweise WebVisits pro Stunde, Verkäufe pro Monat, Anrufe pro Tag usw.. 8.3.3 Äquivalenz von Zeitreihen und temporalen Datenbanken Liegen die zu analysierenden Daten innerhalb einer temporalen Datenbank vor, ist es möglich diese in Sequenzen zu transformieren. 209 8 Temporale Aspekte des Data Mining Dazu benötigt man Snapshots (siehe Kapitel 8.3.1), also Momentaufnahmen. Die Ausprägungen der einzelnen Objekte können dann an Hand ihrer temporalen Attribute, d.h. Transaktions- und Gültigkeitszeit, in Zeitreihen umgewandelt werden. Da eine Sequenz immer aus einem Objekt mit seinen Eigenschaften zu aufeinanderfolgenden Zeitpunkten besteht, ist eine Transformation in diese Richtung möglich. Gibt es also in einer temporalen Datenbank ein Objekt Warenkorb“ ” kann anhand der Transaktions- und Gültigkeitszeiten eine Schnappschussfolge gebildet werden. So läßt sich dann der Zustand des Warenkorbs zum Zeitpunkt 1,2,3,... bilden. In der Sequenz werden dann die jeweiligen Warenkörbe in zeitlicher Reihenfolge abgebildet, die dazugehörigen Zeiten gehen allerdings verloren [Zak97]. So ist es also möglich die Methoden zur Analyse von Sequenzen zu verwenden, wenn die Ursprungsdaten in temporalen Datenbanken vorliegen. Theoretisch ist auch ein umgekehrter Weg möglich. Man könnte die in der Sequenz vorhandenen Zustände wieder in eine temporale Datenbank schreiben. Dazu würden dann die Transaktionszeiten so gesetzt, dass die zweite Ausprägung der Sequenz dort beginnt, wo die erste Ausprägung aufhört. Also ist die TZA der zweiten Ausprägung größer oder gleich der TZE der ersten Ausprägung. Nach dem gleichen Prinzip müßte man dann die weiteren Tupel anlegen. Die Gültigkeitswerte in der temporalen Datenbank würden allerdings alle gleich gesetzt werden: gültig ab sofort bis eine Änderung vorgenommen wird. Man kann also sagen, dass die Daten innerhalb einer Sequenz nur den Verlauf der Daten innerhalb der temporalen Datenbank wiedergeben. Die Möglichkeit der Umwandlung von temporalen Daten zu Sequenzen ist insofern von Bedeutung, da die im Verlauf dieser Ausarbeitung vorgestellten Techniken hauptsächlich auf der Verwendung von Sequenzen basieren. 8.4 Temporale Muster Aufgrund der Flut an Informationen, die die moderne Technik der Informationsgesellschaft mit sich brachte, wurden immer öfter Entscheidungen nicht auf Grundlage der informationsreichen Datenbanken getroffen, sondern überwiegend nach Intuition des Verantwortlichen. Kamber und Han [HK01] bezeichnen solche ungenutzten oder falsch genutzten Datenbestände als Data Tombs“, zu Deutsch Da” tengräber. Einen Ausweg aus dieser Misere versprechen Data Mining- 210 8.4 Temporale Muster Techniken wie sie in den vorangegangenen Ausarbeitungen vorgestellt wurden. Data Mining-Werkzeuge entdecken Muster innerhalb großer Datenmengen, die für den Benutzer von großem Nutzen sein können. Ähnlich wird auch bei temporalen Daten vorgegangen. Hier bemüht man sich temporale Muster zu entdecken. Im folgenden Abschnitt werden verschiedene Formen von temporalen Mustern vorgestellt und teilweise vertieft beschrieben. Dazu gehören sequentielle Muster, zeitliche Assoziationsregeln und kalendarische Muster sowie intervall-basierende Ereignisse, Trends und unusual ” Movements“. Der Weg zu diesen Mustern, das heißt die Datenanalyse wird im nächsten Kapitel dargestellt. 8.4.1 Sequentielle Muster Ein sequentielles Muster [Zak97] ist ein Muster, das beim mining“ ” über mehrere Sequenzen entdeckt werden kann. Mit Hilfe sequentieller Muster werden Regeln aufgestellt. Diese sind zu vergleichen mit Assoziationsregeln. Assoziationsregeln stellen Relationen und Zusammenhänge zwischen einzelnen Objekten oder deren Attribute her. Sequentielle Muster erfüllen eine ähnliche Aufgabe, doch in einem Punkt unterscheiden sie sich von den Assoziationsregeln gänzlich. Assoziationsregeln sind so genannte Intra-Transaktionsmuster, also Muster innerhalb einer Transaktion, beispielsweise innerhalb eines Warenkorbs. Sequentielle Muster dagegen sind Inter-Transaktionsmuster, das heißt, es werden Muster zwischen verschiedenen Transaktionen und nicht zwangsläufig innerhalb dieser untersucht (siehe Abbildung 8.3). So können beispielsweise Zusammenhänge bei verschiedenen Einkäufen über einen Zeitraum von mehreren Wochen entdeckt werden. Formal wird ein sequentielles Muster wie folgt beschrieben: T ist der eindeutige Bezeichner einer Transaktion, die eine Menge von Items I, also ein so genanntes Itemset enthält. T ⊆I (8.9) Mit C wird eine Kundesequenz bezeichnet, der eine Liste von Transaktionen zugeordnet ist. Die Transaktionen sind in der Reihenfolge ihrer Transaktionszeit geordnet. C = T1 7→ T2 7→ · · · 7→ Tn (8.10) 211 8 Temporale Aspekte des Data Mining Abbildung 8.3: Unterschied zwischen Intra- und Inter-Transaktionsmuster Eine Datenbank D enthält wiederum eine Menge solcher Kundensequenzen. 8.4.1.1 Häufigkeit Als Kriterium für die Qualität eines aufgestellten Musters gilt die Häufigkeit bzw. Frequenz (engl. frequency) oder auch Unterstützung (engl. support) genannt. Die Frequenz einer Sequenz α ist die Anzahl ihres Vorkommen in den Kundensequenzen der Datenbank im Verhältnis zur Gesamtanzahl der Kundensequenzen der entsprechenden Datenbank. f r(α, D) = |{C ∈ D|C º α}| |D| (8.11) Nach der Analyse der vorhandenen Kundensequenzen wird eine bestimmte Menge das gefundene Muster unterstützen. Ist die relative Anzahl der unterstützenden Kundensequenzen gleich oder größer als ein zuvor genannter Mindestwert min sup“, so wird die gefundene ” Regel akzeptiert. 8.4.1.2 Beispiel Ein sequentielles Muster könnte z.B. (B) 7→ (C) mit einer Un” terstützung von 30%“ lauten. In der Praxis ergeben sich dann Zusammenhänge wie z.B. 30% aller Käufer von Dieter Bohlens Buch ” ,Nichts als die Wahrheit’ (B) kaufen innerhalb eines Monats auch die CD ,Greatest Hits’ (C) von Dieter Bohlen“. Das Aufstellen solcher Muster hat vielfältige Anwendungsgebiete. Es 212 8.4 Temporale Muster kann, wie das obige Beispiel zeigt, einfach im Handel eingesetzt werden, um Kunden Vorschläge für weitere Einkäufe zu unterbreiten. Im Bereich der Telekommunikation ist es ebenso denkbar wie in der Medizin. In beiden Bereichen sind Vorhersagen von großem Nutzen. Wenn im medizinischen Bereich mit hoher Unterstützung festgestellt werden kann, dass für bestimmte Krankheiten immer wieder die gleichen Symptome auftreten, ist es möglich eine Krankheit frühzeitig zu erkennen und gezielt zu behandeln. Bei all den Möglichkeiten muss natürlich bedacht werden, dass für jede Aussage eine ausreichende Datenmenge die Grundlage der Analyse bilden muss. Wenn man Schlussfolgerungen in medizinischen Bereichen trifft ohne dabei qualitativ und quantitativ ausreichende Daten untersucht zu haben, kann dies schwerwiegende Folgen haben. Gleiches gilt natürlich für die Unterstützung aufgestellter Muster. Das Auffinden sequentieller Muster wird im Kapitel der temporalen Datenanalyse, siehe Kapitel 8.5, besprochen. 8.4.2 Zeitliche Assoziationsregeln Bei den zeitlichen Assoziationsregeln (engl. temporal Association Rules) handelt es sich um ein weiteres Beispiel für temporale Muster. In einem Artikel von Wang, Yang und Muntz [WYM01] werden hierzu Entwicklungen bestimmter Attribute miteinander verglichen. Das Ziel der zeitlichen Assoziationsregeln in diesem Artikel ist der Nachweis von Zusammenhängen zwischen einzelnen Objekten an Hand deren numerischen Attributen. Hierzu wird eine Sequenz mit unterschiedlichen Zuständen dieser Attribute benötigt. Diese Sequenz könnte unter anderem aus Schnappschüssen einer Datenbank bestehen. Die erste Sequenz enthält Zustandsveränderungen des ersten Objektes und kann mit einer weiteren Sequenz verglichen werden, die ebenfalls Zustandsveränderungen eines Objektes enthält. Natürlich müssen die zeitlichen Abstände zwischen den Zuständen miteinander vergleichbar sein. Nimmt man beispielsweise das Objekt Angestellter“ mit seinem At” tribut Gehalt“ so würde die dazugehörige Sequenz Aufschluss über ” die Gehaltsveränderungen im Laufe der Zeit geben. Existiert eine zweite Sequenz mit einem Attribut Wohnausgaben“ lassen sich da” von Regeln ableiten. Formal wird eine temporale Assoziationsregel in (8.12) dargestellt. Dabei ist Ai ein Attribut und E(Ai ) die Entwicklung des Attributs 213 8 Temporale Aspekte des Data Mining Ai . R = E(A1 )∩E(A2 )∩· · ·∩E(Ak−1 )∩E(Ak+1 ∩· · · ∩E(An ) ⇐⇒ E(Ak ) (8.12) Das oben aufgeführte praktische Beispiel könnte dann so aussehen: R1 = (Gehalt ∈ [40.000, 55.000]) 7→ (Gehalt ∈ [40.000, 60...]) (8.13) ⇐⇒ (W ohnausgaben ∈ [10.000, 15.000]) 7→ (W ohnausgaben ∈ [10.000, 17.000]) Es ist zu sehen, dass Regeln als Paare formuliert werden. So wird immer ein Intervall aus [min-regel, max-regel] angegeben. Jedes Intervall, dass innerhalb der Werte min-regel, für den Mindestwert und max-regel für den Maximalwert liegt, würde eine weitere Regel darstellen. Der Nutzen von unzähligen Regeln ist nur gering, weshalb immer versucht wird, das maximale Intervall zu finden. Maßstäbe für die Auswahl interessanter Regeln sind die Unterstützung, die Dichte (engl. Density), die Stabilität (engl. strength) und die Länge (engl. length), die im Folgenden besprochen werden. 8.4.2.1 Länge Zum Verständnis der Werte für Länge und Unterstützung muss berücksichtigt werden, dass in diesem Falle mit Fenstergrößen gearbeitet wird. Grundlage ist eine Sequenz von Schnappschüssen, die für die Analyse verwendet wird. Ein Fenster ist wiederum eine (Sub)Sequenz der Gesamtgröße. Ein Fenster kann also maximal so groß bzw. lang sein wie auch die Sequenz lang ist. Beispiel: Ein Fenster mit der Größe m = 3 betrachtet drei Schnappschüsse zur gleichen Zeit und kann deshalb maximal eine Regel mit drei Zuständen angeben. Je länger eine Regel ist, desto interessanter kann sie sein. 8.4.2.2 Unterstützung Durch die differenzierte Vorgehensweise in diesem Fall muss auch die Unterstützung hier anders verstanden werden als bei den sequentiellen Mustern. Zum Aufstellen entsprechender Regeln werden, wie 214 8.4 Temporale Muster unter Länge“ erwähnt, Schnappschüsse benötigt. Die Unterstützung ” gibt deshalb an, wie viele Objekt-Historien, im Grunde also Schnappschuss-Folgen, sich an die aufgestellte Regel halten. Eine einfache Regel mit der Länge m = 2 benötigt eine Fenstergröße von mindestens zwei Schnappschüssen, sozusagen eine 2er-Subsequenz der Gesamtsequenz (in Anlehnung an sequentielle Muster). Die Anzahl der Subsequenzen, die der Regel entsprechen, wird Unterstützung genannt. 8.4.2.3 Stabilität Die Stabilität einer temporalen Assoziationsregel ist vergleichbar mit der Konfidenz einer nicht-temporalen Assoziationsregel. Dort gibt die Konfidenz die Stärke der Korrelation zwischen Regel und untersuchten Daten an. Dies wiederum ist vergleichbar mit der statistischen Induktion. Die statistische Induktion beschäftigt sich ausschließlich mit der Frage des statistischen Schlusses von einem kleinen Teil (Stichprobe) auf das Ganze (Grundgesamtheit). Das Konfidenzniveau gibt das Vertrauen in die Zuverlässigkeit der getroffen Aussage an [Lit98]. Die Stabilität wird wie folgt berechnet: R = X ⇐⇒ Y ist eine temporale Assoziationsregel und Ω : S1 , S2 , · · · , St (8.14) ist eine Sequenz von Schnappschüssen. Die Stabilität selbst wird dann mit Support(X ∩ Y, Ω) (8.15) Stabilität = Support(X, Ω) × Support(Y, Ω) berechnet [WYM01]. Die Stabilität ist also der Quotient aus den unterstützten Sequenzen Support(X ∩Y, Ω) und dem Kreuzprodukt der Sequenzen, die jeweils nur einen Zustand der Regel aufweisen. 8.4.2.4 Dichte Dadurch, dass in diesem Falle numerische Attribute verglichen werden, ist es möglich, dass Regeln aufgestellt werden, die numerische Bereiche abzudecken scheinen, in denen es nicht ein tatsächliches Objekt gibt. In Bezug auf das oben gewählte Beispiel könnte man die Notwendigkeit eines Dichte-Parameters so erklären: Es wird von einem Gehalt im Intervall [40.000,55.000] auf Wohnausgaben im Intervall [10.000,15.000] geschlossen. Möglicherweise gibt es nun viele Objekte zu Beginn und Ende des jeweiligen Intervalls, die dazu geführt 215 8 Temporale Aspekte des Data Mining haben, dass diese Regel aufgestellt wurde. Doch besagt diese Regel ja auch, dass beliebige Werte-Kombinationen innerhalb dieses Intervalls möglich sind. Es kann also eine Kombination Gehalt-Wohnausgaben mit Werten von 50.000 bzw. 13.000 geben, obwohl es in den analysierten Daten nie solch eine Kombination gegeben hat. Es ist gut möglich, dass es sogar Kombinationen gibt, die sehr unwahrscheinlich sind. Mit dem Dichte-Parameter wird nun bestimmt, wieviele Testdaten in einem Bereich liegen müssen, damit der Bereich als Teil eines umfassenden Intervalls bezeichnet werden kann. 8.4.2.5 Praktische Beispiele Mit Hilfe einer temporalen Assoziationsregel lassen sich zum Beispiel folgende Zusammenhänge formulieren: Wenn der Preis von Produkt ” A unter 1 Euro fällt, dann steigt der monatliche Verkauf von Produkt B um 10.000 - 20.000. “ Neue Angestellte zwischen 20 und 30 Jahren ” starten mit einem Gehalt von 40.000 - 60.000 Euro. Die jährliche Erhöhung beträgt mindestens 2.000 Euro.“ 8.4.3 Kalendarische Muster Muster, die in Anlehnung an ein kalendarisches Schema, z.B. einen Jahres-, Monats- oder Wochenkalender gesucht werden, nennt man kalendarische Muster. Ein kalendarisches Muster wird ebenfalls mit temporalen Assoziationsregeln beschrieben. Der Unterschied zu den zuvor vorgestellten Regeln ist, dass es sich hierbei um Regeln handelt, die zu bestimmten Zeitpunkten oder in bestimmten Zeiträumen gelten. Der temporale Aspekt einer solchen Regel könnte zum Beispiel jeden Dienstag“ oder jeden ersten Mai“ oder ähnlich lauten. ” ” Um eine Regel aufstellen zu können, wird ein relationales Kalenderschema R = (fn : Dn , fn−1 : Dn−1 , · · · , f1 : D1 ) (8.16) benötigt [LNWJ01]. Dabei handelt es bei fi um ein Attribut, z.B. um das Jahr, den Monat, den Tag etc. und D als Zeit-Domäne. Die Gültigkeit dieses Schemas wird mit Dn × Dn−1 × · · · × D1 (8.17) festgelegt. Für jedes Attribut kommen dann bestimmte Integerwerte in Frage, die durch die obige Gültigkeit eingeschränkt sind. Auf diesem Weg werden bestimmte Wertkombinationen ausgeschlossen. Es 216 8.4 Temporale Muster gibt dann beispielsweise keinen 32. Januar etc.. Ein Muster ist dann ein Tupel in R mit der Form hdn , dn−1 , . . . , d1 i. Haben wir ein kalendarisches Schema bestehend aus Woche, Tag und Stunde würde das Tupel h1, 1, 10i für die Stunde 10 am ersten Tag in der ersten Woche stehen. Darüber hinaus gibt es die Möglichkeit Wildcards zu verwenden. Wildcards sind Platzhalter, die für jeden beliebigen, aber zulässigen Wert stehen. Ein Wildcard wird mit einem Stern ∗“ gekennzeichnet. Das Tupel h1, ∗, 10i steht dann also für die ” Stunde 10 an jedem Tag in der ersten Woche. Eine temporale Assoziationsregel hat nun die Form (r, e) mit r als Assoziationsregel und e als kalendarischem Muster. Haben wir nun ein Kalender-Schema mit hJahr, M onat, Donnerstagi könnten wir bei der Analyse von Transaktionen im amerikanischen Supermarkt folgende Regel aufstellen: (T ruthahn 7→ K ürbiskuchen, h∗, 11, 4i). Diese Regel besagt schließlich, dass in jedem Jahr am vierten Donnerstag im November mit nach jedem Truthahn auch ein Kürbiskuchen gekauft wird. Die Amerikaner feiern nämlich an jedem vierten Donnerstag im November ihr alljährliches Thanksgiving. Mit dieser Aussage wurde das Precise ” Match“-Verfahren angewandt, dass nur 100% gültige Regeln ermittelt. Eine Erweiterung ist das Fuzzy-Match-Verfahren. Dieses Verfahren findet Regeln, die mindestens einen bestimmten Prozentsatz an Gültigkeit aufweisen. Die Match Ratio“ m legt fest wie genau die ” Regeln sein müssen. Für m wird ein Wert mit (0 < m < 1) gewählt. Mit diesem Verfahren könnte dann die selbe Regel mit einem neuen kalendarischen Muster e = h∗, 11, ∗i aufgestellt werden. Die Regel wäre dann an mindestens 100m% Tagen gültig. Der zur Ermittlung dieser Regeln verwendete Algorithmus ist ein Derivat des Apriori. Das Prinzip des Apriori wird weiter unten anhand des GSP-Algorithmus vorgestellt. Vorteil der kalendarischen Muster Ein Vorteil der Verwendung kalendarischer Muster ist, dass Zusammenhänge aufgestellt werden können, die ohne kalendarische Einschränkungen nicht festgestellt würden. Ein Zusammenhang Ei 7→ Kaf f ee ist mit einer Unterstützung von 3% trotz hoher Konfidenz relativ unbedeutend. Fügt man eine zeitliche Dimension hinzu und beschränkt die Regel auf die Tageszeit 7-11 Uhr vormittags erhöht sich die Unterstützung auf 40% (außerhalb dieser Zeit 0,005%). Die neu entstandene Regel ist bedeutend interessanter. 217 8 Temporale Aspekte des Data Mining 8.4.4 Intervall-basierende Ereignisse Bei den bisherigen Mustern handelte es sich um Zusammenhänge zwischen einzelnen Ereignissen (Transaktionen, etc.), die meist als Zeitpunkte begriffen wurden. Jetzt sollen Ereignisse als Intervalle betrachtet werden [KF00]. Als Folge dessen lassen sich dann neue Zusammenhänge aufzeigen, die zuvor nicht berücksichtigt wurde. Ein Beispiel ist folgendes: 75% der Kunden kaufen Erdnüsse, wenn But” ter ins Sonderangebot kommt und bevor Brot ausverkauft ist.“ Es handelt sich hierbei um drei intervall-basierende Ereignisse Kun” den kaufen Erdnüsse“, Butter kommt ins Sonderangebot“ und be” ” vor Brot ausverkauft ist“. Es lassen sich hierbei verschiedene zeitliche Relationen aufstellen: Zwei Ereignisse können auf einander folgen (X vor Y), zur gleichen Zeit stattfinden (X gleich Y), an einander anschließen (X trifft Y), sich überschneiden (X überschneidet Y), in einem weiteren Ereignis enthalten sein (X während Y), zeitgleich beginnen (X startet mit Y) und zeitgleich enden (X endet mit Y). Zu jeder dieser Relationen gibt es eine inverse Relation, z.B. (Y nach X). Die Grafik, 8.4, zeigt die Taxonomy of temporal Relationships“ ” nach Allen [All83]. Es ist dort gut zu sehen, dass es insgesamt dreizehn mögliche Beziehungen zwischen zwei Intervallen X und Y gibt. Zur praktischen Verdeutlichung wird jetzt eine Datenbank mit medizinischen Datensätzen angenommen [KF00]. Dabei werden Personendaten und die aufgetretenen Krankheiten festgehalten. Jede Krankheit wird als Intervall festgehalten. Für jedes Intervall gibt es eine Startzeit ts und eine Endzeit te , wobei gilt, dass ts ≤ te . Zur Vereinfachung wird nun jede Krankheit einer Person als Ereignis bezeichnet. Dabei wird jedes Ereignis einem Ereignistypen E zugeordnet. Ein Ereignis E besteht nun aus (A, ts , te ) wobei A ∈ E ein Ereignistyp ist. Wird daraufhin eine Sequenz gebildet, sind darin die Ereignisse einer einzelnen Person in chronologischer Reihenfolge mit ihren Start- und Endzeiten notiert. Die Sequenz sj = h(A1 , ts1 , te1 ), (A2 , ts2 , te2 ), · · · , (An , tsn , ten )i (8.18) ist dann eine Sequenz für die Person j. Die einzelnen Ereignisse werden nach ihren Endzeiten geordnet. tei ≤ tei+1 218 (8.19) 8.4 Temporale Muster Abbildung 8.4: Taxonomie zeitlicher Beziehungen[All83] Zwischen den einzelnen Ereignissen dieser Sequenz können nun Relationen gemäß der oben besprochenen Abbildung gebildet werden. Diese Relationen werden durch die Relationen zwischen den Endpunkten der Intervalle ausgedrückt, die als Endpunkt Begrenzung“ ” bezeichnet werden. Die Sequenz hE1 = (A, 5, 10)i (8.20) zeigt, dass A überschneidet B“. Die hierzu erfüllten Bedingungen ” sind folgende: E1 .ts < E2 .ts (8.21) E1 .te > E2 .ts E1 .te < E2 .te Von den oben aufgeführten dreizehn Relationen werden effektiv nur sieben verwendet, da es sich bei den anderen um Relationen mit der 219 8 Temporale Aspekte des Data Mining gleichen Aussage handelt. Ob man nun sagt X überschneidet Y“ ” oder Y wird von X überschnitten“ ist lediglich von der unterschied” lichen Beschreibung ein und desselben Vorgangs abhängig. Diese sieben zeitlichen Relationen werden mit Rel bezeichnet. Für das Finden von temporalen Mustern wird zwischen atomaren Mustern, die aus einem einzelnen Ereignis bestehen und zusammengesetzten Mustern, die entsprechend aus mindestens zwei Ereignissen bestehen, unterschieden. Die Größe eines Musters gibt die Anzahl der enthaltenen atomaren Muster an. Gibt es ein Ereignis E vom Typ X innerhalb einer Sequenz S, so hat das atomare Muster X ein mapping“ in S [KF00]. ” M (X, S) = {E} (8.22) Die Dauer dieses mappings“ wird mit ” M (X, S).ts = E.ts (8.23) M (X, S).te = E.te angegeben; X ist in S enthalten. Ein vergleichbares Mapping gibt es auch für die zusammengesetzten Muster. Um die Intervalllänge zu begrenzen und nur Ereignisse zu finden, die dicht genug beieinander liegen, gibt es als Parameter die Fenstergröße. Es werden dann nur Intervalle gefunden, die innerhalb des spezifizierten Fensters liegen. Zu guter Letzt wird auch bei intervall-basierenden Ereignissen die Häufigkeit gemessen. Dies geschieht wie auch bei den anderen Mustern durch das Verhältnis der unterstützten Sequenzen zu den Sequenzen in der Datenbank. 8.4.5 Trends Ein Trend bezeichnet die Veränderungen zwischen zwei Objekteigenschaften. Das Beispiel (SS#, =)(Rank, 6=) 7→N ext (Sal, 6=) (8.24) sagt aus, dass mit einer Änderung des Rangs auch eine Änderung des Gehalts stattfindet [Wij01]. Es handelt sich dabei um eine zeitliche Abhängigkeit (engl. temporal dependency), die als Trendabhängigkeit bezeichnet wird. Dabei steht SS# für die Sozialversicherungsnummer, die unverändert bleibt (=). Rank kennzeichnet den Rang 220 8.4 Temporale Muster innerhalb eines Unternehmens, der beispielsweise durch eine Beförderung verändert wird und Sal steht für das Gehalt (engl. salary). Bei beiden findet eine Änderung statt (6=). In dieser Form können verschiedene Trends angegeben werden. Beispiele für Trends sind: Gehälter von Angestellten sinken im All” gemeinen nicht.“ Eine Beförderung schließt eine Gehaltsminderung ” aus.“ Weitere Anwendungsmöglichkeiten Das Ermitteln von Trends kann auch für die Datenverwaltung selbst von Vorteil sein. Man kann Trends verwenden, um die Datenintegrität zu verbessern. Unplausible Daten können aufgrund bestehender Trends ausgeschlossen werden. So können dann Restriktionen, so genannte Constraints [ACPT99] für die Datenbank festgelegt werden, die aus Trend-Regeln bestehen. Besagt das obige Beispiel, dass eine Beförderung eine Gehaltsminderung ausschließt, kann verhindert werden, dass eine Datenänderung oder ein neuer Datensatz, der diesem Anspruch nicht genügt, auch nicht in die Datenbank aufgenommen wird. Selbstverständlich muss man sich bei dieser Vorgehensweise im Klaren sein, dass Unterstützung und Konfidenz solcher Regel sehr hoch sein müssen, um sie als Restriktion für Datenbanken verwenden zu können. Eine Regel wie die obige, die besagt, dass Gehälter im Allgemeinen nicht sinken, wäre hierfür ungeeignet. So ist es denkbar, dass ein Mitarbeiter beispielsweise auf Teilzeit umstellt und dadurch ein geringeres Gehalt erhält. 8.4.6 Unusual Movements Bei unusual Movements [MY01] handelt es sich um ungewöhnliche Entwicklungen. Diese Entwicklungen sind als kurzfristige Ausnahmen aber auch langfristige Veränderungen zu verstehen, die bei einer entsprechend großen Datenbasis festgestellt werden können. Zu den bekanntesten Erscheinungen, die im Folgenden kurz vorgestellt werden, gehören isolated outliner“ und level shifts“. ” ” 8.4.6.1 Isolated Outliners Wie die Grafik (8.5) zeigt, handelt es sich bei Outlinern um Ausreißer. Ausreißer sind starke, kurzfristige Veränderungen, die durch ein außergewöhnliches Ereignis hervorgerufen worden sind. Ein solches Ereignis kann z.B. ein plötzlicher Preisnachlass innerhalb einer 221 8 Temporale Aspekte des Data Mining zeitlich begrenzten Werbeaktion sein. Denkbar ist auch, dass es sich lediglich um einen Messfehler handelt. Die Schreibweise yt∗0 = yt0 + c (8.25) zeigt, dass die Beobachtung yt zum Zeitpunkt t0 um die Konstante c erhöht ist. Diese Veränderung ist auf den Zeitpunkt t0 begrenzt, weshalb es sich um einen Ausreißer handelt. Abbildung 8.5: Unusual Movements: Isolated Outliner und Level Shifts [MY01] 8.4.6.2 Level Shift Bei einem Level Shift handelt es sich wie auch bei den Ausreißern um eine Veränderung gegenüber den Vergleichswerten. Doch in diesem Fall ist es keine kurzfristige Veränderung, sondern ein Wechsel, der andauert. Die Ursache für dieses Phänomen könnte eine langfristige Steigerung der Nachfrage durch Senkung der Preise sein. Die Abbildung 8.5 zeigt zwei Level Shifts und es ist deutlich zu erkennen, dass die Werte der gezeigten Funktion für einen langen Zeitraum auf einer anderen, höheren Ebene liegen. Unabhängig des weiterhin ungleichmäßigem Kurvenverlauf kann der Anstieg auf einer neuen Ebene 222 8.5 Temporale Datenanalyse abgelesen werden. Formal wird ein Level Shift mit in yt∗ = yt0 + c (8.26) dargestellt. Diesmal ist die Beobachtung yt nicht nur für den Zeitpunkt t0 um die Konstante c erhöht, sondern auch darüber hinaus. 8.5 Temporale Datenanalyse Um die zuvor vorgestellten temporalen Muster ausfindig zu machen, ist eine ausführliche Analyse der Daten notwendig. In diesem Abschnitt werden deshalb Verfahren vorgestellt mit deren Hilfe beispielsweise sequentielle Muster gefunden werden können. Zu Beginn wird Bezug zu den gängigen Verfahren der nicht-temporalen Datenanalyse genommen. Zu den bekannten Verfahren gehören in der Regel die Klassifikation und das Clustering. Im Anschluss wird der sogenannte GSP-Algorithmus, der sich mit sequentiellen Muster beschäftigt. Eine Optimierung des GSP stellt der SPADE-Algorith” mus“ dar, der ebenfalls in diesem Kapitel ausgeführt wird. Abschließend wird dieses Kapitel noch einen kurzen Einblick in die Analyse temporaler Assoziationsregeln geben. 8.5.1 Klassifikation Die Klassifikation gehört zu den bekanntesten Verfahren der Datenanalyse. Während sie in vielen Anwendungen des Data Mining erfolgreich ist, gibt es hierfür im Bereich der temporalen Daten wenig Verwendung. Denn gerade die Kernidee, das Einteilen in unterschiedliche Klassen stellt sich als schwierig dar. Dies bestätigt auch der Mangel an passender Literatur [AO01]. Die folgenden Darstellungen sollen kurz aufzeigen, in welche Richtung es bereits Klassifikationsansätze gibt. 8.5.1.1 Verschmelzung Ein Ansatz probiert Sequenzen durch Verschmelzung (engl. to merge) zu klassifizieren [KP98]. Dabei werden zwei unterschiedliche Sequenzen mit einander verschmolzen, so dass das Ergebnis ein Kompromiss zwischen diesen beiden Sequenzen ist. Die wiederholte Verwendung 223 8 Temporale Aspekte des Data Mining des so genannten Merge-Operators ermöglicht die Kombination mehrerer Sequenzen. Bei der Verschmelzung wird ein so genannter Einflussfaktor benutzt, um den Einfluss der zu verschmelzenden Sequenzen in die neue Sequenz zu kontrollieren. Werden also zwei Sequenzen verschmolzen, gibt dieser Faktor für jede Ursprungssequenz an, ob die Sequenz im Vergleich zur neuen Sequenz eine Verallgemeinerung oder eine Spezialisierung darstellt. Je nach Ausprägung dieses Faktors entsteht eine generalisierte Klasse (positiver Faktor) oder eine spezialisierte Klasse (negativer Faktor). Dieses Verfahren wird entsprechend oft wiederholt bis eine bestimmte Anzahl von Klassen entstanden ist. Leider funktioniert dieser Vorgang nur mit wenigen Sequenzen, da sie für diesen Vorgang graphisch darstellbar sein müssen. Möglich ist die z.B. mit EKG-Daten, Aktienwerten etc.. 8.5.1.2 Weitere Ansätze Problematisch bei der Klassifizierung ist, dass Daten meist so hoch dimensioniert sind, dass eine Zuordnung zu bestimmten Klassen unter unterschiedlichen Gesichtspunkten möglich ist. Idee ist nun, dass man einen Mechanismus verwendet, der die relevanten Daten extrahiert und aufgrund dieser eine Klassifizierung vornimmt. Dabei sucht man innerhalb der Sequenzen nach häufigen Subsequenzen und verwendet diese als relevante Kennzeichen. Steht fest wonach die Daten klassifiziert werden sollen, können die traditionellen Verfahren nach Bayes oder Winnow verwendet werden [LZO99]. 8.5.2 Clustering Das grundsätzliche Problem beim Clustern von temporalen Daten ist die Ermittlung der Anzahl von Clustern, um die unterschiedlichen Sequenzen darzustellen und die initialen Parameter festzulegen. Wie schon bei der Klassifizierung ist es schwierig, Sequenzen mit einander zu vergleichen. Hier muss ein aussagekräftiger Maßstab gefunden werden, an Hand dessen Sequenzen als ähnlich bezeichnet werden können. COBWEB Ein Ansatz des Clustering von temporalen Daten ist die Verwendung einer hierarchischen Clustering-Methode. Der entsprechende Algorithmus nennt sich COBWEB [Fis87]. COBWEB funktioniert in zwei 224 8.5 Temporale Datenanalyse Stufen. Zuerst werden die Elemente einer Sequenz gruppiert und dann die Sequenzen selbst. In Bezug auf temporale Daten stellt der erste Schritt kein größeres Problem dar. Ganz im Gegensatz dazu allerdings der zweite Schritt: Hier ist es notwendig die Sequenzen zu generalisieren, was wiederum voraussetzt, dass es einen gemeinsamen Nenner gibt, der beschreibt, was in verschiedenen Sequenzen gemeinsam ist. 8.5.3 Analyse sequentieller Muster 8.5.3.1 GSP-Algorithmus GSP steht für Generalized Sequential Pattern“. Wie bereits oben ” erwähnt handelt es sich bei diesem Algorithmus um eine Anlehnung an den Apriori-Algorithmus. Laut Mohammed J. Zaki [Zak97] handelt es sich bei diesem Algorithmus um den besten existierenden Algorithmus für das Auffinden sequentieller Muster. Apriori-Derivate gibt es mehrere. Zwei dieser Algorithmen, AprioriSome und DynamicSome generieren ausschließlich die maximalen sequentiellen Muster. Das heißt, sie finden nur die Muster mit der maximalen Anzahl an Sequenzen. Oftmals werden aber alle Muster benötigt, das heißt, dass auch Muster, die nur aus zwei Sequenzen bestehen interessant sind. Diese Ansätze waren deshalb unzureichend. Mit der Veröffentlichung von AprioriAll wurde dies geändert. Der im Folgenden vorgestellte GSP setzt auf dem AprioriAll auf und optimiert ihn hinsichtlich der Geschwindigkeit um das 20fache [Zak97]. Funktionsweise Im ersten Durchgang des Allgorithmus werden für k = 1 alle 1erSequenzen bzw. alle Items gezählt. Von den Sequenzen, die abhängig von der minimalen Unterstützung als häufig bestimmt wurden, werden nun die die Kandidaten für die häufigen 2er-Sequenzen gebildet (k = 2). Erneut wird die Unterstützung ermittelt und alle häufigen Sequenzen werden Kandidaten für den nächsten Durchgang. Dieser Vorgang wird so lange wiederholt bis alle häufigen Sequenzen gefunden wurden. Der GSP macht also für jeden Level (1er-/2er-/...Sequenzen) eine Suche über die Datenbank (Scan). Der abgebildete Algorithmus (siehe Abbildung 8.6) enthält in der ersten Zeile alle 1er Sequenzen. Die FOR-Schleife über die folgenden vier Zeilen ermittelt die jeweiligen Kandidaten während die innere FOR-Schleife in der vierten Zeile die Unterstützung ermittelt. Das 225 8 Temporale Aspekte des Data Mining GSP-Algorithmus Fk = {häufige 1er-Seq.}; for (k = 2; Fk−1 6= 0; k = k + 1) do Ck =Menge der Kandidaten der k-Seq.; for alle Kunden-Seq. S in der DB do Erhöhe Zähler für alle α ∈ Ck enthalten in S Fk = {α ∈ Ck |α.sup ≥ min sup}; Menge aller häufigen Sequenzen = ∪k Fk ; Abbildung 8.6: GSP-Algorithmus Ergebnis in der letzten Zeile ist die Menge aller häufigen Sequenzen. Im Detail funktioniert der GSP folgendermaßen: Die Menge der Sequenzen mit k = k − 1 wird mit sich selbst in einer JOIN-Operation verbunden (Self-JOIN), die dann entstandene Menge bildet die Kandidaten für den nächsten Durchgang. In einer weiteren Phase werden alle Sequenzen entfernt, bei denen mindestens eine Subsequenz nicht häufig (genug) ist. Die einzelnen Kandidaten-Sequenzen werden in einem Hash-Baum gespeichert. Das Zählen der Unterstützung geschieht in einem weiteren Schritt. Um alle Kandidaten innerhalb der Kundensequenz S (siehe Algorithmus) zu finden, bildet man alle kSubsequenzen von S. Stimmt ein Kandidat im Hash-Baum mit einer der Subsequenzen überein, wird sein Zähler erhöht. Nachteil des GSP Nachteilig ist, dass der GSP für jeden Level einen Datebankscan macht. Wenn die längste Sequenz k lang ist, werden k Datenbankdurchgänge benötigt. Dies erzeugt hohe Input-Output-Kosten. Des Weiteren werden die einzelnen Sequenzen in komplexen Hash-Strukturen gespeichert, was sich nachteilig auf die Performance auswirkt. Praktisches Beispiel Gegeben sind die acht Items A bis H, vier Kunden und zehn Transaktionen. Die minimale Häufigkeit soll 50% betragen und entspricht damit zwei Kunden. Gegeben ist außerdem die Tabelle 8.1, die in der ersten Spalte den Kundenbezeichner CID (engl. Customer-ID), in der zweiten Zeile die Transaktionszeit T T und in der dritten Zeile die gekauften Items enthält. Zu sehen ist, dass der Kunde mit 226 8.5 Temporale Datenanalyse CID 1 1 1 1 2 2 3 4 4 4 TT 10 15 20 25 15 20 10 10 20 25 Items CD ABC ABF ACDF ABF E ABF DGH BF AGH Tabelle 8.1: Tabellarische Darstellung der Transaktionen [Zak97] CID = 1 vier Transaktionen, Kunde 2 zwei Transaktionen, Kunde 3 eine Transaktion und Kunde 4 drei Transaktionen tätigt. Der GSP würde jetzt die einzelnen Kundentransaktionen mit den vorhandenen acht Items vergleichen und die entsprechenden häufigen Sequenzen ermitteln. Die gefunden Sequenzen sind in (8.27) zu sehen. F1 = {(A)[4], (B)[4], (D)[2], (F )[4]} (8.27) F2 = {(AB)[3], (AF )[3], (B 7→ A)[2], (BF )[4], (D 7→ A)[2], (D 7→ B)[2], (D 7→ F )[2], (F 7→ A)[2]} F3 = {(ABF )[3], (BF 7→ A)[2], (D 7→ BF )[2], (D 7→ B 7→ A)[2], (D 7→ F 7→ A)[2]} F4 = {(D 7→ BF 7→ A)[2]} Zu den 1er-Sequenzen gehören die Items A, B, D und F . Die Items C und E sind ausgeschieden, weil sie bei weniger als 50% der Kunden aufgetreten sind. Es folgen die 2er- und 3er-Sequenzen und zum Schluss eine vierer Sequenz. In den rechteckigen Klammern wird die Häufigkeit des jeweiligen Items bzw. der Subsequenz notiert. Aus den gefundenen Sequenzen lassen sich nun Regeln ableiten. BF“ bei” spielsweise existiert viermal und ABF“ existiert dreimal. Eine Regel ” wäre nun, dass wenn BF“ auftritt zu 75% bzw. drei von vier Mal ” auch A“ eintritt. Man sagt, die Regel (BF ) 7→ (BF A) hat eine Kon” fidenz von 75%. Dem zugrunde liegt folgender kleiner Algorithmus: RegelAlg(F, min konf ) : 227 8 Temporale Aspekte des Data Mining for alle häufigen Sequenzen β ∈ F do for alle Subsequenzen α ≺ β do konf = f r(β)/f r(α) : if (konf ≥ min konf) then Ausgabe der Regel α 7→ β und konf Man sieht, dass dem Algorithmus die Parameter F“ für die Sequen” zen und min konf“ für die Minimalkonfidenz übergegeben werden. ” Für jede einzelne Sequenz β wird nun geprüft ob es eine Sequenz α gibt, die in ihr enthalten ist bzw. die Subsequenz von β ist. Für den Fall, dass das zutrifft wird mit Häuf igkeit(β)/Häuf igkeit(α) (8.28) die Konfidenz ermittelt. Ist diese Konfidenz größer oder gleich der gewünschten Minimalkonfidenz, wurde eine neue Regel gefunden, die im Format α 7→ β und der zugehörigen Konfidenz ausgegeben wird. 8.5.3.2 SPADE SPADE bedeutet Sequential PAttern Discovery using Equivalence classes [Zak97]. Der SPADE-Algorithmus wurde entwickelt um den vorangegangen GSP zu optimieren. Die Autoren kritisieren, wie schon oben erwähnt, die häufigen Datenbankoperationen sowie die Speicherung in Hash-Strukturen. Deshalb macht SPADE gewöhnlich nur drei Datenbankscans und auch auf die kritisierten Hash-Strukturen wird verzichtet. Das Berechnen der häufigen Sequenzen erfolgt mit einfachen JOIN-Operationen, weshalb sich dieser Algorithmus für eine direkte Integration mit einem DBMS anbietet. SPADE unterteilt das Problem in mehrere kleine Unterprobleme, die unabhängig voneinander gelöst werden können. Zur Erklärung der Funktionsweise wird das Beispiel aus dem GSP übernommen. Dort gab es eine 1er-Sequenz mit A, B, D, F . Nun werden folgende Definitionen vorgenommen: x ist der Bezeichner für ein beliebiges, aber häufiges Item und B ist eine Menge häufiger Sequenzen. Das sogenannte Template x[B] bezeichnet die Menge {xβ|β ∈ B} und das Template x 7→ [B] bezeichnet die Menge {x 7→ β|β ∈ B}. x ist also das Präfix für alle Sequenzen in B. Mit f (i)x wird nun die Menge aller i-Sequenzen bezeichnet, die das Präfix x haben oder deren Präfix lexikographisch gesehen größer ist als x. Für i = 1 wären das also 228 8.5 Temporale Datenanalyse f 1A = {ABDF }, f 1B = {BDF }, f 1D{DF } und f 1F = {F }. Diese 1er-Sequenzen sind in der Darstellung, 8.7, ganz unten zu sehen. Mit jeder Zeile nach oben werden die Mengen aus den vorangegangenen Zeilen übernommen. Abbildung 8.7: SPADE: Erstellung der Subsequenzen [Zak97] Die 2er-Sequenzen A[f 1B] sind ausgeschrieben, gemäß obiger Definition, in (8.29) zu sehen. A[BDF ] (8.29) oder {(AB), (AD), (AF )} {(A 7→ A), (A 7→ B), (A 7→ D), (A 7→ F )} (8.30) Die Auflösung von A 7→ [ABDF ] ist in (8.30) zu sehen. In der nächsten Zeile stehen nun alle 2er-Sequenzen, die jetzt nach dem selben Prinzip wie bei den 1er-Sequenzen wieder neu bezeichnet werden. 229 8 Temporale Aspekte des Data Mining Diese Blöcke dienen dann wiederum als Quelle für die 3er-Sequenzen. Dieser Vorgang wird so lange wiederholt bis alle Subsequenzen erstellt sind. Es gibt dann ein Gitter mit allen möglichen Subsequenzen. Das horizontale Schema des GSP benutzt eine Relation mit Kundenbezeichner (cid), Transaktionsbezeichner (tid) und den Items selbst (siehe Abbildung 8.1). SPADE verwendet im Gegensatz dazu ein vertikales Datenbankschema. Hier werden jedem Item der Kundenbezeichner und der Transaktionsbezeichner zugewiesen. Es handelt sich dabei um die so genante ctid-Liste. Im Folgenden wird nun für jede Sequenz solch eine Liste angelegt. Darüber hinaus gehört zu jeder Sequenz ein Array mit den Items dieser Sequzenz, ihre Unterstützung in Form eines Zählers und ein Integerwert, der ihr Sequenz-Template bestimmt. Mit einem Bit-Wert werden in diesem Template die Relationen zwischen den einzelnen Items vermerkt, 0 steht für keine Relation, entsprechend 1 für eine Relation. Damit lassen sich binäre Werte wie 111 ermitteln. Letzterer Wert steht für drei aufeinander folgende Relationen innerhalb einer Sequenz. Die Berechnung der 1er-Sequenzen erfolgt mit einem Datenbankscan. Für jedes Item wird die erwähnte ctid-Liste angelegt, in den Speicher geladen und die Unterstützung gezählt. Das Sequenz-Template hat logischerweise den Wert 0. Zur Ermittlung der 2er-Sequenzen wird an Hand ihrer Schnittmengen die Häufigkeit berechnet. In diesem Falle wird kurzer Hand auch das horizontale Datenschema verwendet, um die Datenbankoperationen in diesem Schritt so gering wie möglich zu halten. Um nun die k-Sequenzen zu ermitteln, werden die häufigen Sequenzen auf Äquivalenz-Klassen verteilt, so dass die unterschiedlichen Klassen unabhängig von einander verwendet werden können. Die Klassen werden nun in absteigender Reihenfolge bearbeitet, um das beschneiden der Kandidaten zu erleichtern. Zu Beginn enthält jede Klasse die 2er-Sequenzen bis dann im nächsten Schritt iterativ die Kandidaten für die nächste Stufe ermittelt werden. Jede Klasse erstellt dabei eine Menge neuer Klassen, die zum Schluss in eine Klasse mit dem neuen Index k verschmolzen werden. Dieser Vorgang stoppt erst dann, wenn alle häufigen Klassen - und damit auch die Sequenzen - generiert wurden. 230 8.5 Temporale Datenanalyse 8.5.4 Analyse zeitlicher Assoziationsregeln Zum Abschluss der temporalen Datenanalyse soll noch kurz auf die Ermittlung temporaler Assoziationsregeln eingegangen werden. Die folgenden Ausführungen orientieren sich dabei an die Arbeit von Chris P. Rainsford [Rai99]. Wie bereits im Kapitel der zeitlichen Assoziationsregeln erläutert (siehe 8.4.2), handelt es sich hierbei um eine Erweiterung der bekannten Assoziationsregeln, die Zusammenhänge zwischen Items innerhalb einer Transaktion beschreiben. Wenn man sich allerdings das praktische Beispiel eines Shops vor Augen führt, wo ein Kunde in der Regel mehrere Transaktionen bzw. Einkäufe vornimmt, wird klar, dass Zusammenhänge mit einem zeitlichen Horizont zusätzliche Informationen liefern können. Eine Regel wird mit X ⇒ Y ∧ P1 ∧ P2 · · · ∧ Pn (8.31) notiert. X und Y sind bestimmte Attribute während P für ein Prädikat steht. Die Prädikate entsprechen Allens Taxonomie (siehe Abbildung 8.4) und können beliebig verknüpft werden. Rainsford verwendet darüberhinaus Konfidenzfaktoren c und tc, die für die Konfidenz der Regel bzw. des jeweiligen Prädikats gelten. Bei Allens Taxonomie gibt es dreizehn zeitliche Beziehungen, aber keine Verallgemeinerungen. In [Rai99] wird deshalb darüberhinaus die Generalisierung von Freksa [Fre91] verwendet, was den Vorteil hat, dass zusätzliche, verallgemeinernde Regeln gefunden werden können. Der Vorgang der Analyse wird in vier Phasen eingeteilt. In der ersten Phase werden auf herkömmlichen Wege alle Assoziationsregeln in den vorhanden Daten gesucht. Um Zusammenhänge auch über den Rahmen einer einzelnen Transaktion hinaus zu finden, werden die Transaktionen eines jeden Kunden dabei in ein gemeinsames Itemset überführt. Dies hat zur Folge, dass die 1. Normalform gebrochen werden muß und in einem Tupel jeweils ein Kunde mit allen zugehörigen Items verbleibt. Dabei erhalten temporale Attribute eine besondere Berücksichtigung in dem die dazugehörigen Zeitpunkte und Intervalle ebenfalls gespeichert werden. Nicht-temporale Items werden in dieser Phase entfernt, da sie nicht Teil einer zeitlichen Beziehung sein können. Erst wenn die nicht-temporalen Regeln aufgestellt sind, wird unter 231 8 Temporale Aspekte des Data Mining while not EOF read next itemset into current itemset; y = first candidateitem relationship; Ry = rule associated with y; for x = 0 to candcount do begin if (Ry is a subset of the itemset) begin determine relationship between the two items in y; increment the relationship count for this for this relationship for the candidate y; end y = next candidate item relationship; Ry = rule associated with y; end endwhile Abbildung 8.8: Algorithmus der dritten Phase denen, die die ge-wünschte Unterstützung erreichen, die Kandidatenliste für die temporalen Regeln erstellt. In der zweiten Phase werden alle zeitlichen Beziehungen gesucht. Besteht eine Regel dabei aus z.B. drei Items müssen Beziehungen zwischen allen drei Items untersucht werden. Tupel, die eine Regel unterstützen, werden mit Allens Taxonomie verglichen. Für jede der dreizehn Beziehungen und jedes Attributpaar wird ein Zähler angelegt. Diese Zähler werden beim nächsten Datenbankscan gepflegt und zeigen dann an, ob zwischen den einzelnen Elementen temporale Beziehungen bestehen. Zur Vereinfachung wird in dieser Phase davon ausgegangen, dass ein Item nur einmal in einem Itemset sein kann, ebenso werden die Generalisierungen von Freksa noch vernachlässigt. Der Algorithmus in Abbildung 8.8 soll die Funktionsweise dieser Phase verdeutlichen. In der letzten Phase geht es nun darum mit Hilfe der Zähler die bestehenden Beziehungen zu bestimmen. Sollte die Unterstützung für die Beziehungen nach Allen nicht reichen, existieren vielleicht allgemeinere Beziehungen wie die nach Freksa. Die sogenannten Nachbarschaftsbeziehungen“ oder auch Semi-Intervall” ” basierende“-Beziehungen fassen jeweils einige von Allens Beziehungen 232 8.6 Ausblick zusammen. Das Ergebnis sind dann die bereits genannten Assoziationsregeln mit den jeweiligen Prädikaten. 8.6 Ausblick Je besser man etwas personalisieren möchte, desto notwendiger sind temporale Aspekte. Im Rahmen des Projekts DIKO“ (Data in Know” lowdge out) wird es sich um einen Kartenanbieter handeln, der Händler unterschiedlicher Art bei der Personalisierung ihrer Angebote unterstützen will. Mit Hilfe von Kundenkarten werden demographische Daten erfasst, die mit den getätigten Transaktionen des Karteninhabers in Verbindung gebracht werden können. Durch die Anwendung von Data Mining und den entsprechenden Assoziationsregeln etc. wird es möglich sein, Vorhersagen über das Einkaufsverhalten bestimmter Kunden und Kundengruppen zu treffen. Man wird von Milch auf Brot und von Brot auf Butter schließen können und kann so den Käufer bei seinem Einkauf unterstützen“. Diese Unterstützung ” durch den Händler führt natürlich auch dazu, dass der Umsatz zu gesteigert wird, aber objektiv gesehen kann auch der Kunde bei qualitativ hochwertiger Personalisierung seinen Nutzen haben. Das Thema Temporale Aspekte“ kann wie folgt von großem Vor” teil für DIKO sein. In der Modellierungsphase können alle Schmemata um temporale Attribute ergänzt werden. Durch diese, anfangs vielleicht mühsame Erweiterung besteht in einer späteren Phase ein großes Potential für die Datenanalyse. Nur so können temporale Untersuchungen vorgenommen werden. Die bekannten Data MiningMethoden, wie u.a. Clustering, Klassifikation und Assoziationsregeln können so mit temporalen Methoden ergänzt werden. Es können zeitliche Verläufe beobachtet werden und auch zeitliche Muster oder Assoziationen gefunden werden, die unter Umständen von besonderer Bedeutung sind. Beispiele für Ergebnisse einer temporalen Betrachtung, insbesondere mögliche sequentielle Muster und zeitliche Assoziationsregeln wurden im vorangegangenen Text ausführlich beschrieben. Viele dieser Beispiele können 1:1 auf dieses Projekt übertragen werden. Dieser Beitrag kann im Projektgruppenkontext also dazu beitragen, dass sich die Projektgruppe gezielt um eine Personalisierung unter temporalen Aspekten bemüht, um einerseits dem Konsumenten einen einfachen und zuvorkommenden Einkauf zu ermöglichen und andererseits den 233 8 Temporale Aspekte des Data Mining Umsatz des Händlers zu steigern. Mit Hilfe temporaler Daten kann ein Kundenverhalten optimaler analysiert werden. Und je besser ein Kundenverhalten vorausgesagt werden kann, desto gezielter kann ein personalisiertes Angebot gerichtet sein. 8.7 Schlussbetrachtung Auf den vergangenen Seiten wurden ausgewählte Techniken und Verfahren vorgestellt, die sich mit der temporalen Seite“ des Data Mi” ning beschäftigen. Im ersten Kapitel wurden die Repräsentationsformen dargestellt. Dazu gehören einerseits die temporalen Datenbanken und andererseits die Zeitreihen. Je nach gewähltem Datenmodell lassen sich hier enorme Vorteile bei der Speicherung der Daten gewinnen. Abhängig von der zu benutzenden Anwendung können ObjektHistorien, Rollback-Relationen oder eine Kombination dieser eingesetzt werden. Bei der Verwendung der Tupelzeitstempelung lassen sich konventionellen DBMS ebenfalls für die Speicherung temporaler Daten nutzen. Die vorgestellten Zeitreihen bzw. Sequenzen zeigen einen anderen Weg der Datenspeicherung auf. Ihr Verständnis ist wichtig für das Anwenden der im dritten Kapitel vorgestellten Muster und ihren im vierten Teil gezeigten Analysemethoden. Grundsätzlich lassen sich aus temporalen Datenbanken jederzeit Sequenzen bilden. Die vorgestellten Methoden sind einer Auswahl zahlreicher Möglichkeiten. Das Auffinden von sequentiellen Mustern und zeitlichen Assoziationsregel kann als elementar für das temporale Data Mining bezeichnet werden. Die meisten weiteren Ansätze lehnen sich oftmals an diese an oder stellen Lösungen für sehr spezielle Anwendungen dar. In der Regel bringt jedes temporale Muster seine eigenen Datenanalysetechniken mit. Die hier vorgestellten Algorithmen finden allerdings so oder in ähnlicher Form bei verschiedenen Mustern ihre Anwendung. Abschließend lässt sich sagen, dass es sich bei dem temporalen Data Mining noch um ein relativ neues Gebiet handelt, das erst seit 12-15 Jahren populär ist. Die praktische Anwendung ist über den Bereich von Forschung und Wissenschaft nur vereinzelt hinausgekommen. Auch die Dokumentation in Literatur und Internet weist Lücken auf, die darauf schließen lassen, dass temporale Datenhaltung längst nicht zum Alltag gehört. Insgesamt stellen gerade die tempora- 234 8.7 Schlussbetrachtung len Aspekte ein enormes Potential dar, dass sowohl in Forschung und Wissenschaft als auch im kommerziellen Bereich seine Anwendung finden wird. 235 8 Temporale Aspekte des Data Mining 236 9 Geschäftsmodelle Tina Goldau Unternehmen versuchen mit verschiedenen Geschäftsmodellen die Kundenbindung zu erhöhen. Eine Instrument hierfür sind Bonusprogramme, von denen es verschiedene Ausprägungen gibt, die beschrieben werden. An dem Programm teilnehmende Kunden können über Kundenkarten identifiziert werden und durch Einkäufe Punkte sammeln. Diese können gegen Prämien eingelöst werden. Unternehmen sammeln dabei Kundeninformationen. Die aufgenommenen Daten werden analysiert, um Kundenprofile zu erstellen, so dass eine gezieltere Werbung möglich wird. Es entstehen verschiedene Vor- und Nachteile für Unternehmen und Kunden, die näher erläutert werden. Kunden werden zum ”gläsernen Kunden”. Bei Unternehmen besteht abgesehen von der Beschreibung des Bonusprogramms und der Beschreibung von Vorteilen für Kunden ein Informationsmangel. Ein Vergleich verschiedener Bonusprogramme zeigt Unterschiede und Gemeinsamkeiten auf. Insbesondere in Bezug auf die Datenweitergabe und genaue Datenverwendung ist eine Informationsbeschaffung durch mangelnde öffentliche Informationen erschwert. 237 9 Geschäftsmodelle 9.1 Einleitung Die technische Entwicklung hat die Markt- und Preistransparenz erhöht. Insbesondere das Internet ermöglicht durch den Aufbau von internetbasierten Handelsplätzen einen schnelleren und kostengünstigeren Preisvergleich. Somit steigt die Preistransparenz. Daraus folgt eine Preissenkung, die den Konkurrenzkampf der Unternehmen erhöht. [Bun00a] Aus diesem Grund setzen Firmen Programme zur Kundenbindung ein. Kundenbindungsprogramme sind durch Zusatznutzen für Kunden und häufig durch eine Erstellung von Kunden- bzw. Einkaufsprofilen gekennzeichnet, so dass kundenindividuelle Marketingstrategien angewandt werden können. Es gibt eine große Anzahl zu unterscheidender Geschäftsmodelle. Computergestützte Systeme ermöglichen eine schnelle Auswertung der Daten. Der Wegfall des Rabattgesetzes und der Zugabeverordnung bietet den Anbietern von Kundenbindungssystemen Chancen, aus denen ebenso Vorteile für Kunden resultieren. Kundenbindungssysteme sind auf die jeweiligen Unternehmen und deren Ziele abzustimmen, um die Potentiale optimal zur Stärkung der Marktposition nutzen zu können. Die Ausarbeitung befasst sich mit Bonusprogrammen als Kundenbindungsinstrument und einem Vergleich verschiedener Anbieter. In Abschnitt 9.2 wird die Bedeutung des Wegfalls von Rabattgesetz und Zugabeverordnung für Kundenbindungssystemen er-läutert. Der Abschnitt 9.3 verdeutlicht die Funktionsweise von Bonusprogrammen und Kundeninformationssystemen. Der Abschnitt 9.4 stellt verschiedene Arten von Bonusprogrammen dar und im Teilbereich 9.5 werden die Auswirkungen auf Unternehmen und deren Kunden erläutert. Des Weiteren werden im Abschnitt 9.6 zwölf Kundenbindungsprogramme vorgestellt, die in Abschnitt 9.7 miteinander verglichen werden. Vergleichsaspekte sind der Vertriebskanal und der Herausgebertyp sowie Informationen über die Datenweitergabe, -verwendung und -nutzung. Abschnitt 9.8 enthält eine Zusammenfassung und Abschnitt 9.9 einen Ausblick in Form einer Einordnung des Themas “Geschäftsmodelle“ in die Projektgruppe. 238 9.2 Entwicklung und gesetzliche Aspekte 9.2 Entwicklung und gesetzliche Aspekte Rabattmarken können als Ursprung von Kundenbindungssystemen angesehen werden. Sie wurden in Deutschland 1901 von Geschäftsleuten in Hannover auf den Markt gebracht. Das ursprüngliche Ziel war die Kunden zur Barzahlung anzuregen. Hochkonjunktur erlebten die Rabattmarken nach der Währungsreform 1948. 50 deutsche Mark konnten in Form von Marken gesammelt und gegen 1,50 Mark (3% entsprechend) eingetauscht werden. [Die00] Es bestand die Gefahr, dass Unternehmen mit derartigen Systemen und durch übermäßige Lockwirkung von Rabatten zu übereilten Geschäftsabschlüssen reizten. Um die Konsumenten vor Missbrauch seitens der Unternehmen zu schützen, wurde das Rabattgesetz und die Zugabeverordnung aufgestellt. Kunden sollten Preise auf dem freien Markt angemessen vergleichen und sich Vertragspartner frei wählen können. Die Zugabeverordnung aus dem Jahr 1932 verbot u.a. weitere Zugaben von Waren oder Leistungen anzubieten, anzukündigen oder zu gewähren. Ausgenommen waren Reklamegegenstände von geringerem Wert oder handelsübliches Zubehör bzw. Nebenleistungen. [Kri01b] Ein wichtiger Aspekt des deutschen Rabattgesetzes aus dem Jahr 1933 ware, dass Preisnachlässe nur bis zu drei Prozent des Warenpreises oder der Dienstleistung zulässig waren. Diese wurden sofort vom Barzahlungspreis abgezogen oder durften als bar einzulösende Gutschein verwertet werden. Der vom Umsatz abhängige Wert von Gutscheinen war auf höchstens 50 deutsche Mark beschränkt. Weiterhin war es nicht erlaubt, Personen einer speziellen Zugehörigkeit Nachlässe zu gewähren. [Kri01a] Die beiden Gesetze waren in dieser strengen Auslegung einmalig in Europa [Bun00b] und sind seit dem 25. Juli 2001 ersatzlos außer Kraft gesetzt worden. Die Gesetzreform der Bundesregierung dient der Modernisierung und Anpassung der wettbewerbsrechtlichen k Rahmenbedingungen für deutsche Anbieter. [Bun01a] Nach der EU-Richtlinie gilt bei Geschäftsabschlüssen über das Internet das Recht des jeweiligen Herkunftslandes. Ausländische Anbieter wären aufgrund ihrer liberaleren Gesetzregelungen in Bezug auf Rabatte und Zugaben im Vorteil. [Pet02] Somit verbessert der Wegfall der Gesetze die internationale Konkurrenzfähigkeit der deutschen Unternehmen. Preise können flexibler gestaltet, leichter gebündelt und es können höhere Rabatte gewährt werden. [Bun01b] Rabatte können dem Kunden laut der Loyalty Hamburg (Betreiber des Bonusprogramms Payback) so- 239 9 Geschäftsmodelle gar in unbeschränkter Höhe eingeräumt werden. [Loy01] Auch ist es möglich geworden, bestimmten Zugehörigkeitsgruppen wie z.B. Besitzern einer speziellen Kundenkarte Vorteile zukommen zu lassen oder mit Zugaben von höherem Wert zu locken. Dies bietet besonders Kundenbindungssystemen Vorteile. Trotz des Wegfalls des Rabattgesetzes und der Zugabeverordnung ist die Preisgestaltung der Unternehmen nicht vollständig frei. Es gelten andere Gesetze wie z.B. das Gesetz gegen den unlauteren Wettbewerb oder die Preisangabenverordnung. Die allgemeinen Regelungen im Wettbewerbsrecht wahren weiterhin die Schutzinteressen der Verbraucher vor irreführender Werbung und anderweitigem Missbrauch bei der Rabattgewährung. [Loy01] 9.3 Kundenbindungssysteme Kundenbindungssysteme sind für Unternehmen wichtig. Laut der sogenannten Pareto-Regel gilt, dass 20% der Kunden für 80% des Umsatzes sorgen. Diese Regel trifft allerdings nicht auf alle Unternehmen zu. [Wol02] Unternehmen versuchen Kunden zu binden und Kundenloyalität aufzubauen, da die Gewinnung von Neukunden bis zu zehn mal teurer gegenüber der Kundenbindung sein kann. [Loy02g] Ein Instrument zur Erreichung von Kundenbindung ist die Kundenkarte, von der es unterschiedliche Typen gibt. Es bestehen Kundenkarten mit Ausweisfunktion, Zahlungsfunktion, Bonusfunktion, Rabattfunktion und individueller Kombination der verschiedenen Funktionen. [Exp02] Folgend werden insbesondere Kundenkarten mit Bonusfunktion näher betrachtet. Dieses System ist eine Erweiterung der Karten mit Rabattfunktion. Rabattprogramme führen zu sofortigen Vergünstigungen z.B. in Form von Preisnachlässen. Bei Bonusprogrammen werden die Bonuspunkte über einen längeren Zeitraum gesammelt. [Exp02] Es erfolgt eine nachträgliche Vergütung, die häufig in Form von Prämien gewährt wird. Somit wird der Begriff Prämiensystem bzw. -programm gleichbedeutend mit dem Begriff Bonusprogramm verwendet. [Sto01] 9.3.1 Allgemeine Funktionsweise von Bonusprogrammen Im Mittelpunkt eines Bonusprogramms steht aus Sicht von Kunden der Zusatznutzen in Form von Prämien, durch die seine Treue vergütet wird. Das Kernelement für Unternehmen besteht in der Erreichung einer höheren Kundenbindung durch gezielte Werbung. Der 240 9.3 Kundenbindungssysteme Kunde interagiert mit dem Unternehmen in Form von Käufen, Teilnahme an Feedback-Aktionen, Gewinnspielen, Fragebögen, Kundenbefragungen oder Produkttests und Weiterempfehlungen. Dadurch erhält er eine “virtuelle Währung“, die er sammeln und bei Erreichen einer bestimmten Menge gegen eine Entlohnung einlösen kann. Die gesammelten Punkte werden auf einem Kundenkonto gutgeschrieben. [Plo01] Dieser Sachverhalt ist in Abbildung 9.1 [Loy02c] veranschaulicht. Es soll erreicht werden, dass der Käufer nur in den kooperierenden Unternehmen ein. Nur dort erhält er die passenden Punkte bzw. Rabatte erhält. [Rob00] Abbildung 9.1: Funktionsweise von Bonusprogrammen Die einzelnen Unternehmen entscheiden selbst über den Wert der Punkte, die Kunden für spezielle Aktionen erhalten. Für welche Waren oder Dienstleistungen Bonuspunkte gewährt werden und welche Prämien schließlich einzutauschen sind, bestimmen Unternehmen ebenfalls individuell. Der Kunde kann für jeden Einkauf einen pauschalen Punktewert erhalten, dieser kann aber auch umsatzabhängig sein oder pro Produkt vergeben werden. Erste Punkte bekommen Kunden von den Betreibern des Bonusprogramms meistens bereits für die Anmeldung eines Kontos oder das Ausfüllen eines Fragebogens. Das Akquirieren von neuen Teilnehmern durch das Einsetzen eines Werbebanners des Bonusprogramms auf der Webseite des Kunden oder durch das Versenden von E-Mails wird besonders belohnt. [Onl02] Die Funktionsweise von Bonusprogrammen soll einen Kreislauf aktivieren, der in Abbildung 9.2 dargestellt wird. Ausgangspunkt ist die Aktivität der Kunden, bei der sie anhand ihrer Kundenkarte identifiziert werden. Die erfassten personenbezogenen Interaktionsdaten werden gespeichert. Es werden auch Daten über Kunden-Präferenzen gespeichert, die z.B. mittels Fragebögen ge- 241 9 Geschäftsmodelle Abbildung 9.2: Kreislauf der Interaktion wonnen werden können. Es ist möglich eine umfangreiche Kaufhistorie einschließlich Informationsbedürfnisse von Kunden aufzunehmen. [Was02] Die gespeicherten Daten werden analysiert, um eine Einteilung der jeweiligen Teilnehmer in Kundengruppen vorzunehmen. Des Weiteren werden Kundenprofile und Verhaltensmuster erstellt. Die Analyseergebnisse ermöglichen u.a. eine Optimierung des Marketings. Bei Konsumenten soll eine Begeisterung geweckt werden, so dass die Aktivität gesteigert wird. Somit schließt sich der Kreislauf. Mit erneuten Aktionen des Kunden können weitere Daten von ihm aufgenommen werden. Die Analyse wird dadurch verfeinert. Je mehr Daten über jeden einzelnen Kunden vorhanden sind, desto besser kann das personalisierte Angebot auf den jeweiligen Konsumenten abgestimmt werden. Es findet eine Verfeinerung der Kundengruppen statt. Es besteht die Möglichkeit, jedem Kunden individuelle exklusive Leistungsangebote anzubieten. Voraussetzung ist eine hohe Aktualität und Qualität der Daten. Datensätze durchlaufen die einzelnen Prozesse sequentiell. Den gesamten Prozess betrachtet, ist es jedoch wahrscheinlich, dass ein Kunde z.B. neue Einkäufe tätigt, während die vorher aufgenommenen Daten noch analysiert werden. Demnach findet in Bezug auf verschieden Daten von Kunden ein paralleler Ablauf statt. Die einzelnen Phasen können wie in Abbildung 9.2 dargestellt, in den Knowledge Discovery in Databases (KDD) Prozess eingeordnet werden. [FPSS96c] Der Prozess bezeichnet einen nichttrivialen (d.h. nicht 242 9.3 Kundenbindungssysteme nur eine einfache Kennzahlenberechnung) Prozess nach Fayyad. Er beschreibt die Identifikation valider, neuartiger, potentiell nützlicher und klar verständlicher Muster in Daten. Der Prozess ist mehrstufig. Er besteht aus den Teilbereichen Selection, Preprocessing, Transformation, Data Mining und Interpretation/ Evaluation. Selection ist eine Auswahl aus der Roh-Datenmenge. Sie dient der Analyse von Teilbereichen der Daten oder einer Auswahl, die aufgrund einer zu großen Datenmenge getroffen werden muss. Preprocessing dient der Aufbereitung der gewählten Daten. Es werden notwendige Korrekturen falscher und Ergänzungen fehlender Einträge durchgeführt. Während der Transformation werden Daten für die folgende Analyse vorbereitet. Das Data Mining stellt das Kernstück des Prozesses dar. Muster und Beziehungen der Daten, die für Unternehmen von Relevanz sein können, sollen erkannt werden. Der KDD Prozess wird mit der Interpretation/ Evaluation abgeschlossen, indem die Ergebnisse als ausreichend und valide erkannt werden. Andernfalls können die vorangegangenen Schritte wiederholt werden. [ST02] Demnach gehören die Identifikation, Erfassung und Speicherung der Daten zur Selection bzw. zum Preprocessing. Die Analyse und das Erstellen von Kundenprofilen ist dem Bereich des Data Mining zugehörig. Das Optimieren des Marketings und Forcieren der Kundenaktivität fällt in den Prozess des Deployment; der Anwendung der Analyseergebnisse. 9.3.2 Kundeninformationssysteme von Bonusprogrammen Um mit derartigen Kreisläufen effektiv arbeiten zu können, ist in der Regel die Verwendung eines Kundeninformationssystems notwendig. Nehmen an dem Bonusprogramm mehrere Unternehmen teil, so ist eine Verknüpfung der Kassen- und IT-Systeme von Vorteil. Das Kundeninformationssystem bildet in Kundenbindungsprogrammen als Prozesskette das Kernelement. [Loy02c] Es ermöglicht eine zielgerichtete Auswertung von Daten und macht Kundenkontakte verfolgbar, analysierbar und steuerbar. [Eas02] Es unterstützt die Kundenbetreuung durch aktuelle Informationen. Des Weiteren werden relevante Daten transparent. Das Kundeninformationssystem basiert häufig auf einer relationalen Datenbank und bildet die Schnittstelle der Importe, Exporte, Abfragen und Berechnungen. Ein Beispiel für eine mögliche Kommunikation über ein Kundeninformationssystem ist in Abbildung 9.3 [Loy02c] dargestellt. 243 9 Geschäftsmodelle Abbildung 9.3: Kundeninformationssystem Mit der Erstellung einer Bonusprogramm-Karte für den Kunden werden personenbezogene Daten in dem Kundeninformationssystem aufgenommen. Über das System können Abfragen des Kunden z.B. über den Punktestand getätigt werden. Für diese Exporte von Daten werden dem Kunden in der Regel die Kanäle zur Verfügung gestellt, die das Unternehmen selber zur Kommunikation nutzt. Dies können der Point of Sale, das Telefon, die E-Mail, das WWW oder der SMS sein. Über das Internet können Profildaten vom Kunden selber aktualisiert werden. Der Kunde kann seine Karte bei Partnerunternehmen einsetzen. Die dort erfassten Daten werden in Informations- und Kooperationsdatenbanken gespeichert. In der Regel werden sie an einen Kartenanbieter weitergeleitet, der die Daten sammelt. Es wird in Stammdaten und Transaktionsdaten unterschieden. Stammdaten werden bei der Anmeldung angegeben. Dies sind in der Regel der volle Name, die Anschrift, das Geburtsdatum und die E-Mail Adresse. Transaktionsdaten sind Daten, die bei der Geschäftstätigkeit anfallen und setzen sich aus Zahlungsangaben und aus Bestelldaten zusammen. Zahlungsangaben sind z.B. die Zahlungsform und das Zahlungsdatum. Bestelldaten können z.B. Artikel, Menge und Preis sein. Diese Daten können über den Kassenbon erhalten werden. Partnerunternehmen nutzen das Kundeninformationssystem für ihr Customer Relationship Management (CRM). Dies koordiniert kundenorientierte Prozesse in Verkaufs-, Service- und Marketingabteilungen eines Un- 244 9.4 Ausprägungen von Bonusprogrammen ternehmens auf unterschiedlichen Ebenen. Eine ideale Ausrichtung auf Kundenbedürfnisse soll erreicht werden, indem die Beziehungen zwischen Kunden, Mitarbeitern, Prozessen und Systemen optimiert werden. [SH02] Mit der Vernetzung der Kassen- und IT-Systeme können Punkte aktionsabhängig und ortsabhängig vergeben werden. [Loy02c] Sie können z.B. über das Internet zu jeder Zeit und von verschiedenen Orten aus gesammelt werden. Der Kunde muss ohne Zweifel identifiziert werden können. Schnittstellenprobleme mit kooperierenden Unternehmen müssen möglichst ausgeschlossen werden, so dass die Punkte schnell und fehlerfrei auf das Konto des jeweiligen Kunden gutgeschrieben werden. Die Komplexität von Bonusprogrammen zum Verwalten und Einlösen der gesammelten Punkte ist sehr hoch. Insbesondere wenn zu den Leistungen ebenfalls Zuzahlungen angeboten werden und Partnerunternehmen existieren. 9.4 Ausprägungen von Bonusprogrammen In der Regel wird von Bonus- bzw. Prämienprogrammen gesprochen, wenn das Verhalten von Kunden eine Veränderung der Leistung bewirkt. [Loy02a] Ein bestimmtes Kundenverhalten führt bei der Gewährung von Rabatten z.B. zu Preissenkungen. Die Ermäßigungen können auf verschiedene Weise durch Sofortrabatte in Form von Barrabatten sowie Staffelrabatten und durch Rückvergütungen in Form von Auszahlungen sowie Verrechnungen erfolgen. Oder es können Bonusprogramme mit Einsatz von Prämien verwendet werden. Die Vergütung erfolgt bei Bonusprogrammen über Sachprämien, Produktprämien, Leistungsprämien und Erlebnisprämien. Sachprämien werden in der Regel durch Warengutscheine und Einkaufsgutscheine ausgegeben. Waren bilden die Produktprämien. Leistungsprämien sind meistens interne oder externe Dienstleistungen in Form von z.B. speziellen Service-Leistungen oder Garantieverlängerungen. Erlebnisprämien sind u.a. Musicalkarten. [Loy02a] Die angebotenen Zusatznutzen der Anbieter differieren. Es können unternehmenseigene und -externe Dienstleistungen angeboten werden. Des Weiteren können sie dem Fachwissen nah sein oder kompetenzfremd. Die gebräuchlichste Form der Vergütung sind Waren- und Einkaufsgutscheine sowie Produktprämien. Prämien können aus bestehenden Sortimenten oder aus gesonderten Prämienkatalogen mit oder ohne Zu- 245 9 Geschäftsmodelle zahlung gewählt werden. [Loy02a] Ein weiteres Merkmal von Bonusprogrammen ist der Herausgebertyp. Es existieren drei Arten von Bonusprogrammen. Bei unternehmenseigenen Programmen nutzt ein Unternehmen für seine Kunden ein Programm, so dass nur in dem speziellen Unternehmen unabhängig von kooperierenden Firmen Punkte gesammelt und eingelöst werden können. Unternehmensübergreifende Programme sind Zusammenschlüsse verschiedener Unternehmen. Kunden können bei allen kooperierenden Organisationen Bonuspunkte sammeln und die Vergünstigungen in Anspruch nehmen. Des Weiteren gibt es unternehmensübergreifende Programme mit neutralem Anbieter . Ein Unternehmen fungiert als Herausgeber und Betreiber des Bonusprogramms. Er verwaltet die gesammelten Punkte und übernimmt u.a. die Kontoführung, die Prämienabwicklung sowie den Kundenservice für beteiligte Unternehmen. [Loy02a] Die Finanzierung unternehmensübergreifender Bonusprogramme mit neutralem Anbieter erfolgt in der Regel über ihre teilnehmenden Partnerunternehmen. Dem Anbieter werden Punktanteile abgekauft, welche wiederum an Konsumenten als Anreiz weitervermitteln werden. Die Punkte tauschen Kunden gegen Prämien ein. Häufig werden Prämien bei den kooperierenden Unternehmen vom Kartenanbieter günstig eingekauft. So kann sich der Absatz der Unternehmen erhöhen. Weiterhin erheben Kartenanbieter häufig eine Verwaltungs- und Servicegebühr für die Abwicklung des Programms. [Rob00] Bei der Verwendung von Bonusprogrammen können Einschränkungen hinsichtlich der Akzeptanz bestehen. Programme können z.B. nur in einem Unternehmen eines Konzerns akzeptiert werden, andere werden in regionalen Filialen eines Konzerns akzeptiert und wiederum andere weisen eine globale Akzeptanz auf. [Loy02a] Bonusprogramme können demnach regional, überregional und auch global angewendet werden. In Grossbritanien überwiegen z.B. unternehmenseigene und in den Niederlanden branchenübergreifende Bonusprogramme. [Was02] Des Weiteren können Bonusprogramme verschieden vertrieben werden. Können ausschließlich im Internet Punkte gesammelt werden, so sind es online arbeitende Bonusprogramme. Bei einigen Programmen sind im Gegensatz dazu nur in der realen Welt Punkte zu erhalten. Diese sind somit offline . Häufig werden beide Vertriebskanäle verwendet. Der Vorteil liegt in der Unabhängigkeit der Kunden, welche die Vorzüge beider Kanäle nutzen können. Der Anbieter ist in der Lage eine größere Kundenzahl anzusprechen. [Loy02a] 246 9.5 Auswirkungen von Bonusprogrammen Bonusprogramme können offen oder geschlossen sein. Offen bedeutet, dass Mitgliedern keine Kosten entstehen. Geschlossen heisst, dass ein Mitgliedbeitrag zu zahlen ist. [Wol02] 9.5 Auswirkungen von Bonusprogrammen Für Programmanbieter, teilnehmende Unternehmen und Kunden ergeben sich Vor- und Nachteile. Kartenanbieter erzielen ausschließlich Vorteile durch das Entgelt, welches sie für aufgestellte Analyseergebnisse und gegebenenfalls für die Verwaltung bestimmter Aufgaben von kooperierenden Unternehmen erhalten. [eCo02c] Im Folgendem wird analysiert, welche Nutzen sich für die Händler und Konsumenten ergeben. 9.5.1 Die Unternehmensseite Die Qualität der einzelnen Systeme, insbesondere die angebotenen Zusatzleistungen, definieren einen möglichen Wettbewerbsvorteil. Die eigene Unternehmensleistung kann durch die Vorteile der Belohnung, der Exklusivität und des Zusatznutzens erweitert werden. [Loy02g] Zu den Vorteilen der steigenden Kundenbindung zählen sinkende Kosten, da Stammkunden weniger Werbung benötigen. Kunden können ihrerseits neue Mitglieder werben, so dass Werbe- und Akquisitionskosten gemindert werden können. Durch Zusammenschlüsse von Unternehmen können weitere Vorteile durch Synergieeffekte bei Marketingund Abwicklungskosten entstehen. Verwaltungskosten können gesenkt werden. Zum Beispiel durch eine gemeinsame Nutzung des Netzwerks, des Kundenstamms und durch Werbe- oder Verbundaktionen. Anhand analysierter Daten kann maßgeschneidertes Ansprechen Streuverluste und Prozesskosten senken. Insbesondere mit dem Einsatz des Internets werden Kundenansprachen günstiger, schneller und direkter. Das Internet gestattet des Weiteren den Einsatz von personalisierten Webseiten. Per E-Mail versandte oder auf der Homepage eingestellte Umfragebögen ermöglichen z.B. die Aufnahme weiterer Kundeninformationen. Werden Prämienshopseiten im Internet angeboten, so können diese einen positiver Werbeeffekt auf den Seiten darstellen. [Loy02h, Loy02i] Kunden werden anhand von Datenanalysen und umfassenden Kundenprofilen transparent. Somit wird eine intensivere Kommunikation 247 9 Geschäftsmodelle durch gezieltes Ansprechen möglich. Dies erzeugt wiederum eine engere Kundenbindung. Somit kann die Kundenbeziehungsdauer erhöht und die Kundenselektion verbessert werden. Steigende Umsätze können erzielt werden, da davon ausgegangen wird, dass treue Kunden öfter und mehr kaufen. Gleichzeitig wird davon ausgegangen, dass die Preissensibilität abnimmt. [Loy02e] Kunden reagieren demnach weniger sensibel auf Preisänderungen. Es wird davon ausgegangen, dass bei geringen Preiserhöhungen das Produkt trotzdem gekauft wird, auch wenn es in einem anderen Unternehmen etwas günstiger wäre. [Res02] Weiterhin wird angenommen, dass sich Stammkunden effizienter verhalten. Sie können dem Unternehmen durch z.B. Verbesserungsvorschläge Anreize geben, den Service zu optimieren. Die Kundenloyalität kann erhöht werden. Sie ist durch die Eigenschaften der Verbundenheit, Freiwilligkeit, Weiterempfehlung und Verteidigungsbereitschaft gekennzeichnet. Die Verteidigungsbereitschaft stellt eine hohe Stufe der Loyalität dar. Sie ist gegeben wenn Kunden z.B. ein Unternehmen mit seinen Marken bzw. ein Bonusprogramm vor anderen rechtfertigen und gegen andere Meinungen verteidigen. [Loy02b] Die Programme ermöglichen flexible Kooperationen und Partnerschaften, so dass sich Unternehmen von Konkurrenten differenzieren können. Besonders unternehmens- und branchenübergreifende Programme erhöhen den Einsatz der Karte. Der Kunde ist durch verschiedene Kanäle ansprechbar, so dass eine höhere Marktpräsenz durch Verbundaktionen erfolgen kann. Dies ermöglicht eine tatsächliche Umsatzsteigerung bzw. Gewinnsteigerung. Es ist jedoch zu hinterfragen, ob Bonusprogramme in jedem Fall den gewünschten Nutzen erbringen. Die Hamburger Loyalty Management + Communications GmbH hat die Studie “Kundenkarten International - Best Practices“ erstellt. 121 Kundenbindungsprogramme aus sechs verschiedenen Ländern und verschiedenen Branchen wurden untersucht. [Loy02d] Die Funktionen und Gestaltungsmöglichkeiten von Kundenkarten werden beschrieben, sowie Besonderheiten unterschiedlicher Programme analysiert. [Loy02f] Aus der Studie geht hervor, dass unternehmensübergreifende Programme häufig Loyalität zum Programm aufbauen, jedoch nicht zwingend zu den Unternehmen. Aus Sicht von Kunden sind diese größtenteils austauschbar. [Was02] Ein weiterer Nachteil kann die Abhängigkeit von den Unternehmen sein, die die Daten analysieren. Es muss gewährleistet sein, dass die Konkurrenz gewonnene Daten nicht ebenfalls erhalten kann. Der Einfluss der teilnehmenden Unternehmen auf die Daten 248 9.5 Auswirkungen von Bonusprogrammen und den Kartenanbieter ist sehr beschränkt. Der starke Konkurrenzkampf ist ebenfalls ein Nachteil, da Kunden selektieren an welchen Programmen sie teilnehmen. Das Marktforschungsinstitut TNS EMNID hat im Auftrag der Loyalty Partner GmbH eine Untersuchung bezüglich der Akzeptanz von Kundenkarten unter deutschen Verbrauchern durchgeführt. Es wurden bundesweit 979 Bürger ab 16 Jahren zu ihrem Nutzungsverhalten von Kundenkarten befragt. Demnach trägt jeder zweite Deutsche mindestens eine Kundenkarte mit sich. Der dominierende Wunsch ist das Geldsparen. Laut der Untersuchung sind die meisten Kunden jedoch mit der Anzahl der bereits vorhandenen Karten zufrieden. [TNS02] Dies erschwert die Etablierung neuer Kundenkarten. Als beliebteste Bonusprogramm-Karte gilt laut Umfrage die Payback-Karte. [Sch02] Die Implementierung von Bonusprogrammen verursacht hohe Kosten. Diese stehen den im voraus nicht genau definierbaren Nutzen gegenüber. Implementierungskosten entstehen z.B. durch Einrichtung der Infrastruktur zur Nutzung der Karte an jeder Kasse und eventuell im Internet. Weitere Kosten resultieren aus Schulungen von Mitarbeitern und für die Analyse der Daten, für die eine kostspielige Datenverarbeitung notwendig ist. Die Daten und somit die Analyseergebnisse müssen stets auf einem aktuellen Stand gehalten werden, damit der Nutzen für die Händler nicht verloren geht. Kunden müssen regelmäßig angesprochen und Prämien bereitgestellt werden. Dies stellt einen weiteren Kostenfaktor dar. Partizipieren Unternehmen an einem unternehmensübergreifenden Programm, können die Kosten erheblich gesenkt werden. Laut einem Bericht der Kundenzeitung der Logware Informationssysteme GmbH sollen Kartenverbünde auf regionaler oder überregionaler Ebene Einsparungen bis zu 60% möglichermöglichen. [New02] Wird ein Bonusprogramm mit neutralem Anbieter verwendet, fallen Kosten für die Analyse gegebenenfalls weg. Für einen Kostenvergleich können dann die gekauften Analyseergebnisse mit dem Ertrag für die weitergeleiteten Daten gegenübergestellt werden. 9.5.2 Die Mitgliederseite Auf der Kundenseite existieren finanzielle Vorteile durch Rabatte und Prämien, mit denen der Kunde sparen kann. Laut Studie der Loyalty Partner nutzen 80% der Bürger die Bonusprogramme zu diesem Zweck. Zwei Drittel wünschen Preisnachlässe, ohne feilschen zu 249 9 Geschäftsmodelle müssen. [Sch02] Der Vorteil von unternehmensübergreifenden Bonusprogrammen besteht in der erhöhten Attraktivität der Karte und Einsetzbarkeit. Mit nur einer Karte können in unterschiedlichen Geschäften verschiedener Branchen Punkte auf einem Konto gesammelt und eingelöst bzw. bei Rabattprogrammen die Ermäßigungen in Anspruch genommen werden. Prämien werden schneller erreichbar und Kunden haben trotzdem nur einen Ansprechpartner. Entscheidend für die Teilnahme ist der Nutzen, der für Kunden aus Bonusprogrammen resultiert. Dies führt zu einem höheren Konkurrenzkampf auf der Unternehmensseite, wodurch sich Vorteile für Kunden in Form von wiederum verbesserten Zusatzleistungen ergeben können. Ein weiterer Vorteil kann die gezielte personenbezogene Werbung sein. Sie ist für Kunden interessanter, da persönliche Interessen angesprochen werden sollen. Ein weiterer Vorteil bei vielen großen Bonusprogrammen ist die Möglichkeit der bargeldlosen Zahlung. Bei Payback können Kunden bei Zahlung mit der Visa Karte gleichzeitig Punkte sammeln. [Pay02a] Auch hier ist jedoch zu hinterfragen, ob die Ersparnisse durch Prämien und die personenbezogene Werbung einen wirklichen Nutzen für Kunden darstellt. Die Kunden geben mit der Teilnahme an den Bonusprogrammen eine große Menge persönlicher Daten von sich preis. Sie werden zum “gläsernen Kunden“. Ihre Anonymität wird immer geringer, je mehr Informationen von den Unternehmen aufgenommen werden. [Rob00] Ebenfalls bei den zu erreichenden Zusatznutzen gibt es einen Nachteil. Die Haltbarkeit der “virtuellen Währung“ ist beschränkt. Prämien von höherem Wert, die in der Regel sehr viele Punkte fordern, werden aufgrund des Zeitmangels zum sammeln unerreichbar. Ein weiterer Nachteil ist die Unklarheit der Datennutzung. Kunden können nicht nachvollziehen was genau mit den personenbezogenen Daten geschieht. Selbst wenn die Unternehmen zusichern, die Daten nicht weiterzugeben, ist eine Kontrolle seitens der Konsumenten nicht möglich. [Koe01] Meiner Meinung nach besteht der Mehrwert von Bonusprogrammen, der den Kunden angepriesen wird, nicht in dem suggerierten Maße. Der Gegenwert, den Kunden für die Offenlegung ihrer persönlichen Daten in Form von Prämien erhalten, entspricht nicht annähernd dem Wert der Informationen, die die Unternehmen erhalten. 250 9.6 Verschiedene Bonusprogramme 9.6 Verschiedene Bonusprogramme Es gibt bereits eine große Anzahl von Bonusprogrammen. Beispielhaft werden im Folgendem einige der bekannten und großen sowie einige kleinere Bonusprogramme bzw. ein Rabattprogramm miteinander verglichen. Es sollen Unterschiede zwischen Programmen ähnlicher und unterschiedlicher Art und Größe hervorgehoben werden. Betrachtet werden: Große Bonusprogramme – Payback [Pay02a] – webmiles [Web02a] – eCollect [eCo02a] – Ihre Prämie [Ihr02] – Miles and More [Mil02a] – Happy Digits [Hap02] Kleine Bonusprogramme – Budni Karte [Bud02] – Wöhrl Bonus Card [Woe02] – Leffers Club Card [Lef02] – VIF-Karte [Goe02] – admox mobile Advertising [Adm02] – Breuninger Card [Bre02] Für alle der aufgeführten Programme gilt, dass die Unternehmen zusichern, alle erhobenen Daten gemäß dem Datenschutz zu behandeln. Sie behalten sich das Recht vor, das Programm zu verändern, einzustellen oder zu ergänzen. Des Weiteren ist es bei allen der aufgeführten Programme erlaubt, dass Kunden ihre Einwilligung der Datennutzung für andere Zwecke außer dem der Programmdurchführung zurücknehmen können. Laut Unternehmen werden demnach ohne Einwilligung keine Daten an Dritte (unternehmensfremde Personen oder Organisationen) weitergegeben. Bei den meisten Programmen erhält jeder Kunde ein individuelles Passwort für den Zugriff auf seine Daten und Punkte im Internet. Viele Programme bieten Kunden 251 9 Geschäftsmodelle die Möglichkeit, sich auf Wunsch per E-Mail, Post oder gegebenenfalls per SMS Informationen zusenden zu lassen. Es wird zugesichert, dass alle Daten gelöscht werden, wenn der Teilnehmer aus dem Programm austritt. Die Teilnahme an den jeweiligen Programmen ist kostenlos. Mit Hilfe von Tabelle 9.1 Überblick über die genannten ist ein allgemeiner Überblick über die verschiedenen genannten Bonusprogramme zu erhalten. Enthalten ist die Firma, die hinter dem jeweiligen Programm steht, die Anzahl der teilnehmenden Kunden und Partnerunternehmen, wenn diese angegeben wurden. Dies ermöglicht einen groben Überblick über die Größe der Programme. Des Weiteren ist die Punktzahl aufgeführt, ab welcher Punkte eingelöst werden können. 9.7 Vergleich der Anbieter Wesentliche Unterschiede verschiedener Bonusprogramme von vergleichbarer Größe und Art herauszustellen, wird aufgrund der mangelnden öffentlichen Informationen und der geringen Aussagekraft der erhaltenen Informationen erschwert. Die einzelnen Informationen der Anbieter ähneln sich in ihrer Art und weisen nur wenige Differenzen auf. Im Abschnitt 9.7.1 wird der Vertriebskanal und der Herausgebertyp verglichen. Verdeutlicht werden wesentliche Unterschiede zwischen größeren und kleineren Programmen. Unternehmen müssen entscheiden welche Art von Programm sie nutzen wollen und welche Rahmenbedingungen gelten sollen. Sie sollten die Vorteile der verschiedene Variationen der Programme kennen, um diese optimal zu nutzen. Im Abschnitt 9.7.2 werden die Datenweitergabe und die Datennutzung verglichen. Für Unternehmen ist der Umgang mit den Daten und die Nutzung dieser relevant. Rechtliche Rahmenbedingungen dürfen dabei nicht verletzt werden. 9.7.1 Verschiedene Vergleichsaspekte Die ersten Systeme in Deutschland wie Miles and More und webmiles haben ihren Fokus anfänglich ins Internet gelegt. Mittlerweile sind sie Kooperationen mit offline arbeitenden Unternehmen eingegangen, um die Vorteile beider Absatzkanäle zu nutzen. Das Programm von Payback hat u.a. durch die Möglichkeit Punkte on- und offline sammeln zu können große Erfolge verzeichnet. Payback ist das größte 252 9.7 Vergleich der Anbieter Bonusprogramm Payback webmiles eCollect Ihre Prämie Miles and More Happy Digits Budni Karte Wöhrl Bonus Card Leffers Clubcard VIF Firma Loyalty Partner GmbH webmiles GmbH Teilnehmer >19 Mio Partner 12 Punkte einlösen ab 1.500 Punkte 1,3 Mio. 70 (15 Euro) 30 webmiles international 17 333eBuxx >100 im Internet 76 (5 Euro) 200 Coins (5 Euro) 7.500 Meilen 11 1.000 Digits eCollect.de AG Bestellannahme Gruntz Deutsche 4,6 Mio. Lufthansa AG Deutsche Telekom, Karstadt Quelle; I. 320.000 Budnikowsky GmbH R. Wöhrl AG (10 Euro) 32 keine Leffers & Co GmbH & Co KG L. Görtz GmbH keine Mox Telekom AG keine keine Karte admox Breuninger Card E. Breuninger GmbH 12 50.000 Punkte (5,15 Euro) jährl. Ausschüttung, Bonusscheck 2.000 (4 Euro) jährl. Barausz., Verrechnung, bis 5%Rabatt 4 Werbe-SMS (1 min. telefonieren) keine Punkte, sondern Rabatte Tabelle 9.1: Allgemeiner Überblick über die genannten Bonusprogramme 253 9 Geschäftsmodelle und wohl bekannteste Bonusprogramm in Deutschland und vom Aufbau ähnlich wie Webmiles, eCollect und Ihre Prämie. Dies sind Bonusprogramme mit neutralem Anbieter. Miles and More und Happy Digits sind vergleichbare Systeme, die aus Unternehmenszusammenschlüssen entstanden sind. Bei diesen großen Systemen können die gesammelten Punkte in einer großen Vielfalt von Prämien eingelöst werden. Die Anzahl der teilnehmenden Unternehmen und der Punktewert, ab dem die Punkte eingelöst werden können, variieren stark. Bei den kleineren Bonusprogrammen werden die Punkte in der Regel nicht gegen Prämien eingelöst. Sie werden ausgezahlt oder verrechnet. Bei den aufgeführten Unternehmen macht admox eine Ausnahme. Für den Erhalt von Werbe-SMS können Freiminuten zum telefonieren oder Logos und Klingeltöne für das Handy als Prämien eingelöst werden. [Adm02] Bei der Breuninger Card können keine Punkte gesammelt werden. Der Kunde erhält Sofortrabatte und kann diverse Leistungen wie z.B. Vorverkaufsrechte oder Gutscheine in Anspruch nehmen. [Bre02] Anhand Tabelle 9.2 ist zu erkennen, dass die betrachteten großen Programme ausschließlich unternehmensübergreifende Systeme sind und bei fast allen die Punkte offline sowie auch online gesammelt werden können. Ihre Praemie ist das einzige Unternehmen, bei welchem nur online Punkte gesammelt werden können. Bei den kleineren Programmen zeigt sich, dass diese in der Regel unternehmenseigene Systeme sind und die Punkte meistens nur offline gesammelt werden können. Grund können mangelnde finanziellen Mittel sein und die Tatsache, dass die kleineren Programme häufig nur in einen bestimmten regionalen Raum aktiv sind. Weitere Unterschiede zeigen sich in der Haltbarkeit der “virtuellen Währung“. Bei den meisten großen Programmen liegt sie bei 36 Monaten. eCollect weicht mit 24 Monaten und Ihre Praemie mit einer unbeschränkten Haltbarkeit davon ab. Eine unendliche Haltbarkeit der Punkte ist jedoch ungewöhnlich. Einige der Programmanbieter geben Informationen über die Verwendung von Cookies oder der Verwendung des Secure Socket Layer (SSL) bekannt. Cookies sind kleine Datenpakete, die auf der Festplatte des PCs des jeweiligen Users abgelegt werden. Es sind Daten enthalten, welche z.B. den Benutzer bei folgenden Besuchen der Seite wiedererkennen können. Die einzelnen zugreifenden Kunden können somit voneinander unterschieden und personalisiert werden. Auch kann der genutzte Weg auf der Webseite verfolgt werden. [Ste02] Mit der Verschlüsselungstechnologie SSL wird eine möglichst sichere 254 9.7 Vergleich der Anbieter Bonus- online offline programm Payback webmiles eCollect Ihre Prämie Miles and More Happy Digits Budni Karte Wöhrl Bonus Leffers VIF Karte admox Breuninger unternehmenseigen x x x x x x x x x x x x x x x x x x überübergreifend greifend ohne mit neutralem neutralem Anbieter Anbieter x x x x x x x x x x x x Tabelle 9.2: Vergleich des Vertriebskanals und Herausgebertyps 255 9 Geschäftsmodelle Verbindung, Kommunikation und Übertragung von Daten garantiert. Es wird sichergestellt, dass zu übermittelnde Dokumente vollständig und unverändert den jeweiligen Empfänger erreichen. [Roj02] Nicht alle Anbieter machen Angaben über die Verwendung von derartigen Technologien. Im Datenschutzgesetz steht, dass Unternehmen durch angemessene technische und organisatorische Massnahmen Personendaten gegen unbefugtes Bearbeiten zu schützen haben.[Kri01a] Nach eigenen Angaben richtet sich jedes der aufgeführten Unternehmen danach. Jedoch informieren viele Unternehmen die Kunden nicht über die verwendeten Technologien und wie sie die Sicherheit der Daten konkret gewährleisten. Dies belegt die Lückenhaftigkeit der gegebenen Informationen. 9.7.2 Datenweitergabe und Datennutzung Insbesondere in Bezug auf die Datenübermittlung und Datennutzung herrscht Ungewissheit. Es wird nicht klar, in welcher Form Daten übermittelt werden und wie die Unternehmen diese im Weiteren behandeln. In Bezug auf die Datenweitergabe geben Payback, webmiles und eCollect an, dass sie externe Unternehmen sogenannte Auftragsdatenverarbeiter mit der Bearbeitung von erhobenen Daten beauftragen. Die übergebenen Aufgaben dienen laut Angabe der Unternehmen jedoch nur dem Zweck der Programmausführung. An die Auftragsdatenverarbeiter werden nur Daten übermittelt, die zur Erfüllung der Aufgabe notwendig sind. Ist sie abgeschlossen, werden die Daten bei den jeweiligen Auftragsdatenverarbeitern wieder gelöscht. Tabelle 9.3 stellt einige Angaben der einzelnen Programme zur Datenweitergabe gegenüber. Zwischen den großen und kleinen Bonus- bzw. Rabattprogrammen besteht der wesentliche Unterschied darin, dass die kleineren Programme Daten in der Regel nicht an weitere Organisationen weitergeben. Nur die Leffers Clubcard macht in diesem Punkt eine Ausnahme. Die großen Systeme geben Daten meistens weiter. Es wird jedoch nicht deutlich was genau die Aussage bedeutet, dass die Partner die Daten für eigene Zwecke nutzen können. Es gibt nur wenige Unternehmen, die angeben, dass die erhobenen Daten z.B. in anonymisierter 256 9.7 Vergleich der Anbieter Bonusprogramm Payback webmiles eCollect Ihre Prämie Miles and More Happy Digits Budni Karte Wöhrl Bonus Leffers VIF Karte admox Breuninger Datenweitergabe Partner melden Daten an Loyalty, nicht an Dritte, Partner können Daten für eigene Zwecke nutzen Partner melden Daten an webmiles, Dritte können Daten ebenfalls nutzen, Partner können Daten für eigene Zwecke nutzen eCollect ruft Daten bei Partnern ab, Weitergabe an Partner in anonymisierter Form Daten werden an Dritte gegeben, jedoch keine persönlichen an Partner für Werbezwecke, an Dritte nur Name und Anschrift, an staatliche Einrichtungen Partner melden Daten an Happy Digits, nicht an Dritte Partner können Daten für eigene Zwecke nutzen eine Datenweitergabe findet nicht statt eine Datenweitergabe findet nicht statt Daten werden an Dritte weitergegeben eine Datenweitergabe findet nicht statt eine Datenweitergabe findet nicht statt eine Datenweitergabe findet nicht statt Tabelle 9.3: Datenweitergabe 257 9 Geschäftsmodelle Form weitergegeben werden, so dass eine Identitätsverfolgung verhindert wird. In Bezug auf die Datennutzung geben die Unternehmen auf ihren Internetseiten folgende Informationen bekannt: Payback gibt an, dass die aufgenommenen Daten von Kunden zur Abwicklung des Programms und zur Kommunikation genutzt werden. Angebote sollen besser an den persönlichen Bedarf angepasst werden. Daten wie die Adresse, Zahlungsangaben (Zahlungsform und -datum) und Bestelldaten (Artikel, Menge, Preis) werden zur Durchführung von Bestellungen gespeichert. Payback behält sich das Recht vor, bestimmte Aufgaben an rechtlich selbständige Dienstleistungsunternehmen zu übertragen. Dabei handelt es sich um Aufgaben, die zur Abwicklung des Programms notwendig sind. Stammdaten erhalten nur die Partnerunternehmen, welche die Karte ausgegeben haben und Loyalty Partner. Diese Partnerunternehmen können die direkt bei ihnen anfallenden Daten für eigene Zwecke nutzen. Direkt bei Payback gemachte Angaben werden nicht weitergegeben. Die erfassten Einkaufsdaten werden von Partnerunternehmen nur an Loyalty Partner übermittelt. Andere kooperierende Unternehmen erhalten diese nicht. Beim Einsatz der Karte bei Partnerunternehmen melden diese die Daten (Waren, Dienstleistungen, Preis, Rabattbetrag, Ort, Datum) an Loyalty. Eine Weitergabe an Dritte erfolgt nicht. Bei Einwilligung können Basisdaten, freiwillige Angaben und Rabattdaten für die Marktforschung und für individuelle Informationen bzw. Werbung genutzt werden. [Pay02b] Die webmiles GmbH führt an, dass die Daten zur Durchführung des Programms und der Weiterentwicklung der verbundenen Leistungen verwendet werden. Ebenso werden sie für Zwecke der Werbung, Marktforschung und Produktinformationen genutzt. Die Daten dienen webmiles, Partnerunternehmen und Dritten. Stammdaten sind direkt bei webmiles oder bei Partnern anzugeben, welche die Daten an webmiles übermitteln. Transaktionsdaten (auch personenbezogenen Daten aus Werbe-, Marktforschungs- und Produktinformationskampagnen) werden von Partnerunternehmen übermittelt, wenn sie im Rahmen der Teilnahme bei webmiles anfallen. Die Daten werden benötigt, um eine Gutschrift auf dem webmiles Konto durchführen zu können. Notwendige Daten sind der Benutzername, der getätigter 258 9.7 Vergleich der Anbieter Umsatz und die Anzahl der erworbenen webmiles. Bei der Anmeldung können Kunden einwilligen, dass webmiles die Daten für die Marktforschung und individuell zugeschnittene Werbung nutzt. Die Verwendung der Daten bei den kooperierenden Unternehmen hängt von den Datenschutzbestimmungen des jeweiligen Unternehmens ab. [Web02b] Die eCollect.de AG nennt in ihren Bestimmungen, dass sie Daten bei Kooperationspartnern abruft. Die Rechte der Daten werden an eCollect übertragen. Die Datenerhebung, Speicherung und Nutzung erfolgt für Zwecke der Beratung, Werbung, Marktforschung oder Gestaltung des Programms. eCollect behält sich das Recht vor, Daten der Mitglieder an Subunternehmen zur Bearbeitung im Sinne des Programms weiterzugeben. In Bezug auf den Datenschutz wird gesagt, dass Daten nur in anonymisierter und statistischer Form an Partnerunternehmen weitergegeben werden. Somit wird eine Identitätsverfolgung des jeweiligen Kunden von Partnern oder Dritten ausgeschlossen. [eCo02b] Ihre Praemie gibt an, dass Datenangaben, Bestelldaten und Daten über die Nutzung des Bonusprogramms genutzt werden. Sie werden für Zwecke der Beratung, Werbung, Marktforschung und für eine bedarfsgerechte Gestaltung des Programmangebots verwendet. Eine Weitergabe an Dritte erfolgt nur im Rahmen der beschriebenen Zwecke. Sicherheitsvorkehrungen werden angewandt, um unautorisierten Zugriff zu verhindern. Der Kunde wird jedes mal informiert, wenn personenbezogene Daten erhoben werden. Es besteht die Möglichkeit, die Übermittlung von personenbezogenen Daten abzulehnen. Die Daten (auch Besucherzahlen und Nutzerverhalten) können an Dritte weitergegeben werden. Es werden jedoch keine personenbezogene Daten weitergeleitet, anhand derer Kunden identifiziert werden können. [Ihr02] Miles and More teilen in Bezug auf die Nutzung der Daten mit, dass diese zur Durch-führung des Programms verwendet werden. Für z.B. Service-Zwecke, maßgeschneiderte Angebote oder Vermeidung von Eingabewiederholungen. Für Werbezwecke erfolgt eine Übermittlung der Daten an kooperierende Unternehmen. Der Name, Titel und Anschrift werden auch an Dritte weitergegeben, sofern dem zugestimmt wurde. Weitere personenbezogene Daten, die z.B. das individuelle 259 9 Geschäftsmodelle Kaufverhalten betreffen, werden nicht an Dritte weitergegeben. Miles and More ist das einzige Bonusprogramm, welches angibt, dass eine Datenweitergabe ebenfalls an staatliche Einrichtungen stattfindet. Sie erfolgt nur im Rahmen gesetzlicher Rechtsvorschriften. Des Weiteren wird angegeben, dass Webserver die IP-Adresse des Internet Service Providers speichern. Die besuchten Webseiten und die Seite, von welcher der Kunde gekommen ist, werden auchebenfalls gespeichert. Ebenfalls wird das Datum und die Dauer des Aufenthalts aufgenommen. Persönliche Daten werden nur dann gespeichert, wenn diese vom Kunden selber durch die Registrierung, per Umfrage, durch Preisausschreiben oder bei Vertragesabschlüssen aufgenommen werden. [Mil02b] Happy Digits schreibt in den Bestimmungen, dass Daten zur Kontoverwaltung und für maßgeschneiderte Angebote genutzt werden. Die Wiederholung von Eingaben soll ebenfalls erspart werden. Persönliche Daten werden zur Identifikation und Information von Kunden aufgenommen. Programmdaten werden von Partnerunternehmen an das Happy Digits Programm gemeldet. Sie umfassen die Teilnehmernummer, das Datum, die Kennung des Partnerunternehmens, die Summe der Digits, den Wert des Einkaufs und Angaben über gekaufte Waren nach Warengruppen. Bei Einwilligung erfolgt eine Beratung und Information. Ebenso können Daten nach Zustimmung für Werbzwecke und für das Marketing genutzt werden. Daten von Minderjährigen sind ausgenommen. Wurde keine Einwilligung erteilt, werden Daten nur für das Programm zur Kontoführung der Digits genutzt. Die Daten werden ebenfalls von Partnerunternehmen genutzt, aber nicht an Dritte außerhalb des Programms weitergegeben. [Hap02] Die kleineren Programme nutzen die Daten nur im geringen Maß und geben demnach weniger Verwendungsgründe an. Bei der Budni Karte wird angegeben, dass die Daten gespeichert werden. Es findet kein Weiterverkauf für Werbezwecke, an Adressenhändler oder Partnerunternehmen statt. [Pay02b] Die Informationen der Wöhrl Bonus Card besagen, dass die Daten ausschließlich zur Bonusverwaltung verwendet werden. Persönliche Daten werden mit einer PIN vor dem Zugriff anderer Nutzer geschützt. [Woe02] Leffers gibt an, dass die Nutzung der aufgenommenen Daten zur Verwaltung des Programms stattfindet. Bei Einverständnis werden die Daten für Marktforschung und Marketingaktionen genutzt und auch an Dritte weitergegeben. 260 9.7 Vergleich der Anbieter [Lef02] Bei der VIF-Karte werden auf Wunsch per SMS oder E-Mail Informationen zugesandt. Die Speicherung erfolgt im Rahmen der Geschäftsabwicklung. Es findet eine Weitergabe der Daten an die in die Geschäftsabwicklung eingebundenen Firmen statt. Daten werden jedoch nicht an Dritte gegeben. [Goe02] admox gibt nur an, dass die Daten für zielgerechte Werbung verwendet werden. [Adm02] Und bei der Breuninger Card wird angegeben, dass Daten zur Bearbeitung der Bestellungen und zur Benachrichtigung der Gewinner bei der Teilnahme an Gewinnspielen genutzt werden. [Bre02] Die genannten Verwendungsgründe der Daten sind in Tabelle 9.4 zum besseren Vergleich bzw. Übersicht der einzelnen Programme noch einmal aufgeführt. DatenProgramm- Wer- MarktforProduktnutzung* abwicklung- bung schung information Payback x x x webmiles x x x x eCollect x x x Ihre Prämie x x x Miles and More x x Happy Digits x x x Budni Karte x Wöhrl Bonus Card x x Leffers Clubcard x x x VIF Karte x admox x Breuninger Card x *ausgehend davon, dass die Einwilligung der Kunden zur Nutzung der Daten für die genannten Zwecke gegeben wurde Tabelle 9.4: Übersicht über die Datenverwendung In den AGBs und Datennutzungsbestimmungen machen Payback und webmiles präzisere Angaben über Daten, die im einzelnen bei den Transaktionen aufgenommen werden. Happy Digits und Miles and More geben ebenfalls Informationen darüber bekannt, jedoch sind diese Auskünfte ungenauer. Es wird mitgeteilt, dass z.B. genaue Informationen über die gekauften Produkte erfasst werden. Bei allen 261 9 Geschäftsmodelle Anbietern ist zwar bereits bei der Anmeldung nachzuvollziehen, dass personenbezogene Daten erfasst werden. Es wird jedoch nicht erklärt welche Daten insgesamt bei Käufen gespeichert werden. Diese allgemeine Form der Angaben lässt den Kunden in Ungewissheit, so dass ein Missverhältnis besteht. Auf der einen Seite wird der Kunde aus Sicht der Unternehmen zum “gläsernen Kunden“. Auf der anderen Seite ist dem Kunden in der Regel nicht klar, was genau mit seinen Daten geschieht. Alle Daten des Kaufverhaltens von Kunden können erfasst und analysiert werden. Aufgrund der erhaltenen Daten kann u.a. auf persönliche Präferenzen geschlossen werden. Der Kunde wird in Bezug auf sein Konsumverhalten weitreichend durchschaubar. Unternehmen sind mit Hilfe des Internets z.B. in der Lage Daten aufzunehmen, worüber sich Kunden zum Teil nicht bewusst sind. Legt ein Kunde z.B. Waren in seinen virtuellen Einkaufskorb und kauft diese schließlich doch nicht, so ist es Unternehmen möglich, auch diese Daten aufzunehmen und zu analysieren. Im Gegensatz dazu sind die Angaben seitens der Unternehmen nicht sehr konkret. Der Informationsfluss zwischen Händler und Kartenanbieter bleibt verschwommen. Des Weiteren ist fraglich, ob tatsächlich alle Daten eines Kunden bei Austritt aus dem Programm gelöscht werden. Dies müsste bedeuten, dass die personenbezogenen Daten auch aus laufenden oder fertiggestellten Analysen entfernt werden müssten. Somit würden bereits erstellte Analysen unbrauchbar werden. Ob eine vollständige Löschung durchgeführt wird bleibt demnach fraglich. 9.8 Zusammenfassung Die Kernidee von Bonusprogrammen aus Sicht von Unternehmen, eine höhere Kundenbindung über Datenaufnahme und Lockwirkung von Prämien sowie gezieltere Werbung zu erreichen, ist leicht verständlich. Kunden werden anhand der aufgenommenen und analysierten Daten speziell beworben, um sie an das Unternehmen zu binden. Es steckt jedoch ein komplexes und für den Kunden verborgenes System dahinter. Anhand der Vergleiche der verschiedenen Bonusprogramme ist festzustellen, dass die größeren und kleineren Bonusprogramme mit Programmen ähnlicher Art nur geringe Unterschiede aufweisen. Wesentliche Differenzen werden hauptsächlich beim Vergleich von großen mit kleinen Systemen deutlich. Dies folgt aus der Tatsache, dass sich für große Programme mehr Möglichkeiten durch 262 9.9 Ausblick Kooperationen und Synergieeffekte ergeben. Des Weiteren stehen ihnen höhere finanzielle Mittel zur Verfügung. Aufgrund der mangelnden öffentlichen Informationen sind spezielle Angaben der Datennutzung und Datenweitergabe nicht möglich. Für die Programmanbieter ergeben sich Vorteile. Analyseergebnisse und Kundenprofile können verkauft werden. Aus den Ergebnissen ergeben sich für Unternehmen Vorteile der gezielten Kundenansprache, aus der eine höhere Kundenbindung folgen kann. Für den Teilnehmer ergeben sich kaum Vorteile, da u.a. die Punkte eine beschränkte Haltbarkeit aufweisen. Prämien von größerem Wert können selten erreicht werden. Es stellt sich die Frage der Genauigkeit der Informationen. Es ist fraglich, ob die erhobenen Daten der Kunden der Wahrheit entsprechen. Der Kunde hat z.B. bei Fragebögen die Möglichkeit falsche Angaben zu machen, da er nicht alles von sich preisgeben möchte. Die Kundenkarte wird nicht zwingend von dem jeweiligen Besitzer der Karte genutzt. Sie kann ebenfalls von Freunden, Bekannten und Verwandten eingesetzt werden. Somit werden Kundenprofile verzerrt. Um den Erfolg von Bonusprogrammen zu gewährleisten, müssen die Programme die gesetzlichen Vorschriften einhalten und attraktive Prämien zum Anreiz der Kunden bereitstellen. Die Prämien sollten auch erreichbar erscheinen. Weiterhin sollte das System einfach zu handhaben und verständlich sein. Fraglich bleibt, ob die gewünschte Kundenbindung seitens der Unternehmen tatsächlich erfolgt. Denn es ist ungewiss, ob der Anreiz der Punkte bzw. Prämien genügt, damit Kunden hauptsächlich bei kooperierenden Unternehmen ihre Geschäfte abwickeln. 9.9 Ausblick Ziel der Projektgruppe Personalisierte, internetbasierte Handelsszenarien ist es, ein Szenarion für die Nutzung von Kundenkarten zu realisieren. Die Szenarien sollen von mehreren Händlern genutzt werden können. Sie werden durch die verschiedenen Beziehungen und Ziele der Kunden, Unternehmen und Kartenanbieter beschrieben. Für den Aufbau eines Bonusprogramms sind eine Reihe von Entscheidungen über dessen Art zu treffen. Die existierenden Bonusprogramme zeigen einige Erfolgsfaktoren auf. Ein wesentlicher Vorteil ist der Betrieb des Programms on- und offline, so dass Kunden flexibel in Bezug auf das Sammeln der “virtuellen Währung“ sind. Des Weiteren sollte das Szenario unternehmensübergreifende Aspekte berücksichtigen, da dieses 263 9 Geschäftsmodelle Kunden ebenfalls einen höheren Anreiz bietet einem Programm beizutreten und Unternehmen könnten Synergieeffekte sinnvoll nutzen. Ein Programm mit neutralem Anbieter wäre sinnvoll, da dieser auf die Analyse und Verwaltung von Bonusprogrammen spezialisiert ist. Unternehmen müssen die aufwendige Analyse nicht selber vornehmen, sondern können direkt die Ergebnisse nutzen. Ein weiterer Anreiz für Kunden wäre eventuell die Verknüpfung von Bonusprogrammen mit Rabattprogrammen. So hätten Kunden den Vorteil Punkte sammeln zu können und gegebenenfalls bei Sonderaktionen oder für bestimmte Produkte sofortige Preisnachlässe in Anspruch nehmen zu können. Ein Vorteil ist ebenfalls die Einbindung von Zahlungskarten, so dass Kunden mit der Karte zahlen und damit gleichzeitig Punkte sammeln können. Da bereits eine große Anzahl von Bonusprogrammen existieren, wäre es sinnvoll ein Konzept zu entwerfen, welches sich von den bereits vorhandenen abhebt. Unternehmen sollte ein Anreiz gegeben werden, dass sie das Programm kaufen bzw. nutzen. Bisher werden Kunden in Kundengruppen eingeteilt, um gezielte Werbemaßnahmen umzusetzen. Eine mögliche Erweiterung wäre ein individuelles auf einen jeweiligen Kunden zugeschnittenes Kundenprofil. Ziel wäre es, jeden einzelnen Kunden persönlich auf seine eigenen Präferenzen bezogen zu bewerben und zu informieren. Das Programm sollte einfach zu handhaben sein, um Unternehmen von der Vorteilhaftigkeit der Nutzung überzeugen zu können. 264 10 Datenanalyse im Marketing Tim Brüggemann In der vorliegenden Arbeit: “Datenanalyse im Marketing“ wird in Anlehnung an Fayyad auf die Wissensentdeckung in Datenbanken eingegangen, wobei es um den Prozess der Identifikation von bisher nicht erkannten Mustern in großen Datenbeständen geht. Dieser Prozess wird im alggemeinen unter dem Begriff “Data Mining“ zusammengefasst, wobei über 80 Prozent der schon produktiven Data MiningLösungen im Marketing eingesetzt werden. Es lassen sich dabei 4 Hauptaufgabenbereiche unterscheiden, auf die in dieser Arbeit näher eingegangen wird. Der erste Bereich der Klassifikation wird häufig im Bereich der Kreditwürdigkeitsprüfung eingesetzt. Beim zweiten Anwendungsbereich handelt es sich um das so genannte Clustering, wobei eine direkte Kundenansprache im Vordergrund steht. Als drittes Hauptaufgabengebiet ist die Assoziierung zu nennen, wobei das Hauptanwendungsfeld in der Sortimentsanalyse des Einzelhandels zu sehen ist. Abschließend wird noch die Prognose angesprochen, bei der es beispielsweise um die optimierte Werbeträgerplanung geht. Diese Aufzählung macht dabei deutlich, wie vielfältig Data Mining heutzutage speziell im Marketing eingesetzt wird, weshalb diese Thematik im Mittelpunkt dieser Arbeit steht. 265 10 Datenanalyse im Marketing 10.1 Einleitung In den letzten Jahren ist die Einsicht gewachsen, dass Informationen genauso den wirtschaftlichen Produktionsfaktoren zuzuordnen sind, wie Rohstoffe, Arbeit und Kapital. Mit dieser Erkenntniss sind gleichzeitig die Bedürfnisse gewachsen, große Datenbestände bezüglich wichtiger, bisher unbekannter Informationen hin zu analysieren. Zur Analyse werden dabei immer häufiger Verfahren des Data Mining eingesetzt, wobei unter diesem Begriff die Anwendung spezifischer Algorithmen zur Extraktion von Mustern aus Daten verstanden wird.(vgl. [FPSS96b]) Im Zentrum der vorliegenden Arbeit steht dabei die Frage, inwiefern Data Mining in der Praxis, insbesondere im Marketing eingesetzt wird? Der Marketingsektor wird dabei angesichts der Anwendungshäufigkeit als größtes Einsatzgebiet für Data Mining angesehen, wobei der Marketingbegriff, aufgrund verschiedener Definitionsebenen, häufig verschiedene Bereiche umfasst. Anhand der ausgewählten Praxisbeispiele wird dabei deutlich gemacht, wie vielfältig sich der Einsatz von Data Mining in der Praxis darstellt. Dementsprechend werden im ersten Teil der Arbeit einige Anwendungsbereiche und die dort angewendeten Data Mining Verfahren angesprochen, um im folgenden auf die Praxisbeispiele genauer einzugehen, bei denen der Einsatz von Data Mining zur Datenanalyse am häufigsten angewendet wird. Der erste Bereich ist dabei die Bonitätsprüfung, bei der beispielsweise Kunden der Bankenbranche oder des Versandhandels, mit Hilfe einer Klassifikation als kreditwürdig oder als nicht kreditwürdig eingeschätzt werden. Danach wird der Bereich der Kundensegmentierung behandelt, wobei Händler verschiedener Branchen durch Anwendung von Clustering versuchen, ihre Kunden in Untergruppen (Cluster) zu unterteilen. Ziel dieser Unterteilung ist ein anschließendes, gezieltes One-to-one Marketing, wobei das Marketingverhalten auf spezielle Kunden oder Kundengruppen ausgerichtet ist. Durch das folgende Beispiel aus der Mobilfunkbranche wird versucht, deutlich zu machen, dass die beiden Verfahren Klassifikation und Clustering häufig auch kombiniert zur Anwendung kommen. Das nächste große Anwendungsgebiet von Data-Mining sind Sortimentsanalysen, aus denen Rückschlüsse auf die Kundenpräferenzen und deren Kaufverhalten gezogen werden. 266 10.2 Anwendungsgebiete und angewendete Methoden Der folgende Abschnitt beschäftigt sich mit der Prognosewirkung des Data Mining, wobei es um eine zukünftige Planung von Werbeträgern eines Versandhauses geht. Bei allen vorgestellten Beispielen wird der Prozess des Knowledge Discovery in Databases (KDD) deutlich, wobei es um die Identifizierung valider, neuer, potentiell nützlicher und schließlich verständlicher Muster in Daten geht.(vgl. [FPSS96b]) 10.2 Anwendungsgebiete und angewendete Methoden Die Einsatzmöglichkeiten von Data Mining sind als sehr vielfältig zu bezeichnen. Dieses bezieht sich sowohl auf die Anwendungsgebiete, als auch auf die einzelnen Data-Mining Verfahren, die sich in ihren Einsatzmöglichkeiten weitestgehend nicht auf spezielle Problembereiche beschränken. Anwendungsbereiche lassen sich beispielsweise wie folgt gliedern: (vgl. [S0̈0]) die Astronomie (Satellitenmissionen) die Biologie (Umweltstudien, Klimaforschung) die Chemie (Ähnlichkeitsanalyse chemischer Verbindungen) das Ingenieurwesen (Werkstoffanalysen) der Finanzsektor (Bonitätsanalyse) der Medizinsektor (Entdeckung von neuen Medikamenten) die Textanalyse (Extrahieren von Informationen aus Texten) der Telekommunikationssektor (Kundenpflege) Die speziellen Anwendungsgebiete im Marketing, welches im Mittelpunkt dieser Ausarbeitung steht, sind ebenso vielfältig. Data Mining Verfahren werden in diesem Bereich zur Preisfindung, zur Marktsegmentierung, bei der individualisierten Kundenansprache, der Sortimentsanalyse, der Kundenbindung, zur Bonitätsprüfung und zur Betrugsentdeckung eingesetzt.[vgl. [Mey00]] Als konkrete Data Mining 267 10 Datenanalyse im Marketing Verfahren kommen dabei am häufigsten neuronale Netze, Entscheidungsbäume, Clusteranalysen sowie Assoziationsanalysen zur Anwendung. Die einzelnen angesprochenen Verfahren lassen sich dabei jeweils noch in weitere Unterverfahren unterteilen, welche bei den konkreten Praxisbeispielen noch näher erläutert werden. Die hohe Anzahl der Anwendungsgebiete und der angewendeten Verfahren macht dabei klar deutlich, wie vielfältig der Einsatz des Data Mining in der Praxis ist, was auch an den nun folgenden Praxisbeispielen gut zu erkennen ist. 10.3 Klassifikation im Bereich der Bonitätsprüfung Die klassischen Bonitätsprüfung, die häufig auch als Kreditwürdigkeitsprüfung bezeichnet wird, soll bei der Entscheidung helfen, ob ein Kunde als kreditwürdig (zahlungsfähig) oder als nicht-kreditwürdig (nicht zahlungsfähig) eingestuft wird. Bei den folgenden Praxisbeispielen aus der Bankenbranche, dem Versandhandel und des Factorings spielt diese Einstufungsmöglichkeit eine entscheidende Rolle. In der Bankenbranche wird anhand der Bonitätsprüfung entschieden, ob einem Kunden ein Kredit gewährt werden kann, oder nicht. Für Versandhäuser geht es um die Verhinderung von Zahlungsausfällen durch nicht bezahlte Rechnungen. Beim Factorringgeschäft hilft die Bonitätsprüfung dem Factor bei der Entscheidung, ob er Forderungen aus Warenlieferungen oder Dienstleistungen von Factoringkunden ankaufen soll, oder nicht.(vgl. Abschnitt 10.3.5) 10.3.1 Anwendungsgebiete, Motivation und Verfahren der Bonitätsprüfung Die Bonitätsprüfung hat in allen behandelten Praxisbeispielen generell das Ziel, Fehler 1. und 2. Art zu verhindern (vgl. Abb. 10.1). Solche Fehler treten immer dann auf, wenn es einen Unterschied zwischen der prognostizierten und der tatsächlichen Bonität gibt. Ein Fehler 1. Art entsteht immer dann, wenn ein Kunde als kreditwürdig oder zahlungsfähig eingeschätzt wird, dieses im Nachhinein jedoch nicht der Fall ist. Das Auftreten eines Fehlers 2. Art bedeutet, dass ein Geschäft aufgrund fehlender Bonität abgelehnt wird, dieses sich jedoch später als Fehleinschätzung erweist. 268 10.3 Klassifikation im Bereich der Bonitätsprüfung Fehler 1. und 2. Art Gute prognostizierte Bonität Schlechte prognostizierte Bonität gute tatsächliche Bonität schlechte tatsächliche Bonität OK Fehler 1. Art Fehler 2. Art OK Abbildung 10.1: Fehler 1. und 2. Art Unternehmen verfolgen im betriebswirtschaftlichen Sinn die Ziele der Gewinnmaximierung sowie der Minimierung des eigenen Risikos und müssen daher in der Praxis beide Fehlerarten gegeneinander abwägen. Würde ein Unternehmen beispielsweise versuchen, den Fehler 1. Art komplett zu verhindern, so würde es gar keine Kredite mehr vergeben. Dieses entspricht zwar dem Ziel nach geringem Risiko, ist jedoch hinderlich bei der Gewinnmaximierung. Eine Verringerung des Fehlers 1. Art führt dabei also zwangsläufig zu einer Steigerung des Fehlers 2. Art.(vgl. [Ung01]) Ziel einer Bonitätsprüfung ist daher nicht nur die Verhinderung des Fehlers 1. Art, sondern ein ausgewogenes Verhältnis beider Fehlerarten. Bei der Bonitätsprüfung wird im Allgemeinen das Data Mining-Verfahren Klassifikation angewendet. In der Praxis werden häufig traditionelle Verfahren wie die Prüfung durch Kreditsachbearbeiter oder Scoringsystemen angewendet. In den letzten Jahrzehnten haben sich jedoch immer mehr formalisierte Klassifikationsverfahren wie Entscheidungsbäume, Diskriminanzanalysen, Neuronale Netze, Regressionsanalysen und Fuzzy Logik durchgesetzt.(vgl. [Met94]) Der Einsatz von Data Mining-Methoden ermöglicht dabei eine Optimierung beim Kreditentscheid und damit eine Verringerung der Kreditrisiken sowie eine Ertragssteigerung. 10.3.2 Diskriminanzanalyse als Verfahren der Bonitätsprüfung in der Bankenbranche Der Einsatz von Diskriminanzanalysen in der Bankenbranche dient dazu, mit Hilfe von ausgewählten Variablen wie monatliches Einkommen, beantragte Kredithöhe, einbehaltene Gewinne, Umsatz usw. 269 10 Datenanalyse im Marketing einen Kreditbewerber (Privatperson, Unternehmen) in kreditwürdig oder nicht kreditwürdig zu klassifizieren.(vgl. [Mey00]) Diskriminanzanalytische Verfahren lassen sich dabei in univariate und multivariate Verfahren unterscheiden. Auf univariate Verfahren wird in dieser Arbeit jedoch nicht weiter eingegangen, da sie nur eine Variable zur Klassifikation der Daten heranziehen. Bei multivariaten Verfahren wird hingegen aus mehreren Variablen eine Kennzahl zur Klassifizierung gebildet, was die Performance, aufgrund der höheren Aussagekraft, gegenüber der univariaten Variante wesentlich steigert. (Vgl. [Ung01]) Um die prinzipielle Vorgehensweise von Diskriminanzanalysen deutlicher zu machen, wird die lineare Diskriminanzanalyse sowohl an einem grafischen, als auch an einem Zahlenbeispiel aus der Praxis dargestellt. Bei der grafischen Darstellung handelt es sich um eine Risikoanalyse aus der Bankenbranche, bei der es um die richtige Bonitätseinschätzung von Kreditkunden geht. Die Bank besitzt in ihrer Datenbank Informationen über die Kredithöhe und das Einkommen aller Kunden, die in der Vergangenheit einen Kredit bei der Bank aufgenommen haben. Diese Informationen werden nun in ein zweidimensionales Achsensystem eingetragen, wobei den Kunden, die den Kredit zurückgezahlt haben, die 1 zugeordnet wird, während Kunden, die den Kredit nicht zurückgezahlt haben, mit einer 0 gekennzeichnet werden. (vgl. Abb. 10.2) Dieses Regressionsverfahren hat Kredithöhe 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 t Abbildung 10.2: Diskriminanzanalyse 270 Einkommen 10.3 Klassifikation im Bereich der Bonitätsprüfung dabei das Ziel, aus den gespeicherten Daten ein Vorhersagemodell zu erstellen, welches die neuen Kreditkunden in vordefinierte Klassen zuordnet.(vgl. [Met94]) Gesucht wir dabei immer die Diskriminanzfunktion, die die Kreditkunden aufgrund der gegebenen Variablen (Einkommen und Gehalt) am eindeutigsten klassifiziert. In diesem Fall entsteht eine lineare Diskriminanzfunktion aus der die folgende Regel abgeleitet werden kann: “Wenn das Einkommen eines Kunden kleiner als t ist, dann zahlt der Kunde den Kredit nicht zurück, andernfalls ist eine Kreditvergabe relativ risikolos“. [Rie99] Auf die Höhe des Einkommens, welches die Diskriminanzfunktion bestimmt, wird in der Quelle nicht genauer eingegangen. Anhand der Grafik lässt sich zudem erkennen, dass zwei Kunden durch die gebildete Diskriminanzfunktion falsch klassifiziert worden sind. Bei der 0 auf der rechten Seite handelt es sich um einen Fehler 1. Art, da dem Kunden eine gute Bonität prognostiziert wurde, er den Kredit aber nicht zurückgezahlt hat. Die 1 auf der linken Seite stellt einen Fehler 2. Art dar, da der Kunde den Kredit zurückgezahlt hat, obwohl die Bonität als schlecht prognostiziert worden ist. Ein solcher Fehler kommt in der Praxis jedoch nicht vor, da bei schlechter Prognose generell kein Kredit gewährt wird. Da eine 100-prozentige Klassifikation kaum realisierbar ist, muss der Anwender daher von Fall zu Fall entscheiden, ob die vorliegende Fehlerrate für ihn noch akzeptabel ist oder ob er eine erneute Klassifizierung, zum Beispiel auf der Basis anderer Variablen, durchführen will.(vgl. [Rie99]) Ein Zahlenbeispiel zur linearen Diskriminanzanalyse stellt der so genannte Z-Wert von Altmann dar.(vgl. [Ung01]) Er wird dabei von Banken zur Klassifikation in solvente bzw. insolvente Klassen von öffentlich gehandelten Produktionsunternehmen in den USA verwendet.(Vgl. Abb. 10.3) Die angegebenen Variablen gehen dabei durch den jeweiligen Multiplikator verschieden stark in den letztlich entstehenden Z-Wert ein, wobei der Gewinn vor Zinsen und Steuern mit einem Wert von 3,3 hier mit Abstand die stärkste Bedeutung zugemessen wird.(vgl. [Ung01]) Der hohe Wert von 3,3 kommt daher zustande, da der Gewinn vor Zinsen und Steuern in der Vergangenheit häufig ein eindeutiges Indiz für die Einstufung der Unternehmen dargestellt hat und daher einen starken Einfluß auf den entstehenden Z-Wert haben muß. Neben der in Abbildung 10.3 gezeigten Klassifikationsregel hat Altmann weiterhin herausgefunden, dass im Bereich von 1, 81 < Z < 2, 9 die Gefahr einer Fehlklassifikation am höchsten 271 10 Datenanalyse im Marketing Z = 1,2 * x1 + 1,4 * x2 + 3,3 * x3 + 0,6 * x4 + 1,0 * x5 x1= Umlaufvermögen x2= Einbehaltene Gewinne x3= Gewinn vor Zinsen und Steuern x4= Marktwert des EK / Buchwert des FK x5= Umsatz Z < 2,675 Einordnung in insolvente Gruppe Z > 2,675 Einordnung in solvente Gruppe Abbildung 10.3: Z-Wert von Altmann ist, weshalb er diesen Bereich als “zone of ignorance“ bezeichnet hat. [Met94] Unternehmen mit einem zugeordneten Z-Wert ausserhalb der gerade beschriebenen “zone of ignorance“ können daher relativ eindeutig in die Gruppe solvent bzw. insolvent klassifiziert werden, was den Banken wiederum hilft, eine verlustbringende Fehlklassifikation zu verhindern. 10.3.3 Entscheidungsbäume als Verfahren zur Bonitätsprüfung in der Bankenbranche Das Bilden von Entscheidungsbäumen ist das am weitesten verbreitete Verfahren bei der Klassifizierung. Sie werden dabei mit Hilfe von verschiedenen Verfahren wie CART, CHAID und C4.5., automatisch aus gegebenen Datensätzen extrahiert und dienen schließlich als Vorhersagemodell bezüglich neuer Daten. Ein Entscheidungsbaum besteht aus Knoten, die durch gerichtete Kanten miteinander verbunden sind. Ein Knoten, der keinen Nachfolger besitzt, wird als Endknoten oder Blatt bezeichnet.(vgl. [Nie00]) Ein Knoten ohne Vorgänger dient als Ausgangspunkt oder auch Wurzel des Baumes. Jeder Knoten in einem Entscheidungsbaum kann mit einem Test bezüglich des Knotenmerkmals beschrieben werden. In dem, in Abbildung 10.4 dargestellten Beispielbaum wird im Wurzelknoten beispielsweise ein Test bezüglich des Merkmals “Berufsfähig“ durchgeführt. Für jedes Testergebnis (hier ja oder nein) gibt es dabei eine Kante, die wiederum zum nächsten Knoten führt. Dieses Verfahren wird so lange fortgeführt, bis ein Endknoten erreicht wird 272 10.3 Klassifikation im Bereich der Bonitätsprüfung Berufsfähig ? Ja Nein 30 < Alter <35 ? ... Jahresgehalt < 200.000 DM Schulden > 500.000 DM Kein Kredit ... ... Student ? Bürgschaft der Eltern ? ... Vermögen Kredit ... Kein Kredit Abbildung 10.4: Entscheidungsbaum und dadurch ein Klassifikationsergebnis für die zu testenden Daten vorliegt. Anhand des beschriebenen Beispielsbaumes lassen sich bestimmte Vorhersagen bezüglich der Kreditwürdigkeit neuer Kunden treffen. So wird ein Neukunde der berufstätig ist, zwischen 30 und 35 Jahre alt ist, ein Jahresgehalt unter 200.000 DM bezieht und Schulden über 500.000 DM angehäuft hat, beispielsweise als nicht kreditwürdig eingestuft. Einem Studenten, der eine Bürgschaft der Eltern vorlegen kann, wird anhand des Entscheidungsbaumes wiederum ein Kredit gewährt. Im Normalfall sind Entscheidungsbäume allerdings viel komplexer, da sie wesentlich mehr Knoten und Kanten besitzen. Generell sind aber einfache Baumstrukturen den komplexeren vorzuziehen, da der Gesamtüberblick bei der Betrachtung von komplexen Entscheidungsbäumen sehr schwer fällt. Aufgrund dieser Problematik werden auf die komplexen Entscheidungsbäume häufig Beschneidungsverfahren, auch Pruning-Strtegien genannt, angewendet, die Entscheidungsbäume auf die wesentliche Länge stutzen, indem sie beispielsweise nur eine bestimmte maximale Tiefe zulassen, ab der keine weitere Vezweigung mehr durchgeführt wird.(vgl. [KWZ98]) Ziel dieses Vorganges ist es, die mit dem “Overfitting“ verbundene hohe Fehlerrate bei der Anwendung des impliziten Prognosemodells auf neue Daten wieder 273 10 Datenanalyse im Marketing zu reduzieren. (vgl. [K0̈0]) 10.3.4 Verfahrensvergleich der Methoden zur Bonitätsprüfung im Versandhandel Im Versandhandel ist es heutzutage aufgrund der zahlreichen Wettbewerber und dem daraus resultierenden Konkurrenzdruck üblich geworden, auch Neukunden bei ihren Bestellungen Kredite zu gewähren. Für Versandhändler stellt diese Ausgangslage ein erhebliches Problem dar, da dieses häufig zu Zahlungsausfällen führt.(vgl. [BA00]) Der Baur-Versand unternimmt daher große Anstrengungen im Bereich der Bonitäts-prüfung, um künftige Zahlungsausfälle in der Häufigkeit des Auftretens stark einzuschränken. Zu diesem Zweck sind verschiedene Verfahren zur Klassifizierung miteinander verglichen worden, um ein Verbesserungspotential des vom Baur-Verlag benutzten Credit-Scorings aufzudecken.(vgl. [HR00]) Bei den Verfahren handelt es sich um ausgewählte Verfahren der Diskriminanzanalyse, um verschiedene Entscheidungsbaumverfahren, sowie um die in dieser Arbeit bisher noch nicht dargestellten Verfahren der logistischen Regression und der Neuronalen Netze.(vgl. [HR00]) Mit neuronalen Netzen versucht man dabei die Vorgänge im menschlichen Gehirn abzubilden. Neuronale Netze zeichnen sich durch eine hohe Adaptionsfähigkeit aus, durch die auch hochkomplexe nichtlineare Zusammenhänge dargestellt werden können. Die angesprochene Adationsfähigkeit erreicht man durch die Verwendung künstlicher Variablen, den Neuronen, die durch nicht-lineare Funktionen der erklärenden oder klassifizierenden beobachteten Variablen gebildet werden.(Vgl.[BA00]) Bei der logistischen Regression geht es um den Einfluss erklärender Variablen X1,.....,Xm auf eine Zielvariable Y. Handelt es sich bei Y beispielsweise um die Zielvariable Krankheit, so zeigt die logistische Regression, welche erklärende Variable zur Krankheit beitragen, und welche nicht.(vgl. [BZL02]) Das bisher benutzte Scoringmodell des Baur-Verlages basiert auf Datenstichproben vorhandener Kunden, von denen schon bekannt ist, ob sie als kreditwürdig gelten oder nicht. Anhand der bekannten Kundendaten (Name, Adresse usw.) wird nun ein Schwellenwert berechnet, der im vorliegenden Beispiel ein Zahlungsausfallrisiko von 25 Prozent gerade noch akzeptiert. Für Neukunden wird nun auf Basis der gleichen Daten, die bei der 274 10.3 Klassifikation im Bereich der Bonitätsprüfung Erstbestellung bekannt sind, ein Scoringwert berechnet, der anschließend mit dem errechneten Schwellenwert verglichen wird. Liegt der Wert oberhalb des Schwellenwertes wird der Kunde als kreditwürdig eingeschätzt. Bei einem Scoringwert unterhalb des Schwellenwertes wird er als nicht kreditwürdig eingestuft.(vgl. [BA00]) Dieses Modell des Baur-Verlages hat sich in der Praxis bewährt, es wird jedoch trotzdem nach Verbesserungspotenzialen gesucht. Diese Suche hat sich dabei auf die oben angesprochenen Verfahren bezogen, denen als Grundlage die Kundendaten von ca. 160.000 Erstbestellern des Baur-Verlages zur Verfügung stehen. Bei den 66 erklärenden Variablen für die Klassifikationen, die dem Baur-Verlag aufgrund der Bestelldaten bekannt sind, hat es sich hier beispielsweise um das Alter, den Wohnort des Kunden, die Preise der bestellten Artikel und die gewünschte Zahlungsweise des Kunden gehandelt. Das primäre Ziel dieses Projektes ist dabei nicht primär eine möglichst gute Klassifizierung der Neukunden gewesen, sondern eine Maximierung des wirtschaftlichen Nutzens der Neukunden. (vgl. [HR00]) Die Berechnung dieses Wertes geschieht dabei durch die Formel: W irtschaf tlichkeit (Nutzenzuwachs pro Kunde) = U msatz ∗ x − Abgabe ∗ y Die Multiplikation des Umsatzes mit dem Faktor x entspricht dabei der Bildung eines Deckungsbeitrages, während die Abgaben noch mit y gewichtet werden, da ein Teil der noch ausstehenden Forderungen beispielsweise durch Inkassobüros eingetrieben wird.(vgl. [HR00]) Ausgehend von dieser Formel ist dann die Wirtschaftlichkeit der Neukunden ohne Bonitätsprüfung ermittelt worden. Auf Basis dieses Benchmark-Wertes konnten dann schließlich die angewendeten Verfahren bezüglich des Zuwachses an Wirtschaftlichkeit (Nutzenzuwachs pro Kunde) gegenübergestellt werden (Vgl. Abbildung 10.5), wobei die einzelnen Verfahren vorher bezüglich möglichst geringer Fehler 1. und 2. Art optimiert worden sind. Grundsätzlich ist anhand der Abbildung zu erkennen, dass alle ausgewählten Verfahren eine wesentliche Steigerung der Wirtschaftlichkeit gegenüber dem Benchmarkwert erbracht haben. Das bisher angewendete Modell des Baur-Verlages schneidet im Vergleich zu den anderen Verfahren eher schlecht ab. Der Unterschied der Wirtschaftlichkeitsunterschiede scheint dabei zwar relativ gering zu sein, was sich allerdings relativiert, wenn man be- 275 10 Datenanalyse im Marketing Verfahren Nutzenzuwachs pro Kunde Neuronale Netze 10,85 DM Logistische Regression 10,52 DM OC1 (multivariates Entscheidungsbaumverfahren) Diskriminanzanalyse CHAID (univariates Entscheidungsbaumverfahren) BAUR-Modell CART (univariates Entscheidungsbaumverfahren) Keine Prüfung 10,32 DM 9,79 DM 9,33 DM 9,09 DM 8,58 DM 0,00 DM Abbildung 10.5: angewendete Verfahren und Ergebnisse denkt, dass die Anzahl der Neukunden des Baur-Versands sehr hoch ist. Um das optimale Verfahren für den Baur-Verlag herauszufinden, muss man zwischen der Klassifikationsleistung und der Interpretierbarkeit der einzelnen Verfahren unterscheiden. Die beste Klassifikation hat dabei das ausgewählte Verfahren aus dem Bereich der Neuronalen Netzte erbracht. Betrachtet man allerdings auch noch die Interpretierbarkeit der Ergebnisse, so ist eher die logistische Regression vorzuziehen, die ähnlich gute Klassifizierungsergebnisse geliefert hat, dabei jedoch wesentlich leichter zu interpretieren ist.(vgl. [HR00]) Der Grund dafür wird in der Literatur häufig mit dem Begriff Black-Box umschrieben, was bedeutet, dass besonders im Fall neuronaler Netze, die maschinell getroffenen Entscheidungen schwer nachzuvollziehen sind und daher eine Interpretation der Ergebnisse schwer durchzuführen ist.(vgl. [Ung01]) Die Aufgabe des Baur-Verlages hat nun schließlich darin bestanden, zwischen den Variablen der Klassifikationsleistung und der Interpretierbarkeit der einzelnen Verfahren abzuwägen, und sich auf dieser Grundlage für eines der aufgelisteten Verfahren zu entscheiden, um die dargelegten Verbesserungspotentiale zu realisieren. Im Vergleich zum angewendeten Scoring-Verfahren könnte der Verlag so seine Fehlklassifikationen minimieren, was sich schließlich positiv auf 276 10.3 Klassifikation im Bereich der Bonitätsprüfung die Geschäftstätigkeit auswirken würde. Inwieweit der Baur-Verlag dieses umgesetzt hat geht aus den verwendeten Quellen leider nicht hervor. 10.3.5 Fuzzy Logik zur Bonitätsprüfung im Factoring Data Mining Technologien wie Fuzzy Logik sind in Zeiten komplexer werdender Aufgabenstellungen und knapper Ressourcen unverzichtbar geworden, um auf Dauer wettbewerbsfähig zu bleiben. Bei Fuzzy Logik handelt es sich um eine unscharfe Logik, mit der es gelingt, vage formulierte menschliche Erfahrungen (beispielsweise die eines Kreditsachbearbeiters) mathematisch zu beschreiben und zur Entscheidungsfindung einzusetzen.(vgl. [PN00]) Das Verfahren wird dabei seit einiger Zeit zur Lösung komplexer Aufgabenstellungen eingesetzt. Im Bereich der Bonitätsprüfung ist eine ähnliche Entwicklung zu erkennen. Traditionelle Verfahren, wie die Bonitätsbeurteilung durch einen Kreditsachbearbeiter, liefern in diesem Bereich zwar immer noch zufrieden stellende Ergebnisse, geraten bei komplexeren Sachverhalten aufgrund großer Datenmengen jedoch an ihre Grenzen. Daraus hat sich schließlich die Motivation des Einsatzes von FuzzyLogik im Bereich der Wirtschaftlichkeitsprüfung ergeben. Im konkreten Beispiel hat dieses Modell Anwendung bei der Kreditlimitvergabe im Factoring gefunden. Factoring kann dabei als Finanzdienstleistung beschrieben werden, die sich in Branchen mit hohem Liquiditätsbedarf immer größerer Beliebtheit erfreut. Der so genannte Factor kauft dabei beispielsweise die Geldforderungen eines Warenlieferanten gegenüber eines Kunden an. Der Factor übernimmt dabei innerhalb eines bestimmten Limits das volle Ausfallrisiko, wobei die Höhe dieses Limits von der Finanzsituation des Kunden abhängt, welche durch eine Bonitätsprüfung bestimmt wird. Um sicher zu gehen, dass die angekauften Forderungen auch zurückgezahlt werden können, überprüft der Factor dabei ständig die Bonität des Kunden.(vgl. [PN00]) Für den Warenlieferanten hat dieses System dabei den Vorteil, dass er das Risiko eines Zahlungsausfalles nicht mehr trägt und sofort die Rechnung bezahlt bekommt. Der Factor verlangt für die Risikoübernahme eine Factoringgebühr, die bei der Zahlung an den Warenlieferanten einbehalten wird, indem er nicht die volle Rechnung begleicht. Verdeutlicht wird dieses Vorgehen noch einmal an Abbildung 10.6. 277 10 Datenanalyse im Marketing Factoring Kunde Lieferung der Ware Verkauf der Forderung „Factoring“ Zahlung des Kaufpreises abzüglich einer Factoringgebühr Bezahlung der Forderung Abnehmer Factor Bonitätsprüfung Abbildung 10.6: Das Factoringgeschäft Es ist dabei offensichtlich, dass die Existenz des Factors von einer relativ exakten Bestimmung der Bonität des Kunden bzw. von der korrekten Bestimmung des Limits abhängig ist. Die Bestimmung der Werte geschieht dabei, wie oben schon angedeutet, mit Hilfe eines wissensbasierten Fuzzy-Systems. Ein Fuzzy-System besteht dabei aus drei Arbeitsschritten, der Fuzzyfizierung, der Inferenz und schließlich der Defuzzyfizierung.(vgl. [Zim87]) Bei der Fuzzyfizierung wird das Wissen erfahrener Anwender, was häufig in Form von Regeln ausgedrückt werden kann, auf Terme der Linguistischen Variablen abgebildet und so dem Rechner zugänglich gemacht. Die Linguistische Variable beschreibt dabei eine Variable, deren Ausprägung nicht numerische Ausdrücke sind. Die linguistische Variable nimmt dabei keinen konkreten Wert an, sondern besitzt mehrere mögliche Ausprägungen. Zusammen mit den Daten des Kunden werden daraus dann bei dem Schritt der Inferenz neue Schlußfolgerungen gezogen. Es werden dabei neue Fakten hergeleitet, für die dann wieder entsprechende Regeln gesucht weden.(vgl. 278 10.3 Klassifikation im Bereich der Bonitätsprüfung [PN00]) Bei dem Schritt der Defuzzyfizierung werden diese gewonnenen Ergebnisse dann wieder in konkrete Handlungsempfehlungen umgesetzt. Im Beispiel des beschriebenen Factorringgeschäftes ist so ein Kriterienbaum entstanden, dessen Regeln mit Hilfe von Fuzzy Logik aus der Wissensbasis (konkrete Kundendaten + vorhandenes Expertenwissen) generiert worden sind. Der Factor kann schließlich anhand dieses Kriterienbaumes die Bonitätsentscheidung des Systems analysieren, wobei ihm eine komfortable grafische Benutzeroberfläche zur Verfügung steht.(vgl. [PN00]) Der Einsatz von wissensbasierten Fuzzy-Systemen zur Entscheidungsunterstützung hat sich dabei in der Praxis als sehr zuverlässig erwiesen und erlaubt so ein profitables Arbeiten des Factors im Factoringgeschäft. 10.3.6 Fazit bezüglich der vorgestellten Verfahren der Bonitätsprüfung Der Wettbewerbsdruck in allen angesprochenen Branchen hat sich in den Zeiten einer schwachen Konjunktur erheblich erhöht. Es wird dabei immer wichtiger, bei Kreditwürdigkeitsprüfungen die angesprochenen Fehler 1. und 2. Art zu minimieren, welches durch eine Steigerung der Vorhersagegenauigkeit bezüglich der Bonität zu erreichen ist. Die auf subjektiven Entscheidungen beruhenden Beratungen eines Kreditsachbearbeiters oder traditionelle Scoringsystem können dabei bezüglich der Genauigkeit einer Kreditwürdigkeitsvorhersage nicht mit den formalisierten Verfahren der Bonitätsprüfung mithalten. (vgl. [Ger01]) Diese Erkenntnis setzt sich in der Praxis erst langsam durch, wobei aber eine Ablösung der traditionellen Verfahren immer weiter voranschreitet. Es muss dabei jedoch auch bedacht werden, dass eine Anwendung der formalisierten Verfahren nicht in allen Fällen als sinnvoll anzusehen ist. Vorteile gegenüber den traditionellen Verfahren sind vor allem in der Möglichkeit der größeren Datenverarbeitung zu sehen, weshalb nur Banken oder große Unternehmen mit jeweils großen Datenmengen diese Verfahren sinnvoll einsetzen können. Die optimale Wahl des anzuwendenden Verfahrens ist dabei immer von konkreten Anwendungsfall abhängig und stellt daher im Bezug auf die Ergebnisqualität den entscheidenden Schritt einer Bonitätsprüfung dar. Es ist dabei nicht möglich, das “optimale Ergebnis“ zu erreichen, da die Bandbreite der einsetzbaren Verfahren zu 279 10 Datenanalyse im Marketing groß ist. Um dennoch ein möglichst gutes Ergebnis bezüglich der Vorhersagegenauigkeit zu erreichen, müssen daher mehrere Verfahren bezüglich ihrer Leistung verglichen werden. Bei dieser Wahl spielen neben der Vorhersagequalität außerdem noch Kostenaspekte eine entscheidende Rolle, welches die Verfahrenswahl weiter erschwert. 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung Unter dem Begriff Kundensegmentierung versteht man die Tätigkeit, homogene Kundengruppen zu ermitteln und dieses ihren Bedürfnissen und Qualitäten entsprechend zu betreuen. Für Unternehmen spielt die Kundensegmentierung eine immer grösere Rolle, da sie ermöglicht, vorhandene Erfolgspotentiale zu realisieren, indem Kunden durch Werbemaßnahmen direkt angesprochen werden können. Dieses führt schließlich zu zu einer Stärkung der Kundenzufriedenheit und deren Loyalität gegenüber den Unternehmen. Zur Durchführung der Kundensegmentierung wird dabei das Verfahren des Clustering angewendet, wobei es um das Auffinden von Clustern anhand von Proximitätskriterien ohne vordefinierte Klassen geht.(vgl. [LP00]) Nach der genaueren Erklärung der Ideen des Clustering folgen in diesem Kapitel schließlich Praxisbeispiele einer Bank, eines Autohändlers und der Fluggesellschaft Lauda Air, wobei unterschiedliche Clusterverfahren und abweichende Weiterverarbeitungsmöglichkeiten der Clusterergebnisse dargestellt werden. 10.4.1 Allgemeine Vorgehensweise des Clustering Bei dem Verfahren des Clustering werden Objekte (hier Kunden) anhand verschiedener Merkmale in möglichst unterschiedliche, aber in sich weitestgehend homogene Cluster unterteilt.(vgl. Abbildung 10.7) Der Unterschied zur Klassifikation besteht also darin, dass beim Clustering die Klassen zu denen die Objekte zugeordnet werden, noch nicht bestehen, sondern durch das Clustering erst gebildet werden. Methodisch besteht eine Clusteranalyse dabei jeweils aus zwei Schritten. Zunächst werden auf der Basis aller Variablen Abstände (Distanzen) zwischen den Objekten der zu untersuchenden Menge berechnet, woran sich die Zuteilung in die einzelnen Cluster anschließt.(vgl. 280 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung Merkmal 1 X X X X X X X X X X X X Merkmal 2 Abbildung 10.7: Clustering [KWZ98]) Bei den folgenden Beispielen aus der Praxis werden den entdeckten Clustern immer gewisse Kundengruppen zugeordnet, wobei das Ziel immer ein gezieltes One-to-One Marketing ist, welches die Marketinganstrengungen effektiver machen und daher ein hohes Kosteneinsparungspotential mit sich bringen. 10.4.2 Kundensegmentierung in der Bankenbranche In der Bankenbranche findet man heute eine verschärfte Wettbewerbssituation vor, welche sich durch eine zunehmende Globalisierung der Märkte und durch sinkende Eintrittsbarrieren begründen lässt. Bemerkbar macht sich dieses beispielsweise an der Fülle von Near- oder Nonbanks wie Versicherungen und Automobilunternehmen.(vgl. [Moo99]) Es ist bei den Bankkunden zusätzlich der Trend einer abnehmenden Kundenloyalität und die hohe Bereitschaft zum Bankenwechsel zu erkennen. (vgl. [Süc98]) Banken sind daher gezwungen, die Kundenzufriedenheit durch ein gezieltes Beziehungsmanagement zu stärken und um so wieder eine erhöhte Kundenloyalität zu erreichen. Die Bedeutung der Kundenpflege wird dabei noch einmal besonders deutlich, wenn man sich vor Augen hält, dass für die Pflege schon bestehender Kunden nur 20 Prozent des Aufwandes einer Neukundengewinnung 281 10 Datenanalyse im Marketing anfällt.(vgl. [HS00]) Der Ausgangspunkt des gezielten Beziehungsmanagement zur Stärkung der Kundenloyalität ist dabei in einer Clusteranalyse zu sehen, durch die Kunden in einzelne, möglichst homogene Kundengruppen aufgeteilt werden. Dieses erlaubt dabei schließlich ein gezieltes Oneto-one Marketing und trägt wesentlich zur Stärkung der Kundenloyalität bei. Das hier vorgestellte Beispiel bezieht sich dabei auf eine Untersuchung einer Bank, die besonders im Privatkundengeschäft große Verbesserungspotentiale gesehen hat. Sie stellte als Grundlage der Clusteranalyse die Daten von ca. 66.000 Kunden zur Verfügung, die jeweils durch fast 700 Variablen beschrieben worden sind. Ziel der Bank ist es gewesen die Kundensegmentierung anhand des Produktnutzungsverhaltens und der soziodemographischen Merkmale der Kunden durchzuführen, weshalb es ausgereicht hat, sich bei der Untersuchung auf 66 Variablen zu beschränken, die für die beiden Untersuchungsschwerpunkte relevant sind. (vgl. [HS00]) Durch die hohe Anzahl unterschiedlicher Verfahren der Clusteranalyse zur Kundensegmentierung, ist es nicht garantiert, im Voraus das optimale Verfahren zu bestimmen. Im konkreten Fall sind daher ein partionierende (k-means-Verfahren) und zwei hierarchische Fusionsalgorithmen (Average Linkage und Ward Verfahren) bezüglich ihrer Ergebnisse verglichen worden. (vgl. [HS00]) Das partionierende Verfahren K-means ist ein globales Verfahren mit exakter Zuordnung, das Clusterzentren zur Clusterbildung verwendet.(vgl. [LP00]) Average Linkage bezeichnet die durchschnittliche Ähnlichkeit aller Paare von Individuen x Element C und y Element D. (vgl. [Gra00]) Beim Ward Verfahren werden zuerst Mittelwerte für jede Variable innerhalb der einzelnen Cluster berechnet. Anschließend wird für jeden Fall die Distanz zu den Cluster-Mittelwerten berechnet und summiert. Bei jedem Schritt sind die beiden zusammengeführten Cluster diejenigen, die die geringste Zunahme in der Gesamtsumme der quadrierten Distanzen innerhalb der Gruppen ergeben. Das Ward Verfahren wird dabei allgemein als das am häufigsten eingesetzte und empirisch erfolgreichste Verfahren angesehen (vgl. [Ble89]). Dieses hat sich auch in diesem konkreten Fall bestätigt, wobei aufgrund der Vielzahl an möglichen Verfahren, keine Garantie besteht, die optimale Lösung gefunden zu haben. Bei der konkreten Anwen- 282 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung dung hat sich schließlich herausgestellt, dass die schon einmal eingeschränkte Datenmenge für den benutzten Arbeitsspeicher weiterhin zu groß ist. Aus diesem Grund hat man sich auf eine Zufallsstichprobe von 2000 Kundendaten beschränkt und zusätzlich noch eine Faktorenanalyse durchgeführt. Ziel dabei ist es, redundante Informationen in den Variablen rauszufiltern, und so die Vielzahl an Variablen auf die Wesentlichen zu reduzieren. Im vorliegenden Fall hat sich dabei eine Reduktion auf 14 relevante Variablen ergeben. Das Ward Verfahren liefert bei der Kundensegmentierung Cluster, die etwa gleich viele Kunden aufweisen. Aufgabe des Anwenders ist es dabei aber noch, festzulegen, wie viele Cluster die Lösung endgültig enthalten soll. Als Hilfe dient dabei die jeweilige Veränderung der Fehlerquadratsummen.(vgl. [HS00]) Es hat sich dabei als sinnvoll erwiesen, 13 Cluster zu erstellen, da eine weitere Erhöhung der Clusteranzahl nur wenig Auswirkungen auf die Fehlerquadratsummenveränderung gehabt hätte. Den einzelnen Clustern sind daraufhin Clusternamen zugeordnet worden, welche versuchen, die speziellen Charakteristika der einzelnen Cluster zu beschreiben. (Vgl. Abbildung 10.8) Zur anschaulichen Dar- Cluster 1 2 3 4 5 6 7 8 Cluster Name Vermögende Privatkunden Wirtschaftlich Selbständige (geringer Finanzierungsbedarf) Kreditkunden Gemeinschaftskunden Wirtschaftlich Selbständige (hoher Finanzierungsbedarf) Jugendmarkt Kunden mit geringer Nutzung von Bankleistungen Ausländische Bankkunden 9 Baufinanzierungskunden 10 Kunden in der Aufbauphase 11 12 13 Altkunden Sparbuch-Kunden Kunden mit hohem Gehalt Abbildung 10.8: Clusterzuordnung 283 10 Datenanalyse im Marketing stellung der Clusterergebnisse sind schließlich die soziodemographischen Merkmale und das Produktnutzungsverhalten der Kunden eines jeden Clusters mit den Werten der Grundgesamtheit verglichen worden. Auf diese Weise kann einer Abweichung bezüglich der Kundeneigenschaften der einzelnen Cluster im Vergleich zum ’durchschnittlichen Kunden’ dargestellt werden.(vgl. [HS00]) Für Cluster 10 hat sich dabei u.a. eine intensive Nutzung der Anlageleistungen und des Zahlungsverkehrs, eine geringe Altersstruktur sowie ein mittleres Gehalt im Vergleich zum “durchschnittlichen Kunden“ herausgestellt. Aufgrund dieser Fakten ist bei den Kunden dieses Clusters in naher Zukunft beispielsweise mit einem Immobilienkauf zu rechen, der durch eine Bank finanziert werden muss. Es macht daher Sinn, gezielte Marketingaktionen speziell für Kunden dieses Clusters durchzuführen um ein Wechsel des Kreditinstitutes zu verhindern. Auf diese Weise kann für jedes Cluster untersucht werden, welche speziellen Eigenschaften die enthaltenen Kunden aufweisen um schließlich ein gezieltes One-to-one Marketing (Individual Marketing) durchzuführen. Während die vorgestellte Bank das Ziel gehabt hat, mit Hilfe vom Clustering ihre Angebote auf die jeweiligen Kunden zuzuschneiden, sieht die Motivation beim nun vorgestellten Autohändler etwas anders aus. Das Ziel ist hier nicht das Angebot den Kunden anzupassen, sondern zu erfahren, welche Kundengruppen sich für das schon bestehende Angebot interessieren. 10.4.3 Käuferidentifikation im Automobilhandel Das Autohaus “Somi“ hat bei diesem Praxisbeispiel das Ziel anhand eines Clustering, potentielle Käufer der Marke ’Somi’ zu identifizieren. Man hat sich dabei auf die Suche nach Kunden konzentriert, die der Marke positiv oder zumindest offen gegenüberstehen, da in dieser Kundengruppe die meisten potentiellen Käufer vermutet worden sind. Als Clusterkriterium ist dabei das Image der Marke “Somi“ herangezogen worden. Als Datengrundlage zur Bestimmung des Images ist eine Befragung durchgeführt worden, wobei die Befragten Antwortmöglichkeiten auf einer Skala von 1 (trifft zu) bis 7 (trifft überhaupt nicht zu) vorgegeben waren. Diese Daten haben dabei als Grundlage für die folgende Clusteranalyse gedient, bei der Gruppen 284 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung gebildet worden sind, Unterschiede zwischen diesen Gruppen extrahiert wurden, sowie anhand von typischen Verhaltensweisen versucht worden ist, diese Gruppen bezüglich ihrer Mitglieder zu interpretieren. Ziel der Automobilherstellers “Somi“ ist es letztendlich gewesen innerhalb dieser Cluster potentielle Käufergruppen zu spezifizieren und daraufhin eine gezielte Kundenansprache bzw. Marketingaktion zu starten. Um Vergleichswerte zu erhalten ist die Clusteranalyse dabei sowohl als K-Means (partionierendes Verfahren) als auch als künstliches neuronales Netz (genau als Self Organizing Map-SOM ) durchgeführt worden. Das Ziel von SOM in der topologieerhaltenden Abbildung hochdimensionaler Merkmalsräume in einen Outputraum niedriger Dimension. SOM sind dabei in der Lage, unbekannte Strukturen in der zu analysierenden Datenbasis ohne a priori Informationen selbstständig zu extrahieren und zu visualisieren.(vgl. [PS00]) Die so entstandenen Clusterergebnisse beider Verfahren sind schließlich anhand von zwei verschiedenen Gütemaßen (Homogenitäts-/Heterogenitätswert und F-Wert) verglichen worden. Bei der Untersuchung des Homogenitäts- bzw. Hetreogenitätswertes wird die Bewertung bezüglich der Güte der Cluster durchgeführt. Die Güte der Cluster steigt dabei, wenn die Cluster in sich geschlossen, untereinander aber möglichst verschieden sind. .(vgl. [Pet98]) Bei dem F-Wert werden zur Ergänzung schließlich noch mal signifikante Unterschiede zwischen den Clustern untersucht, wodurch die Güte der Clusterergebnisse weiter spezifiziert wird. Als Ergebnis hat sich schließlich bezüglich der Gütequalität ein Clustering mittels SOM angeboten, wobei sich eine Clustermenge von 5, bezüglich der klaren Clustertrennung, als am sinnvollsten herausgestellt hat. Die Clusteranalyse hat dabei ergeben, dass die Segmente 1 und 4 der Marke positiv gegenüberstehen, während die Personen der anderen Cluster eher nicht als potentielle Kunden angesehen werden können.(vgl. Abb. 10.9) Erkennen lässt sich dieses, wie oben schon angedeutet, anhand der vergleichsweise kleinen Werte bezüglich der einzelnen Bewertungskriterien, die sich aus der Fragebogenaktion ergeben haben. Für die weitere Nutzung dieses Analyseergebnisses es ist nun das Ziel des Automobilherstellers gewesen, herauszufinden, welche Kunden sich in den Segmenten 1 und 4 befinden, was die Kunden der Cluster sich wünschen bzw. erwarten und wo sich diese Kunden bezüglich eines neuen Automobils informieren. 285 10 Datenanalyse im Marketing Item n Gutes Preis-/Leistungsverhältnis Segment1 180 2,52 Segment2 367 3,81 Segment3 171 3,04 Segment4 151 2,04 Segment5 89 4,42 Hohe Sicherheit Geringer Kraftstoffverbrauch Hoher Austattungsgrad Lange Wartungsintervalle Geringe Reparaturkosten Hohe Werkstattdichte 2,73 2,88 2,73 3,27 3,46 3,61 3,94 3,93 3,96 3,99 4,02 3,99 3,26 3,32 3,16 4,2 4,52 2,88 1,98 2,15 2 2,53 2,6 1,9 4,56 4,36 4,56 4,65 5,2 4,64 Fortschrittlich Hohe Zuverlässigkeit Hohe Servicequalität Hoher Wiederverkaufswert 2,73 2,52 3,01 3,52 3,99 3,99 4,01 4,1 2,76 3,13 3,48 5,38 1,79 1,72 3,48 5,38 4,81 5,07 4,92 5,98 Abbildung 10.9: Fragebogenauswertung Es hat sich dabei u.a. herausgestellt, dass sich viele Angestellte in den Clustern befinden, wobei ihnen ein niedriger Kaufpreis, eine hohe Werkstattdichte und eine hohe Sicherheit sehr wichtig sind. Die Informationsquellen der einzelnen Segmente wurden wiederum aus einer daraufhin ausgerichteten Frage des Ausgangsfragebogens herausgefiltert. Auf Grundlage dieser Ergebnisse hat der Automobilhersteller ’Somi’ einer Werbekampagne erarbeitet, bei der nur die potentiellen Käufer angesprochen worden sind, in der zusätzlich auf deren Bedürfnisse eingegangen worden ist und die nur in Informationsquellen publiziert wurde, die von den potentiellen Kunden auch gelesen wird. Das Beispiel zeigt dabei, wie die Ergebnisse einer Data Mining-Analyse als Grundlage für eine gezielte Marktbearbeitungsstrategie genutzt werden können. Die richtige Clusterbildung, die anschließende Kundenzuordnung und die daraus abgeleitete Marketingstrategie ist dabei durch das besser laufende Tagesgeschäft (höhere Verkaufszahlen) bestätigt worden.(vgl. [LP00]) 10.4.4 Werbekampagnenentwurf der Lauda-Air Ende März 1998 hat die Lauda Air die Werbekampagne ’Golden Standard’ gestartet, um bei den Kunden der Fluggesellschaft eine klare Trennung zwischen Charter- und Liniengeschäft zu erreichen. Das Ziel dabei ist es gewesen, die Charterkunden bezüglich ihrer Serviceansprüche zu spezifizieren, um so ein Einsparpotential an Serviceleistungen gegenüber den teureren Linienflügen zu erreichen. 286 10.4 Clustering - Praxisbeispiele aus dem Bereich der Kundensegmentierung Zur Gestaltung der Werbekampagne ist die Untersuchung dabei in zwei Hauptschritte unterteilt, wobei zuerst die typischen Eigenschaften von Charterkunden herausgefiltert worden sind, welches letztendlich bei der Ausgestaltung der Kampagne ’Golden Standard’ im Mittelpunkt steht. Im zweiten Schritt war es dann das Ziel, durch eine Clusteranalyse mittels des Ward Verfahrens, weiterführende differenzierte Werbemaßnahmen zu entwickeln.(vgl. [WRR00]) Die Datengewinnung der Lauda-Air ist mit Hilfe einer Fragebogenaktion auf einer Ferienmesse durchgeführt worden, wobei es sich bei den Besuchern weitestgehend um Charterkunden gehandelt hat. Die 3.000 zufällig ausgewählten Kunden sind dabei hauptsächlich bezüglich ihrer Einschätzung der Wichtigkeit von Serviceleistungen und bezüglich ihrer demographischen Daten befragt worden. Bei der letztlichen Charakterisierung der Charterkunden haben sich so geschlechtsspezifische, altersspezifische und Fluggewohnheiten betreffende Präferenzen, aber auch wesentliche Unterschiede zwischen den einzelnen Kundengruppen herausgestellt. Trotz der vorliegenden Unterschiede hat diese Charakterisierung aber weitestgehend für die Erstellung der Werbekampagne ’Golden Standard’ gedient.(Vgl. Abbildung 10.10) „Was verstehen wir unter dem Golden Standard ? - Bordunterhaltung auf allen Flügen ( Audio und Video Vergnügen pur! ) - Catering von Wien’s Top Restaurant Do&Co - Bier, Wein & Softdrinks kostenlos - Nikis Kids Club für die jüngsten Passagiere - Eine der jüngsten Flugzeugflotten der Welt - Laufend neue Serviceideen - Freundliche Flugbegleiter - und das kleine bißchen ‚mehr’ an Herzlichkeit“ Abbildung 10.10: Werbekampagne ’Golden Standard’ Die erwähnten Unterschiede bezüglich des Alters, des Geschlechtes und der Fluggewohnheiten der Charterkunden machen dabei aber deutlich, wie sinnvoll in diesem Fall die anschließende Clusteranalyse für die Lauda Air sein kann. Für das durchzuführende Clustering ist die Ausgangsmenge der Objekte mit Hilfe des Proxitätsmaßes in eine Distanzmatrix umzuwan- 287 10 Datenanalyse im Marketing deln. Das Proxitätsmaß ist dabei eine, auf einem paarvergleich basierende Maßzahl, wobei für jedes Paar die Ausprägung der Eigenschaften und der Grad an den Übereinstimmungen untersucht werden.(vgl. [Mew01] Als Proxitätsmaß ist in diesem Fall die quadrierte euklidische Distanz gewählt worden, wobei die Summe der quadrierten Differenzen zwischen den Werten der Einträge herangezogen werden. (Vgl. [WRR00]) Man hat dabei die Bildung von 4 Clustern gewählt, da sich dieses bezüglich der Homogenität innerhalb der Cluster und bezüglich der Unterschiede zwischen den Clustern als am sinnvollsten herausgestellt hat. Den vier Clustern sind dann anschließend entsprechende Beschreibungen zugeordnet worden, wobei den einzelnen Clustern die Kundengruppen gesicherte Erlebnisurlauber, junge, aktive Freizeitkonsumenten, Familienurlauber und schwer zu Begeisternde zugeordnet worden sind. Anhand der Clusteranalyse konnten von der Lauda Air so Kundengruppen identifiziert werden, wobei sich noch speziellere Serviceanforderungen herauskristallisierten. Aufgrund der Data Mining-Methode des Clustering hat die Lauda-Air daher die Möglichkeit gehabt, weitere Werbekampagnen zu entwerfen, welche speziell auf die Kundengruppen zugeschnitten sind, und welche aufgrund des stärkeren Individual Marketing Charakters bessere Ergebnisse der Werbekampagnen erwarten lassen. 10.5 Klassifikation + Clustering am Beispiel einer Kündigerprävention auf dem Mobilfunktmarkt Das folgende Beispiel soll deutlich machen, dass sich die beiden Verfahren der Klassifikation und des Clustering in der Realität häufig nicht eindeutig trennen lassen und kombiniert zur Anwendung kommen. Im konkreten Fall geht es um das Auffinden von potentiellen Kündigern eines Mobilfunkanbieters. Anhand dieses Beispiels lässt sich dabei gut zeigen, welchen Vorteil ein kombiniertes Anwenden der beiden Verfahren gegenüber einer Einzelanwendung besitzt. Die Kundenloyalität hat innerhalb vieler Branchen in den letzten Jahren stark abgenommen. Dieser Trend macht sich dabei besonders stark auf Hightech-Märkten wie dem Telekommunikationsmarkt bemerkbar, weil die vielen Anbieter auf dem Markt mit allen Mittel 288 10.5 Klassifikation + Clustering am Beispiel versuchen, die Kunden für sich zu gewinnen. Mobilfunkanbieter versuchen daher schon lange Zeit vor Auslaufen des Vertrages zu erfahren, ob die Kunden erneut einen Vertrag bei dem entsprechenden Unternehmen abschließen werden, oder ob dafür eventuell das Anbieten spezieller Angebote nötig ist. Es macht jedoch aus wirtschaftlichen Gründen keinen Sinn, den Kunden ein spezielles Angebot zu unterbreiten, die auch ohne dieses Angebot automatisch verlängert hätten. Ziel des Mobilfunkanbieters ist es daher die Kunden in die zwei Klassen Kündiger und Nichtkündiger aufzuteilen. Verbunden ´wird diese Klassifikation dabei mit einem Clustering, welches die Kunden in 11 Cluster (Segmente) unterteilt (vgl. Abbildung 10.11). Als Grundlage für diese Untersuchungen dienen dabei die soziodemographischen Merkmale sowie Merkmale zum Mobilfunkvertrag von alten Kunden, von denen schon bekannt ist, ob sie gekündigt haben, oder nicht.(vgl. [Gmb00]) Abbildung 10.11 zeigt dabei, wie die durch das Clustering entstandenen Segmente in der Reihenfolge der Anzahl der potentiellen Kündiger des Mobilfunkvertrages sortiert werden. Anhand der Tabelle oder Segment Nr. Gesamt 3 Kundenanzahl 50.000 3.803 Kündiger 20.000 3.537 Nichtkündiger 30.000 266 Anteil 40,0 % 93,0 % 6 10 4 9 7 11 2.482 5.185 9.561 2.509 5.891 4.720 2.023 4.469 7.247 1.262 1.034 234 459 716 2.314 1.247 4.857 4.486 81,5 % 86,2 % 75,8 % 50,3 % 17,6 % 5,6 % 2 5 1 8 7.148 1.568 6.048 1.067 150 13 29 2 6.998 1.573 6.019 1.065 2,1 % 0,8 % 0,5 % 0,2 % Abbildung 10.11: Kundeneinteilung mit Hilfe eines Gain-Charts, der die Güte eines Klassifikators darstellt, kann man schließlich beurteilen, wie das Ergebnis der Klassifikation zu beurteilen ist.(vgl. [Gmb00]) In diesem Fall beinhalten die ersten 5 Cluster der Tabelle ca. 93 Prozent aller potentiellen Kündi- 289 10 Datenanalyse im Marketing ger. Der Mobilfunkanbieter kann sich, aufgrund dieser hohen Erreichbarkeitsquote, bei der Kündigerpräventation nun ausschließlich auf Kunden dieser Cluster beschränken. Er läuft dabei nicht Gefahr, eine hohe Anzahl an potentiellen Kündigern kein Angebot zu machen. Die ersten fünf berechneten Segmente liefern dabei eine Beschreibung der potentiellen Kündiger, was für Segment 3 bedeutet: “Kunden im Privat-Tarif, die unter 30 Jahre sind und eine Handy über 300 Euro besitzen, kündigen mit einer Wahrscheinlichkeit von 93 Prozent“ (vgl. [Gmb00]) Fällt ein Kunde, dessen Vertrag bald auslaufen wird, also aufgrund seiner Daten in eines der ersten fünf Segmente, wird er als potentieller Kündiger behandelt und erhält vom Mobilfunkprovider ein spezielles Angebot. Andernfalls vertraut man auf die Analyseergebnisse und geht davon aus, dass der Kunde von alleine den Vertrag verlängert. Die Kombination von Clustering und Klassifikation ermöglicht es in diesem Fall die beim Clustering erhaltenen Segmente zusätzlich noch in die Klassen Kündiger und Nicht-Kündiger einzuteilen, was die Identifikation der gesuchten potentiellen Kündiger erheblich erleichtert. Anhand dieser Kombination kann daher recht genau bestimmt werden, welchen Kunden ein spezielles, neues Angebot unterbreitet werden muss, wobei verhindert werden soll, dass potentielle Kündiger übersehen werden und dass Nichtkündigern trotzdem ein Angebot unterbreitet wird (Fehler 1. und 2. Art). Der Mobilfunkanbieter kann auf diese Weise aufgrund einer minimierten Angebotsbreite Einsparpotentiale realisieren, die sich wiederum positiv auf das Geschäftsergebnis auswirken. 10.6 Sortimentsanalyse im Einzelhandel Als Datengrundlage zur Sortimentsanalyse steht dem Einzelhandel eine sehr große Menge an Daten zur Verfügung, die anhand der schon länger eingeführten Scannerkassen gewonnen wird. Dadurch ist es den Einzelhändlern ermöglicht worden, anhand der Bondaten täglich alle anfallenden Einkaufsvorgänge artikelgenau festzuhalten. Mittels der Datenanalyse können dabei Rückschlüsse auf die Kundenpräferenzen und deren Kaufverhalten geschlossen werden. (vgl. [NIE01]) Daraus lassen sich schließlich Schlußfolgerungen bezüglich des Sortimentsverbundes, der Warenplatzierung und der einzusetzenden Werbung ziehen. 290 10.6 Sortimentsanalyse im Einzelhandel 10.6.1 Assoziationsanalyse zur Bildung von Assoziationsregeln im Einzelhandel Im ersten Anwendungsfall ist hier eine Assoziationsanalyse eingesetzt worden, um Beziehungen (Regeln) in den Abverkaufsdaten aufzuspüren. Die aus der Assoziationsanalyse abgeleiteten Assoziationsregeln werden dabei mittels Werten für die Relevanz, die Konfidenz und der Abweichung genauer spezifiziert. Bei der Relevanz geht es dabei um den Anteil einzelner Artikel oder Artikelkombinationen an der Gesamtzahl der analysierten Bons. Die Konfidenz sucht dann Abverkaufsverknüpfungen von Artikelkombinationen. Dabei geht es um den verkauften Anteil von Artikel A, wenn ein anderer Artikel B ebenfalls verkauft wird. Die relative Abweichung stellt schließlich einen Vergleich zwischen Relevanz und Konfidenz dar.(vgl. [Mic00]) Vergleicht man zum Beispiel einen beliebigen Artikel B (Relevanz 0,5 Prozent) mit dem Anteil der Käufer eines Artikels A, die ebenfalls Artikel B kaufen (Konfidenzwert 30 Prozent), so lässt sich daraus die Schlußfolgerung ziehen, dass Käufer des Artikels A 60 mal (Konfidenzwert/Relevanz) häufiger Artikel B kaufen, als alle anderen Kunden. (vgl. [Mic00]) Bei der Analyse sind letztlich Assoziationsregeln entstanden, die sich zunächst aber nur auf eine Warengruppenebene bezogen haben. In Abbildung 10.12 ist jedoch auch eine von mehreren Regeln dargestellt, die Beziehungen zwischen unterschiedlichen Artikelebenen darstellen. Die Relevanz beträgt dabei 0,051, was be- [Fleischabteilung] [Maggi Wuerze Nr.1] Relevanz : 0,051 Konfidenz : 5,4 rel. Abweichung : 12,1 Abbildung 10.12: Assoziationsregel deutet, dass die Kombination aus Fleischkauf + Maggi Würze Nr.1 in 0,5 Prozent aller Bons auftaucht. Die Konfidenz von 5,4 bedeutet dann, dass Kunden die Fleisch kaufen, in 5,4 Prozent aller Fälle auch Maggi Würze Nr.1 kaufen. Die relative Abweichung von 12,1 bedeutet schließlich, dass Kunden die Fleisch kaufen, 12,1 mal häufiger Maggi 291 10 Datenanalyse im Marketing Würze Nr.1 kaufen, als alle anderen Kunden. Neben diesen artikelbezogenen Analysen können aber genauso Zusammenhänge von Preisen, Mengen, Größen und Farben abgeleitet werden. In der Praxis entstehen so häufig sehr große Mengen an Assoziationsregeln, weshalb es wichtig ist, diese zu filtern und zu sortieren. So ist zum Beispiel das Herausfinden von unbekannten, aber wichtigen Beziehungen für die Einzelhändler von größerer Bedeutung, als schon bekannte oder triviale Beziehungen. Eine Sortierung kann beispielsweise ab- oder aufsteigend nach den Werten der Relevanz, Konfidenz und relevanten Abweichung durchgeführt werden. Die so erhaltenen Regelmengen können von den Einzelhändlern nun bezüglich verschiedener Entscheidungsfindungen benutzt werden. Beim Sortimentsverbund geht es für die Einzelhändler beispielsweise darum, diese zu erkennen und die jeweiligen Waren dieses Verbundes zur Verfügung zu stellen, um die Verbundwirkung nicht eizuschränken. Aus den Regeln ergeben sich weiterhin wichtige Hinweise, wie die einzelnen Waren zueinander platziert werden können, um das Potential von Sortimentsverbünden optimal zu nutzen. Es gibt dabei sowohl die Strategie, die Verbundwaren nebeneinander zu platzieren um einen gemeinsamen Verkauf zu sichern, oder diese an verschiedenen Punkten des Einkaufsmarktes zu platzieren, um auch auf andere Produkte aufmerksam zu machen. Für die Werbungsaktivitäten bieten Assoziationsanalysen schließlich die Möglichkeit nicht nur ein Produkt zu bewerben, sondern auch die entdeckten Sortimentsverbünde mit in die Marketingstrategie einzubeziehen. Für einen erfolgsanstrebenden Händler gilt deshalb letztendlich die Regel: Nicht der einzelne Artikel bringt den Erfolg, sondern das durch eine Assoziationsanalyse aufgedeckte Zusammenspiel aller Artikel bezüglich der Platzierung, Werbung, Listung usw.(vgl. [Mic00]) Während in diesem Beispiel die Aufsttellung von Assoziationsregeln zur Untersuchung der Verbundwirkung einzelner Produkte im Vordergrund gestanden hat, sieht es im nun folgenden Fall etwas anders aus. Untersuchungsziel ist es dort, den Einflußs von Werbemanahmen auf die Verbundwirkung innerhalb von Warenkörben zu untersuchen. 10.6.2 Clustering zur Aufdeckung der Verbundwirkungen innerhalb eines Warensortiments In diesem Beispiel geht es um eine konventionelle Verbundanalyse eines Filialunternehmens der Lebensmittelbranche. Ziel dieser Filiale 292 10.6 Sortimentsanalyse im Einzelhandel ist es zunächst gewesen, anhand eines Clustering existierende Verbundbeziehungen innerhalb des Nahrungs- und Genussmittelbereichs aufzudecken. Des Weiteren ist es dann um die Auswirkung absatzpolitischer Maßnahmen auf die entdeckten Verbundbeziehungen untersucht worden. Als Datengrundlage haben 15.000 verschiedene Warenkörbe und 26 Warengruppen gedient. Die Clusteranalyse typologisiert dabei diese 26 Warengruppen nach ihrer Ähnlichkeit im Verbundprofil.(Vgl. [SRJ00]) Die Euklidische Distanz hier wiederum als Proximitätsmaß und als Fusionierungsalgorithmus wird das Ward-Verfahren herangezogen. Unter Berücksichtigung der Fehlerquadratsumme und der Anwendung des Elbow-Kriteriums erwies sich hier eine Segmentierung in 4 Cluster als am sinnvollsten. Bei Anwendung des Elbow-Kriteriums werden dabei in einem x-y-Diagramm die Fehlerquadratsumme und die entsprechende Clusterzahl dargestellt. An der Stelle innerhalb dieses Diagramms, an dem sich der stärkste Heterogenitätszuwachs herausbildet, entsteht im Idealfall ein Knick in der Funktion in Form eines Ellbogens.(vgl. Abb. 10.13) An dieser Stelle lässt sich schließFehlerquadratsumme ElbowKriterium 0,5 3 Anzahl der Cluster Abbildung 10.13: Elbow-Kriterium lich die optimale Clusterzahl im Bezug auf die Heterogenität zwischen den Clustern ablesen.(vgl. [EGF00]) Die einzelnen Cluster weisen dabei sehr unterschiedliche Verbundin- 293 10 Datenanalyse im Marketing tensitäten aus, wobei die Verbundwirkung der Frischwaren, wie es auch zu erwarten gewesen ist, am höchsten ausgefallen ist. (vgl. Abb. 10.14) Der nächste Schritt bei der vorliegenden Untersuchung von Cluster 1 - Fleisch/Wurst ( Bedienung), Käse ( SB ), Tiefkühlkost, Nährmittel, Gewürze/Feinkost, Obst-/Gemüsekonserven Cluster 2 - Obst/Gemüse, Milch/Molkereiprodukte Cluster 3 - Fleisch/Wurst, Käse ( Bedienung ), Butter, Öle/Fette, Fleisch-/Fischkonserven, Schokolade, Süßwaren, Gebäck Cluster 4 - Frischgeflügel, Suppen/Fertiggerichte, Fisch/Feinkost, Weine, Sekt, Spirituosen, Bier, Tabakwaren, Kaffee Abbildung 10.14: Verbundwirkung Kaufverbundeffekten hat schließlich die Werbeaktivitäten mit in die Untersuchung eingeschlossen. Es sollte dabei beantwortet werden, wie sich die Verbundintensität einer Warengruppe verändert, wenn sie beworben wird, und bei welcher Warengruppe sich die Werbeaktivitäten am stärksten auf die Verbundwirkung auswirkt. Als Untersuchungsgrundlage hat dabei die Warengruppe “alkoholfreie Getränke“ gedient, die sich aufgrund relativ starker Ausstrahlungseffekte nicht speziell einem der 4 Cluster in Abbildung 10.13 zuordnen lässt. Die “alkoholfreien Getränke“ sind dabei über eine Woche in vier vergleichbaren Filialen des Lebensmittelunternehmens mit unterschiedlichen Methoden beworben worden. Es hat sich dabei beispielsweise gezeigt, dass eine Preisreduzierung um 20 Prozent die Verbundwirkung ebenfalls mit 20 Prozent verstärkt, während eine Preisreduzierung in 294 10.6 Sortimentsanalyse im Einzelhandel Verbindung mit In- und Out of Store Werbung, die Verbundwirkung sogar um 170 Prozent erhöht. Diese Untersuchung kann nun vergleichsweise mit anderen Warengruppen durchgeführt werden, wodurch schließlich herausgefunden werden kann, bei welcher Warengruppe Werbemaßnahmen die größten Auswirkungen haben. 10.6.3 Anwendung einer modernen Neurocomputing-Methode zur Quantisierung von Warenkorbdaten Die im Handel anfallende Datenmenge ist aufgrund der Einführung von Scannerkassen so groß geworden, dass die in Abschnitt 10.6.2 vorgestellte konventionelle Verbundanalyse an ihre Grenzen stößt. Aus diesem Grund hat man sich deshalb letztendlich auch nur auf verschiedene Warengruppen aus dem Bereich der Nahrungsmittel beschränkt. Um allerdings Verbundeffekte in ganzen Handelssortimenten aufzudecken werden in der heutigen Zeit immer häufiger moderne Neurocomputing-Verfahren angewendet. Verfahren des Neurocomputing (meistens neuronale Netze, Entscheidungsbäume oder Clustering) besitzen dabei den Vorteil, dass keine Algorithmen und Regeln ermittelt, getestet und codiert werden müssen. Dieses Prozesse werden dabei durch das Lernen von Sachverhalten aus Vergangenheitsdaten ersetzt.(Vgl.[Neu02]) Das Verfahren der Vektor-Quantisierung, welches eine nachträgliche, disaggregierte Analyse von Verbundbeziehungen innerhalb eines Sortiments ermöglicht, bewirkt dabei eine Zerlegung der binären Warenkorbdaten. Jedem Warenkorb wird dabei ein zusätzliches nominales Merkmal zugeordnet, welches schließlich die Zugehörigkeit zu einer bestimmten Warenkorb-Klasse indiziert.(Vgl. [SRJ00]) Aus Homogenitäts- bzw. Heterogenitätsgründen sind hier letztendlich 8 warengruppenspezifische Klassen-Centroide (Mittelwerte) gebildet worden, die die Kauftätigkeiten der Kunden für einen Supermarkt der LEH-Gruppe darstellen. Abbildung 10.15 zeigt auszugsweise eine auf diese Weise entstandene Warenkorbklasse mit absteigend sortierten Warengruppen-Centroiden. Der Wert 4,33 steht dabei für die durchschnittlich enthaltenen Warengruppen in der gewählten WarenkorbKlasse. Der Wert 1,00 für die Limonade deutet dann daraufhin, dass in ca. 10 Prozent der Warenkörbe von Klasse 1 mindestens eine Limonade vorhanden ist. Des Weiteren befindet sich in 1,5 Prozent der 295 10 Datenanalyse im Marketing Klasse 1 - # 4,33 Limo(1,00), Wasser(.15), Milch(.14), Tragetasche(.13), Flaschenbier(.11) Backwaren(.09), Joghurt(.09), Säfte(.09), Dosenbier(.09), Wurstwaren(.08) Südfrüchte(.07) Abbildung 10.15: Beispiel einer Warenkorbklasse Warenkörbe mindestens eine Flasche Wasser. Die Angaben in den Klammern geben also an, wie hoch die Wahrscheinlichkeit ist, dass die entsprechende Warengruppe mindestens einmal im Warenkorb vorhanden ist. Da in dieser Klasse durchschnittlich 4-5 Warengruppen in einem Warenkorb kombiniert werden, sind daher am häufigsten die Warengruppen Limo,Wasser, Milch, Tragetasche und Flaschenbier im Warenkorb vorhanden. Das Verwendungspotential ist allerdings mit der einzelnen Bedeutung der Warengruppen in den unterschiedlichen Warenkörben noch lange nicht ausgereizt. Dieses ist damit zu begründen, dass sich die so gewonnene Kenntnisse über die durchschnittlich enthaltenen Warengruppen pro Warenkorb noch mit anderen Merkmalen kombinieren lassen. Dazu gehören beispielsweise Merkmale wie Kauftag, Kaufuhrzeit, Filialstandort usw.. Es können so diverse Werbestrategien entworfen werden, indem zum Beispiel an bestimmten Tagen oder zu bestimmten Uhrzeiten Rabatte auf Warengruppen erhoben werden, die sonst zu dieser Uhrzeit eher selten nachgefragt werden. Ein anderes Beispiel ist eine tagesabhängige Bewerbung von Warengruppen, so dass typische Warengruppen an Tagen beworben werden, an denen die Nachfrage sonst nicht so hoch ist. Eine Quantisierung von personalisierten Daten mittels Kundenkarten liefert schließlich noch die Möglichkeit die Käufe direkt auf spezielle Kunden zu beziehen und ermöglicht so eine gezieltes Individual-Marketing. Zusammenfassend ist zu sagen, dass durch immer größer werdende Datenmengen eine Neuorientierung in Richtung der moderneren Neurocomputing-Verfahren unumgänglich geworden ist, da sie ein wesentlich größeres Potential bezüglich der folgenden Marketingmann- 296 10.7 Prognose zur optimierten Werbeträgerplanung bei Versandhäusern ahmen bieten als konventionelle Analysen von Warenkörben. 10.7 Prognose zur optimierten Werbeträgerplanung bei Versandhäusern Bei der Prognose werden bisher unbekannte Merkmalswerte mit Hilfe anderer Merkmale oder mit Werten des gleichen Merkmals aus früheren Perioden vorhergesagt. Für die Aufgabe der Prognose existieren dabei verschiedene Ansätze. Wie aus den obigen Beispielen zu Bonitätsprüfung schon bekannt, kann auch das Verfahren der Klassifikation zur Prognose verwendet werden. Voraussetzung ist dabei, dass diskrete Werte wie “kreditwürdig“ oder “nicht-kreditwürdig“ vorhergesagt werden sollen. Bei der Prognose konzentriert man sich jedoch weitestgehend auf kontinuierliche quantitative Werte, weshalb die Prognose von der klassischen Aufgabe der Klassifikation abweicht. Für Prognosezwecke werden daher häufig Methoden aus dem Gebiet der künstlichen Intelligenz wie Neuronale Netze eingesetzt.(vgl. [Nie00]) In der Praxis spielt die Prognose beispielsweise im Werbeträgerplanungsprozess bei Versandhäusern eine große Rolle. Ziel dabei ist es, den Einsatz der Werbeträger so zu planen, dass das Verhältnis von Werbekosten und Umsatz optimiert wird. Für die Berechnung werden dazu verschiedene Kennzahlen und Formeln herangezogen, in den in Abbildung 10.16 einige dargestellt werden. Die Kosten-UmsatzRelation(KUR) drückt dabei den prozentuellen Werbekostenanteil am Nettoumsatz aus. In Abhängigkeit von Nettoumsatz und Werbekosten ergeben sich die Deckungsbeiträge I und II. Die beiden unteren Formeln dienen schließlich dazu, die Deckungsbeiträge mit der in Prozent ausgedrückten KUR in Verbindung zu setzen.(vgl. [Nie00]) Die Werbekosten sind dabei um so höher, je größer die Ausstattungsdichte der Kunden mit Katalogen ist. Für das Versandhaus ist es nun entscheidend, welche Ausstattungsdichte der Kunden mit Katalogen möglichst optimale Werte im Bezug auf den Umsatz, den Bruttobestellwert und schließlich den Deckungsbeitrag II liefert. In diesem Fall sind für die Prognose Neuronale Netze als selbständig lernende Prognosesysteme eingesetzt worden, um aus dem bekannten Kundenverhalten Schlüsse bezüglich der optimalen Ausstattungsdichte der Kunden mit Katalogen zu erlangen. Die schon vorhandenen Daten bezüglich des Kundenverhaltens in der Vergangenheit 297 10 Datenanalyse im Marketing KUR = (Werbekosten / Umsatz) * 100 = = Nettoumsatz Wareneinstandskosten Anteilige Logistikkosten Überhangverluste Deckungsbeitrag I Werbekosten Deckungsbeitrag II Deckungsbeitrag I = (Deckungsbeitrag II / Nettoumsatz) * 100[%] Deckungsbeitrag II = (Deckungsbeitrag I - KUR) * Nettoumsatz Abbildung 10.16: KUR sowie Deckungsbeitrag I und II werden dazu in eine Trainings- und eine Testmengen unterteilt. Das Training des neuronalen Netztes erfolgt anhand der Trainingsmenge. Die dabei gewonnenen Zusammenhänge werden nun auf die Testmenge angewendet, wobei kontrolliert wird, ob sich die Ergebnisse der Trainingsmenge anhand der Testmenge bestätigen lassen. Diese beiden Schritte werden so lange wiederholt, bis ein hinreiched gutes Netz gefunden wird. Das in diesem Fall entwickelte neuronale Netz hat also die Aufgabe gehabt, den unbekannten UrsachenWirkungszusammenhang zwischen Werbeträger und Auswirkung auf die Kauftätigkeit der Kunden zu ermitteln. Zur besseren Bestimmung der ökonomischen Auswirkungen der Werbeträgeranzahl auf die oben beschriebenen Kennzahlen sind die Kunden schließlich noch in 20 verschiedene Klassen eingeteilt worden. Jede Klasse enthält dabei 5 Prozent aller Kunden, wobei die Kundenqualität von Klasse 1 bis Klasse 20 abnimmt. Als Ergebnisse bezüglich der Auswirkungen der Werbeträgeranzahl auf die angesprochenen Kennzahlen hat sich herausgestellt, dass ein maximaler Umsatz mit einer 100-prozentigen Austattungsdichte erreicht wird. Diese hohe Ausstattungsdichte wirkt sich jedoch aufgrund der höheren Kosten für die Werbeträger negativ auf die KUR aus. Interessanter ist daher eher, mit welcher Ausstattungsdichte welcher Deckungsbeitrag erreicht wird. Der höchste Deckungsbeitrag von 160.000 DM hat sich 298 10.8 Schlussfogerungen und Bezug zur Projektgruppe dabei bei einer Werbeträgerausstattung von 40 Prozent der besten Kunden eingestellt.(vgl. [Nie00]) Das Versandhaus hat also schließlich herausgefunden bzw. prognostiziert, welche Ausstattungsdichte mit Katalogen das Verhältnis bezüglich des Umsatzes und der Werbekosten optimiert. Man kann diese gewonnenen Erkentnisse schließlich für die zukünftige Werbeträgerplanung gewinnbringend nutzen, wobei jedoch gesagt werden muss, dass andere Aspekte, wie zum Beispiel die Kundenbindung oder die Kundenneugewinnung bei den Überlegungen keine Rolle gespielt haben, was sich wiederum negativ auf den Geschäftserfolg auswirken kann. 10.8 Schlussfogerungen und Bezug zur Projektgruppe In der Ausarbeitung zum Thema ’Datenanalyse im Marketing’ hat die Hauptaufgabe darin bestanden, anhand von zahlreichen Praxisbeispielen die vielfältigen Einsatzmöglichkeiten von Data Mining im Marketing, aber auch in anderen Bereichen aufzuzeigen. Des Weiteren hat im Mittelpunkt gestanden, inwiefern der Einsatz von Data Mining gegenüber klassischen Methoden der Datenanalyse Vorteile mit sich bringt. Es hat sich dabei gezeigt, dass der Einsatz von Data Mining in allen vorgestellten Beispielen Verbesserungspotentiale aufgedeckt hat. Nachdem die Einsatzgebiete und die konkret eingesetzten Verfahren vorgestellt worden sind, hat anschließend die Darstellung der Praxisbeispiele im Mittelpunkt gestanden. Eines der am weitesten verbreiteten Anwendungsgebiete für Data Mining ist im Risikomanagement zu sehen. Die Bonitätsprüfung stellt dabei eine Entscheidungsmöglichkeit für verschiedene Branchen dar, ob ein potentieller Kunde als kreditwürdig oder als nicht kreditwürdig klassifiziert wird. Ziel dabei ist es immer die angesprochenen Fehler 1. und 2. Art zu vermeiden, um so einen drohenden wirtschaftlichen Verlust zu verhindern. Die Untersuchung der einzelnen Beispiele hat dabei gezeigt, das zahlreiche Data Mining-Verfahren in diesem Gebiet zum Einsatz kommen, wobei zwischen diesen zudem deutliche Unterschiede im Bezug der Performance zu erkennen sind.(Vgl. Abschnitt 10.3.3) Dabei sind “aufwändigere“ Data-Mining Verfahren wie z.B. die Anwendung neuronaler Netze sowohl den ’einfacheren’ Data Mining-Verfahren wie beispielsweise der Diskriminanzanylyse, aber 299 10 Datenanalyse im Marketing vor allem den klassischen Verfahren wie der Scoringmethode oder der Bearbeitung durch Kreditsachbearbeiter in ihrer Bonitätsbeurteilung deutlich überlegen. Im zweiten Anwendungsfeld für Data Mining geht es dann um den Bereich der Kundensegmentierung. Zunächst ist, das in diesem Bereich angewendete Clustering, näher erläutert worden, wobei verschiedene Verfahren zur Anwendung gekommen sind, die sich im Wesentlichen bezüglich der Homogenität bzw. Heterogenität der Cluster und dem Automatisierungsgrad zur Bestimmung der Clusteranzahl unterscheiden. Das Anwendungsfeld hat sich hier wiederholt als sehr vielfältig herausgestellt, wobei das Ziel generell immer darin besteht, die Kunden der jeweiligen Branchen in Cluster aufzuteilen, um sie schließlich durch gezieltes One-to-one Marketing persönlich anzusprechen. Die Vorteile liegen dabei im Erreichen einer höherer Kundenbindung verbunden mit der Realisierung von Einsparpotentialen, die aufgrund der Abwendung vom Massenmarketing realisiert werden. Mit dem Beispiel aus dem Mobilfunkmarkt sollte deutlich gemacht werden, dass die beiden Verfahren Klassifizierung und Clustering in der Realität häufig zusammen angewendet werden, da dieses noch spezifischere Analyseergebnisse verspricht als eine getrennte Anwendung dieser beiden Verfahren. Als nächstes Anwendungsfeld wurde schließlich die Sortimentsanalyse bearbeitet, wobei häufig Assoziationsanalysen, aber auch Clustering oder auch moderne Neurocomputing-Methoden zum Einsatz kommen. Bei den konkreten Beispielen, die sich auf den Einzelhandel beziehen, geht es vordergründig darum, aufgrund der gewonnenen Scannerdaten auffällige Verbundwirkungen innerhalb des Warensortiments aufzudecken, und diese gewonnenen Erkentnisse schließlich bei der Sortimentspolitik und beim Marketing gewinnbringend umzusetzen. Kapitel 10.7 beschreibt abschließend mit der Prognosewirkung noch ein weiteres Feld der Anwendungsmöglichkeiten von Data Mining zur Datenanalyse. Es werden dabei Prognosen für die Zukunft erstellt, die aufgrund von schon vorhandenen Daten für verschiedene Anwendungsbereiche generiert werden. Die im konkreten Beispiel angesprochene Ähnlichkeit zur Klassifizierung macht dabei noch einmal deutlich, dass es schwierig ist, die einzelnen Data Mining-Verfahren strikt zu trennen, da sie wie gesagt häufig auch kombiniert zur Anwendung kommen. Neben der Vielfalt der Einsatzgebiete und eingesetzten Verfahren ist 300 10.8 Schlussfogerungen und Bezug zur Projektgruppe bei der Betrachtung der Praxisbeispiele vor allem das Potential des Data Mining zur Datenanylyse deutlich geworden, was sich darin gezeigt hat, dass durch die Anwendung von Data-Mining in allen besprochenen Beispielen Verbesserungspotentiale aufgezeigt worden sind. Dieses Ergebnis bestätigt dabei eine Studie der Universität EichstättIngolstadt, die herausgefunden hat, dass 87 Prozent der Unternehmen, die Data Mining zur Analyse ihrer Datenmengen einsetzen, mit der Profitabilität dieser Projekte sehr zufrieden sind. Trotz dieser überzeugenden Performance nutzen zur Zeit lediglich 50 Prozent der 500 größten deutschen Unternehmen Data Mining-Verfahren zur Analyse ihrer großen Datenmengen (vgl. [Leb02]).Diese Erkenntnisse und die Feststellung, dass sich alle 18 Monate die Informationsmenge in der Welt verdoppelt, machen deutlich, dass Data Mining auch in Zukunft eine große Bedeutung zugemessen wird. Innerhalb des Projektgruppenszenarios soll Data Mining sowohl vom Kartenanbieter, als auch von beiden Händlern betrieben werden. Die Händler geben zu diesem Zweck Kunden- und Karteninformationen direkt an den Kartenanbieter weiter. Dieser konzentriert sich im Bereich des Data Mining hauptsächlich auf die Bereiche Klassifikation und Clustering. Die so erhaltenen Analyseergebnisse werden zur weiteren Verarbeitung wieder an die Händler zurückgegeben. Die Händler sind dabei jedoch nicht von der Benutzung der Analyseergebnisse des Kartenanbieters abhängig. Auch sie besitzen die Möglichkeit, aufbauend auf den schon vorhandenen Analyseergebnissen, weiterhin Data Mining zu betreiben. Als Einsatzgebiete sind dabei, wie von mir vorgestellt, beispielsweise die Kundensegmentierung und Käuferidentifikation zu Marketingzwecken oder die Bonitätsprüfung zu nennen. Ziel der Händler ist es letztendlich, den Kunden ein personalisiertes Angebot anzubieten, um auf diesem Wege Wettbewerbsvorteile gegenüber Konkurrenten zu erlangen. 301 10 Datenanalyse im Marketing 302 11 Verwendung personalisierter Daten im Web Christian Reitenberger Gegenwärtig ist zu beobachten, dass die Nachfragebedürfnisse der Kunden schnell und oft wechseln. Die Anbieter, speziell die eines Online-Shops, stehen deshalb vor der Herausforderung, ihre Produkte und Dienstleistungen immer wieder auf die einzelnen Nachfrager personalisiert auszurichten. Online-Shops haben durch hohe Bequemlichkeit und zeitunabhängiges Einkaufen einen guten Stellenwert, jedoch fehlt den Kunden in vielen Fällen Kundenbetreuung und der persönliche Kontakt. Die Personalisierung gilt als probates Mittel, um die oben erwähnten Probleme zu lösen und die Beziehung zwischen Anbietern und Kunden zu fördern. Gleichzeitig wird die Personalisierung als Maßnahme gegen die wachsende Menge an Informationen zunehmend wichtiger, um die Informationen für die Kunden vorzufiltern. Personalisierung schafft Anbieterloyalität und Kundenbindung und wird dadurch immer unverzichtbarer, speziell in Verbindung mit dem immer noch als anonym angesehenen Internet. 303 11 Verwendung personalisierter Daten im Web 11.1 Einleitung Personalisierung wird in letzter Zeit als Instrument zur Kundenbindung und Neukundengewinnung immer unverzichtbarer. Die nachfolgende Arbeit befasst sich mit der Verwendung personalisierter Daten im Web. Abschnitt 11.2 gibt zunächst einen allgemeinen Überblick und führt einige Definitionen ein. Des weiteren werden mögliche Anwendungsgebiete und Ziele der Personalisierung aufgezeigt. Es werden darüber hinaus kurz die rechtlichen Gesichtspunkte angeschnitten und es wird den Fragen nachgegangen, ob die Erfolge der Personalisierung messbar sind und wenn ja, wie und wo die Vorteile von Personalisierung liegen. Abschnitt 11.3 stellt die Komponenten der Personalisierung vor. Hier wird der Frage nachgegangen, welche Möglichkeiten bestehen um zu personalisieren. Auch beschäftigt sich die Arbeit mit den Fragen, wie der Nutzer wieder zu erkennen ist, wenn er sich nicht per Passwort und Log-in selber identifiziert, und wie der Anbieter an die notwendigen Daten kommt, die er zu einer Personalisierung benötigt. Bei der Identifizierung wird unter drei Möglichkeiten unterschieden, das oben genannte Log-in-Verfahren, Identifikation durch Cookies und durch Web-logs, so genannter Logfiles. An diesen Abschnitt anschließend betrachtet Abschnitt 11.4 die zur Verfügung stehenden Personalisierungstechniken. Der Schwerpunkt dieses Abschnittes sind Recommender Systeme. Abschließend wird anhand von Beispielen Personalisierung in der Praxis vorgestellt. Unterstützend dazu ist ein Ausschnitt der Seite des Online-Shops Amazon [Ama03] dargestellt und es wird ein Fazit gezogen. 11.2 Personalisierung Dieser Abschnitt umfasst eine allgemeine Definition von Personalisierung mit Anwendungsgebieten, Vorteilen und rechtlichen Aspekten. 304 11.2 Personalisierung 11.2.1 Allgemeine Definition Eine allgemein gültige Definition für Personalisierung gibt es nicht. Eine mögliche wäre folgende: Personalisierung ist die Anpassung vorhandener Gegebenheiten und Möglichkeiten an persönliche Bedürfnisse.[RK02] Das kann unter anderem der Arbeitsplatz sein, der nach persönlichen Wünschen eingerichtet wird, in dem Blumen oder Bilder auf dem Schreibtisch aufgestellt werden. Auch die Einrichtung eines Rechners mit Hintergrundbild und Anwendung von Tools ist eine Personalisierung, im allgemeinen die Software-Konfiguration. Die vorliegende Arbeit beschränkt sich jedoch hauptsächlich auf die digitale Personalisierung. Diese umfasst das Internet und dort die Form der Kommunikation per Email in Verbindung mit personalisierter Werbung und der Anpassung von Produkten an Kundenwünsche. Es gibt darüber hinaus auch die analoge Personalisierung, wie das Telefon, das Fax und den Postweg. Hier wird der Kunde angerufen, um an Umfragen oder Gewinnspielen teilzunehmen, auch werden dem potentiellen oder schon gewonnenen Kunden per Fax individuelle Angebote oder Gewinnspiele zugesandt. Jedoch ist die meist angewandte analoge Personalisierung immer noch die Postzustellung, früher mit dem Schriftzug an alle Haushalte“. In” zwischen haben diese personalisierten Angebote die persönliche Ansprache, wie den eigenen Namen und meist den Beisatz ein Angebot ” speziell für Sie“. Zwei Firmen, die diese Art von Personalisierung verfolgen sind z.B. die Süddeutsche Klassenlotterie (SKL) und AOL Time Warner. Diese Art der Personalisierung, d.h. die Ansprache mit dem eigenen Namen im Web ist immer noch für den Anbieter der Personalisierung die einfachste und auch günstigste Art der Personalisierung. Darüber hinaus ist der eigene Name immer noch in der zwischenmenschlichen Ebene das wichtigste Wort im Wortschatz des Menschen. Im Fall der Personalisierung geht es hauptsächlich um Inhalte, die an Individuelle Ansprüche angepasst werden: Personalisierung ist eine Art der Entscheidungsfindung. Hier wird aus einer Menge von Möglichkeiten die Kombination ausgewählt, die dem Betrachter den bestmöglichen Nutzen bringt. In der Web-Personalisierung ist das ganze auf der virtuellen Ebene, nämlich auf Webseiten und per Emailing zu betrachten. Eine mögliche Definition für Web-Personalisierung ist die der Universität Ulm [Ulm01]: Personalisierung ist die Anpas” 305 11 Verwendung personalisierter Daten im Web sung von auf Webseiten angebotenen Informationen an die Interessen des jeweiligen Betrachters durch Auswahl und Darstellung interessanter und Ausschneiden und Weglassen uninteressanter Daten.“ Diese Definition besagt, dass die Möglichkeit auf der Webseite bestehen muss, zu verwenden, um den Benutzer Möglichkeiten zu geben sich die Seite nach seinen Wünschen zu gestalten und einzurichten. Die dargestellten Definitionen sind speziell für Online-Shops von großer Bedeutung. Im optimalen Fall könnte speziell in einem Online-Shop jeder Kunde seine eigene Angebotspallette besitzen, die für ihn vom Anbieter definiert wird. Darüber hinaus sollte der Kunde bei jedem Besuch persönlich angesprochen werden können. Dies wird auch als das so genannte Tante-Emma-Prinzip“ bezeichnet, auf das später ” im Zusammenhang mit den Vorteilen von Personalisierung noch eingegangen wird. Im bestmöglichen Fall bekommt der Kunde nur die Werbung, die ihn interessiert, so dass er nicht von der gebotenen und vorhandenen Informationsflut abgeschreckt wird - sonst wäre die Information verwirrend und er könnte das Interesse verlieren. Es wird also versucht, einen Information Overkill zu verhindern. In dieser Betrachtung der Personalisierung darf nicht vernachlässigt werden, dass Personalisierung ein Werkzeug ist, um Kunden zu binden und um neue Kunden zu werben. Das wichtigste Argument für jeden Anbieter, aus der die Motivation einer umfangreichen Personalisierung resultiert ist in jedem Fall die Tatsache, dass die Konkurrenz in jedem Fall nur einen Mausklick entfernt ist. Im traditionellen Markt dagegen können auch Standorte über Erfolg und Misserfolg entscheiden. Die Kunden berücksichtigen beim Kauf nicht nur den Preis, sondern entscheiden sich manchmal allein aus Bequemlichkeit für den nächst gelegenen Laden. Zwar ist der Preis der Produkte bei Online-Shops noch Kaufkriterium Nummer Eins, aber die Kundenbetreuung spielt eine ähnlich große Rolle und wird immer häufiger das entscheidene Kriterium. Die Preise sind nahezu gleich bzw. werden von den Konkurrenz-Unternehmen angeglichen.[IHK01] 11.2.2 Vorteile der Personalisierung Eine Personalisierung ist zeitlich und finanziell sehr aufwändig. Personalisierung benötigt einen Mehraufwand an Rechnerleistung und Personal. Aus Sicht des Anbieters wird Personalisierung eingesetzt, um ein konkretes Ziel zu verfolgen. Wie in Abschnitt 11.2.1 erwähnt, soll Personalisierung ein Werkzeug sein, um sich von der Konkur- 306 11.2 Personalisierung renz abzusetzen, oder Konkurrenzfähig zu werden. Hauptziel ist aber Neukunden zu werben und speziell vorhandene Kunden zu binden und zufrieden zu stellen. Dies basiert auf der Untersuchung, dass das Werben eines Neukunden fünfmal so teuer ist, wie einen zufrieden Kunden zu binden.[Dit00] Personalisierung wird aus Sicht des Anbieters eingesetzt um personalisierte Werbung zu verschicken z.B. per Email, oder um in den personalisierten Shops damit zu werben. Die Kundenbindung, die Neukundenwerbung und die Frage, ob das Direktmarketing anspricht, lässt sich auch messen und macht dadurch den Erfolg greifbar. Hierzu wird z.B. die durchschnittliche Bestellmenge, die Häufigkeit der Bestellungen und die Häufigkeit der wegen Reklamation, Unzufriedenheit, etc. zurückgesendeten Waren zur Auswertung herangezogen. Auch die Anzahl der Besuche auf der Webseite oder im eigenen personalisierten Shop, genau wie die Zeit, die sich ein Besucher auf der Seite aufhält, lässt sich messen, und gibt Auskunft über die Zufriedenheit des Kunden. Die Intensivierung und Loyalität der Kunden wird durch Personalisierung verstärkt und ausgebaut. Ein erfolgreicher Shop definiert sich nach Österle/Muther [RK02] dadurch, dass der Kunde alles das erhält, was er erwartet ( everything“), wo immer ( everywhere“), ” ” wann immer er es benötigt ( non-stop“) und zwar möglichst effizient ” ( one-stop“), mit persönlicher Ansprache und optimaler Ausrichtung ” auf seine Bedürfnisse ( one-to-one“). Hinzu kommt die Freiheit, dies ” auf dem von ihm präferierten Weg zu tun ( every way“). Die einzi” ge Einschränkung ist der wirtschaftliche Aspekt; das Unternehmen kann nur das anbieten, was auch mit dem Unternehmensziel konform ist und darüber hinaus wirtschaftlich vertretbar ist. Zu den oben erwähnten verfolgten Zielen der Anbieter von personalisierten Seiten oder Online-Shops kommt die persönliche Ansprache hinzu, die dem Internet die Anonymität nimmt und der Kunde sich persönlich angesprochen und individuell bedient fühlt. Aus Sicht des Kunden oder potentiellen Kunden ist Personalisierung Zeitersparnis. Er findet sich schneller auf der von ihm individuell und persönlich definierten Seite zurecht. Der Kunde erhält nur die von ihm gewünschten Informationen, z.B. bei Newslettern oder bei Emailanbietern. Für potentielle Neukunden kann Personalisierung sehr hilfreich sein, da diese in Klassen eingeordnet werden und sich gut betreut und beraten fühlen. Genau wie der Anbieter will der Kunde im Regelfall einen persönlichen Kontakt und somit die Anonymität des Internets aufheben und sich beraten und verpflegt“ wie in einem Tante-Emma-Laden“ fühlen. ” ” 307 11 Verwendung personalisierter Daten im Web In diesem ist er namentlich bekannt und der Verkäufer weiß genau, wen er vor sich hat. In einigen Fällen, oder im bestmöglichen Fall, weiß der Verkäufer sogar, was der Kunde im Regelfall kauft und fungiert in manchen Fällen als eine Art Einkaufszettel“, oder Einkaufs” berater und Bekannter. Um das zu erreichen und die oben erwänte Anonymität aufzuheben, bieten manche Anbieter zusätzlich zu ihrem Internet-Angebot einen virtuellen Berater in Form eines Forums oder eines Chats an, um auch so ein höheres Maß an persönlicher Interaktion zu erreichen und zusätzlich Vertrauen und Vertrautheit zu schaffen.[RK02] Die Kunden haben primär einen höheren Nutzen, der sich langfristig auch für das Unternehmen auszahlen kann, wenn aus dem potentiellen Kunden ein Kunde und aus dem Kunden ein loyaler und zufriedener Kunde wird. 11.2.3 Rechtliche Aspekte Der rechtliche Aspekt wird häufig diskutiert. Speziell in letzter Zeit wurde in Verbindung mit Personalisierung immer wieder das Wort Datenmissbrauch, vermeht bei der Verwendung von , durch die Medien genannt. Cookies werden in Abschnitt 11.3.3 ausführlicher erklärt. Der rechtliche Aspekt ist ein sensibles Thema, denn es ist ein sehr schmaler Grat zwischen einem persönlichen Angebot, oder einer personalisierten Kunden-Verkäufer-Beziehung und dem ungewollten Eindringen in die Privatsphäre. In diesem Abschnitt wird nur kurz auf die Möglichkeiten der Anbieter und Nutzer eingegangen. Zum einen in welchem Umfang die Daten von dem Anbieter verwendet werden dürfen. Zum andern wie sich die Kunden vor Missbrauch schützen können und Einfluss auf die Verwendung ihrer persönlichen Daten haben Der Kunde hat aktiv die Möglichkeit das Sammeln seiner Daten zu verhindern. Er hat die Möglichkeit sich anonym im Internet zu bewegen, wenn er sich über einen Internet-Provider einwählt oder er sich hinter einer Firewall befindet. Darüber hinaus kann er jeder Zeit Cookies deaktivieren, oder sie löschen. Der Benutzer kann von vornherein über seine Browsereinstellungen die Ablage von Cookies auf sein System ablehnen. Er kann auch z.B. bei Fragebögen angeben, dass er seine Daten nicht an Dritte für Werbezwecke weitergeben will, oder dass diese vom Unternehmen verwendet werden dürfen.[IBM02a] Zu dieser aktiven Möglichkeit kommen noch gesetzliche Regelungen, die dem Benutzer einen Schutz vor Missbrauch seiner Daten zusichert. Zum einen ist hier das Bundesdatenschutzgesetz (BDSG)[IBM02a] im 308 11.2 Personalisierung Allgemeinen und zum anderen das Teledienste-Datenschutzgesetz im Besonderen (TDDSG)[IBM02a] zu nennen. Diese zwei Gesetze gelten aber nur für personenbezogene, nicht aber für anonyme Daten. Zu diesem Zweck muss der Unterschied dieser zwei Daten deutlich gemacht werden. Bei anonymen Daten wird nur die Zielgruppe dargestellt, der Zeitpunkt des Zugriffs, der Pfad und die Länge der besuchten Seiten Bei personenbezogenen Daten ist wichtig, welche Person, bzw. welche IP, hinter den Aktionen im Internet sitzt. [Agn01] Im besten Fall sind Name und andere persönliche Daten durch eine Registrierung des Benutzers bekannt. Der Anbieter kann die anonymen Daten für statistische Auswertungen nutzen und Zielgruppen definieren, auch kann er durch speichern von Postleitzahlen (wobei hier die Größe des zu betrachtenden Gebiets rechtlich eine Rolle spielt), Alter und Geschlecht (was nicht unter die personenbezogenen Daten fällt) wichtige Informationen rausfiltern und sich zumindest ein quantitatives Feedback zu verschaffen.[Agn01] Um eine negative Presse zu vermeiden, ist es aus Sicht des Unternehmens ganz wichtig, sich die Einwilligung des Kunden zu holen, bevor die Daten gesammelt, oder diese verarbeitet werden. Diese Einwilligung der Kunden führt nicht zum Verlust von Kunden bzw. potentieller Kunden durch schlechte Publicity. Das Vertrauen der Kunden muss weiterhin gestärkt werden. Der Kunde muss das Gefühl haben, dass er die Daten gerne und freiwillig gibt. Es gibt für den Internetbesucher Möglichkeiten sich vor Missbrauch,ungewünschter Werbung, also im Allgemeinen vor dem Eindringen in die Privatsphäre zu schützen. Für Anbieter gibt es jedoch legale Möglichkeiten, Informationen zu sammeln und diese für Werbezwecke einzusetzen, oder wie oben erwähnt für statistische Auswertungen zu verwenden. Abbildung 11.1 zeigt die Möglichkeiten Daten zu sammeln, um an eine Datenbasis zu gelangen, die für eine Personalisierung notwendig ist. 11.2.4 Mögliche Anwendungsgebiete Es gibt verschiedene Formen von Personalisierungen, wie in Abschnitt 11.2.1 erwähnt. In diesem Abschnitt werden einige Ansätze möglicher Personalisierungsideen aufgezeigt. Es gibt keine allgemein gültige Definition und es ist schwer eine klare Grenze zwischen den einzelnen Ideen zu ziehen, da manche Umsetzungen ineinander übergehen. Nach der Definition der Gartner Group [Gro01], werden fünf Kate- 309 11 Verwendung personalisierter Daten im Web Abbildung 11.1: Sammeln von Daten [unk02b] gorien unterschieden: Inhalte-Personalisierung, Angebots-Personalisierung, Produkt-Personalisierung, Preis-Personalisierung und Service-Personalisierung. Unter der oben aufgeführten Inhalte-Personalisierung wird die Anpassung eines Inhaltes an die explizite und implizite Nutzenpräferenz verstanden. Explizite, vom Benutzer direkte und implizite, vom Benutzer indirekte Informationsbereitstellung wird in Abschnitt 11.3.1 in Verbindung mit den Formen der Personalisierung näher erläutert. Angebots-Personalisierung versucht dem jeweiligen Betrachter oder Kunden das richtige Produkt oder Angebot zu unterbreiten. Daraus kann das optimale Vorgehen abgeleitet werden, für Werbung zum Beispiel. Das Paradebeispiel Dell Computers [Del03] kann in Verbindung mit der Produktpersonalisierung genannt werden, Dell stimmt das Produkt, hier den Computer, individuell auf den Kunden ab, speziell bei der Zusammenstellung der Hard - und Software des Rechners. Preis-Personalisierung setzt eine Käufer-Verkäufer-Beziehung voraus. 310 11.3 Komponenten der Personalisierung Aufbauend auf dieser werden abgesicherte Preis- und Verfügbarkeitsdaten für Dritte zur Verfügung gestellt, als Beispiel ist hier EBAY [Eba03] zu nennen. Service-Personalisierungen umfassen im wesentlichen Chats und Foren, zum einen für den Kundenservice, zum anderen aber auch nur als reine Kommunikationsebene. Das Unternehmen stellt hier dem Kunden einen optimalen Kommunikationskanal zur Verfügung. Weitere Ansätze ergeben sich nach Quocirca Business and IT Analysis.[Quo01] Hierbei wird unter vier möglichen Ansätze unterschieden: Self Service Personalisierung Lifestyle Personalisierung, Personalisierung über kundenspezifische Anpassung und Lernenden Personalisierung. Der Nutzer hat bei der Self Service Personalisierung die Möglichkeit, z.B. bei Portalen die Art und Darbietungsform der auf der Website präsentierten Informationen an seine Bedürfnisse anzupassen. Die Lifestyle Personalisierung versucht auf Basis von Profilen und Analysemethoden, sowie Trends den Output an die Nutzerbedürfnisse anzupassen, d.h. es werden personalisierte Angebote erstellt. Personalisierung über kundenspezifische Anpassung bietet dem Kunden die Möglichkeit sich Angebote und Artikel selbst zu konfigurieren und zu personalisieren. Der Kunde stellt sich über Tools, die der Anbieter zur Verfügung stellt, z.B. das Layout der Seite und das Angebot selber zusammen Bei der Lernenden Personalisierung geht es um das System, nicht um den Internetbesucher selbst. Dieses versucht aus dem Verhalten der Internetbesucher zu lernen und auf der Grundlage der Informationen darauf zu reagieren. Dieses System vergleicht z.B. neu erhaltene Daten mit schon erstellten Benutzerprofilen und ordnet die neuen Daten in Klassen ein. 11.3 Komponenten der Personalisierung Dieser Abschnitt befasst sich mit den Möglichkeiten an Informationen zu gelangen, um eine gute Datenbasis für die Personalisierung 311 11 Verwendung personalisierter Daten im Web zu bekommen. Darüber hinaus werden Möglichkeiten dargestellt die Kunden, bzw. Internetbesucher wieder zuerkennen. 11.3.1 Formen der Personalisieung Bevor eine Personalisierung sinnvoll und auch langfristig lohnend ist, versuchen die Anbieter auf Basis von gesammelten Daten ein zu erstellen. Diese Daten können direkt vom Kunden kommen, oder diese können auch durch das Verhalten des Kunden herausgefiltert werden. Am besten ist die Kombination dieser zwei Möglichkeiten, nämlich der expliziten und impliziten Datenerfassung. Unter expliziten Daten, versteht man das bewusste, bzw. direkte Bereitstellen der Daten durch den Internetbesucher. Beispiele hierfür wären Newsletter, Fragebögen, die Teilnahme an Gewinnspielen und Softwareregistrierung. Bei den genannten Beispielen muss der Nutzer meistens animiert werden, durch Prämien und Preise korrekte Daten abzugeben, bzw. sinnvolle Daten zu liefern. Untersuchungen zeigen, dass 90% der Internetbesucher bereit sind, bei Auszahlung einer Prämie persönliche Daten bereit zu stellen.[Kra99] Da nur korrekte und sinnvolle Daten zu einem sinnvollen und für Werbezwecke zu benutzenden Ergebnis führen, die Richtigkeit der Daten ist für die Personalisierung das wichtigste Kriterium. Die Erfahrung zeigt jedoch, dass diese Form nur von wenigen Kunden, bzw. Internetbenutzern angenommen wird, wenn der Aufwand zu hoch ist, oder die Konfiguration zu komplex ist.[RK02] Bei der impliziten Datenerfassung, gibt der Internetbesucher unbewusst, bzw. indirekt seine Daten preis. Diese werden durch die Analyse des Verhaltens z.B. durch die Methoden der Clickstream-Analyse ausgewertet. Die Clickstream-Analyse wertet das Verhalten bei den Besuchen von Webseiten aus und erfasst den Pfad mit dem der Internetbesucher durch das Internet surft“. ” Auch die Auswertung des Kauf- und Surfverhalten stellt eine Basis für die Daten dar, um ein Benutzerprofil zu erstellen. Jedoch kann diese Datenerfassung nur durchgeführt werden, wenn auf der Seite ein genügend großer Benutzerkreis zu finden ist und dementsprechend eine große Anzahl an Daten vorhanden und so eine sinnvolle Auswertung möglich ist. Darüber hinaus können Daten auch offline gewonnen werden,z.B. in Call Centern. Um aber wirklich langfristig eine gute und effektive Personalisierung zu schaffen, muss man die Daten ständig sammeln und jede Transaktionsphase einzeln auswerten. So- 312 11.3 Komponenten der Personalisierung mit kann die Qualität der Daten verbessert werden, was speziell bei guten und treuen Kunden von großer Bedeutung ist, da das Kaufverhalten oft und stark variiert. 11.3.2 Einbinden der Informationen Wie in 11.3.1 beschrieben wird ein sinnvolles Benutzerprofil durch die Kombination expliziter und impliziter Daten erstellt und einer ständigen Sammlung dieser. Man versucht auf Basis dieses erstellten Benutzerprofils dem Kunden personalisierte Angebote und personenbezogene Werbung zu unterbreiten. Im folgenden wird dargestellt, wie ein Benutzerprofil in einzelnen Schritten entsteht. Zunächst ist der Internetbesucher dem Anbieter unbekannt. Durch interessante Inhalte und unkomplizierte Handhabung muss sein Interesse geweckt werden. Der Kunde wird im Falle eines Interesses an der Seite, eines Emailanbieters oder an einem Portal sein Interessengebiet selektieren und sich die Inhalte individuell einrichten. Nach diesem Schritt lässt sich mit Einrichtung eines ein Primärprofil erstellen. Im nächsten Schritt wird ein Transaktionsprofil erstellt. Durch Auswertung des Click-, Surf- und evtl. auch schon des Kaufverhaltens wird ein Feinprofil erstellt, das so genannte Sekundärprofil, das sehr viel detaillierter ist. Bis hierhin handelt es sich um ein Front-Office und bis auf den letzten Punkt ist es ein reines Kunden-, d.h. der Kunde hat einen sehr hohen Aufwand und stellt die Informationen bereit. Danach folgt eine Clusterbildung und es beginnt das Back-Office, der Anbieter-. Hier versucht der Anbieter die Kunden in wirtschaftliche Gruppen zusammen zufassen, daraus wird das Zielgruppen-Profil herausgearbeitet. Der letzte Schritt ist die Einordnung der Kunden als individuelles Mitglied der Community mit den bekannten Präferenzen und Vorlieben des Internetbesuchers. [Son01] Das Beispiel kann auch mit anderen Techniken durchgeführt werden, auf die in Abschnitt 11.4 eingegangen wird. 11.3.3 Identifikation der Internetbenutzer 11.3.3.1 Logfiles Es ist für den Anbieter möglich, anonyme Daten zu sammeln, die nicht unter das in Abschnitt 11.2.3 aufgeführte BDSG fällt und Internetbenutzer wieder zu erkennen. Anonyme Daten werden z.B. in 313 11 Verwendung personalisierter Daten im Web gespeichert. Diese speichern sämtliche Zugriffe auf Dateien einer Webseite und werden von einem Webserver protokolliert. Jede Zeile im Logfile entspricht einem Zugriff auf eine Datei der Webseite. Dieser Zugriff, auch genannt, entspricht einer Aufforderung eines Computers an den Webserver, eine bestimmte Aufgabe zu erledigen. Meistens lautet dieser Befehl das Senden einer Datei. Die so gesammelten Daten werden fortlaufend in eine Datei geschrieben, Abbildung 11.2 ist ein Ausschnitt eines solchen Logfiles, welches auch Protokoll- oder Log-Datei genannt wird. ... 192.168.156.36 [20/Jan/2002:19:35:09 +0100] “GET / HTTP/1.1” 200 25641 www.devmag.net “http://www.devmag.net/” “Mozilla/4.0 (compatible; MSIE 5.5; Windows ME; DigExt)” ... Abbildung 11.2: Ausschnitt eines Logfiles Diese Zeile beschreibt einen kompletten Aufruf einer Seite, die aus einer festen Struktur besteht. Die Zeilen der Logfiles sind nach einem bestimmten Schema aufgebaut. Als erstes wird die IP - Adresse gespeichert, manchmal auch der Provider, mit dem sich der Benutzer ins Internet eingewählt hat. Jedoch kann man anhand dieser nicht immer sehen, ob es sich um eine eindeutige IP - Adresse handelt. Auch weiß man nicht, ob es sich nur um einen Nutzer handelt, oder um verschiedene, die den gleichen Rechner benutzen. Jedoch ist diese IP innerhalb einer Session eindeutig und identifiziert den Internetbesucher. Der zweite Eintrag - auch Informationsblock genannt - ist das Datum und die Uhrzeit, und zwar in GMT-Zeitformat (bei MEZ wird eine Stunde aufsummiert). Die Bezeichnung Get“ legt fest, welche ” Daten vom Server an den Client geschickt wurden. Dieses wird in einem Protokoll codiert, hier in http. Es gibt auch die Möglichkeit eines Eintrages Heads“, welcher meistens bei Suchmaschinen auftaucht. ” Hier wird das letzte Änderungsdatum dargestellt und gegebenenfalls wird abgewogen, ob die Seite neu indexiert wird. Die folgende Zahl stellt den Rückgabecode, bzw. Statusmeldung da, hier die Kennzahl 200, die bedeutet, dass der Zugriff erfolgreich war und der Server die Anforderung der Clients fehlerfrei erhalten, sie verstanden und akzeptiert hat. Weitere Rückgabecodes sind im folgenden: 314 11.3 Komponenten der Personalisierung 204 No Content Das Dokument, welches angefordert wird enthält keine Daten 206 Partial Content Die Übertragung wurde unterbrochen. Dies kann vom Browser aus geschehen, oder bei einem Update der Seite. 300 Multiple Choices Es gibt mehrere (ähnliche) Dateien. Der Server kann die Datei nichteindeutig ermitteln, und bietet mehrere Auswahlmöglichkeiten. 301 Moved Permanently Die Datei wurde an einen anderen Ort verschoben. 304 Not Modified Die Datei wird komplett aus dem Cache (Server und/oder Clientseitig) geladen. 400 Bad Request Der Webserver versteht“ die Anfrage nicht. ” 401 Unauthorized Sie sind nicht autorisiert, diesen Bereich zu betreten. 403 Forbidden Der Zugriff auf die angeforderte Datei wird verweigert 404 Not Found Die Datei wurde nicht gefunden (ist nicht vorhanden), oder der URL wurde falscheingegeben. 500 Internal Server Error, ein unbekannter Server Fehler ist aufgetreten. Oftmals entstehen diese durch falsche Anwendung von .htaccess - Dateien, oder durch Fehler im CGI. 503 Service Unavailable Der Server kann die Anfrage zeitweilig nicht bearbeiten, z.B. bei Wartungsarbeiten Die Zahl vor der URL ist die Anzahl der gesendeten Daten in Byte, bei Kenntnis der Gesamtgröße der Datei, kann erkannt werden, ob die Datei vollständig übertragen wurde. Bei einer indirekten Anfrage, z.B. über einen Link einer anderen Seite, oder über eine Suchmaschine, hier der erste URL in Abbildung 11.2, welche den Zugriff erzeugt hat, werden beide URL eingetragen. Zum einen die, die den Eintrag erzeugt hat, also die Seite die zuerst aufgerufen wurde, bspw. 315 11 Verwendung personalisierter Daten im Web www.google.de [goo03], diese wird als Referer-Seite bezeichnet. In dem vorliegenden Beispiel ist sie www.devmag.net [dev03]. Bei einem direkten Zugriff auf eine Seite entfällt die zweite URL, d.h. es würde nur die Seite angezeigt werden, die den Zugriff erzeugt hätte. Als letztes werden nähere Informationen zu dem Client, bzw. zu dem System von welchem der Aufruf getätigt wurde gespeichert. Der verwendete Browser, bis zu dem ,in diesem Beispiel wird ein Internet Explorer Version 5.5 verwendet und der Benutzer arbeitet mit einem Windows ME Betriebssystem. [Dev02] Diese Daten der Logfiles können für statistische Auswertungen verwandt werden. Speziell bei Suchmaschinen werden so die Rankings kontrolliert. Außerdem bilden sie die Basis für eine Clickstream-Analyse. Das Problem der Logfiles ist, dass sie im rohem Zustand sehr viele Einträge enthalten, die den wahren Verkehr einer Seite verfälscht wiedergeben und deshalb zu falschen Ergebnissen führen könnten. Daher müssen Logfiles im Vorfeld einer Analyse sorgfältig aufbereitet werden. Ein weiteres Problem stellen so genannte Cache-Mechanismen dar. Diese legen angeforderte Seiten in einem lokalen Zwischenspeicher (Cache) ab und verfälschen dadurch die Anzahl der Seitenaufrufe. Diese Problem kann minimiert werden, indem man den User motiviert, oder zwingt“ die Seite re” gelmäßig zu aktualisieren. Die einzelnen Einträge der Logfiles werden zu einer Session zusammengefasst. Die entstehende Einheit, d.h. der gesamte Verlauf eines Internetbesuches wird gebündelt und gesamt betrachtet, darunter fallen die versch. Seitenaufrufe eines Benutzers. Die Bündelung wird als Sitzung oder Session bezeichnet, um eine genaue Auswertung, z.B. der Verweildauer zu erlangen werden nur die Daten zur Auswertung herangezogen, die zwischen zwei Seitenaufrufen maximal eine halbe Stunde betragen.[unk02b] 11.3.3.2 Cookies Eine weitere Möglichkeit die Internetbesucher zu identifizieren ist die Speicherung in Cookies. Cookies sind Einträge in der Datei COOKIES.TXT oder im Verzeichnis COOKIES auf dem Rechner des Teilnehmers. Sie werden von Webservern generiert und beim nächsten sich anschließenden Zugriff des Teilnehmers auf den die Cookies erzeugenden Webserver wieder an diesen übermittelt. Man unterscheidet im Allgemeinen zwischen persistent gespeicherten Cookies, d.h. dauerhaft abgelegten Cookies, die datenschutzrechtlich sehr diskutiert werden und transistente Cookies, die nur innerhalb einer Session 316 11.3 Komponenten der Personalisierung gespeichert werden, das bedeutet, dass Cookies eine so genannte Le” bensdauer“ besitzen. Erreicht ein Cookie sein Verfallsdatum“, wird ” dieses automatisch vom Browser gelöscht. Name und Ablageverzeichnis sind abhängig vom eingesetzten Browser. Auch manuell können Cookies und diesen Verzeichnissen gelöscht werden, oder sie können, wie in Abschnitt 11.2.3 erwähnt über das Option-Menü des Browsers deaktiviert oder von Anfang an nicht zugelassen werden. Ein weiterer Punkt ist das Datenvolumen durch die Cookies, es dürfen maximal 20 cookie-Einträge eines einzelnen Servers auf dem Rechner erzeugt werden, wobei jeder Eintrag wiederum maximal 4 KB haben darf. Die Gesamtzahl der auf den Rechner gespeicherten Cookies darf 300 nicht überschreiten. In Abbildung 11.3 ist ein Auszug einer solchen Textdatei zu sehen. Jedes Tupel, d.h. jede Tabellenzeile steht dabei für ein Cookie. Abbildung 11.3: Auszug einer Cookiedatei [Unk02a] In der ersten Spalte wird die Domäne, hier .spiegel.de“ dargestellt, ” an die die Information weitergegeben wird. Die zweite Spalte legt das flag fest, es gibt an, ob alle Rechner dieser Domäne auf den Cookie lesenden Zugriff haben, bei TRUE“(wahr) ist das der Fall. Bei dem ” Eintrag FALSE“(falsch) hätte nur ein Rechner den Zugriff. Mit der ” Pfadangabe in der dritten Spalte kann weiter eingeschränkt werden, an welchen Server die Informationen übertragen werden. Dieser Eintrag gilt hauptsächlich für die Informationsübertragung. In den meisten Fällen steht in dieser Spalte ein einfaches / “, was bedeutet, ” dass die Informationen grundsätzlich gesendet werden. Eine weiterer möglicher Eintrag wäre ein Verzeichnis. In diesem Fall wird der Cookie nur dann zurückgegeben, wenn die rufende Seite in diesem oder in einem Unterverzeichnis liegt. Der Secure -Eintrag in der vierten Spalte beinhaltet eine verschlüsselte Anfrage. Nur wenn in den Zeilen ein TRUE“ steht, wird die Information übertragen, das wäre der ” Fall wenn eine sichere Verbindung zwischen Client und Server vor- 317 11 Verwendung personalisierter Daten im Web liegt, d.h. wenn Hypertext Transfer Protocols (HTTPS) verwendet werden. In der fünften Spalte wird die Gültigkeitsdauer in codierter Form gespeichert. Nach dem Verfallsdatum“ wird die Information ” nicht mehr gesendet. Die letzten zwei Spalten der Cookiedatei enthalten den Namen und den Wert bzw. Inhalt des Eintrages. Ein Problem dieser Speicherung ist die Akzeptanz der Cookies von den Internetbesuchern, wie schon in Abschnitt 11.2.3 erwähnt, auf Grund der Gefahr des Missbrauchs der Daten. Die Gefahren bei Verwendung von Cookies können für den Benutzer sein, dass über ihn Statistik geführt wird, was seine Besuche anbetrifft. Auch kann sein Surfverhalten auf dem besuchten Server gespeichert werden. Es kann durch Cookies in einigen Fällen zu Netzbelastungen und damit verbundene Wartezeiten kommen. Jedoch haben Cookies auch Nutzen, bei einem wiederholten Dialog mit den gleichen Anbietern müssen die Daten nicht erneut eingegeben werden, das hat eine Zeitersparnis zur Folge und ist bequemer. Es gibt verschiedenste Verwendungsmöglichkeiten. Z.B. werden Cookies in Verbindung mit persönlich zugeschnittenen Webseiten verwendet. Als Beispiel ist hier My Yahoo“[Yah03], ” oder Amazon [Ama03] zu nennen. Eine der populärsten Anwendungen für den Einsatz von Cookies ist die eindeutige Benutzererkennung für das Nutzen diverser Online-Angebote. Internetbesucher mit dynamischen IP-Adressen werden trotz der geänderten IP-Adresse bei einem weiteren Besuch wieder erkannt und müssen so nicht wieder alle Einstellungen erneut tätigen, etc.. 11.3.3.3 explizite Benutzerregistrierung Die Identifikation durch explizite Benutzerregistrierung ist die einfachste Möglichkeit für den Anbieter Internetbesucher, bzw. Kunden wieder zuerkennen. Hier wird ein Benutzername und ein Passwort gewählt, über die der Besucher der Seite bei einem erneuten Log-in wieder erkannt werden kann. Das bedeutet diese Daten sind für eine Wiedererkennung notwendig. Es gibt auch die Verbindung zwischen der expliziten Benutzerregistrierung und Cookies, z.B. bei Banken. Die Einstellungen bleiben bestehen und der Anbieter der Webseite kann dem Kunden individuelle Angebote schicken. Der Kunde wird oft gebeten einige Angaben zu machen, meist in Form eines Fragebogens, bevor ein Konto, bzw. ein Account für ihn angelegt wird. Diese Art von Identifikation ist auch für die Pflege- und Updatemöglichkeiten die einfachste, denn der Benutzer kann in den meisten Fällen 318 11.4 Personalisierungstechniken z.B. selbst seine Daten ändern, oder auch seine neue Interessen generieren. Er kann somit bei Bedarf in eine neue Klasse von Kunden eingegliedert werden. Dies hat sowohl für den Kunden, als auch für den Anbieter Vorteile. Der Kunde bekommt aktualisierte Werbung oder Angebote entsprechend seiner neuen Interessen oder Angaben, und der Anbieter erhält immer die aktuellsten Daten. Explizite Benutzerregistrierung findet man oft bei Emailanbietern, Online-Shops, Banken aber auch bei Foren und Chats. 11.4 Personalisierungstechniken Es gibt verschiedene Techniken der Personalisierung von Inhalten. Im folgenden sollen drei wichtige vorgestellt werden: Zum einen die Clusteranalyse in Verbindung mit den Recommender Systemen; zum anderen die Assoziations- und Sequenzanalyse, auf der typische Bewegungspfade dargestellt werden und darüber hinaus die Klassifikationsanalyse mit Entscheidungsbäumen und neuronalen Netzen. 11.4.1 Clusteranalyse Abbildung 11.4: Die Clusteranalyse nach Clarans[FPSS96c] Das Ziel einer Clusteranalyse ist laut Späth [Spä83] die Zusammenfassung der zu klassifizierenden Objekte zu Klassen, so dass die Objekte innerhalb einer Klasse möglichst ähnlich und die Klassen untereinander möglichst unähnlich sind. Die Clusteranalyse möchte durch Algorithmen eine Segmentierung erreichen, speziell auf Basis der expliziten und impliziten Daten. Es gibt verschiedene Clusterverfahren, die alle angewandt werden können, um das oben genannte Ziel 319 11 Verwendung personalisierter Daten im Web zu erreichen. Die Wahl der jeweiligen Clusterverfahren ist abhängig von dem gewünschten Ergebnis und den vorhandenen Eingabedaten. Durch eine Vorauswahl bestimmter Datensätze, z.B. Aussortieren der so genannten Ausreiser aus der Statistik, kann die Effizienz gesteigert werden. Zum Beispiel bei einem Vergleich von Supermärkten wie Aldi, Lidl, Pennymarkt und Feinkost-Käfer, wäre letzteres ein Ausreißer; Feinkost-Käfer ist zwar auch ein Supermarkt, würde aber das durchschnittliche Ergebnis verfälschen, und die Auswertung wäre nicht sinnvoll. Da Käfer z.B. ein anderes Warenangebot besitzt und die Käuferschicht eine andere ist. Wichtig für eine sinnvolle Auswertung ist darüber hinaus die Definition, wie viele Cluster gebildet werden sollen und über wie viele Durchgänge der Algorithmus gehen soll. Abbildung 11.5: Auswahl einiger Clusterverfahren[Dui01] Man unterscheidet partionierende und hierarchische Clusteringverfahren. Sie werden im folgenden kurz beschrieben. Graphentheoretische Verfahren werden vernachlässigt. Im partionierenden Verfahren werden die Daten in k Cluster eingeteilt, wobei jeder Cluster C aus mindestens einem Objekt besteht, jedes Objekt höchstens einem Cluster angehört und die Cluster sich nicht überlappen. Partionierende Verfahren umfassen mehrere Ansätze z.B. den k-means- und den k-medoid- Ansatz. Hier werden Cluster durch zentrale Punkte dargestellt, die kompaktesten Cluster werden rausgefiltert. Es gibt darüber hinaus die Erwartungsmaximierung. Hier werden Cluster 320 11.4 Personalisierungstechniken durch Gaußverteilungen repräsentiert und die Zugehörigkeit eines Objektes zu einem Cluster wird über Wahrscheinlichkeiten dargestellt. Gaußverteilungen sind eine statistische Kennzahl. Statistische Kennzahlen spielen bei der Clusteranalyse eine große Bedeutung. Auch bei hierarchischen Verfahren, wo das Distanzmaß, bzw. Unähnlichkeitsmaß und umgekehrt das Ähnlichkeitsmaß für Auswertungen herangezogen wird. Als letzter Ansatz für partionierende Verfahren gibt es das dichte-basierte Clustering. Hier werden Cluster durch Regionen geringerer Dichte voneinander getrennt. In Abbildung 11.4 wird die Clusteranalyse nach CLARANS dargestellt, zur Veranschaulichung der oben beschriebenen drei Ansätze des partionierende Verfahren. Im ersten Bild ist der k-mean und kmedoid- Ansatz dargestellt. Das erste Bild weist die kompaktesten Cluster auf, hier werden die einzelnen Punkte den einzelnen Clustern zugeteilt. Auf dem zweiten Bild ist die Erwartungsmaximierung dargestellt, die in das erste Bild zusätzlich die Zugehörigkeit eines Objektes zu einem Cluster in Form der Wahrscheinlichkeit ergänzt. Im letzten Bild kommt der Dichte basierte Ansatz dazu, dieser trennt die Cluster noch einmal weiter auf. Hierarchische Verfahren sind noch mal unterteilt in verschiedene untergeordnete Verfahren, auf die in dieser Arbeit nicht näher eingegangen wird. Diese teilen den Eingaberaum nicht nur in disjunkte Cluster ein, d.h. die Verfahren trennen die Cluster nicht nur, sondern bauen gleichzeitig noch eine Hierarchie von Clustern auf. Verfahren hierfür sind wie oben schon erwähnt das Unähnlichkeits- bzw. Ähnlichkeitsmaß aus der Statistik. Die Clusteranalyse bietet sich an, wenn Inhalte nach Zielgruppen stark variieren und kein einheitliches Ergebnis gefunden werden kann. 11.4.2 Recommender Systeme Recommender Systeme sind Empfehlungssysteme“. Sie schließen au” tomatisch von vorhandenen Informationen auch auf neue Daten. Bevor jedoch Recommender Systeme eingesetzt werden, müssen die Daten schon vorverarbeitet sein, z.B. durch Data Mining. Techniken des Data Minings sind die in Abschnitt 11.4.2 genannte Clusteranalyse, die in Abschnitt 11.4.3 folgende Assoziations- und Sequenzanalyse und in Abschnitt 11.4.4 folgende Klassifikationsanalyse. Es gibt eine Vielzahl von Empfehlungen auf der Basis dieser Vorverarbeitung: Nicht-Personalisierte - Empfehlung 321 11 Verwendung personalisierter Daten im Web Attribut-basierte - Empfehlung Item-to-Item“ - Korrelation und ” People-to-People“ - Korrelation; die People-to-People“ - Kor” ” relation ist wiederum unterteilt in – regelbasierte - und – kollaborative Filterung Nicht - Personalisierte - Empfehlungen binden das Individuum nicht ein. Die Grundlage dieser Empfehlung ist der Durchschnitt der Meinungen aller Kunden. Wie in Abbildung 11.6 zu erkennen, wird ein Internetbesucher - in diesem Fall in Form des Männchen auf der linken Seite - modelliert mit einem roten Hut, mit den Durchschnitt der Internetbesucher verglichen. Diese haben zu ihrem roten Hut eine rote Tasche gekauft, bzw. besitzen eine, deshalb wird dem Internetbesucher eine rote Tasche empfohlen, zu sehen auf der rechten Seite der Abbildung 11.6. Die zweite zu betrachtende Form der Empfehlung sind die Attribut basierten Empfehlungen. Hier liegen syntaktische Eigenschaften den gewünschten Objektgruppen zu Grunde, d.h. der Kunde gibt an, welche Eigenschaften das gewünschte Objekt entsprechen soll. In Abbildung 11.7 wird dargestellt, dass ein Internetbesucher die Farbe des gewünschten Objekt definiert in dem betrachteten Beispiel trägt er einen roten Hut und definiert deshalb die Eigenschaft rot. Auf dieser Basis wird im eine rote Tasche empfohlen. Die Item-to-Item“ - Korrelation empfiehlt auf Basis der Produkte ” aus einem Warenkorb weitere sinnvolle Produkte. Ein Beispiel hierfür wäre der Kauf eines Handys. Aus diesem Kauf resultiert die Empfehlung von Handyzubehör, wie z.B. Oberschale, Akku, etc.. Die letzte Form von Empfehlungen ist die People-to-People“ - Kor” relation, die ihrerseits noch mal unterteilt wird in Content-BasedFiltering, auch regelbasierte Filterung genannt und in kollaboratives Filtern, die soziale Filterung“. ” Bei der regelbasierten Filterung werden aus Verhaltensregeln und inhaltlichen Zusammenhängen Empfehlungssysteme erarbeitet, die nach dem WENN - DANN“ - Konzept arbeitet. Ein Beispiel hierfür ” 322 11.4 Personalisierungstechniken Abbildung 11.6: Schaubild zu Nicht-Personalisierte Empfehlungen [Buc01] wäre: wenn ein Kunde z.B. ein Hemd kauft wird ihm direkt eine Krawatte empfohlen, da diese zwei Sachen zusammenhängen und meist zusammen gekauft werden. In Abbildung 11.8 ist diese Filterregel zu sehen. Der Kunde kauft einen roten Hut - modelliert durch das Männchen auf der linken Seite -. Auf Grund der Erfahrungen ist bekannt, dass jeder, bzw. eine Vielzahl der Kunden, die einen roten Hut gekauft, auch eine rote Tasche gekauft haben, bzw. eine solche besitzen. Diese wird dem Kunden dann empfohlen und im besten Fall aus Sicht des Anbieters, bzw. Händlers wird diese auch gekauft. Im Unterschied dazu bezieht sich die kollaborativen Filterung auf statistische Muster von Kundengruppen und legt keinen Wert auf den Inhalt, d.h. die Präferenzen eines Kunden werden mit denjenigen an- 323 11 Verwendung personalisierter Daten im Web Abbildung 11.7: Schaubild zu Empfehlungen[Buc01] Attribut-basierten Abbildung 11.8: Schaubild zu regelbasierter Filterung[Buc01] derer Kunden abgeglichen. Die Filterung könnte mit einer Art Mund - zu -Mund - Propaganda verglichen werden. Abbildung 11.9 zeigt, dass jeder der nach einem roten Hut fragt, bzw. einen roten Hut kauft - modelliert durch das Männchen auf der linken Seite - auch eine grüne Tasche kauft. Auf Grund des Kaufverhalten der anderen Kunden, wird der Kauf eine grünen Tasche empfohlen. Andere Kunden empfehlen die grüne Tasche zu dem roten Hut. Recommender Systeme sind eng mit dem Erfolg der Personalisierung verknüpft, denn ist die Empfehlung gut und treffend kann es sein, dass aus einem potentiellen Kunden ein Kunde wird. Es kann auch aus einem Kunden ein zufriedener Kunde werden, da sich dieser gut 324 11.4 Personalisierungstechniken Abbildung 11.9: Schaubild zu kollaborativen Filterung[Buc01] beraten und individuell betreut fühlt und deshalb häufiger und mehr kauft. 11.4.3 Assoziations und Sequenzanalyse Die Assoziations- und Sequenzanalyse ist hauptsächlich die Analyse typischer Bewegungspfade, auch Click-Stream“- Analyse genannt. ” Die Datenbasis für diese Analyse sind die in Abschnitt 11.3.3 beschriebenen Logfiles. Es gibt auch hier einige unterschiedliche Verfahren wie z.B. den Apriori - Algorithmus, hierarchische, quantitative Assoziationsregel und die Fuzzy Assoziationsregel. Sie sind für die Aussage über zeitliche Entwicklungen des Konsumverhaltens wichtig. Beispiele hierfür sind die Auswertungen, nach wie vielen Clicks“ es ” zum Kauf kommt, oder nach welchem zeitlichen Abstand der nächste Kauf getätigt wird. 11.4.4 Klassifikationsanalyse In dem Klassifikationsverfahren werden Kunden in bestimmte Klassen eingeordnet, z.B. in Käufer und Nichtkäufer“. Hierbei teilt ein ” 325 11 Verwendung personalisierter Daten im Web Klassenattribut ein unbekanntes Objekt in eine vorher bekannte Klasse ein. Die meist verwendeten Werkzeuge hierfür sind Entscheidungsbäume und Neuronale Netze. Die Vorteile von Entscheidungsbäumen sind die leicht verständlichen Ergebnisse. Abbildung 11.10: Auszug eines Entscheidungsbaums einer Bank Nicht klassifizierte Objekte wandern von der Wurzel“ dieses Ent” scheidungsbaums zu einem Blatt“ und werden dadurch klassifiziert ” auf Grund der bestimmten Attribute. Entscheidungsbäume verzweigen automatisch nach den Attributen, die die beste Selektion ermöglichen, um eine sinnvolle Auswertung zu erhalten. Sie erfordern aber einen hohe Rechenaufwand und es besteht die Gefahr zu kleiner Segmente. Neuronale Netze ermöglichen das Auffinden beliebiger Muster und sind gut geeignet für Vorhersage-Modelle. Die entstandenen Ergebnisse sind jedoch schwer zu erklären und neuronale Netze benötigen einen rechenintensiven Lernprozess. Es gibt aber noch eine Vielzahl von anderen Möglichkeiten wie Bayes - Klassifikatoren. Diese sind gut geeignet für Textklassifikationen und erhalten bei genauer Durchführung die höchste Klassifikationsgenauigkeit. Sie sind aber 326 11.5 Praxisbeispiele nicht immer einsetzbar und werden nicht näher erläutert. Ein weiteres Verfahren sind Nächste - Nachbarn - Klassifikatoren. Bei den Klassifikationsverfahren gilt das gleiche wie bei der Clusteranalyse. Ein bestes Verfahren ist nicht oder nur schwer auszumachen. Je nach Einsatzgebiet liefert jeder Ansatz unterschiedlich gute und sinnvolle Ergebnisse. 11.5 Praxisbeispiele In dieser Arbeit wird das Paradebeispiel der Personalisierung, nämlich die Homepage von Amazon [Ama03] in Form zweier Screenshots dargestellt und ausgewertet. Darüber hinaus werden noch andere Beispiele aus der Praxis genannt und kurz erklärt. Abbildung 11.11: Screenshot der Homepage des Online Händlers Amazon [Ama03] Auf der Abbildung 11.11 sind verschiedene Auswertungen zu erkennen, die zu einer Personalisierung geführt haben. Wenn ein Internetbesucher auf die Seite von Amazon kommt und z.B. ein Buch sucht, 327 11 Verwendung personalisierter Daten im Web in diesem Beispiel Harry Potter. Auf diese Anfrage hin bekommt der Inetrenetsesucher ein Buch empfohlen, in diesem Fall das aktuellste, mit den Beisatz, das könnte ihnen gefallen“. Es könnte sich hierbei ” um die Nicht-Personalisierte Empfehlung handeln oder die Attribut - basierte Empfehlung. Denn der Benutzer wählt Harry Potter, der Großteil der Kunden wollte genau diesen Band und hat ihn gekauft. Es kann auch sein, dass der Kunde in eine Gruppe eingeordnet wird und diese hat sich auch bei den gewünschten Eigenschaften für das Buch entschieden. In diesem Fall wurde Harry Potter Buch als Grundlage genommen. Darüber hinaus gibt es auf der vom Betrachter aus rechten Seite eine Sparte Lieblingslisten. Hier werden Güterbündel von schon abgeschlossenen Transaktionen von Kunden aufgeführt als Anregung möglicher Kauf-Kombinationen. Der Vorteil hierbei ist, der Kunde kann sich in eine der vorhandenen Klassen selbst einordnen, wie hier z.B. Harry Potter Fan oder Leser und kann zusätzlich zu dem von ihm favorisierten Buch sich Anregungen holen. In der oberen Leiste kann der Kunde sich zum einen selber ein Log-in besorgen, welches für eine Transaktion benötigt wird. Dieses kann mit dem Button rechts oben mein Konto“ gepflegt und überwacht werden. In ” meinem Konto“sind die bereits bestellten Waren zu sehen und das ” dazugehörige Datum, die Empfehlungen, etc.. Ein Vorteil hierbei ist die One - Click -Bestellung, hierbei werden alte Daten, wie Kontonummer oder Adresse, die aus der vorherigen Transaktion gespeichert wurden aufgerufen. Der Kunde muss diese nicht erneut eingeben. Auf der Abbildung 11.12 lassen sich noch mehr Empfehlungsformen wieder finden. Die kollaborative Filterung wurde durchgeführt, um dem Kunden weiterführende Empfehlungen auszusprechen. Diese wurden auf der Basis der Präferenzen von Kunden im Vergleich zu den eigenen Präferenzen. ( Kunden, die dieses Buch gekauft haben, ” haben auch diese Bücher gekauft:“). Amazon stellt auf ihrer Seite auch ein Forum zur Verfügung als Kommunikationsmöglichkeit. Amazon setzt in diesem Fall die in Abschnitt 11.2.4 vorgestellte Service-Personali-sierung um. Diese hat den Vorteil hat, dass der Kunde objektive Meinungen zu dem Buch erhält, die nicht vom Anbieter selbst kommen (Rezensionen). Amazon stellt auch noch weitere Serviceleistungen zur Verfügung, die dem Kunden das Gefühl gibt, gut betreut zu sein und individuell beraten zu werden, wie zum Beispiel die statistische Auswertung, wie den Verkaufsrang, was einen Trend wieder spiegelt. Als weite- 328 11.5 Praxisbeispiele Abbildung 11.12: Screenshot der Homepage des Online Händlers Amazon [Ama03] re personalisierte Internetseiten kann man EBAY [Eba03] nennen, die durch die in Abschnitt 11.2.4 genannte Preispersonalisierung die Kunden bindet. EBAY stellt auf der Basis der bekannten KundenVerkäufer- Beziehung Nutzerdaten zur Verfügung zu bekannten Preisen. Kunden bekommen Daten, meistens Informationen über Produkte und EBAY stellt die Kommunikationsebene dafür bereit. Auch Comdirect[com03] ist eine personalisierte Internetseite, bzw. bietet Tools an, die der Kunde nutzen kann um sich z.B Portfolios und Watchlists zu generieren. Es gibt kaum noch eine Seite die nicht in irgendeiner Art und Weise mit Personalisierung oder den daraus resultierenden Empfehlungen arbeitet. Auch Emailanbieter, wie gmx, oder yahoo, sowie Suchmaschinen altavista, etc. verwenden Personalisierungstechniken, um individuelle Angebote und Werbungen an die Kunden zu verschicken. 329 11 Verwendung personalisierter Daten im Web 11.6 Fazit Immer mehr Menschen benutzen das Internet zum Einkaufen. Mit der wachsenden Anzahl der Internetbenutzer, gibt es immer mehr Onlineshops, die in einem starken Konkurrenzkampf stehen. Die Konkurrenten sind in jedem Fall nur einen Mausklick entfernt. Für jedes Unternehmen ist die Kundenbindung das höchste Gut, da diese eng mit dem Erfolg des Unternehmens in Verbindung steht. Das Unternehmen kann dies über den Preis erreichen, jedoch ist dieser alleine kein Instrument Kunden zu binden. Das wichtigste Instrument Kunden zu binden ist die Personalisierung, da bei Preisen die Konkurrenz nachziehen kann. Jeder einzelne Kunde muss ernst genommen, seine Bedürfnisse und seine Beschwerden erkannt und befriedigt, bzw. ausgeräumt werden. Dafür muss das Unternehmen ständig Informationen sammeln und dem Kunden Möglichkeiten geben sich zu äußern, z.B. in Foren. Der After - Sale - Service ist ein probates Mittel die Kundenzufriedenheit zu stärken, dieser Service kann ein Teil der Personalisierung sein. Personalisierung versucht durch ständiges Datensammeln die Kunden-Profile zu verdichten und so effektiver individualisierte Dienste anbieten zu können, wie personalisierte Werbung und Angebote. Personalisierung ist nur dann effektiv, wenn sie langfristig ausgelegt ist und mit qualitativ hochwertigen, d.h. mit sehr genauen Daten arbeitet. Personalisierung bringt bei erfolgreicher Anwendung dem Anbieter einen wirtschaftlichen Nutzen. Jedoch muss der Mehraufwand an Rechnerleistung, Zeit und finanzielle Ressourcen, der für Personalisierung notwendig ist, aus Sicht des Anbieters, ebenfalls berücksichtigt werden. Die Internetbenutzer haben durch Personalisierung eine Zeitersparnis, denn die gebotene Informationsflut wird für sie selektiert, und sie bekommen nur die gewünschten Informationen. Auch wird durch Personalisierung die Angst genommen, wie z.B. die Anonymität des Internets. Doch die Gefahr besteht, dass aus der durchaus gewünschten Personalisierung ein unerwünschtes Eindringen in die Privatsphäre wird und der Kunde regelmäßig auch unerwünschte Newsletter und Werbung bekommt. Ungeachtet dieser Gefahr ist Personalisierung eines der wichtigsten Instrumente Kunden zu binden, Neukunden zu werben und personalisierte Angebote zu unterbreiten. Wir müssen innerhalb unserer Projektgruppe versuchen, möglichst viele und korrekte Daten zu bekommen. Diese müssen in Datenbanken abgespeichert und bereinigt werden. Darüber hinaus müssen wir 330 11.6 Fazit auch Datenschutzrechtliche Aspekte berücksichtigen und durch Auswahl der aufgeführten Techniken zu guten und sinnvollen Benutzerprofilen zu kommen. Wir agieren als Kartenanbieter und bekommen durch die Kartenanmeldung schon demographische Daten, bei einem Einkauf mit dieser Karte bekommen wir darüber hinaus noch Transaktionsdaten. Diese können wir mit den vorhandenen Daten und Informationen in Verbindung stellen und dem Händler ein Benutzerprofil verkaufen, mit dem dieser personalisierte Angebote und Werbung verschicken kann. 331 11 Verwendung personalisierter Daten im Web 332 12 Web Usage Mining Carsten Saathoff Web Mining ist das Anwenden von Data Mining Methoden auf Daten, die im Internet zu finden sind bzw. täglich anfallen. Prinzipiell ist zwischen drei Arten von Daten zu unterscheiden. Dem Inhalt (content), der Struktur (structure) und den Nutzungsdaten (usage) von Websites. Diesen drei Gebieten widmen sich dementsprechend Web Content Mining, Web Structure Mining und Web Usage Mining. Letzteres ist Thema dieser Arbeit und es soll ein Überblick über den Prozess des Web Usage Mining im Allgemeinen gegeben werden. Dazu werden, nach einem kurzen Überblick über das Web Mining allgemein, zuerst einige grundlegende Begriffe erläutert und anschließend der im Web Usage Mining sehr wichtige Prozess der Daten Bereinigung besprochen. In Kapitel 12.4 werden 3 grundlegende Algorithmen kurz exemplarisch vorgestellt. Im 12.5. Kapitel werden die möglichen Methoden zur Auswertung der Mining Ergebnisse diskutiert und in der Zusammenfassung soll abschließend eine Bewertung der vorgestellten Methoden gegeben werden. 333 12 Web Usage Mining 12.1 Einführung Als Web Data Mining, oder kurz Web Mining, bezeichnet man den Prozess des DataMinings auf Daten des Internets. Es wird zwischen drei Typen von Daten unterschieden. Content Der Inhalt einer Website. Structure Die Struktur einer Website, also entweder die Verlinkung einzelner Seiten untereinander oder eine, durch HTML-Tags gegebene, innere Struktur. Usage Die Nutzungsdaten einer Website, wie sie von einem Webserver protokolliert werden. Dementsprechend ist auch das Gebiet des Web Data Mining in drei Felder aufgeteilt, die sich jeweils mit der Analyse der oben beschriebenen Daten befassen. Im folgenden werden die drei Gebiete kurz umrissen. Eine genaue Übersicht über die einzelnen Gebiete finden sich in [CSM97]. 12.1.1 Web Content Mining Auf dem Gebiet des Web Content Minings versucht man Methoden zu entwickeln, mit deren Hilfe man den Inhalt von Websites analysieren kann. Man erhofft sich, auf diese Weise neues Wissen zu entdecken, aber auch Möglichkeiten zu schaffen, mit denen die gebotenen Informationen besser zu erreichen sind. Die Idee geht aus der Tatsache hervor, dass das Internet heutzutage eine sehr grosse Menge an Informationen bereit stellt. Durch das Web Content Mining versucht man, noch unentdeckte Zusammenhänge zwischen einzelnen Informationen zu gewinnen und auf diese Weise neues Wissen zu erlangen. Zum anderen ist es bereits heute ein Problem, mit Hilfe einer Suchmaschine ein Dokument zu finden, dass einem eine bestimmte Information bietet. Suchmaschinen sind heute noch nicht so weit entwickelt, dass sie Zusammenhänge in Dokumenten oder zwischen verschiedenen Dokumenten erkennen, geschweige denn, ein gegebenes Dokument klassifizieren1 können. Eine Suchmaschine sucht das Internet 1 Klassifizieren meint das automatische Einordnen von Daten in Kategorien bzw. Klassen. 334 12.1 Einführung im Prinzip einfach nach neuen oder aktualisierten Dokumenten ab und indiziert diese mit sehr einfachen Methoden. Somit sind nur Anfragen möglich, die auf rein textueller Basis funktionieren. Sucht man z.B. nach dem Begriff Dynamo und möchte eigentlich etwas über die physikalischen Hintergründe erfahren, ist es sehr wahrscheinlich dass man ebenso Produkt Empfehlungen zu Dynamos findet, wie Montage Anleitungen in Foren zum Thema ”Selbst ist die Frau”. Es ist nur sehr schwer und mit viel Ausprobieren möglich, die Suchergebnisse einzugrenzen. Daher versucht man Methoden zu entwickeln, die es ermöglichen Inhalte möglichst automatisch zu klassifizieren. Damit soll es möglich sein, solche Suchanfragen besser verarbeiten zu können und der User soll besser mit der Informationsvielfalt im Internet fertig werden können. 12.1.2 Web Structure Mining Web Structure Mining befasst sich mit der Analyse von Struktur Daten. Diese Struktur Daten können unterschiedlicher Herkunft sein. Prinzipiell kann man zwei Typen von Daten unterscheiden. Einmal intra-page Strukturdaten und zum anderen inter-page Struktur Daten. Intra-page Struktur Daten sind Daten, die die innere Struktur einer Seite beschreiben. In der Regel sind das im Web Umfeld Auszeichnungen durch HTML-Tags, es können aber auch XML-Tags sein. HTML bietet nur sehr wenige Tags, und somit können auch nur einfache Strukturen abgebildet werden. Hinzu kommt die Tatsache, dass HTML oft nicht zur Beschreibung einer Dokumentenstruktur verwendet wird, sondern als Sprache, um das Aussehen eines Dokumentes festzulegen. XML hingegen bietet deutlich mehr Möglichkeiten, ist aber im Web Umfeld als Seitenformat nicht sehr verbreitet. Inter-page Strukturdaten hingegen beschreiben die Struktur von Seiten untereinander. Diese Struktur ist durch Hyperlinks gegeben und kann bspw. als Baumstruktur interpretiert werden, wie es im Kapitel 12.4 beim Clustering Algorithmus noch näher erläutert wird. 12.1.3 Web Usage Mining 12.1.3.1 Allgemeine Definition In [Spi00] wird Web Usage Mining als Analyse der Nutzung des Web definiert. Man möchte also analysieren, wie das Web (bzw. in der Regel eine einzige Website) genutzt wird, d.h. im Speziellen, man ist 335 12 Web Usage Mining daran interessiert, wie ein User sich ”über die Site bewegt”. Mit Hilfe von Data Mining Methoden wird versucht sogenannte Web Access Pattern zu finden. Web Access Pattern stellen häufig auftretende Navigationspfade da, also eine Abfolge von Seiten, die die User oft aufsuchen. 12.1.3.2 Motivation Es gibt zwei Hauptmotivationen, die das Interesse an Web Usage Mining erklären. Zum einen möchte man die “Qualität und Akzeptanz einer Website messen” [Spi00] und zum anderen ist man daran interessiert “Nicht-Kunden zu Kunden zu machen” [Spi00] [SPF99] [GST00]. Um die ”Qualität und Akzeptanz” einer Website zu messen, versucht man die Web Access Pattern dahingehend zu analysieren, ob User z.B. auf kurzen Pfaden zu ihrem Ziel gekommen sind, also die Navigation intuitiv genug ist, oder ob angebotene Suchparameter User auf ihrer Suche nach einem Ziel behilflich sind. Man kann auch beurteilen, ob Einstiegsseiten (also z.B. die ”Homepage”) Kunden eher zum weiteren ”Surfen” motivieren oder abschrecken. Um “Nicht-Kunden in Kunden zu wandeln” muss man Kunden und Nicht-Kunden definieren und identifizieren können. Wenn man die Unterschiede im Navigationsverhalten entdeckt, ist es möglich die Navigation so anzupassen, das Nicht-Kunden eher motiviert werden, eine Dienstleistung der Website in Anspruch zu nehmen. 12.1.3.3 Probleme Neben den Problemen, die in ähnlicher Form im Data Mining bekannt sind, also z.B. unreine oder fehlende Daten, und die man hauptsächlich im Daten-Vorverarbeitungsschritt beseitigt, gibt es im Web Usage Mining noch ein ganz spezielles Problem, das hier besprochen werden soll. Ein Internet User hat in der Regel großes Interesse daran, im Internet anonym zu sein. Er möchte nicht, dass man erkennen kann wer er ist, geschweige denn Informationen über ihn bekommt, wie z.B. seine e-Mail Adresse oder etwa seine richtige Adresse. Der Betreiber einer Website hingegen hat großes Interesse daran, möglichst viel über einen User zu erfahren. Somit kommt es hier zu einem Interessenkonflikt. 336 12.1 Einführung Gerade Cookies oder Login-Daten sind bei der Analyse von großer Hilfe. Jedoch stehen User eben solchen Techniken skeptisch gegenüber, da sie bspw. Cookies nach wie vor mit Mitteln gleichsetzen, mit denen sie ausspioniert werden sollen. Setzt man bei einer öffentlichen Seite voraus, dass ein User ein Login beantragen soll, ist die Gefahr groß, dass man potentielle User abschreckt. Letztlich muss man einen möglichst guten Kompromiss zwischen der Anonymität, die man einem User gewähren möchte, und den Daten, die man unbedingt in Erfahrung bringen möchte, finden. Lässt es die Anwendung zu, kann man die Datenangabe auch freiwillig machen und gewisse Daten nur verarbeiten, wenn diese auch vorhanden sind. Weiteres zu den Möglichkeiten im Abschnitt 12.1.3.4. Um einen Standard zu schaffen, der zwischen Website-Betreibern und Usern vermitteln kann, hat das W3C ein Projekt Namens P3P (Plattform for Privacy Preferences) (http://www.w3c.org/P3P) ins Leben gerufen. P3P hat das Ziel, ein Framework zu erschaffen, mit dem es für Website-Betreiber möglich ist, Angaben über die Daten zu machen, die von ihnen ausgewertet und gesammelt werden. Auf diese Art und Weise sollen User beim ersten Aufruf einer Seite entscheiden können, ob sie das Angebot nutzen oder es meiden wollen. 12.1.3.4 Formen des Web Usage Mining Man kann zwischen zwei Formen des Web Usage Mining unterscheiden: Web Usage Mining - Impersonalized Bei dieser Form werden keinerlei personenbezogene Daten in den Mining-Prozess mit einbezogen. Man analysiert das Verhalten eines Users also nur Anhand der Nutzungsdaten, die man im Web Log gesammelt hat. Diese Form ist geeignet, wenn man einem User maximale Anonymität gewähren möchte. Web Usage Mining - Personalized Hier werden zusätzlich zu den reinen Nutzungsinformationen ebenfalls personenbezogene Daten zum Mining herangezogen. Somit kann man das Verhalten mit Hilfe anderer Daten interpretieren. Voraussetzung ist natürlich der Zugriff auf Benutzerprofile, wie sie z.B. bei einer Anmeldung gesammelt wurden, oder auf Daten, die z.B. aus Warenkorbanalysen stammen. 337 12 Web Usage Mining In diesem Fall, kann ein User natürlich nicht mehr Anonym sein. Zur Identifikation gibt es unterschiedliche Methoden. Eine Möglichkeit sind Cookies, aber mit den bereits oben angesprochenen Problemen. Selbiges gilt für die Lösung mit einem Login. In Shops hingegen, muss der User spätestens bei einer Bestellung bekannt geben, wer er ist. Somit ist bei derartigen Systemen eine Identifikation des Users nachträglich möglich. Man kann bei Fehlen der zusätzlichen Daten auf das Web Usage Mining - Impersonalized zurückgreifen. 12.1.4 Gliederung Im folgenden Kapitel sollen die nötigen Grundlagen geschaffen werden, die zum Verständnis des Web Usage Mining Prozesses nötig sind. Das beinhaltet hauptsächlich die Definition einiger, im Web-Umfeld gebräuchlicher, Begriffe. Anschließend wird der Schritt der DatenVorverarbeitung erläutert. Dieser Schritt ist aufgrund der sehr unreinen Daten von großer Bedeutung für die Qualität der Ergebnisse. Dieses Kapitel hängt sehr stark mit dem Grundlagen Kapitel zusammen. Im 12.4. Kapitel folgt die Vorstellung von 3 Algorithmen, die exemplarisch verschieden Ansätze demonstrieren sollen. Im 12.5. Kapitel werden einige Methoden erläutert, wie man die Mining-Ergebnisse aus dem vorigen Kapitel weiterverwenden kann. Zum Abschluss wird eine Zusammenfassung gegeben, in der die zentralen Punkte noch einmal aufgezeigt werden sollen. Außerdem soll gezeigt werden, wie Web Usage Mining speziell im Kontext der Projektgruppe Personalisierung internetbasierter Handelsszenarien eingeordnet werden kann. 12.2 Grundlagen Im Web Usage Mining gibt es einige Begriffe, die eine sehr zentrale Rolle spielen, da sie die Grundlage aller Überlegungen sind, die in diesem Forschungsfeld gemacht werden. Als erstes wird daher ein kurzer Überblick über die Funktionsweise des Internets gegeben, der allerdings nicht als vollständig angesehen werden sollte. Anschließend werden die Begriffe Web Log, User und Session erläutert. Dabei wird direkt auf die Probleme und Lösungen eingegangen, mit denen man bei der Daten-Vorverarbeitung zu kämpfen hat. Zum Schluss werden kurz einige weitere Begriffe angesprochen, die oft in Texten zum Thema verwendet werden. 338 12.2 Grundlagen Speziell die Themen Web Log (12.2.2), User (12.2.3) und Sessions (12.2.4) sind auch für das Thema Daten-Vorverarbeitung (siehe 12.3) von großer Bedeutung. Um diese Themen jedoch nicht unnötig auseinander zu reißen, werden alle Aspekte in diesem Kapitel diskutiert und im Daten-Vorverarbeitungs-Kapitel nur noch einmal kurz wiederholt. 12.2.1 Das Internet Wie bereits in der Einführung erläutert wurde, handelt es sich beim Web Usage Mining um nichts anderes, als die Anwendung von Data Mining Methoden auf Daten des Internets. Damit man besser versteht, woher diese Daten kommen, wie sie entstehen und warum einige Probleme entstehen, die später noch angesprochen werden, wird in diesem Abschnitt ein kurzer Überblick über das Internet und die Technik gegeben, die dahinter steht. Dabei soll nicht auf Einzelheiten der verwendete Protokolle eingegangen, sondern eher ein schematischer Überblick geboten werden. Jede Website wird durch einen Webserver zugänglich gemacht. Ein solcher Webserver ist letztlich ein Programm, welches ständig auf einem Port ”lauscht” und auf HTTP-Requests wartet. Die Form eines HTTP-Requests ist im HTTP-Protokoll definiert [W3C99]. Dort wird die genaue Art des Requests festgelegt (z.B. GET, POST), die gewünschte Seite angegeben und je nach Request-Typ werden noch weitere Daten mitgesendet. Der Webserver überprüft, ob die Seite ausgeliefert werden kann, und sendet bei einem positiven Ergebnis eine entsprechende Meldung und anschließend die Seite. Sollte es zu einem Fehler kommen, wird ein entsprechender Fehler-Code gesendet. Die Rückmeldung des Servers wird Response genannt. Für jeden Request werden bestimmte Daten in einem Log File gespeichert. Zur näheren Beschreibung des Web Log Files siehe 12.2.2. Der Client, also der Rechner, der einen Request an den Webserver stellt, macht dieses in der Regel mit Hilfe eines Browsers, kann unter Umständen aber auch andere Tools dazu verwenden (z.B. wget, mit dem rekursiv von einer Website aus alle verlinkten Seiten lokal auf dem Rechner gespeichert werden können). Der Client, bzw. das Programm auf dem Client, sorgt dafür, dass alle eingebetteten Elemente, wie z.B. Bilder, ebenfalls vom Webserver angefordert werden. Zum Schluss bleibt noch zu erwähnen, dass zwischen Webserver und Client keine persistente Verbindung aufgebaut wird. Das HTTP-Pro- 339 12 Web Usage Mining tokoll ist also nicht verbindungsbasiert, sondern Request-basiert. Die Verbindung wird immer nur für einen Request und die darauf folgende Antwort erstellt und anschließend wieder geschlossen. 12.2.2 Web Log Wie zuvor bereits erwähnt wurde, schreibt der Webserver für jeden eingehenden Request einen Eintrag in das Log File. Welche Daten protokolliert werden, hängt vom verwendeten Format ab. Einige gebräuchliche und standardisierte Formate finden sich auf der Internetseite [Apa] am Beispiel des Apache Web Servers (http:// www.apache.org). Diese Formate können i.d.R. von allen aktuellen Webservern geschrieben werden. Folgend nun ein Beispiel, an dem anschließend die verschiedenen Felder des combined Log-Formates erläutert werden: 134.106.27.61 - - [12/Sep/2002:14:23:07 +0200] "GET / HTTP/1.1" 200 2405 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 134.106.27.61 - - [12/Sep/2002:14:23:07 +0200] "GET /tmsg.png HTTP/1.1" 200 9939 "http://tm.kodemaniak.homeip.net" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" Folgende Felder werden in dieser Reihenfolge im Log File mit dem combined Format geschrieben: Remote Host Die IP-Adresse des Client-Rechners, auch Remote Host genannt. Remote User Der User-Name auf dem Client-Rechner. Diese Information wird in der Regel nicht vom Client mitgesendet, und ist, auch wenn sie gesendet wird, nicht vertrauenswürdig. Daher kann dieses Feld in der Regel ignoriert werden. HTTP-User Der User-Name, mit dem sich ein User beim Webserver angemeldet hat. Dieser Name ist nur bekannt, wenn eine auf dem HTTP-Protokoll basierende Authentifizierung stattfindet. Ist zumindest bei öffentlich zugänglichen Seiten nicht die Regel. Timestamp Der Zeitpunkt, zu dem der Request beim Webserver ankam. Meistens als GMT (Greenwich Mean Time) angegeben und daher mit einem Offset zur lokalen Zeit versehen. 340 12.2 Grundlagen HTTP-Request Die erste Zeile des HTTP-Requests. In dieser ist die Art des Requests sowie die angeforderte Seite zu sehen. In diesem Fall wird /, also das Document Root bzw. die Standarddatei angefordert. Diese heißt meistens index.html oder ähnlich. HTTP-Response Die Antwort des Webservers. Diese Antwort ist ein 3-stelliger Zahlencode, der ebenfalls im HTTP-Protokoll definiert ist. HTTP-Response Size Die Größe der ausgelieferten Datei. HTTP-Referrer Enthält die Seite, von der der Zugriff auf die aktuelle Seite ausging. Das kann bedeuten, dass ein Link zur aktuellen Seite in der Referrer-Seite enthalten war, oder die aktuelle Seite, bzw. in diesem Fall eher die aktuelle Datei, in der Referrer Seite eingebettet war. Ein Beispiel dafür ist ein eingebettetes Bild. Der Referrer ist keine zuverlässige Information, da der User Agent oder z.B. ein Proxy dieses Feld problemlos verfälschen kann. User Agent Der User Agent ist das Programm, mit dem auf die Website zugegriffen wird. In der Regel ist das ein Browser, es kann aber auch ein anderes Programm sein. Dieses Feld ist ebenfalls nicht als zuverlässig anzusehen, da der User Agent auch falsche Informationen mitschicken kann. Wie bereits im Vorfeld erwähnt wurde, kann das Format des Logfiles auch anders definiert sein. Das eben vorgestellte Format ist eines der Standardformate, welche von allen bekannten Webservern auch unterstützt werden. 12.2.2.1 gecachete Seiten Es ist heutzutage so, dass sowohl Browser als auch ProxyServer einen Cache besitzen. Dies bringt dem User in der Regel Performance Vorteile (besonders beim Browser Cache), da nicht mehr jede Seite explizit vom Webserver angefordert werden muss, sondern oft lokal (oder einfach schneller erreichbar) im Cache vorhanden ist. Der Nachteil fürs Web Usage Mining liegt da, dass eine Seite, die aus dem Cache ausgeliefert wird, nicht mehr als Zugriff im Weblog auftaucht. Diese Tatsache liegt natürlich auf der Hand, da ja auch 341 12 Web Usage Mining keine Anfrage an den Webserver gestellt wird. Mit Hilfe von Heuristiken und zusätzlichem Wissen über die Struktur der Seite lassen sich fehlende Zugriffe allerdings teilweise rekonstruieren. Außerdem werden gerade bei dynamischen Seiten, die Sessions (siehe 12.2.4) verwenden, sogenannte no-cache-Header mitgeschickt. Diese Header sorgen dafür, dass Proxy Server diese Seiten nicht zwischenspeichern. Das ist zum einen wichtig, damit keine sensiblen Daten im Cache liegen und so versehentlich an fremde Personen ausgeliefert werden können, zum anderen sorgt es aber auch dafür, dass jeder Zugriff auf eine Seite auch ein Zugriff auf den Webserver bedeutet. Allerdings werden vom Browser Seiten, die durch das Benutzen der ”Vor”- und ’Zurück”-Buttons aufgerufen werden, in der Regel dennoch aus dem lokalen Cache geladen. 12.2.3 User Der User ist der Mittelpunkt des ganzen Web Usage Mining Prozesses. Er ist derjenige, über den man etwas erfahren möchte. Prinzipiell interessiert uns dabei erstmal nicht, wer er genau ist, sondern es interessiert uns nur, dass ein und derselbe User während eines bestimmten Zeitraumes eine Abfolge von Zugriffen auf unsere Website veranlasst hat. Möchte man zusätzliche Informationen über bestimmte User mit in den Mining- oder Analyse-Prozess einfließen lassen, ist es notwendig Methoden zu finden, einen User im Web Log eindeutig zu identifizieren. Dazu ist es natürlich nötig, dass der User sich irgendwann eindeutig identifiziert, z.B. durch ein Login oder bei der Bestellung in einem Shop. Sessions können dabei auch von großer Hilfe sein. (siehe 12.2.4) 12.2.3.1 Definition Es geht nicht darum einem ”User” etwa einen Namen zuzuordnen oder eine Kundennummer, sondern das Ziel ist, eine Reihe von Zugriffen als zusammengehörig zu definieren. Der Begriff User ist dabei mehr im abstrakten Sinne zu verstehen, also als Konzept, um Zugriffe zu gruppieren. Natürlich kann man diesem abstrakten Konzept später noch eine reale Person zuordnen, allerdings ist das für die hier besprochenen Probleme nicht von Belang. 342 12.2 Grundlagen 12.2.3.2 Probleme bei der Identifizierung Bereits im Kapitel zum Web Log (12.2.2) wurde erwähnt, dass in öffentlichen Seiten meistens keine HTTP-Authentifizierung durchgeführt wird. Dies hat zwei Gründe: Zum einen möchte man es einem User nicht zumuten, dass er erst ein Login beantragen muss, um bspw. Produkte in einem Shop betrachten zu können, und zum anderen ist die HTTP-Authentifizierung nicht sehr beliebt. Sie ist sehr unsicher, da Passwörter unverschlüsselt übertragen werden, und zwar bei jedem Request und sie lässt sich nicht ohne weiteres in den Auftritt integrieren, da das Login-Formular vom Browser dargestellt wird. Daher ist man heutzutage dazu übergegangen, alternative Methoden zu nutzen. Z.B. Authentifizierung mit Hilfe geeigneter Programmiersprachen (PHP, JSP, Perl, . . . ) zu implementieren. Die Tatsache, dass man keine HTTP-Authentifizierung benutzt, hat aber natürlich auch zur Folge, dass keinerlei Login Daten im Web Log stehen. Man muss sich also überlegen, wie man dennoch Zugriffe einem User zuordnen kann. Es ist nahe liegend die IP-Adresse als guten Kandidaten zur Identifikation eines Users anzusehen. Allerdings nur unter der Bedingung, dass sie auch wirklich eindeutig den Rechner eines Users identifiziert. Leider ist genau das aber nicht der Fall. Die IP-Adresse ist zwar eine eindeutige Kennung eines Rechners, der mit dem Internet verbunden ist, jedoch muss der Rechner, der den Zugriff auf den Webserver durchführt nicht zwingend der Rechner des Users sein. Man kann zwei Fälle unterscheiden, bei denen die IP nicht als eindeutige Identifizierung dienen kann: dynamische IP Die meisten Leute wählen sich heutzutage über einen ISP in das Internet ein. ISP’s verwenden in der Regel dynamische IP’s. Daher ändert sich die IP-Adresse eines Users jedes mal, wenn er sich neu einwählt. Da man nicht sicher sein kann, dass ein User während einer Session auf der Website nicht die Verbindung verloren hat, ist die IP keinen eindeutige Identifizierung für einen User. Zusätzlich gibt es auch ISP’s, die IPAdressen für jeden Zugriff neu verteilen (siehe Proxies). Proxy Wird ein Proxy-Server genutzt, führt dieser den Zugriff auf den Webserver durch. D.h. der Webserver bekommt nie mit, welche IP Adresse der User hat. Dementsprechend wird auch nur die IP-Adresse des Proxy-Servers im Weblog festgehalten. 343 12 Web Usage Mining Diese beiden Fälle sind im Übrigen Beispiele für Synonyme (dynamische IP) und Homonyme (Proxy), die in der Daten-Vorverarbeitung fürs Data Mining bekannt sind. Ein weiteres Problem können Rechner bedeuten, die von mehreren Personen genutzt werden. Ein Beispiel dafür wäre der Computer einer Familie, von dem aus erst der Vater und dann die Mutter etwas im selben Shop bestellt. Im Web Log könnten diese beiden Personen ebenfalls nicht anhand der IP-Adresse auseinander gehalten werden. Ähnliche Beispiele sind Internet Café’es oder etwa Universitäten mit Rechnerräumen. 12.2.3.3 Methoden zur Identifikation Cookies Es ist möglich sogenannte Cookies zu verwenden. Mit der Hilfe von Cookies ist es möglich, Daten auf dem Client-Rechner zu speichern. Die Cookies werden bei jedem Request auf die Seite wieder mitgeschickt. Das Problem ist, dass ein User einen Cookie ablehnen kann, und dies auch oft tut, da Cookies in der ”populären Fachpresse” oft als Mittel zum Ausspionieren eines Users dargestellt wurden. Lässt ein User dennoch einen Cookie zu, kann man in diesem eine eindeutige Kennung speichern, die bei jedem Request mitgesendet wird. Man kann empfangene Cookies vom Webserver mitprotokollieren lassen und hat somit eine Möglichkeit, einen User anhand der Kennung zu identifizieren. Da Cookies auch über eine längere Zeit gespeichert werden können, ist es somit sogar möglich, den selben User über mehrere Sessions hinweg zu identifizieren. Clientseitige Datensammlung Eine weitere Möglichkeit, den User eindeutig zu identifizieren, ist die Datensammlung bei dem User. Dieses Vorgehen nennt sich Clientseitige Datensammlung. Dazu ist es allerdings nötig, dass der User sich spezielle Software auf seinem Rechner installiert, die dann das Verhalten des Users protokolliert und regelmäßig an eine zentrale Stelle übermittelt. Allerdings ist es unwahrscheinlich, dass ein User sich spezielle Software auf seinem Rechner installiert, um eine Website zu besuchen. Er wird sich in diesem Fall einfach eine Website suchen, bei der er keine zusätzliche Software benötigt. Dieses ist im Besonderen der Fall, wenn es Software ist, die das Verhalten des Users analysieren soll. Man kann also auch für diese Methode festhalten, dass sie für öffentliche Seiten nicht geeignet ist und höchstens in Intranets oder evtl. 344 12.2 Grundlagen in Forschungsprojekten eingesetzt werden kann. Heuristische Verfahren Es wurden einige Heuristiken entwickelt, mit denen es möglich ist, aus den reinen Weblog Daten heraus, User zu identifizieren. Ein Beispiel ist z.B.: Wenn man Zugriffe auf die Website hat, die auf Teile der Website gehen, die nicht durch Verlinkung oder den bisherigen Pfad miteinander verbunden sind, so stammen die Zugriffe von unterschiedlichen Usern. Das bedeutet also, dass Zugriffe auf zwei Seiten, von denen die eine durch die andere nicht direkt erreichbar ist, in der Regel nicht vom selben User kommen. Diese Heuristik beruht auf der Tatsache, dass ein User selten URL’s direkt im Browser eingibt, sondern in der Regel Links auf einer Seite folgt. Es gibt noch weitere Heuristiken, auf die hier aber nicht eingegangen wird, da sie grundsätzlich ungenau sind, die Anwendung vieler Heuristiken und das Interpretieren der Einzelergebnisse umständlich ist, und im nachfolgenden Abschnitt eine deutlich bessere Lösung präsentiert wird. Serverseitige Sessions Die vierte und wahrscheinlich beste Möglichkeit, einen User zu identifizieren, ist die Verwendung serverseitiger Sessions. D.h. es wird mittels einer serverseitigen Programmiersprache (PHP, JSP, Perl, . . . ) eine sogenannte Session angelegt. Dies geschieht beim ersten Besuch eines Users auf einer Website. Der User bekommt danach eine eindeutige Session-ID zugeordnet, die entweder durch Cookies oder durch URL-Parameter übertragen wird, wenn der User Cookies ablehnt. Die Session wird in der Regel beendet, wenn der User eine bestimmte Zeit lang keinen Zugriff mehr getätigt hat. Da die Session ID unabhängig von der IP verteilt wird, sondern sich nur danach richtet, ob der User bereits eine ID hatte oder nicht, werden die meisten Identifikations-Probleme umgangen. Natürlich ist es möglich, dass der User den Cookie löscht oder aus irgendeinem Grund den URLParameter verliert. In diesem Fall wäre die Session ebenfalls unterbrochen. Allerdings ist dieser Fall eher unwahrscheinlich, und damit ist diese Methode sicherlich am besten geeignet, um einen User zuverlässig zu identifizieren. 345 12 Web Usage Mining Da die Session-ID entweder als Cookie oder in der URL übertragen wird, kann man diese ID auch im Weblog wiederfinden und somit problemlos auswerten. Werden zu jeder Session-ID weitere Userdaten gespeichert ist auch Web Usage Mining - Personalized problemlos durchführbar. Serverseitige Sessions können nicht nur bei der Identifikation eines Users helfen, sondern auch bei der Bestimmung einer User Session, wie sie im Kapitel 12.2.4 eingeführt wird. Prinzipiell sind serverseitige Sessions immer dann problemlos einsetzbar, wenn ohnehin eine dynamische Seitengenerierung verwendet wird. Besteht der Auftritt aus statischen Seiten, wäre allerdings auch eine Lösung mit einem Webserver-Modul oder einem Proxy Server denkbar. 12.2.3.4 Zusammenfassung Man hat gesehen, dass es nicht ohne weiteres möglich ist, einen User zu identifizieren. Allerdings gibt es Möglichkeiten, um die Probleme mehr oder weniger erfolgreich zu umgehen. Welche Methode für den speziellen Fall verwenden will, muss individuell entschieden werden. Generell ist die Methode mit serverseitigen Sessions sicherlich die einfachste und zuverlässigste. Die Daten auf dem Client zu sammeln ist wiederum die mächtigste, aber nur in sehr eingeschränkten Szenarien denkbar. 12.2.4 Sessions Der dritte Hauptbegriff ist die Session 2 . Eine Session soll Zugriffe eines Users auf die Site zusammenfassen. 12.2.4.1 Definition Die allgemeinen Definition einer Session lautet [Spi00]: Eine Session ist eine Abfolge von zusammengehörenden Zugriffen eines Users auf eine Website. Diese Definition ist intuitiv verständlich, wirft aber die Frage auf, wie ”zusammengehörend” definiert werden kann. In [Spi00], [SCDT00], 2 Diese Session ist der serverseitigen Session zwar sehr ähnlich, aber es es nicht das Selbe gemeint 346 12.2 Grundlagen [MCS99] werden daher zwei Wege vorgeschlagen Sessions zu modellieren. Der erste nennt sich inhaltsbasierte und der zweite dauerbasierte Sessionmodellierung. 12.2.4.2 Inhaltsbasierte Sessionmodellierung In [Spi00] werden Methoden vorgeschlagen, mit deren Hilfe man Sessions inhaltlich modellieren kann. Diese Methoden erlauben es dem Analysten zwar, die Definition einer Session sehr genau auf sein persönliches Ziel hin abzustimmen, sie bringen aber auch Nachteile mit sich. Folgend werden die Methoden kurz erläutert. Zugriffsfolge auf unbesuchte Seiten Die erste Methode definiert eine Session als eine Folge von Zugriffen auf noch unbesuchte Seiten. Diese Methode bringt allerdings zwei gravierende Nachteile mit sich. Zum ersten ist sie auf hierarchisch strukturierten Seiten nicht einsetzbar. Bei eben solchen Seiten ist es in der Regel so, dass ein User z.B. beim Durchsuchen eines Produktkataloges immer wieder vom Produkt zurück in einen Katalog springt, um sich ein weiteres Produkt anzuschauen. Jedes mal, wenn der User den Katalog erneut aufsucht, würde seine Session beendet. Der zweite Nachteil ist, dass im Regelfall 50% aller Zugriffe auf bereits besuchte Seiten gehen[TG97]. Man kann also festhalten, dass diese Methode nur für ganz spezielle Seiten geeignet ist, und für den Großteil öffentlicher Seiten eher ungeeignet ist. Einteilung in Seitentypen Die zweite Methode schlägt vor, alle Seiten in Seitentypen einzuteilen. Beispiele für solche Seitentypen sind: Head-Seiten Einstiegsseiten, also die Seiten einer Website, die User in der Regel als erstes aufrufen. Navigationsseiten Seiten die hauptsächlich der Navigation dienen und keinen oder nur sehr wenig Content enthalten. Content-Seiten Die Seiten, die den eigentlichen Content einer Website darstellen. Es ist natürlich möglich, noch weitere Seitentypen zu definieren, wenn die spezielle Anwendung dies verlangt. Vorteil dieser Methode ist ganz 347 12 Web Usage Mining eindeutig die Tatsache, dass eine Session sehr genau modelliert werden kann, allerdings auf einer Ebene die noch überschaubar bleibt. Trotzdem hat auch diese Methode einen großen Nachteil. Wenn man eine Session z.B. als Head-Navigation-Content modelliert, der User aber die gewünschte Contentseite nicht findet, kann man seine Zugriffe nicht als Session erkennen. Aber genau dieses möchte man erkennen können, da Web Usage Mining ja gerade zum Ziel hat, eine Seite zu verbessern. Findet ein User den Content nicht, deutet das schon darauf hin, dass an einigen Stellen noch etwas verbessert werden kann, um den User das nächste mal sicher zum Ziel zu führen. Die Tatsache, dass solche Fälle nicht abgedeckt werden können, sind daher ein sehr großer Nachteil dieser Methode. Zugriffe auf ähnlichen Content Mit der dritten Methode wird eine Session als eine Folge von Zugriffen auf Seiten mit ähnlichem Content definiert. Zum Beispiel nur Zugriffe auf Seiten mit Science-Fiction Büchern oder nur Zugriffe auf Seiten mit Klassik-CD’s. Auch diese Methode macht inhaltlich Sinn, hat aber den selben Nachteil, wie bereits die vorangegangene Methode. Findet ein User die Content-Seiten nicht, werden diese Zugriffe nicht als Session erkannt, und somit kann auch das Problem nicht erkannt werden. 12.2.4.3 Dauerbasierte Sessionmodellierung Die inhaltsbasierte Sessionmodellierung bietet zwar gute Möglichkeiten, eine Session für das jeweilige Mining Ziel möglichst gut zu modellieren, hat aber auch einige gravierende Nachteile. Daher wird in [Spi00] und [SCDT00] eine dauerbasierte Sessionmodellierung vorgeschlagen. Dabei werden alleine die zeitlichen Aspekte der Zugriffsfolge beachtet, und keinerlei inhaltlichen. Es gibt zwei Regeln, die einzeln oder auch zusammen zur Identifizierung einer Session verwendet werden können: Unterscheidung anhand einer oberen zeitlichen Grenze, die eine Abfolge von Zugriffen nicht überschreiten darf. Unterscheidung anhand einer oberen zeitlichen Grenze, die der Abstand zwischen zwei aufeinander folgenden Zugriffen nicht überschreiten darf. 348 12.2 Grundlagen Die erste Regel besagt also, dass alle Zugriffe eines Users, die innerhalb einer bestimmten Zeit statt finden, zur selben Session gehören. Die zweite Regel besagt hingegen, dass jeder Zugriff eines Users, der innerhalb einer bestimmten Zeit nach dem letzten Zugriff des selben Users stattfand, noch zur aktuellen Session des Users gehört. Die Zeitschranken werden auch oft als Timeout bezeichnet. Auf die selbe Art und Weise entscheidet man auch bei serverseitigen Sessions, ob ein Zugriff eines Users noch zur letzten Session gehört, oder ob eine neue initialisiert wird (auch wenn der User eine SessionID besitzt). Man kann hier also sehen, dass serverseitige Sessions nicht nur Vorteile bei der User-Identifizierung bringen, sondern auch die Session-Identifizierung übernehmen, da die Konzepte im Prinzip die gleichen sind. 12.2.5 Begriffe Zum Abschluss des Grundlagen-Kapitels sollen noch einige gebräuchliche Begriffe erläutert werden. Viele dieser Begriffe wurden durch das W3C WCA (Web Characterization Actvity) festgelegt. Momentan ist dieses Projekt jedoch inaktiv. Diese Begriffe werden ebenfalls in [SCDT00] kurz erklärt. page-view Alle Dateien (bzw. Zugriffe auf Dateien) die nötig sind um eine Seite der Website darzustellen. Dieser Begriff geht aus der Tatsache hervor, dass ein User nicht explizit nach eingebetteten Bildern oder Frames fragt, sondern nur die komplette Seite explizit anfordert. click-stream Eine Folge von page-views. user-session click-stream eines Users über das ganze Web. server-session Der Teil einer user-session, der nur auf einer Website stattfand. episode Semantisch bedeutungsvoller Teil einer user- oder serversession. Web Access Pattern Häufig auftretende Zugriffssequenz. 349 12 Web Usage Mining 12.3 Daten-Vorverarbeitung Ziel der Daten-Vorverarbeitung ist es, die vorliegenden Daten von Verunreinigungen zu befreien und die bereinigten Daten evtl. in ein Format zu transformieren, mit dem der Mining-Algorithmus effizienter arbeiten kann. Ersteres bedeutet falsche oder nicht repräsentative Daten zu entfernen. Solche Daten werden oft auch als “Rauschen” bezeichnet. Die Transformation der Daten beinhaltet verschiedene Dinge. Ein wichtiger Teil im Web Usage Mining ist die Identifikation von Usern und Sessions, wie bereits im vorherigen Kapitel erläutert wurde. Ein weiterer Punkt ist Anwendung von Konzepthierarchien anzuwenden und die Umwandlung des Logs in Graphen, die effizientere Speicherung und Zugriff erlauben. 12.3.1 Entfernung irrelevanter Zugriffe Man versucht die Daten von sogenanntem Rauschen zu befreien, also von Daten, die nicht aus Quellen stammen, die man eigentlich analysieren will. Im Umfeld des Web Usage Mining sind das zum Beispiel Zugriffe von Agenten oder auch Zugriffe auf eingebettete Elemente. Beides sind Zugriffe, die nicht durch eine direkt Useraktion ausgelöst wurden. 12.3.1.1 eingebettete Elemente Unter eingebetteten Elementen versteht man Dateien, die in die eigentliche HTML-Datei eingebettet sind, also z.B. Bilder, Flash-Animationen oder auch Video-Streams. Oft ist es auch so, dass dynamisch mehrere Frames geladen werden, man also auch so mehrere Einträge im Web Log bekommt. Da solche eingebetteten Elemente nicht direkt durch User angefordert sondern versteckt vom Browser geladen werden, spiegeln sie kein User Verhalten wieder und sind somit aus dem Web Log zu entfernen. Man möchte somit erreichen, dass für eine angeforderte Seite A auch nur noch der Eintrag für die Seite A im Web Log steht. Alle Dateien, die zur Anzeige der Seite zusätzlich nötig waren, müssen somit entfernt werden. Es bleibt noch zu erwähnen, dass die Definition von ”irrelevantem Zugriff” natürlich auch von der Zielsetzung der Analyse abhängt. 350 12.3 Daten-Vorverarbeitung Möchte man beispielsweise etwas über das Datentransfer-Volumen erfahren, wäre das Beibehalten der Bilder durchaus sehr wichtig, da Bilder oder andere Multimedia-Dateien in der Regel eine recht großen Teil der übertragenen Datenmenge ausmachen. 12.3.1.2 Agenten Unter Agenten versteht man Computerprogramme, die nicht interaktiv auf eine Website zugreifen. [Spi00] Zugriffe solcher Programme spiegeln natürlich kein Nutzerverhalten in dem Sinne wieder, wie es in der Regel analysiert werden soll. Ein Agent lädt eine Seite runter und verfolgt alle Links die gewissen Bedingungen genügen und fährt rekursiv fort. Beispiele für solche Programme sind z.B. wget, welches benutzt werden kann, um eine komplette Website lokal auf dem Rechner zu speichern. Ein anderes Beispiel ist ein Spider einer Suchmaschine, der ebenfalls komplette Websites absucht und indiziert. Würde man diese Zugriffe im Web Log behalten, würde das die Analyse negativ beeinflussen. Oft setzen solche Agenten das User Agent Feld und es somit leicht einen Zugriff eines Agenten zu identifizieren und zu entfernen. Ist das User Agent Feld jedoch nicht gesetzt, muss man versuchen einen Agenten auf andere Weise zu identifizieren. In der Regel werden dazu Heuristiken verwendet. Beispiele sind z.B.: Vergeht zwischen verschiedenen Zugriffen des selben Users zu wenig Zeit, als das es ein Mensch hätte sein können, kann der User als Agent eingestuft werden und seine Zugriffe entfernt werden. Eine ähnlich Heuristik ist: Wird dieselbe Seite in sehr kurzen Zeitabständen immer wieder angefordert, ist der Zugriff entweder durch eine Agenten entstanden oder aber durch einen Bedienungsfehler eines Users. Die wiederholten Zugriffe sind durch einen einzigen zu ersetzen, der User wird aber nicht als Agent eingestuft. Es gibt noch weitere Heuristiken dieser Form mit denen man User als Agenten identifizieren kann. Natürlich kann man auch hier sagen, dass es Fälle geben kann, in denen man die Zugriffe durch Agenten 351 12 Web Usage Mining behalten möchte. Es ist ebenfalls möglich, dass man noch Zugriffe ganz anderer Art entfernen möchte. Evtl. möchte man nur Teile der kompletten Website analysieren und daher Zugriffe auf andere Teile ganz entfernen. Oder nur Zugriffe die von bestimmten IPs aus stattfanden etc. Natürlich würden auch derartige Anforderungen in den Daten-Bereinigungsschritt fallen. 12.3.2 Konzepthierarchien In [Spi00] wird die Verwendung von Konzepthierarchien vorgeschlagen. Dabei werden Zugriffe auf Seiten durch abstrakte Objekte ersetzt. Gerade bei Websites mit einer sehr großen Anzahl einzelner Seiten, ist es oft wichtig die einzelne Seite zu abstrahieren, um sinnvolle Web Access Pattern zu finden. Daher ist es gerade wichtig, für den speziellen Fall das richtige Konzept zu finden. Es existieren zwei Herangehensweisen, um Konzepte zu definieren. Einmal eine inhaltsbasiert und zum anderen dienstorientiert. Beide Möglichkeiten werden in den nachfolgenden Abschnitten erläutert. Natürlich lassen sich auch beide Verfahren kombinieren, um die besten Ergebnisse zu erzielen. 12.3.2.1 inhaltsbasierte Konzepthierarchien Beim inhaltsbasierten Ansatz werden die Konzepte aus dem Inhalt abgeleitet, den man modellieren möchte. Ein Beispiel wäre z.B. die Gruppierung von Produktdetailseiten in einem Shop in übergeordnete Produktgruppen, wie z.B. die Abstraktion spezieller Kaffee-Sorten zu dem Konzept Kaffee. 12.3.2.2 dienstorientierte Konzepthierarchien Während der inhaltsbasierte Ansatz intuitiv aus der Definition eines Konzeptes bzw. einer Konzepthierachie hervorgeht, möchte man gerade in dynamischen Seiten Konzepte noch für andere ”Seiten” verwenden. Gerade bei dynamischen Seiten werden einzelne Seite oft durch Suchanfragen generiert. Jeder User benutzt verschiedene Suchparameter und ins Besondere verschiedene Werte für diese Parameter. ähnlich wie man verschiedene Kaffee-Sorten zum abstrakten Konzept Kaffee abstrahiert, möchte man auch die Suchanfragen irgendwie abstrahieren. Dabei hilft der dienstorientierte Ansatz. 352 12.4 Algorithmen Wenn man sich in einem Shop ein Suchformular vorstellt, kann man z.B. nach Produktnummer und Produktname suchen. Jeder User wird gerade für den Namen unterschiedliche Werte nutzen, auch wenn das selbe Produkt gesucht wird. Daher abstrahiert man die einzelnen Suchanfragen derart, dass man nur noch die verwendeten Parameter (also in diesem Fall Name und Produktnummer) beachtet. Man käme in diesem Fall also auf vier Konzepte: Suche nach allen Produkten. Suche nach Produkten mit Produktnummer. Suche nach Produkten mit dem Namen. Suche nach Produkten mit Produktnummer und Name. Alle Suchanfragen werden anschließend durch diese vier Konzepte ersetzt. Somit gehen zwar die genauen Werte der Suchen verloren, man kann im Gegenzug aber z.B. Pattern finden, die Auskunft darüber geben, mit welchen Suchparametern User am häufigsten zum Erfolg kommen. Solche Pattern können einem dabei helfen, die Suchmasken intuitiver zu gestalten oder sogar über alternative Parameter nachzudenken. 12.4 Algorithmen Es ist möglich beim Web Usage Mining allgemeine Data Mining Algorithmen zu verwenden oder auch zu modifizieren, allerdings sind die Anforderungen etwas anders, als in ”traditionellen” Data Mining Feldern, wie z.B. Warenkorbanalyse. Der Unterschied liegt darin, dass in der Warenkorbanalyse z.B. nur nach sog. frequentitemsets 3 gesucht wird. Bei der Analyse von Web-Nutzungsdaten interessieren einen aber unter Umständen nicht nur URL’s die häufig zusammen auftreten, sondern auch URL’s die häufig in der gleichen Reihenfolge zusammen auftreten. Man möchte also auch temporale Aspekte beachten. Daher spricht man nicht mehr von frequent itemsets sondern von Sequenzen. Eine sequence stellt somit immer einen Zugriffspfad 3 “frequent itemsets” bezeichnen Mengen von Ressourcen, die häufig zusammen in einem Warenkorb, einer Session oder ähnlichem auftreten. 353 12 Web Usage Mining dar, also eine Menge von URL’s, die ein User in der Reihenfolge besucht hat, wie sie in der Sequenz angegeben ist. Ein Zugriffspfad der häufig auftritt bezeichnet man auch als Web Access Pattern. Allgemein ist noch zu sagen, dass die Algorithmen natürlich keine Web Access Pattern über den ganzen Daten suchen, sondern immer nur innerhalb von Server-Sessions. Also den einzelnen Sitzungen der User. Nachfolgend werden zwei Algorithmen vorgestellt, die Sequenzen in Web Daten finden. Beide Algorithmen haben leicht modifizierte Sequenzen als Ausgabe, sogenannte g-Sequenzen oder generalisierte Sequenzen. Der dritte Algorithmus ist ein Clustering-Algorithmus, der zwar keine Sequenzen findet, aber dennoch sehr gut geeignet ist, um sogenannte Recommender Systeme zu implementieren. 12.4.1 g-Sequenzen Sei R von nun an immer eine Menge von Ressourcen, in der Regel also URL’s der Website oder eine Menge von Konzepten, falls mit S ∗ Konzepthierarchien gearbeitet wird (12.3.2). R := i∈N Ri ∪ {∅} ist die Menge aller endlichen Zugriffspfade auf den Ressourcen R. |x| ist die Länge einer Sequenz x ∈ R∗ , und es gilt |∅| = 0 sowie |x| = i, ∀x ∈ Ri . Eine g-Sequenz ist dann wie folgt definiert [GST00] [Spi99]: Eine g-Sequenz g ∈ R∗ ist eine Sequenz auf den Symbolen R ∪ {∗}, wobei ∗ kein Element aus R ist. Das Symbol ∗ wird als Wildcard bezeichnet und kann eine beliebige Teilsequenz ersetzen. Dies ist die ”minimale” Definition einer g-Sequenz. Der in 12.4.2 vorgestellte Algorithmus arbeitet mit solchen g-Sequenzen. Der GSMAlgorithmus (12.4.3), für den g-Sequenzen ursprünglich entwickelt wurden, erweitert die Syntax noch (bzw. der Apriori-Clone hat sie eher eingeschränkt): Durch die Angabe von [l, h] direkt hinter einer Wildcard, kann eine Maximal- und eine Minimallänge für die gematchte Teilsequenz festgelegt werden. Durch Angabe von ^ am Anfang der g-Sequenz kann diese an den Anfang einer Session verankert werden. 354 12.4 Algorithmen Der Unterschied zur ”klassischen” Sequenz lässt sich gut an einem Beispiel zeigen: Hat man eine häufige Sequenz AD, so bedeutet dies, dass verschiedene Zugriffspfade dazu beitragen. Z.B. ABCD, AD oder BABCBD. Mann kann also nicht unterscheiden ob die Sequenz am Anfang einer User Session ist und vor allem kann man nicht sagen, wie viel andere Seiten zwischen zwei häufig besuchten Seiten liegen. Gerade letztere ist jedoch eine wertvolle Information, um die Qualität einer Website zu beurteilen. Schließlich ist es ein Unterschied, ob ein User sofort zu seinem Ziel kommt (also über einen kurzen Pfad) oder ob er erst über andere Seiten sein Ziel suchen muss (langer Pfad). Als g-Sequenz hat der Ausdruck AD hingegen die Bedeutung, dass D direkt auf A folgt. Möchte man dasselbe ausdrücken wie eine klassische Sequenz, so müsste man A*D schreiben. Natürlich kann jetzt auch die Länge der Teilsequenz begrenzt werden oder die Sequenz an den Anfang einer Session verankert werden. 12.4.2 Der Apriori-Algorithmus für g-Sequenzen Der Apriori Algorithmus ist im Data Mining allgemein bekannt. Er wurde von Agrawal und Srikant in [AS94] eingeführt und seither auf verschiedenste Weisen modifiziert. In [AS95] wurde ebenfalls von Agrawal und Srikant eine modifizierte Version für Sequenzen vorgeschlagen, welche in [SA96b] noch ein weiteres mal angepasst wurde. Auf dieser letzten Version, bekannt unter dem Namen AprioriAll, basiert die hier vorgestellte Modifikation für g-Sequenzen. Wie schon der AprioriAll, findet der Apriori für g-Sequenzen alle g-Sequenzen in einem Web Log. 12.4.2.1 Grundlagen Der Algorithmus basiert darauf alle häufigen Ereignisse (also Seitenzugriffe) zu finden und aus diesen Kandidaten für Web Access Pattern zu generieren. Diese Kandidaten werden dann daraufhin überprüft, ob ihr Support4 Wert groß genug ist, um als Web Access Pattern zu gelten. Dieser Schritt wird solange wiederholt, bis keine neuen Kandidaten mehr generiert werden können. Anschließend wird das Ergebnis noch von Generalisierungen und nicht minimalen Sequenzen 4 Der Supportwert beschreibt allgemein, wie stark eine Sequenz im Weblog vertreten ist. Die genaue Definition variiert bei jedem Algorithmus, und wird daher an der entwprechenden Stelle erläutert. 355 12 Web Usage Mining bereinigt. Um den Algorithmus nachvollziehen zu können, werden in diesem Kapitel einige Regeln für das ”Rechnen” mit Sequenzen eingeführt und dann auf generalisierte Sequenzen erweitert. [GST00] Seien von nun an x, y ∈ R∗ zwei Sequenzen auf den Elementen von R, dann ist x eine Teilsequenz von y (x ≤ y), wenn es einen Index i ∈ {0, . . . , |y| − |x|} gibt, so dass xj = yi+j . x ist eine strikte Teilsequenz von y (x < y), wenn x ≤ y und x 6= y. x und y überlappen sich auf k ∈ N0 , wenn xlast−k+i = yi , ∀i = 1 . . . k, also die letzten k Elemente von x mit den ersten k Elementen von y übereinstimmen. Als die k-Teleskopsumme von zwei Sequenzen x und y die sich auf k Elementen überlappen, definieren wir: x +k y := (x1 , . . . , xlast−k , y1 , . . . , yl ast) = = (x1 , . . . , xlast , yk+1 , . . . , yl ast) Natürlich gilt für zwei Sequenzen immer, dass sie auf 0 Elementen überlappend sind und dass die 0-Teleskopsumme das einfache Konkatenieren der beiden Sequenzen ist. Beide Definitionen gibt es auch für Mengen von Sequenzen. Seien X, Y ⊂ R∗ zwei Mengen von Sequenzen, so bezeichnet X ⊕k Y die Menge aller Paare von Sequenzen x ∈ X, y ∈ Y , die sich auf k Elementen überlappen. Die Menge der k-Teleskopsummen von X und Y ist definiert als: X +k Y := {x +k y|x ∈ X, y ∈ Y überlappen sich auf k Elementen} Der Support einer Sequenz x ∈ R∗ gegenüber einer Menge von Sequenzen S ⊂ R∗ ist definiert als: supS (x) := |{s ∈ S|x ≤ s}| |S| Mit den bisher kennen gelernten Grundlagen kann der AprioriAll realisiert werden. Um diesen Algorithmus auf g-Sequenzen erweitern zu können, müssen einige Definitionen noch angepasst werden. Diese Anpassungen werden hier nicht noch einmal explizit aufgeschrieben, da nur die Menge der Ressourcen um die Wildcard ∗, ∗ ∈ / R erweitert gen ∗ gen wird. Sei R := (R ∪ {∗}) und x, y ∈ R , so matcht x y, bzw. y generalisiert x (y ` x), wenn eine sogenannte Mappingfunktion m existiert, mit: 356 12.4 Algorithmen m : {1, . . . , |x|} → {1, . . . , |y|} Es werden folgende Eigenschaften für die Mappingfunktion gefordert: 1. m teilt jedem Element xi aus x ein entsprechendes Element ym(i) aus y zu, oder eine Wildcard aus y. (ym(i) = xi oder ym(i) = ∗) 2. Jedes Element aus y, das keine Wildcard ist, wird von m abgedeckt. (yi ∈ R ⇒ m−1 (i) 6= ∅) 3. m ist monoton steigend. 4. An einer Stelle, wo das Bild von m nicht zu einer Wildcard gehört, ist m streng monoton steigend. (m(i) = m(i + 1) ⇒ ym(i) = ∗) Mit Hilfe des Mapping-Begriffs kann nun auch der Support für gSequenzen neu definiert werden. Sei S eine Menge von Sequenzen s ∈ R∗ und x ∈ Rgen eine generalisierte Sequenz. Dann ist der Support von x gegenüber S: supS (x) := |{s ∈ S|∃y ≤ s : x ` y}| |S| Wurde beim AprioriAll das Generieren neuer Sequenzen noch alleine über die k-Teleskop Konkatenation definiert ([GST00]), so braucht man in diesem Fall noch etwas mehr. Mit Hilfe der Konkatenation kann man nur Sequenzen erzeugen, da mit 1-stelligen Pfaden angefangen wird. Außerdem möchte man g-Sequenzen der Form ∗A∗ ausschließen, da sie zu generell sind und man keine eindeutige Matchingfunktion mehr finden kann (z.B. für die Sequenz AA). Die Idee ist nun, im Algorithmus bei n=2, also der Erzeugung zweistelliger Kandidaten, die Wildcards einzuführen. Man erweitert seine Kandidaten um die Menge {x ∗ y|x, y ∈ F1 }, wobei F1 die Menge der häufig angeforderten Ressourcen ist, die im ersten Durchlauf des Algorithmus erstellt wurde. Für die Schritte n > 2 wird Tabelle 12.4.2.1 zur Generierung von Kandidaten benutzt. Diese Tabelle verdeutlicht, wie die Sequenzen neu kombiniert werden müssen, damit am Ende an jeder möglichen Stelle eine Wildcard steht und vor allem, welche Voraussetzungen die Sequenzen haben müssen, aus denen die neuen Kandidaten generiert werden. 357 12 Web Usage Mining = +n−1 = +n−2 sequence ab . . . cd ab . . . c b . . . cd ab . . . c*d ab . . . c b . . . c*d length n+1 n n n+1 n-1 n = +n−2 = +n−3 sequence a*b . . . cd a*b . . . c b . . . cd a*b . . . c*d a*b . . . c b . . . c*d length n+1 n n-1 n+1 n-1 n-1 Tabelle 12.1: Kandidaten-Generierung mit Wildcards [GST00] 12.4.2.2 Der Algorithmus Voraussetzung: – Menge von Ressourcen R – Menge von User Pfaden S – Support-Grenzwert minsup Start mit: – C := {r|r ∈ R} (anfängliche Kandidaten → alle Ressourcen) – n := 1 (erster Durchlauf) – F0 := ∅ (Fn ist Menge der Web Access Pattern der Länge n) while C 6= ∅ or Fn−1 6= ∅ – Fn := {c ∈ C|supS (c) ≥ minsup} – C := Fn +n−1 Fn – if n = 2 then (Einführung der Wildcards) * C := C ∪ {x ∗ y|x, y ∈ Fn−1 – else if n > 2 then C := C ∪ {x +n−2 y|(x, y) ∈ Fn ⊕n−2 Fn−1 , x2 = ∗} ∪{x +n−2 y|(x, y) ∈ Fn−1 ⊕n−2 Fn , ylast−1 = ∗} ∪{x +n−3 y|(x, y) ∈ Fn−1 +n−3 Fn−1 , x2 = ylast−1 = ∗} 358 12.4 Algorithmen – end if – n=n+1 end while Die Voraussetzungen für den Algorithmus sind also alle Ressourcen, das Web Log nach User Pfaden sortiert und schließlich ein MindestSupportwert, der vom Analysten festzulegen ist. Vor der ersten Iteration wird eine Anfängliche Kandidatenmenge (candidate set erzeugt. Diese besteht einfach aus allen Ressourcen der Website. Der Zähler n wird mit 1 initialisiert und F0 ist die leere Menge der Web Access Pattern der Länge 0. Das Prinzip ist es, im Durchlauf n des Algorithmus die Kandidaten aus dem Durchlauf n − 1 zu überprüfen und in die Menge der Web Access Pattern der Länge n zu sammeln. Anschließend werden die Kandidaten für den nächsten Durchlauf generiert. Dies geschieht durch das Bilden der n − 1-Teleskopsumme. Zusätzlich werden ab n = 2 die Wildcards eingeführt. Bei n = 2 wird die Wildcard immer zwischen zwei Web Access Pattern der Länge 1 eingeführt. Das Ergebnis sind Kandidaten der Länge 3, wie sie in diesem Schritt ohnehin erzeugt werden. Für n > 2 werden die Schritte aus der Tabelle 12.4.2.1 verwendet, um die Kandidaten Menge zu erweitern. Es wird hier darauf verzichtet, die einzelnen Teile explizit zu erklären, da die Vorgänge einfacher an der Tabelle zu sehen sind. Diese Schritte werden so lange wiederholt, bis entweder keine neuen Kandidaten mehr generiert wurden oder die Menge der Web Access Pattern der Länge n − 1 leer ist. In diesem Fall gibt es weder Kandidaten für den aktuellen Durchlauf, noch können Kandidaten für den nächsten generiert werden. 12.4.3 GSM - General Sequence Miner Ein zweiter Algorithmus, der ebenfalls auf g-Sequenzen basiert ist GSM. GSM benutzt die erweiterte Syntax von g-Sequenzen. Anders als der Apriori Algorithmus ist GSM allerdings nicht dafür gedacht, alle g-Sequenzen in einem Web Log zu finden. GSM wurde als Grundlage für eine SQL-artige Anfragesprache namens MINT entwickelt [SFW99]. MINT basiert auf sogenannten Templates. Ein Template ist im Prinzip eine g-Sequenz, allerdings mit dem Unterschied, dass nicht Ressourcen die Elemente der g-Sequenz sind, sondern Variablen. Diese 359 12 Web Usage Mining Variablen können mit verschiedenen Bedingungen verknüpft werden. In [SB00] sind Beispiele für die Benutzung von MINT gegeben. GSM transformiert das Web Log in eine baumartige Struktur, die aggregierter Baum genannt wird. Auf diesem Baum versucht GSM nun alle Userpfade zu finden, die das Template erfüllen. 12.4.3.1 aggregierter Baum Abbildung 12.1: aggregierter Baum In Abbildung 12.1 ist die Skizze eines aggregierten Baumes zu sehen. Als erstes steht im Knoten der Name der Ressource. Die erste Zahl gibt an, das wievielte Auftreten der Ressource der aktuelle Knoten innerhalb der Sequenz darstellt. Die letzte Zahl gibt den Support des 360 12.4 Algorithmen Präfixes bis zur aktuellen Stelle an. Schaut man sich in dem Bild den Knoten (c,1),7 im Ast ganz links an, bezeichnet das c die Ressource. Im aktuellen Pfad (bce) ist es das erste Auftreten der Ressource c. Und das Präfix bc hat einen Support von 7 (Der Support Wert ist hier die absolute Anzahl an Vorkommen einer Sequenz, nicht der Anteil an allen Sequenzen wie beim Apriori). Der Baum wird immer von der Wurzel zu den Blättern gelesen. Die Aneinanderreihung der einzelnen Ressourcen Namen ergibt gerade alle Zugriffssequenzen im Log. Diese Datenstruktur fasst alle Einträge eines Logs effizient zusammen, da Pfade mit gleichem Präfix sich die selben Knoten teilen. Anfangs wird das gesamte Web Log in einen solchen Baum transformiert. Dieser Baum wird auch aggregiertes Log genannt. 12.4.3.2 Der Algorithmus Wie bereits erwähnt, versucht der GSM-Algorithmus alle Web Access Pattern im Web Log zu finden, die einem vorher definierten Template entsprechen. GSM baut dabei sukzessive einen zweiten Baum auf, der letztlich auch als Ausgabe (in leicht modifizierter Form) dient. Der Baum ist in Abbildung 12.2 zu sehen. Die horizontale Unterteilung deutet schon an, dass der Algorithmus versucht, das Template Levelweise zu erfüllen. Dabei entspricht ein ”Level” im Baum jeweils einer Variablen im Template. Folgend wird eine verbale Beschreibung des Algorithmus präsentiert, an der es leicht nachzuvollziehen sein sollte, wie der Algorithmus funktioniert. Der Algorithmus geht von einem Template der Form t = t1 ∗t2 ∗. . . tn aus. Templates anderer Form lassen sich jedoch auch verarbeiten, wie man an der Funktionsweise des Algorithmus leicht nachvollziehen kann [Spi99]. Die Knoten im Ausgabebaum werden als t-Knoten bezeichnet, um die Unterscheidung zu Knoten aus dem aggregierten Log einfacher zu gestalten. Eingabe: Template t = t1 ∗ t2 ∗ · · · ∗ tn und evtl. Bedingungen, die an t1 , . . . , tn geknüpft sind. Ausgabe: Ein Ausgabebaum T , der alle Web Access Pattern enthält, die t erfüllen. Äste der Länge j < n stellen Lösungen für die ersten j Variablen da. Algorithmus (i ist Laufvariable): 361 12 Web Usage Mining Abbildung 12.2: Ausgabe-Baum für ein Template XY*Z 362 12.4 Algorithmen – i=1 1. Finde alle Knoten im aggregierten Log, die t1 erfüllen. 2. Generiere jeweils einen t-Knoten ≺ e  für alle gefundenen Knoten im aggregierten Log und platziere diese unter einem Root Knoten ^ in T . Der Inhalt ≺ e  .content des t-Knoten sind alle Knoten des aggregierten Logs und der Support ≺ e  .support des P Knotens berechnet sich zu v∈≺eÂ.content v.support 3. Ist der Support-Wert eines der neuen t-Knoten zu gering, streiche den Knoten wieder. – i = 2, . . . , n * Für alle t-Knoten ≺ e  in leveli−1 von T : · Für alle Knoten x in ≺ e  .content: 1. Suche in dem Teilbaum des aggregierten Logs mit Wurzel x nach Pfaden e0 , die ∗ti erfüllen. Das letzte Element des Pfades e0 erfüllt ti . 2. Erzeuge einen neuen t-Knoten ≺ e0  für alle e0 die ti erfüllen und setze content und support von ≺ e  wie zuvor. 3. Entferne die Knoten, die die Bedingungen nicht erfüllen. 4. Platziere die verbleibenden Knoten unter ≺ e  in leveli von T . Wie man leicht sieht, wird der Baum aus Abbildung 12.2 sukzessive durch den Algorithmus aufgebaut. Äste mit weniger als n Elementen können so entstehen. Diese können entweder entfernt werden oder als Lösung für ein ”reduziertes” Template behalten werden. Für die Ausgabe wird der Baum noch erweitert. All die Knoten, die auf die Wildcards gematcht haben, sind momentan nicht in der Ausgabe enthalten. Allerdings können diese Knoten für einen Analysten wichtige Informationen darstellen. In der Ausgabe wird daher der Baum aus Abbildung 12.2 noch um die Knoten erweitert, die eine Wildcard gematcht haben. Diese Knoten werden zwischen den ”Hauptknoten” der einzelnen Level eingefügt. D.h. also, die Kante zwischen den Leveln splittet sich in die verschiedenen Pfade, die zu einer Wildcard gehört haben. 363 12 Web Usage Mining 12.4.4 Usage Cluster Im Gegensatz zu den beiden vorangegangenen Algorithmen, geht es bei dem vorgestellten Clustering-Algorithmus nicht um das Auffinden von Web Access Pattern, sondern um das Finden von zusammengehörigen URL’s. Diese Anwendung ist typisch für das Clustering allgemein. Außerdem beachtet der Clustering-Algorithmus keinerlei temporale Aspekte. Die Cluster von URL’s, die das Ergebnis des Algorithmus sind, werden Usage Cluster genannt. Die Motivation für den Algorithmus ist der Wunsch, eine Möglichkeit zu haben, einem User online alternative Navigationsmöglichkeiten zu bieten. Der Clusteringalgorithmus bildet dazu Usage Cluster, die geeignet gespeichert werden. Der Teil des Algorithmus, der das Bilden der Cluster übernimmt, wird auch offline-Teil genannt und in diesem Abschnitt vorgestellt. Ein zweiter Teil vergleicht dann die aktuelle User-Session mit den Clustern und findet so alternative Links, die dynamisch in die Seite eingebunden werden können. Dies ist dann der online Teil, der in 12.5.2.2 vorgestellt wird. Die Technik, die hier zum Einsatz kommt, nennt sich Association Rule Hypergraph Partitioning oder kurz ARHP. ARHP besteht aus drei großen Teilen: 1. Erzeugung von Assoziationsregeln. 2. Erzeugung eines Hypergraphen. 3. Generieren der Cluster. 12.4.4.1 Assoziationsregeln Die Definition der Assoziationsregel lautet wie folgt [MCS99]: Eine Assoziationsregel r ist ein Ausdruck der Form hX, Y, σr , αr i, wobei X und Y Mengen von URL’s sind, σr den Support von X ∪ Y und αr die Confidence der Regel r wiederspiegelt. Die Confidence ) ist definiert als α = σ(X∪Y σ(X) . Der Support σ ist hier wieder die absolute Häufigkeit, mit der eine URL oder frequent itemset im Web Log erscheint. Anschaulich stellt eine Assoziationsregel die Wahrscheinlichkeit dar, mit der Y auf X im Web Log folgt. Assoziationsregeln können leicht 364 12.4 Algorithmen aus frequent itemsets gewonnen werden, indem alle möglichen Kombinationen der Elemente eines frequent itemsets gebildet werden und σ und α berechnet werden. 12.4.4.2 Hypergraph Der zweite neue Begriff ist der Hypergraph. Ein Hypergraph ist ist ein erweiterter Graph, in dem eine Kante mehr als zwei Knoten miteinander verbinden kann. Abbildung 12.3 veranschaulicht einen Hypergraphen. Die genaue Definition für den Clustering-Algorithmus lautet [MCS99]: Sei U die Menge aller URL’s und I die Menge aller frequent itemsets. Der Hypergraph ist dann definiert als H = hV, Ei, mit V ⊂ U und E ⊂ I. Abbildung 12.3: Hypergraph Die Knoten des Hypergraphen sind also alle URL’s der Seite und die Kanten werden durch die frequent itemsets gebildet. URL’s die 365 12 Web Usage Mining zusammen in einem frequent itemset sind, werden auch durch eine Kante miteinander verbunden. 12.4.4.3 Der Algorithmus Im Prinzip wird hier kein wirklicher Algorithmus präsentiert, sondern nur schematisch dargestellt, wie Usage Cluster gebildet werden können. Die einzelnen Teile des Clusteringverfahrens werden von anderen Algorithmen durchgeführt, und da das Vorstellen aller Algorithmen zu weit führen würde, wird hier darauf verzichtet. Das Bilden der Cluster wird durch folgende Schritte erreicht [MCS99]: 1. Finden von frequent itemsets, also URL’s die häufig zusammen auftreten. Dies wird in der Regel durch einen Algorithmus wie Apriori erreicht. Mit Hilfe der frequent itemsets können leicht Assoziationsregeln generiert werden. 2. Erzeugen des Hypergraphen. Die Kanten werden mit Hilfe der Confidence der Assoziationsregeln gewichtet. Das Gewicht einer Kante kann z.B. der Mittelwert aller Confidence-Werte der Assoziationsregeln sein. 3. Einteilung des Hypergraphen in Cluster durch einen geeigneten Algorithmus, wie z.B. HMETIS ([HKKM97] und [KAKS97]). Zusätzlich kann noch eine Funktion zum Filtern benutzt werden, damit Knoten, die nur schwach mit einem Cluster Verbunden sind, aus dem Cluster entfernt werden. Die Funktion ist wie folgt definiert: conn(v, c) = |{e|e ⊆ c, v ∈ e}| |{e|e ⊆ c}| (12.1) Diese Funktion berechnet das Verhältnis der Kanten mit denen v in einem Cluster c verbunden ist zu allen Kanten in dem Cluster. Ist dieser Wert sehr niedrig, wird der Knoten aus dem Cluster entfernt. Weiteres Filtern ist schon durch festlegen von Mindest-Support oder Mindest-Confidence Werten bei den Assoziationsregeln möglich. Am Ende des offline-Teils hat man nun Cluster von URL’s generiert. In 12.5.2.2 wird der Teil der Clustering Methode beschrieben, die eine User-Session mit URL’s aus den Clustern in Verbindung bringt, um so dynamisch alternative Links vorzuschlagen. 366 12.5 Analyse der Mining-Ergebnisse 12.5 Analyse der Mining-Ergebnisse Man hat es nun geschafft, die reinen Web Log Daten in aufschlussreiche Informationen zu verwandeln. Nun muss man diese Informationen allerdings noch nutzen um somit ”Wissen” zu erlangen. Dafür gibt es zwei prinzipielle Wege. Man kann entweder einen Analysten mit der Analyse der Mining Ergebnisse beauftragen, der dann wiederrum Aussagen über die ”Qualität und Akzeptanz” der Website treffen kann und vor allem Umstrukturierungen oder Layout-technische Änderungen veranlassen kann. Oder man versucht die Miningergebnisse automatisiert weiterzuverarbeiten. Nachfolgend werden einige Möglichkeiten genannt, mit dem ein Analyst eine Seite beurteilen kann. Anschließend wird etwas zu Recommender Systemen gesagt. Solche Systeme dienen dazu, einem User dynamisch alternative Links vorzuschlagen. Ein Beispiel ist Amazon, auf deren Website zu jedem Buch alternative Produktvorschläge zu sehen sind. Ähnliches kann man auch mit alternativen Links zu Seiten aller Art realisieren. 12.5.1 Manuelle Analyse Ein menschlicher Analyst wird die Ergebnisse mit Hilfe seiner Erfahrung und Intuition interpretieren, trotzdem kann man für die manuelle Analyse einige Begriffe definieren. Diese Begriffe sollen helfen, die häufig auftretenden Probleme besser zu formalisieren und bieten auch eine standardisierte Herangehensweise an die Analyse. Nachfolgend wird zuerst eine Klassifizierung eines Users erläutert, mit deren Hilfe man Kunden von Nicht-Kunden unterscheiden kann. Anschließend werden zwei Maßstäbe genannt, mit deren Hilfe die Qualität einer Website beurteilt werden kann. Diese Maßstäbe verwenden die vorgestellte Klassifikation. 12.5.1.1 Klassifizierung eines Users Eine häufige Aufgabe bei der Analyse einer Website ist es, den Unterschied zwischen einem Kunden und einem Nicht Kunden bei der Navigation herauszufinden. Mit diesem Wissen, kann man unter Umständen die Seitenstruktur oder die Navigation so anpassen, dass in Zukunft mehr User zum Kunden werden. Folgende Definition dient dazu, einen User anhand seiner Navigation zu klassifizieren: 367 12 Web Usage Mining Ein “aktiver Nutzer” einer Website ist ein User, der mehr als eine Seite besucht hat. Ansonsten wird er “kurzzeitiger Besucher” genannt. Ein “Kunde” ist aktiver Nutzer, der ein objektives Ziel eines Dienstes der Website erfüllt hat. Man teilt alle User also in drei Gruppen ein: kurzzeitige Besucher, aktive Nutzer und Kunden. Es bleibt noch zu erwähnen, dass ein Kunde nicht jemand sein muss, der etwas gekauft hat, sondern er ist jemand, der ”ein objektives Ziel eines Dienstes der Website erfüllt hat”. Das bedeutet, er hat einen Dienst genutzt, der angeboten wird. Dies kann z.B. der Kauf eines Produktes sein, aber auch das Aufrufen eines Dokumentes in einer Art Online-Bibliothek. 12.5.1.2 Konvertierungs Effizienz Die Konvertierungs Effizienz ist ein Maßstab dafür, wieviele Kunden von einer gegebenen Startseite aus, zu einer bestimmten Zielseite gelangen. Dies kann man auf zwei Arten nutzen. Zum einen kann man so berechnen, wieviele Nicht-Kunden zu Kunden werden, in dem man als Zielseite gerade die Seite wählt, welche die ”Erfüllung eines Dienstes” bedeutet. Zum anderen ist es so auch möglich andere Strukturen der Seite dahingehend zu überprüfen, ob sie die gewünschte Wirkung haben, also ob User z.B. den angebotenen Links auch folgen oder diese eher ignorieren. Die Konvertierungs Effizienz ist wie folgt definiert [Spi00]: Die Konvertierungs Effizienz einer Seite A gegenüber einer Zielseite Z, convef f (A, Z, G) ist definiert als die Anzahl der Besucher, die Z von A aus über den Pfad G erreicht haben, geteilt durch die Anzahl der Besucher von A. Der Pfad G kann z.B. als g-Sequenz angegeben sein. Ein Beispiel für die Benutzung der Konvertierungseffizienz ist: Sei convef f (A, Z, ∗) sehr hoch, und convef f (A, Z, ∗[0, 3]) niedrig. In diesem Fall lässt sich sagen, dass viele User von A offensichtlich Interesse an Z haben, die Zweite Konvertierungs Effizienz sagt uns aber auch, dass nur wenige User Z über kurze Pfade erreichen. So kann man z.B. festhalten, dass die Navigation oder Seitenstruktur so angepasst werden muss, dass Z von A aus besser erreichbar ist. Gleiche Analysen kann man auch machen, um festzustellen, warum z.B. viele User aktive Nutzer bleiben, aber nicht zum Kunden werden. 368 12.5 Analyse der Mining-Ergebnisse 12.5.1.3 Kontakt Effizienz Als letztes Qualitätsmass wird noch die Kontakt Effizienz vorgestellt. Diese ist sehr ähnlich zur Konvertierungs Effizienz, stellt allerdings an Maß dafür da, wieviele kurzzeitige Besucher zu aktiven Nutzern werden. Die Definition lautet wie folgt: Die Kontakt Effizienz ist das Verhältnis von kurzzeitigen Besuchern zu aktiven Nutzern. In der Regel wird die Kontakt Effizienz an den Einstiegsseiten gemessen. Ist die Kontakteffizienz sehr niedrig, ist das ein deutliches Zeichen dafür, dass die typischen Einstiegsseiten umgestaltet werden müssen, da sie entweder Kunden abschrecken oder zumindestens nicht genug ansprechen, damit diese auf der Seite bleiben. 12.5.2 Recommendation - Automatisches Verarbeiten der Mining Ergebnisse Wie bereits bei der Vorstellung des Clustering Algorithmus (12.4.4) erwähnt wurde, eignet sich dieser Algorithmus sehr gut, um sogenannte Recommender Systeme zu realisieren. Recommendation bezeichnet Verfahren, die es erlauben, einem User anhand seiner aktuellen Session alternative Links vorzuschlagen. Dies sind meistens Links, die User mit einem ähnlichen Navigationsmuster besucht haben. Systeme, die eben diese Aufgabe übernehmen, heißen dann Recommender Systeme. Prinzipiell vergleichen solche Systeme immer die aktuelle User Session oder auch nur einen Ausschnitt aus der User Session mit Daten in einer Datenbank. Findet man ähnliche Pfade in der DB, so werden dem User URL’s aus den gespeicherten Pfaden vorgeschlagen. Dabei muss in der DB nicht unbedingt ein Pfad gespeichert sein, es können alternativ auch einfach frequent itemsets sein, wie es z.B. beim Clustering der Fall ist. Hier werden zwei Möglichkeiten vorgestellt, mit denen sich Recommender Systeme bauen lassen. Einmal Annotation Rules und zum anderen den Online Teil des Clustering Algorithmus. Schließlich stellt sich noch die Frage, wie man die generierten Links, das sog. Recommendation Set, am besten in bestehende Seiten integriert. Auf diesen Aspekt wird hier nicht gesondert eingegangen. Es 369 12 Web Usage Mining soll nur kurz erläutert werden, welche grundlegenden Möglichkeiten man hat. Werden die Seiten bereits dynamisch generiert, ist das Einbinden des Recommendation Sets sehr einfach. Es muss nur im Layout der Seite eine geeignete Stelle gesucht werden, an der die Links angezeigt werden können. Ein größeres Problem stellt die Anzeige der Links dar, wenn statische Seiten vorliegen. In diesem Fall gibt es bereits Lösungen mit Proxy Servern, die die ausgelieferten HTML Dateien nach bestimmten Befehlen parsen, und an den gekennzeichneten Stellen die Links einbauen. Erst dann wird die Seite ausgeliefert. Eine Implementation eines solchen Proxy Servers ist das Hyper View System. 12.5.2.1 Annotation Rules Als erstes die Definition einer Annotation Rule [SPF99]: Annotation Rules haben die Form g, a → b, wobei g eine g-Sequenz ist, und die g-Sequenz g · a typisch für Nicht-Kunden und g · b typisch für Kunden ist. (· ist die einfache Konkatenation der g-Sequenzen). Das Prinzip ist, wenn die g-Sequenz g · a einen Pfad in der User Session matcht, weiß man, dass der User das Navigationsverhalten eines typischen Nicht-Kunden besitzt. Nun möchte man diesen User aber gerne als Kunden gewinnen und kann ihm mit diesem Wissen einen Link zur Seite b vorschlagen. Man hofft nun, dass der Kunde diesen Link bemerkt und ihm folgt, um dann ”zum Kunden zu werden.” Der Link zur Seite b wird auf der Seite a angezeigt. Dies steht im Gegensatz zum Vorgehen beim manuellen Redesign. Dort würde man den Link zur Seite b auf der Letzten Seite von g anzeigen oder hervorheben. Dies führt bei Usern aber oft zu Verwirrung. Man stelle sich einen Online Shop vor, bei dem a und b Produktseiten sind. Die letzte Seite von g ist somit typischerweise eine Katalogseite. Wenn auf dieser Seite nun plötzlich ein Produkt doppelt steht oder ein Produkt ohne erkennbaren Grund hervorgehoben ist, macht dies einen ”seltsamen” Eindruck. Auf einer Produktseite kann man alternative Links zu anderen Produkten hingegen sehr viel dezenter unterbringen. Link zu ”verwandten Produkten” werden viel eher als ”Service” empfunden. 370 12.5 Analyse der Mining-Ergebnisse Das bereits erwähnte Hyper View System benutzt z.B. Annotation Rules als Grundlage. Es wird dann eine DB mit Annotation Rules vorgehalten und die aktuelle User Session immer mit dieser DB verglichen. 12.5.2.2 Clustering - online Wie bereits in 12.4.4 erwähnt wurde, gibt es zu dem vorgestellten Algorithmus noch einen sog. online Teil. In diesem Teil sollen die gewonnenen Cluster dazu benutzt werden, ein Recommender System zu realisieren. Hier sollen nun die benötigten Schritte vorgestellt werden, um Recommendation Sets aus den Clustern generieren zu können. Betrachtet wird in der Regel nur ein Ausschnitt aus der User Session. Dieses Vorgehen entspricht dem allgemeinen User Verhalten, oft auf bereits besuchte Seiten zurückzukehren (besonders auf hierarchisch strukturierten Seiten). Der betrachtete Ausschnitt wird auch Session Window genannt und ist in der Regel zwei bis drei Einträge groß. Das Session Window wird als binärer Vektor dargestellt (nach [MCS99]): Sei U die Menge aller URL’s der Website, mit |U | = n. Der Session Vektor ist definiert als s = hs1 , . . . , sn i wobei si = 1 genau dann, wenn ui , ui ∈ U in der aktuellen User Session ist, und si = 0 sonst. Die Cluster werden ebenfalls als Vektor dargestellt. Die Werte der Koordinaten berechnen sich aus 12.1. Die Definition lautet nach [MCS99]: Sei c ein Cluster von URL’s aus U . Dann ist der zu c gehörige Vektor definiert als c = huc1 , . . . , ucn i, mit uci = conn(ui , c), wenn ui ∈ U und uci = 0 ansonsten. Damit hat man sowohl die Session (bzw. das Session Window), als auch die Cluster als n-dimensionale Vektoren dargestellt. Im Cluster Vektor ist zusätzlich zu der Zugehörigkeit einer URL zu einem Cluster auch noch ein Gewicht mitgespeichert, welches angibt, wie stark die URL an einen Cluster gebunden ist. Man möchte zusätzlich noch erreichen, dass URL’s die ”weiter von der Session entfernt sind”, also nur durch einen längeren Pfad erreichbar sind, stärker gewichtet werden bei der Bildung des Recommendation Sets. Dazu ist es nötig die Seitenstruktur als Graphen zu speichern. Auf diesem Graphen wird die physical link distance definiert als: 371 12 Web Usage Mining Die physical link distance einer URL u gegenüber einer Session s ist definiert als der kürzeste Pfad von einer der URL’s aus s nach u in dem Seitengraphen. Bezeichnet wird die physical link distance mit dist(u, s, G). Mit Hilfe der physical link distance wird nun der link distance factor definiert: Der link distance factor einer URL u gegenüber einer Session s ist definiert als ldf (u, s) = log(dist(u, s, G)) + 1. Befindet sich u in s so gilt ldf (u, s) = 0. Man benutzt hier den Logarithmus, um weit entfernte URL’s nicht zu stark zu gewichten. Man definiert sich nun eine Funktion, die angibt, wie sehr eine Session auf einen Cluster matcht. Diese Funktion ist wie folgt definiert: match(s, c) = P c k uk · sk q P c 2 |s| · k (uk ) Nun kann man schließlich ein sog. Rating für eine URL bestimmen. Das Rating gibt an, wie sehr die URL zur Session passt und damit kann man bestimmen, welche URL’s hauptsächlich vorgeschlagen werden sollten und welche eher rausfallen sollten. Das Rating ist definiert durch: Rec(s, uc ) = p conn(uc , c) · match(s, c) · ldf (s, uc ) Um letztendlich ein Recommendation Set zu generieren, benötigt man nur noch ein Mindest Rating ρ und kann sich somit das Recommendation Set definieren als: Recommend(s) = {uci |c ∈ C ∧ Rec(s, uci ) ≥ ρ} Befindet sich eine URL in mehreren Clustern, so wird das höchste Rating verwendet. Genauso wie bei den Annotaion Rules kann man auch hier eine DB mit den Clustern vorhalten, mit der die User Sessions ständig verglichen werden. Die URL’s im Recommendation Set können nun ebenfalls in die Seite integriert werden. 372 12.6 Fazit 12.6 Fazit Wie so oft im Data Mining lässt sich auch hier nicht sagen, welcher Algorithmus der beste ist. Neben den vorgestellten gibt es noch diverse andere, die oft nach ähnlichen Prinzipien funktionieren. Es lässt sich festhalten, das gerade der Schritt der Daten-Vorverarbeitung beim Web Usage Mining sehr wichtig ist. Insbesondere die Identifikation von Usern und Sessions spielt eine zentrale Rolle, um vernünftige Ergebnisse durch das Mining zu erhalten. Welchen Algorithmus man verwendet hängt sehr stark von der persönlichen Zielsetzung ab. Möchte man wirklich alle Web Access Pattern finden, bietet sich z.B. der Apriori Algorithmus an. Natürlich kann man auch einen seiner Klone verwenden, wie z.B. den Apriori für gSequenzen oder den hier nicht vorgestellten Algorithmus WAP-mine, der auf einem Baum arbeiten und somit sehr performant ist. Für den Fall, dass ein Analyst die Seite analysieren soll, ist sicherlich die Web Usage Mining Umgebung WUM zu empfehlen. Diese arbeitet mit MINT und GSM, wodurch ein Analyst sehr spezielle Anfragen stellen kann. Zur Beurteilung der Seite können dann Werte wie die Kontakteffizienz oder die Konvertierungseffizienz benutzt werden. Diese Werte lassen sich sehr einfach mit Hilfe von MINT berechnen. Für ein Recommender System sind sowohl MINT und GSM zusammen mit Annotation Rules einsetzbar, wie das Hyper View System es zeigt, man kann aber auch den Clustering Algorithmus dazu benutzen. Zur Analyse von Zugrifsspfaden und Schwachstellen in der Navigation taugt der Clusteringalgorithmus hingegen nicht. Dies ist darin begründet, dass keinerlei temporale Aspekte beim Clustering Beachtung finden. Man kann also keine Pfade betrachten, sondern nur frequent itemsets. Man sieht also, dass jeder Algorithmus seine Einsatzgebiete hat, und die Wahl des richtigen Algorithmus einzig und alleine vom eigenen Ziel abhängt. Sowohl WUM, als auch der Clustering Algorithmus wurden erfolgreich in der Praxis eingesetzt (im Rahmen von Forschungsaufträgen). Diese Ansätze sind also nicht als rein theoretisch anzusehen, sondern auch in der Praxis gut einsetzbar. 373 12 Web Usage Mining 12.6.1 Rolle in der PG In der Projektgruppe DIKO kann Web Usage Mining auf verschiedene Weisen behilflich sein. Es ist möglich User ohne genaues Wissen über sie zu klassifizieren. Man kann anhand der Navigationsstrukturen vorhersagen, ob er ein Kunde oder ein Nicht-Kunde ist, und ihn somit sehr direkt ”in die richtige Richtung leiten.” Die Personalisierung, die man so erreicht, basiert auf dem aktuellen Verhalten des Kunden. Eine Personalisierung, die auf Kundenprofilen basiert, benutzt hingegen oft veraltete Daten, die vielleicht lange Zeit zuvor bereits gesammelt wurden. Und man kann natürlich die gewonnen Daten auch zur Unterstützung des allgemeinen KDD Prozesses benutzen. Gerade wenn man sich die Kundendaten zu jeder Session merkt, ist Web Usage Mining - Personalized möglich, und die Daten können beim Data Mining zusätzlich verwendet werden. 374 13 Rechtliche und soziale Aspekte der Datenanalyse Christian Lüpkes Dank Neuerungen in der Informationstechnologie wird die Verarbeitung und Speicherung von großen Datenmengen immer leistungsfähiger und dabei gleichzeitig kostengünstiger. Wurden früher in Unternehmen Geschäftsvorfälle noch mittels Quittungs- und Auftragsbuch oder Laufzettel bearbeitet, ist dies heutzutage fast vollständig durch elektronische Datenverarbeitung verdrängt worden. Der größte Vorteil von elektronischen Daten liegt darin, daß sie auf einfache Weise automatisch verarbeitet werden können. So können alle Daten eines Unternehmens zentral in einer großen Datenbank gespeichert und mittels Datenanalyse ausgewertet werden. Analysen im Unternehmensumfeld werden häufig dazu verwendet, durch Auswertung der eigenen Produktionsdaten Produktionsabläufe zu optimieren. Den größten Vorteil von Datenanalysen erhoffen sich Unternehmen aber in der Individualisierung ihrer Kundenkontakte, indem Kundendaten analysiert und ausgewertet werden, dem sogenannten Customer Relationship Management“. ” Hierbei kann es jedoch zu rechtlichen Problemen und sozialen Bedenken kommen, wenn die vorhandenen Daten mißbräuchlich verwendet werden, Stichwort Gläserner Kunde“. Diese Probleme treten aber ” nicht nur im Bereich von Unternehmen auf, auch bei wissenschaftlichen Forschungen werden oft sensitive Daten verwendet, die besonders schutzwürdig sind, da sie einzelnen Personen zugeordnet werden können. Aber auch Unternehmen selbst können durch die fortschreitende Datenanalysetechnik geschädigt werden; nämlich dann, wenn Konkurrenten diese Verfahren einsetzen, um sich ein detailliertes Bild ihrer Mitbewerber zu machen. In dieser Ausarbeitung soll nach einer kurzen Begriffsbestimmung, die rechtliche Situation von Datenanalysen zum Kundenmanagement 375 13 Rechtliche und soziale Aspekte der Datenanalyse bzw. der Verarbeitung von personenbezogenen Daten allgemein vorgenommen werden. Dabei wird auch noch auf die besonderen Regelungen in der Forschung eingegangen. Danach werden Beispiele für einzelne Situationen sowohl für die Probleme des Datenschutzes bei Personen als auch von Unternehmen vorgestellt, an die sich Lösungsansätze im Unternehmensbereich sowie ebenfalls Verfahren zum Datenschutz bei Forschungsprojekten anschließen. Zum Schluß findet noch eine Einordung des Projetktes Personali” sierung internetbasierter Handelsszenarien“ statt, in dessen Rahmen diese Ausarbeitung entstand. Abschließend wird noch ein persönlicher Ausblick auf die Praktiken im Customer Relationship Management“ ” gegeben. 376 13.1 Begriffe und Prozesse 13.1 Begriffe und Prozesse Um die Probleme der Datenanalyse diskutieren zu können, ist es zunächst notwendig eine kurze Einführung in die grundlegenden Techniken zu geben. Zunächst ist das Data Warehousing“ zu nennen. Damit bezeichnet ” man das Sammeln von Daten aus verschiedenen Quellen und der Einspeicherung in einer speziellen Datenbank (dem Data Warehouse“), ” um diese Daten zeit- und funktionsgerecht zur strategischen Datenanalyse bereit zu halten[BBM97]. Data Mining“ ist eine spezielle Form der Datenanalyse (siehe Ab” bildung 13.1). Sie hat das Ziel, mit Hilfe bestimmter Techniken Daten aufzuspüren und zu kombinieren, um bisher unbekannte Zusammenhänge zu finden und als neue Information bereitzustellen. Man kann auch sagen, aus dem Rohstoff Daten sollte Informationen gewonnen werden, die in dieser Form vorher nicht vorlagen. Das Data ” Mining“ arbeitet dabei meist auf den Daten eines Data Warehou” ses“[HK00a]. Den gesamten Prozeß von der Erhebung der Daten bis zum Ergebnis nennt man Knowledge Discovering in Databases“(KDD) . Damit ” man verläßliche Analyseergebnisse erhält, sollten die Daten natürlich möglichst genau und aktuell sein, hieraus ergibt sich folgender sequentiller Prozeß beim KDD: 1. Beschaffung von Daten aus möglicht vielen internen und externen Quellen 2. Speicherung der Daten in einem Data Warehouse“ ” 3. Verarbeitung der Daten durch Data Mining“ Anwendungen ” 4. Bewertung der dadurch erhaltenen Aussagen. Von diesen Verfahren erhoffen sich vor allem Unternehmen Verbesserungen im Bereich des Customer Relationship Management“ . Dies ” bezeichnet die Analyse von Verbraucherdaten, um Wünsche, Vorlieben und Verhalten von Verbrauchern zu erfahren oder vorherzusagen. Das Ziel dabei ist oft das sogenannte One to One“ Marketing, bei ” dem die Wünsche jedes einzelnen Kunden indviduell berücksichtigt werden. Damit soll eine Erhöhung der Kundenloyalität und des Kundenwertes durch eine verbesserte Zufriedenheit erreicht werden, was gleichzeitig eine Verbesserung des Markenimages hervorrufen soll. All 377 13 Rechtliche und soziale Aspekte der Datenanalyse dieses dient letztendlich der Steigerung des Umsatzes mit einzelnen Kunden [BBD01]. Eine schwächere Form der Beurteilung von Kunden ist das Data” base Marketing“. Dabei wird ein zielgerichtetes Marketing auf der Grundlage von Informationen über die Adressaten durchgeführt. Dazu analysiert man Daten über Kunden und erstellt Profile einzelner Kundengruppen mit dem Ziel ihr Verhalten vorherzusagen. Hierzu werden aber nur einfache Analysen durchgeführt [JS97]. 13.2 Rechtliche Aspekte der Datenanalyse Um eine Datenanalyse für das Customer Relationship Management“ ” durchführen zu können, benötigt man zunächst einmal Daten über die einzelnen Personen oder Personengruppen. Diese Datenerhebung geschah bisher meist mittels Fragebögen oder über die Beobachtung von Kunden innerhalb der Läden, wobei die Kunden selten ihren Namen preisgeben mußten. Aber dadurch, daß immer mehr Menschen das Internet oder Kartensysteme, wie z.B. Payback“ zum Einkauf nutzen, ist es viel einfacher ” geworden, an verläßliche und Einzelnen zuordbare Daten zugelangen. Desweiteren wird durch diese Techniken eine größere Menge an personenbezogenen Daten verfügbar, die für eine Datenanalyse interessant sein könnten. Durch die Erhebung und Nutzung persönlicher Daten entstehen aber auch Gefahren für das informationelle Selbstbestimmungsrecht der Betroffenen. Während in Amerika ein dereguliertes“ System vorherscht, d.h. es ” keinen nennenswerten Schutz von personenbezogenen Daten gibt, regeln in der Bundesrepublick Deutschland verschiedene Gesetze den Umgang mit diesen Daten [Bae00] [BBD01]. Zu nennen wäre dabei zunächst das Bundesdatenschutzgesetz (BDSG), welches allgemein den Umgang mit persönlichen Daten regelt. Zusätzlich im Bereich des Internet sind noch das Teledienstedatenschutzgesetz (TDDSG), das Teledienstegesetz (TDG), die Telekommunikations-Datenschutzverordnung TDSV und der Mediendienste Staatsvertrag (MDStV) zu nennen. Im Folgenden wird hauptsächlich auf das Bundesdatenschutzgesetz eingegangen, vereinzelt aber auch die anderen Regelungen herangezogen, um die Anforderungen an eine gesetzeskonforme Datenverarbeitung und Analyse zu definieren und zu erläutern. 378 13.2 Rechtliche Aspekte der Datenanalyse 13.2.1 Das Bundesdatenschutzgesetz Das Bundesdatenschutzgesetz hat nach §1 Abs. 1 den Zweck, den ” einzelnen davor zu schützen, daß er durch den Umgang mit seinen personenbezogenen Daten in seinem Persönlichkeitsrecht beeinträchtigt wird“. Dabei ist es nach §1 Abs. 2 BDSG egal, ob die Daten automatisch oder manuell erhoben und ausgewertet werden, es gilt sowohl für öffentliche Stellen als auch für nicht öffentliche Stellen. Öffentliche Stellen sind Behörden, Organe der Rechtspflege und andere öffentlich rechtlich organisierten Einrichtungen, wie es in §2 Abs. 1 und Abs. 2 BDSG definiert wird. Für öffentliche Stellen der Länder gilt aufgrund §1 Abs. 2 Nr.2 BDSG das jeweilige Landesrecht, falls entsprechende Landesdatenschutzgesetze erlassen wurden1 . Begriffsbestimmungen In §3 BDSG werden wichtige Begriffe definiert, die jetzt kurz vorgestellt werden sollen. Demnach sind personenbezogene Daten, Einzelangaben über sachliche und persönliche Verhältnisse einer bestimmten oder bestimmbaren Person. Das bedeutet, Angaben wie ist Links” händer“, besitzt einen Hund“ oder ist verheiratet “ fallen darunter. ” ” Laut juristischer Meinung fallen sogar Werturteille, wie ist ein flei” ßiger Kunde“ unter diese Rubrik [SW02, §3, 6]. In §3 BDSG werden noch zwei weitere wichtige Datenarten definiert: die pseudoanonymen und die anonymen Personendaten. Bei den pseudoanonymen Daten wurden Identifikationsmerkmale, wie z.B. der Name, durch eine Codierung ersetzt. Diese Codierung kann selbstgewählt oder aber auch ein bereits vorhandenes Merkmal wie die Personalausweisnummer oder Sozialversicherungsnummer sein. Dieses Verfahren wird dazu benutzt, um bestimmten Personenkreisen die Bestimmung des Betroffenen zu erschweren oder unmöglich zu machen, für andere Gruppen aber identifizierbar zu bleiben. Zur Verdeutlichung: Für die Strafverfolgungsbehörden sind Daten, die über die Personalausweis- oder Sozialversicherungsnummer codiert sind, sicherlich personenbezogene Daten, da sie ohne größeren Aufwand eine Zuordnung von einer Person zu ihrer Personalausweis- oder Sozialversicherungsnummer durchführen können, da sie über entsprechen1 Sämtliche Bundesländer besitzen inzwischen ein Datenschutzgesetz, so z.B. das Berliner Datenschutzgesetz (BlnDSG) oder das Gesetz zum Schutz personenbezogener Daten der Bürger (DSG-LSA) in Sachsen Anhalt. 379 13 Rechtliche und soziale Aspekte der Datenanalyse de Daten verfügen. Für Personenkreise, die auf solch eine Zuordnung nicht zugreifen können, sind die Daten pseudoanonym. Bei den anonymisierten Daten wurden die Einzelangaben soweit verändert, daß unter keinen Umständen oder nur mit unverhältnismäßig großem Aufwand ein Bezug zu einer bestimmten Person hergestellt werden kann. Beispiel personenbezogene Daten Allerdings sind die Einteilungen in diese drei Stufen von Personenbezug nicht immer eindeutig, wie folgendes Beispiel zeigt. In einer Stadt S wurde von 100 Lehrern die Partei P gewählt. Wenn in S 100 Lehrer leben, handelt es sich bei der Aussage um ein personenbezogenes Datum, da es Rückschlüsse auf das Verhalten eines jeden einzelnen Lehrers zuläßt. Würden allerdings in der Stadt S mehr als 100 Lehrer leben, so würde es sich um ein anonymes Datum handeln. Während die Autoren des [SW02] davon ausgehen, daß bereits 101 Lehrer genügen damit es sich um ein anonymes Datum handelt, sehe ich die Rechtssicherheit gefährdet [SW02, §3, 15]. Nach meinem Dafürhalten ist die Grenze zur Anonymität eher bei 10 bis 15% Abweichung zu sehen, da ansonsten die Verläßlichkeit der Daten noch zu groß ist, um wirklich eine Verfälschung darzustellen, die meiner Meinung nach bei einer verlässlichen Anonymisierung vorliegen sollte. 13.2.2 Bewertung der Schritte des Knowledge Discovering in Databases Wie bereits in Kapitel 13.1 erwähnt, sind die vier Hauptschritte des Knowledge Discovering in Databases“ zur Ergebnisfindung: ” 1. Datenerhebung 2. Datenspeicherung 3. Datenanalyse 4. Bewertung Im Folgenden möchte ich die einzelnen Schritte nacheinander rechtlich näher beleuchten. 380 13.2 Rechtliche Aspekte der Datenanalyse 13.2.2.1 Datenerhebung Zunächst einmal müßen Daten zur Analyse zur Verfügung stehen. Dabei ist die Datenerhebung das Beschaffen von Daten als Vorbereitung für die Speicherung. Laut[SW02, §3, 105] bedeutet es das Erfragen, Sammeln oder den Ankauf von Daten. Das Erheben ist keine Phase der Datenverarbeitung im Sinne des BDSG [SW02, §3,21]. Das Erheben kann dabei auch durch Beobachten, Messen oder Fotografieren geschehen. Erheben bedeutet nicht, daß die Daten bereits gespeichert werden. Sie werden zunächst nur aufgenommen, was keine Speicherung darstellt. Nach §4 Abs. 1 und Abs. 2 BDSG ist die Erhebung von Daten nur dann statthaft, wenn die Erhebung beim Betroffenen direkt stattfindet oder durch ein Gesetz/ Rechtsvorschrift erlaubt oder vorgeschrieben wird. Aufgrund einer gesetzlichen Regelung besteht auch die Möglichkeit, eine Einwilligung des Betroffenen zur Legitimierung heranzuziehen. Da die Einwilligung im Bereich der Kundendaten meist das einzige Mittel ist, um auf legitime Weise personenbezogene Daten zu verarbeiten, soll darauf jetzt besonders eingegangen werden. Einwilligung Die Grundsätze zur wirksamen Einwilligung werden in §4a BDSG definiert. Zunächsteinmal muß die Einwilligung auf der freien Entscheidung des Einwilligenden basieren. Das heißt, dem Betroffenen muß bewußt sein, welche Folgen die Erhebung seiner Daten für Ihn haben kann. Dazu muß ihm auch der Zweck der Erhebung genannt werden, wie es der §28 Abs1. Nr 3 Satz 2 BDSG vorschreibt. Um diese Forderungen an Transparenz zu erfüllen, muß eine Einwilligung folgende Positionen beinhalten: 1. Wer zur Verarbeitung der Daten berechtigt ist, 2. zu welchem Zweck die Datensammlung geschieht, 3. und welche Daten überhaupt erfasst werden. Außerdem bedarf es bei der Einwilligung der Schriftform, es sei denn, besondere Umstände lassen eine andere Form zu. Falls Daten bei Tele- und Mediendiensten erhoben werden, kann die Einwilligung auch elektronisch geschehen. Tele- und Mediendienste sind Angebote im Internet, wie Fahrplansukünfte, Online-Shops und ähnliches. Dabei bedarf es aber, aufgrund der Vorschriften über die 381 13 Rechtliche und soziale Aspekte der Datenanalyse elektronische Abgabe von Willenserklärungen, einer qualifizierten elektronischen Signatur §126a BGB, wie sie das Signaturgesetz sicherstellen soll [SM02]. Bei der elektronischen Einwilligung sind jedoch weiterhin die Rechtsgrundlagen aus dem §4 Abs.2 TDDSG, entsprechend §18. Abs2 MDStV zu beachten. Dort wird gefordert, daß der Anbieter des Tele- oder Mediendienstes sicherzustellen hat, das die Einwilligung bewußt und eindeutig durchgeführt und protokolliert wird. Desweiteren muß sich der Nutzer die Einwilligung jederzeit anzeigen lassen können. Sie muß also vor allem elektronisch abfragbar sein. Auch dürfen die Einwilligungen nicht bereits voreingestellt sein oder in einer Sammlung abgefragt werden, da es dann sein könnte, daß der Nutzer nicht mehr bewußt und eindeutig handelt [SM02]. Bei der Erhebung von Daten durch Fragebögen oder Beobachtungen ist die Schriftform bei der Einwilligung zu wahren. Bei Beobachtungen ist es aber eher selten der Fall, daß dort eine Identifizierung des Beobachteten vorkommt. Bei telefonsichen Befragungen sollte, falls es sich um personenbezogene Daten handelt, auch die Schriftform gewahrt werden. Das empfohlene Vorgehen ist dabei, zunächst eine fernmündliche Einwilligung einzuholen und nach der telefonischen Befragung eine schriftliche Bestätigung bzw. Einwilligung auf dem Postwege im nachhinein einzuholen. Für die Erhebung anonymer Daten bedarf es keiner Einwilligung. 13.2.2.2 Datenspeicherung Bisher wurden die Daten nur erhoben, d.h. auf einem Notizblock aufgeschrieben oder in einem flüchtigen Speicher zwischengelagert. Um sie weiterverarbeiten zu können, müssen diese noch dauerhaft gespeichert werden. Speichern bedeutet dabei, daß personenbezogene Daten auf einem Datenträger erfasst, aufgenommen oder aufbewahrt werden, wobei es egal ist, welche Verfahren (elektronisch oder mechanisch) zur Anwendung kommen. Also auch das Speichern auf Karteikarten fällt unter den Schutz des BDSG [SW02, §3,24]. Es wird aber ausdrücklich darauf hingewiesen, daß es sich beim menschlichen Gehirn nicht um einen Datenträger im Sinne des Gesetzes handelt. Wie schon bei der Erhebung ist die Speicherung nur zulässig, wenn eine Einwilligung des Betroffenen vorliegt oder aber ein Gesetz oder eine Rechtsvorschrift dies vorsieht. In §35 Abs. 2 Nr.4 BDSG wird bei der geschäftsmäßigen Speicherung zur Übermittlung (Adreßhandel) eine Löschung der Daten nach vier Jahren verlangt, wenn eine 382 13.2 Rechtliche Aspekte der Datenanalyse längerwährende Speicherung nicht erforderlich ist. Ein solcher Fall, der eine längere Speicherung vorsieht, könnte sich aus anderen Gesetzen ergeben, wie etwa dem §257 HGB, in dem von Kaufleuten die Aufbewahrung von Rechnungs- und Buchungsbelegen von 10 Jahren verlangt wird. Ob solche Daten noch nach dem Ablauf der vier Jahren zu etwas anderem als zu Buchungsvorgängen verarbeitet werden dürfen, ist fraglich. Ein weiterer wichtiger Aspekt ist der §3a BDSG, in dem es um Datenvermeidung und Datensparsamkeit geht. Darin wird gefordert, daß der technische und organisatorische Aufbau von Datenverarbeitungsanlagen so gestalltet sein muß, daß möglichst wenig personenbezogene Daten anfallen. Außerdem wird explizit die Verwendung von anonymen oder pseudoanonymen Daten verlangt, sofern dies in einem vernünftigen Verhältnis zum Aufwand steht. Bei der Speicherung seiner Daten muß der Betroffene auch auf seine Rechte nach den §§ 19 und 34 BDSG (Auskunft) sowie §§ 20 und 35 BDSG (Berichtigung, Löschung, Sperrung) hingewiesen werden. Hier erhalten die Betroffenen das Recht, der über Sie gespeicherten Daten Auskunft zu erhalten und diese berichtigen, zu weiteren Verwendung sperren oder sogar dauerhaft löschen zu lassen. Diese Rechte lassen sich aufgrund des §6 BDSG auch nicht durch die Einwilligung oder einen anderen Vertrag außer Kraft setzen. 13.2.2.3 Datenanalyse Nachdem jetzt Daten von Kunden oder potentiellen Kunden in unserer Datenbank eingespeichert wurden, beginnt die eigentliche Datenanalyse. Auf eine eventuelle Vorverarbeitung der Daten soll hier nicht weiter eingegangen werden. Es soll lediglich darauf hingewiesen werden, daß es sich bei Datenvorverarbeitung auch um einen Verarbeitungsvorgang im Sinne des Bundesdatenschutzgesetzes handelt. Die Datenanalyse fällt dabei unter den Begriff der Nutzung. Die rechtlichen Regelungen zur Durchführung einer legitimen Analyse sind bereits von der Datenspeicherung bekannt: Entweder erlaubt ein Gesetz oder eine Rechtsvorschrifft die Nutzung von persönlichen Daten oder ein vertragliches Verhältnis, zu dessen Erfüllung die Daten verarbeitet werden müssen. In den meisten Fällen, in denen es um Customer ” Relationship Management“ geht, wird die Analyse von Kundendaten nicht zur Erfüllung eines Vertrages notwendig sein. Es besteht aber weiterhin die Möglichkeit der Einwilligung. Jedoch entstehen bei der 383 13 Rechtliche und soziale Aspekte der Datenanalyse Einwilligung zur Datenanalyse, anders als bei der Erhebung und der Speicherung, Probleme. Abbildung 13.1: Die drei Verfahren der Datenanalyse Um die möglichen Probleme zu motivieren, sind in Abbildung 13.1 die drei grundlegenden Einteillungen von Datenanalyseverfahren gezeigt. Dabei handelt es sich einmal um die klassischen Verfahren, bei denen ein Nutzer gezielte Anfragen an die Datenbank stellt, um eine Hypothese zu verifizieren. Zum anderen um die Data-Mining-Verfahren“, ” bei denen Computerprogramme automatisch Zusammenhänge/ Muster innerhalb der Daten finden sollen. Dabei gibt es eine noch feinere Unterteilung in die überwachten und die unüberwachten Verfahren. Bei den überwachten Verfahren kann der Nutzer auf den Analyseprozess Einfluß nehmen um bestimmte Anforderungen an das Ergebnis zu erzielen. Dieses ist bei den unüberwachten Verfahren nicht der Fall, hier läuft der Analyseschritt vollständig automatisiert ab. In diesem technischen Fortschritt der Automatisierung liegt der Grund für die Probleme mit der Einholung einer zulässigen Einwilligung. Wie oben bereits erwähnt, muß die Person, dessen Daten erhoben und verarbeitet werden sollen, in der Einwilligung nicht nur über die Stelle, die die Daten verwendet und welche Daten verarbeitet werden, informiert werden, sondern auch über den Zweck. Dabei darf dieser Zweck nicht zu allgemein gefasst sein, so daß sich ein Kunde nicht mehr im Klaren darüber befindet, was mit seinen Daten geschieht. Die Aussage: Zu Marketingzwecken“ ist nach meinem ” persönlichen Dafürhalten nicht geeignet, die Anforderungen des Bun- 384 13.2 Rechtliche Aspekte der Datenanalyse desdatenschutzgesetzes an Transparenz zu erfüllen, ähnliches vertritt auch der Datenschutzbeauftragte der Daimler-Chrysler AG Prof. Dr. A. Büllesbach [Bül00]. Das BDSG soll das informationelle Selbstbestimmungsrecht schützen, wie es sich aus den Artikeln 2,3 und 5 des Grundgesetzes ergibt. Informationelle Selbstbestimmung heißt, daß jeder einzelne das Recht hat, selbst über die Preisgabe und Verwendung seiner persönlichen Daten zu bestimmen. Aber eine selbstständige Bestimmung kann nur auf einer freien Entscheidung basieren. Damit sich der Betroffene frei entscheiden kann, muß ihm bewußt sein, welche Auswirkungen die Verarbeitung oder Speicherung von Daten auf sein Persönlichkeitsrecht haben könnte. Deshalb müßte die datenverarbeitende Stelle den Betroffen in der Einwilligung zunächst über alle Möglichkeiten und eventuellen Auswirkungen von Ergebnissen informieren. Diese umfassende Information des Betroffenen ist aber bei den Data” Mining-Verfahren“ nicht möglich, da hier die Ergebnisse automatisch generiert werden. Bei der Datenanalyse kann es sein, daß Daten, die vorher unwichtig schienen, plötzlich aussagekräfitge Rückschlüsse auf die Person zulassen. Der Nutzer kann also bei dem Einsatz automatischer Verfahren nicht die Konsequenzen abschätzen und deshalb auch nicht frei einwilligen, wodurch sich der Einsatz von Data-Mining” Verfahren“ im Umgang mit personenbezogenen Daten verbietet. Klassische Verfahren zur Datenanalyse, wie Anfragen (Selektion), stellen kein Problem dar, aufrgrund dessen, daß genau darauf hingewiesen werden kann, welche Abläufe geschehen und welche Ergebnisse dadurch erzielt werden können. 13.2.2.4 Bewertung Bei den Datenanalysen mittels automatischer Verfahren entstehen Ergebnisse, die noch einer Bewertung bedürfen, denn in den meisten Fällen werden triviale Ergebnisse geliefert, wie z.B. 100% aller schwangeren Personen sind weiblich. Die interessanten Ergebnisse müssen nochmals selektiert und möglicherweise verifiziert werden. Bei diesen Ergebnissen, handelt es sich begrifflich um durch Datenverarbeitung gewonnene Daten“. Im [SW02, ” §3, 44] wird dargelegt, daß es sich dabei um aus Einzelwerten“ ge” bildete/ errechnete Ergebnisse handelt. Dabei ist zu beachten, daß diese Ergebnisse teilweise nicht frei veröffentlicht werden dürfen. Das ist zum Beispiel dann der Fall, wenn aus 385 13 Rechtliche und soziale Aspekte der Datenanalyse den Ergebnissen auf einzelne Personen geschlossen werden kann oder das Ergebnis an sich eine Aussage über nur eine Person darstellt. Bei der Weitergabe von Ergebnissen an Dritte, ist grundsätzlich darauf zu achten, daß dieses nur zulässig ist, wenn ein Vertrag oder ein Gesetz dieses erlaubt oder wenn die Stellen, an die die Daten übermittelt werden sollen, in der Einwilligung mit aufgeführt wurden. Dabei muß jede Stelle einzeln aufgeführt werden, es besteht dabei kein Unternehmensprivileg. Das heißt, auch selbstständige Unternehmensteile müssen aufgelistet werden. 13.2.3 Forschung und Datenschutz Die bisher vorgestellten Regelungen des Bundesdatenschutzgesetzes können in Forschungsvorhaben recht hinderlich sein. Soll zum Beispiel das natürliche Verhalten einer Person erfasst werden, so ist eine vorherige Information des Probanden eher hinderlich, da sich dieser dann der Beobachtung bewußt ist und allein dadurch sich nicht mehr natürlich verhält. Deshalb gibt es im BDSG Ausnahmen für die Forschung und Wissenschaft, die es erlauben, auch ohne Einwilligung des Betroffenen seine Daten zu verarbeiten, Grundlage ist hier der §4a Abs. 2 BDSG. Diese Sondervorschriften nehmen ihre Legitimation aus dem Grundgesetz, in welchem in dem Artikel 5 Abs. 3 die Freiheit von Forschung und Wissenschaft formuliert wird. Dieses Recht der Forschung steht jetzt aber in praktischer Konkordanz zu dem allgemeinen Persönlichkeitsrecht, welches sich auf den Art. 2 Abs. 1 in Verbindung mit Art. 1 Abs. 1 GG gründet. Praktische Konkordanz bedeutet, daß es sich um zwei konkurrierende Rechte handelt, wobei durch Regelungen sichergestellt werden soll, daß beide Rechte möglichst weitgehend erfüllt werden. Das Bundesverfassungsgericht hat in dem Volkszählungsurteil von 1983 festgestellt, daß der Eingriff in das informationelle Selbstbestimmungsrecht nur bei überwiegendem Allgemeininteresse getätigt werden darf. Explizit wird auch darauf hingewiesen, daß eine Verarbeitung innerhalb der Forschung erlaubt ist. Daraus läßt sich die Annahme des Grundgesetzes erkennen, daß Forschung und Wissenschaft immer dem Allgemeinwohl dienen sollen. Privatwirtschaftliche Forschungen zur Vorhersage von Kundenverhalten werden meiner Ansicht nach dem Allgemeinwohl nicht dienen und können sich daher nicht auf dieses Privileg berufen, da bei bei diesen Forschungszwecken 386 13.2 Rechtliche Aspekte der Datenanalyse meist Unternehmen dahinterstehen, die an einer stark wirtschaftlich ausgelegten Nutzung der Ergebnisse interessiert sind, um die Ausgaben für die Forschung wieder zu amortisieren. In dem Artikel [MW02] wird noch auf daraus resultierende Sorgfaltspflichten hingewiesen, die im Rahmen guter wissenschaftlicher Praxis für einen minimalen Eingriff in das Persönlichkeitsrecht Betroffener sorgen sollen. Dabei sind folgende Punkte zu bewerten und die Ergebnisse in dem Forschungsbericht schriftlich festzuhalten: 1. Können die Daten annonymisiert erhoben werden? 2. Kann der Nutzer vorher informiert und eine Einwilligung eingeholt werden? 3. Kann der Nutzer im Nachhinein informiert werden? Ein weiterer interessanter Ansatz, der in [MW02] diskutiert wird, ist der des Datentreuhänders, welcher in Abschnitt 13.4.2.1 vorgestellt wird. 13.2.4 Umgehung von Datenschutz Die vorgestellten Regelungen zum Schutz personenbezogener Daten in der Bundesrepublick Deutschland sind bei der Datenanalyse recht hinderlich, da sie zusätzlichen Aufwand bereiten oder den Einsatz moderner Techniken wie dem Data-Mining“ ganz verbieten. ” Jetzt könnte bei Unternehmen der Gedanke aufkommen, daß die Datenverarbeitung ins Ausland (z.B. in die USA) verlagert wird, wo nicht solche strengen Schutzvorschriften gelten. Prinzipiell ist eine Datenverarbeitung im Ausland möglich, jedoch müssen dazu in dem entsprechenden Land gleichwertige Schutzgesetze gelten, oder aber durch Verträge mit der verarbeitenden Stelle sichergestellt werden, daß die deutschen Datenschutzbestimmungen eingehalten werden. Es ergibt sich somit kein Vorteil der Unternehmen in Richtung Auflockerung des Datenschutzes. Auch ist es möglich, Daten in das Ausland zu transferieren, wenn es sich dabei um anonyme Daten handelt. Dabei muß aber beachtet werden, daß mehrere anonyme Datensätze nicht wieder zu personenbezogenen Daten zusammengeführt werden dürfen. An diesen Regelungen erkennt man die Problematik der Durchsetzbarkeit. Es ist für Betroffene, ebenso wie für den Staat nicht möglich 387 13 Rechtliche und soziale Aspekte der Datenanalyse die Übermittlung von personenbezogenen Daten nachzuvollziehen. Es ist also nicht auszuschließen, daß Firmen Daten in andere Staaten weitergeben und dort Analysen durchführen lassen, die in Deutschland unzulässig wären. Für Betroffene ist der Nachweis, das gegen gesetzliche Bestimmungen verstoßen wurde, meist schwierig und wenn er dennoch gelingt, sind die Konsequenzen für die Verletzung von Datenschutzbestimmungen meist gering[LEG00]. 13.3 Soziale Auswirkungen der Datenanalyse Nach dem es in Kapitel 13.2 um die rechtlichen Ramenbedingungen in der Bundesrepublik Deutschland beim Umgang mit personenbezogenen Daten ging, soll es nun beispielhaft um die möglichen Auswirkungen von Datensammlung und Datenauswertung gehen. Dabei soll nicht mehr nur die Verarbeitung von personenbezogenen Daten ein Thema sein, sondern auch auf Probleme beim Umgang mit Unternehmensdaten eingegangen werden. 13.3.1 Beispiele des Customer Relationship Management“ ” Das Customer Relationship Management“ hat die Verbesserung und ” Stärkung der Kundenbindung an das Unternehmen als Ziel. Zu diesem Zweck versuchen Unternehmen möglichst viele Daten über den Konsumenten zu sammeln. Das Ziel dabei ist der gläserne Kunde“, ” von dem das Unternehmen sämtliche Lebensumstände kennt, um ihn bedarfsgerecht zu informieren und anzusprechen. Der Wunsch vieler Unternehmen dabei ist das one to one“ Marketing, bei dem jeder ” einzelne Kunde als Individuum bekannt ist und bei Abweichungen von seinen normalen Verbrauchsmustern zielgerichtet beraten werden kann [BBD01]. Um möglichst viele Daten über ihre Kunden zu erfahren, sind in den letzten Jahren in immer mehr Unternehmen sogenannte Rabattoder Kundenkarten (z.B. Miles & More“ oder Payback“) eingeführt ” ” worden. Dabei legt der Kunde bei jedem Einkauf seine Karte vor und sorgt somit aktiv für Daten über sein Konsumverhalten. Dafür wird der Kunde dann mit zielgerichteter Werbung informiert und mit Preisnachlässen und speziellen Angeboten nur für Ihn belohnt. Diese Ziele klingen in Ihrer Umsetzung zunächst positiv: Der Kunde bekommt weniger Werbung die auch noch für Ihn interessant ist und erhält gleichzeitig finanzielle Vorteile. 388 13.3 Soziale Auswirkungen der Datenanalyse Aber was passiert mit den Kunden ohne Karte? Das Unternehmen wird sicherlich seine Einnahmeverluste auf Seiten der Karteninhaber versuchen auszugleichen in dem Kunden ohne Karte einen etwas höheren Preis zahlen müssen. Dies ist eigentlich nicht nötig, da das Unternehmen für verlässliche Kundendaten von entsprechenden Kartenanbietern, wenn das Unternehmen seine eigenen Daten weitergibt, ein entsprechende Gegenleistung erhält. Miles & More“ Ein konkretes Beispiel für die Auswirkungen soll ” anhand der Lufthansa Karte Miles & More“ gegeben werden. Dort ” erhalten die 1000 besten Vielflieger sogenannte VIP-Karten mit denen sie auf jedem Flug einen Platz erhalten, auch wenn das Flugzeug bereits ausgebucht ist. Dafür muß dann ein normaler“ Fluggast (oh” ne Karte) wieder ausgebucht werden[Bae00]. Diese Sitzplatzgarantie wird inzwischen auch von anderen Fluggesellschaften angeboten[Rup03]. Aber auch der VIP-Kartenbesitzer kann negative Konsequenzen spüren. Wenn z.B. die Fluggesellschaft nicht nur die geflogenen Flugmeilen erfasst, sondern zusätzlich auch das Flugziel, wer es bezahlt hat und wer Begleitperson war. Daraus könnten Rückschlüsse auf den Zweck der Reise (Geschäftlich oder Privat) geschloßen werden. Auch temporäre Veränderungen werden erfasst. Wenn z.B. ein Kunde früher häufig geschäftlich im Ausland war und mit der Familie teure Urlaubsreisen machte, jetzt aber nur noch Inlandsflüge einer niedrigeren Klasse bucht, könnte das zum einen bedeuten, daß es dem Unternehmen schlechter geht oder aber der Kunde einen Abstieg innerhalb des Unternehmens erfahren mußte. Kooperiert die Fluggesellschaft mit anderen Unternehmen, könnten diese Vermutungen für den Betroffenen ungeahnte Folgen haben, z.B. bei dem Abschluß von Kreditverträgen. 13.3.2 Beispiele im Gesundheitsbereich Ein weiteres Beispiel ist die Analyse von Krankendaten. In den USA werden bei der Auflösung von Krankenhäusern oder Artzpraxen auch die Patientendaten meistbietend verkauft [Bae00]. An diesen Daten sind zunächsteinmal Krankenkassen, aber auch Finanzgesellschaften interessiert. Die Krankenkassen können mithilfe der Daten das individuelle Risiko von Krankheiten abschätzen und dementsprechend die Prämien und Verträge festlegen. Die Finanzgesellschaften nehmen solche Daten zum Anlass, um bei Lebensversicherungen das Risiko festzulegen oder bei Krediten die Lebenserwartung abzuschätzen um 389 13 Rechtliche und soziale Aspekte der Datenanalyse die Laufzeit zu bestimmen. Positives Beispiel Gesundheitsvorsorge Die Datensammlung und Verarbeitung kann aber auch positiv eingesetzt werdern. So kann die Analyse von Krankheitsdaten auch zu einer Verbesserung der Diagnostik und der Gesundheitsvorsorge dienen. Mittels Datenanalyse lassen sich Zusammenhänge wie der kürzlich gefundene Aussage Wer in der Jugend gegen Pocken geipmft wurde, ” hat ein um 30 % geringeres Risiko an Hautkrebs zu erkranken“ leicht finden, da es sich um einfache Abhängigkeiten handelt [roc02]. Solche Ergebnisse liefern Data-Mining-Verfahren“ automatisch, so daß die ” Forschung sich auf die Evaluation konzentrieren könnte. 13.3.3 Beispiele im Unternehmensbereich Im Unternehmensbereich gibt es ähnliche Szenarien. Dabei geht es hauptsächlich um den Verrat von Unternehmensgeheimnissen durch einfache Informationen, die entweder freiwillig, in Form von Unternehmenspräsentationen, oder aufgrund von rechtlichen Regelungen, wie z.B. Veröffentlichungspflichten bei börsennotierten Unternehmen, publiziert werden. Die Börsenveröffentlichungen wie Gewinn, Umsatz oder besondere Ereignisse, sollen dazu beitragen, daß sich die Aktionäre ein Bild über die Lage des Unternehmens machen können. Dieser Einblick ist aber auch Konkurrenten zugänglich, die meist noch über zusätztliche Informationen über die Unternehmensbranche oder den Mitbewerber verfügen. Dieses Wissen kann zusammengefügt werden, so daß sich ein detaillierteres Bild des Unternehmens ergibt. Auch wenn dieses Vorgehen nicht als Industriespionage bezeichnet werden kann, stellt es doch einen Nachteil für das ausgeforschte Unternehmen dar[Hof99]. Im Folgenden sollen einige konkrete Beispiele diskutiert werden, bei denen normale“ Informationen Rückschlüsse auf Unternehmensge” heimnisse liefern können. Telefonnummern In den meisten Firmen werden Telefonnummern nach der Zugehörigkeit zu einer Abteilung vergeben. So ist eine normale Firmenrufnummer nach folgendem Prinzip aufgebaut: Vorwahl / xx-yy-zz, wobei xx die Firmennummer ist, die yy Werte die Abteilungen bezeichnen und zz die Durchwahl zu den einzelnen Mitarbeitern darstellt. Wenn dann innerhalb der Abteilungen auch noch 390 13.3 Soziale Auswirkungen der Datenanalyse die Durchwahl nach Projektzugehörigkeiten sortiert ist, läßt sich auf die Wichtigkeit einer Entwicklung schließen indem die Größe der Rufnummerräume zwischen bekannten Projekten bestimmt werden. Dadurch können auch unbekannte Projekte entdeckt“ werden. ” Ähnliche Möglichkeiten gibt es in einigen Ortsnetzen Deutschlands. Hier könnte man dadurch, daß bestimmte Nummernkombinationen für Stadtteille vergeben werden bzw. an einen anderen Telefonanbieter, mit einer geringen Fehlerwahrscheinlichkeit der ungefähre Wohnort und die Zugehörigkeit zu einer Telefongesellschaft ermitteln werden. Bestellmengen Wenn sich regelmäßige Bestellungen verändern, kann daraus auch schon auf Entwicklungen innerhalb eines produzierenden Unternehmens geschlossen werden. Wenn z.B. ein Flugzeugbauer regelmäßig für ein Jahr 30 Tonnen Stahl und 15 Tonnen Aluminium bestellt und dann kontinuierlich weniger Stahl bestellt, dafür aber etwas mehr Aluminium und zusätzlich Epoxidharz und Kunststoffgewebe , so läßt sich dahinter eine Veränderung der gefertigten Flugzeuge in Richtung Leichtbau vermuten. Wenn zusätzlich noch verstärkt nach Fachkräften im Bereich Kunststoffverarbeitung gesucht wurde, kann man außerdem vermuten, daß der angestrebte Veröffentlichungstermin des neuen Flugzeugtyps in näherer Zukunft liegt. Ein Konkurrenzunternehmen kann mit diesem Wissen seine eigene Strategie diesen Bedingungen anpassen und damit dem anderen Unternehmen Schaden zufügen [CM96]. Verkaufsstatistiken Kommen wir jetzt zu einem etwas größeren Beispiel, daß auch die Möglichkeiten der Datenanalyse beinhaltet. Wir führen einen großen Supermarkt und stehen in Verhandlung mit einem Hersteller von Hygienepapier. Dieser bietet uns günstige Konditionen, wenn wir Ihm dafür erlauben, unsere Verkaufsdaten zu analysieren. Der Papierhersteller möchte damit seine Lagerkosten und die Entwicklung optimieren. Wir sind natürlich sehr daran interessiert die Ware günstig einzukaufen und übermitteln unsere gesamten Belegdaten an den Hygienepapierhersteller. Dieser führt allerdings umfangreiche Analysen durch, die Ihm Aufschluß darüber geben, welche Verbundkäufe getätigt werden und von welchem Hersteller die einzelnen Produkte kommen. Z.B. kann er feststellen, daß Kunden, die ein Sportgel kaufen auch später 391 13 Rechtliche und soziale Aspekte der Datenanalyse noch Einwegtücher eines Konkurrenten kaufen. Außerdem werden zu Kosmetikprodukten immer noch Wattepads gekauft. Der Hygienepapierhersteller startet nun eine eigene Werbekampanne, bei der der Kunde einen Preisnachlass erhält, wenn er zu Kosemetikprodukten oder Sportsalben ein Papierprodukt des Hygienepapierherstellers kauft. Dadurch stärkt er seine Stellung gegenüber der Konkurrenz, die dadurch Umsatzeinbußen erleidet. Bei erneuten Verkaufsverhandlungen wird der Hygienepapierhersteller uns aufgrund der geringeren Konkurrenz schlechtere Konditionen unterbreiten, da es seine eigene Kampagne war, die uns ein Umsatzplus bereitet hat. Allerdings können wir auch nicht bei den Konkurrenten günstiger kaufen, da wir bei diesen einen Umsatzrückgang aufgrund der Werbung hatten und damit in einer schlechteren Position als vorher stehen, siehe hierzu auch [CM96]. Dies waren alles Verfahren und Auswertungen, die auf klassischen Datenanalysen beruhen. Die Möglichkeiten moderner Data-Mining” Verfahren“ auf Unternehmensdaten sind für mich im Augenblick nicht überschaubar. Es ist aber davon auszugehen, daß die Qualität und die Komplexität der Ergebnisse dadurch optimiert wird. Positives Beispiel Zum Abschluß dieses Kapitels soll noch eine positive Einsatzmöglichkeit der Datenanalyse aufgezeigt werden. Wenn ein Händler aufgrund von Datenanalysen genau weiß, wann welches Produkt gekauft wird und welche Verbundartikel dazu gehören, z.B. daß wenige Tage vor einer Übertragung einer Fußballgroßveranstaltung, wie z.B. einer Weltmeisterschaft, Bier und Salzgebäck überdurchschnittlich nachgefragt werden, kann er dadurch seine Lagerhaltung effizienter gestallten und diese Produkte erst dann bestellen, wenn eine Nachfrage wahrscheinlich wird. Dadurch werden Lagerkosten gesparrt [JS97]. Produzenten können sich ebenfalls Analysen für ihre Produktionsabläufe erstellen und diese damit effizienter machen, indem benötigte Teile immer zum richtigen Zeitpunkt in der erwarteten Anzahl und dem benötigten Verbund gekauft werden. Ein Einsatzbeispiel ist die Just in Time“ Zulieferung von Motoren und Karosserieteilen in der ” Automobilindustrie. 392 13.4 Lösungsansätze 13.4 Lösungsansätze In diesem Kapitel sollen Lösungsansätze für einige der in Kapitel 13.3 aufgeworfenen Probleme vorgestellt werden. 13.4.1 Unternehmenspolitik Wie in Kapitel 13.3.3 gezeigt wurde, können Unternehmen durch die Veröffentlichung von Daten Nachteile entstehen. Deshalb sind Sie daran interessiert, die Möglichkeit, Daten zu Analysezwecken zu gebrauchen, soweit wie möglich einzuschränken. Da es sich bei diesem Bereich um ein sehr spezielles und sensibles Thema handelt, gibt es dazu nicht viele publizierte Informationen. Es sollen im Folgenden einige grundsätzliche Lösungsansätze aufgezeigt werden, welche als Richtlinie zum Schutz von Daten dienen können. Jedes Datum sollte Schutzwürdig sein Zunächsteinmal sollten sämtliche Informationen, die in Unternehmen anfallen, als sensitiv betrachtet werden. Auch wenn jedes einzelne Datum für sich genommen kein Risiko darstellt, könnte es denoch anderen als Grundlage zur Anreicherung oder Verifizierung von Datenbeständen dienen. Auch von älteren Daten geht dieses Risiko aus, da sie zur Verifizierung vergangener Auswertungen herangezogen werden können. Aus den eben genannten Gründen sollte auch in Firmenprospekten und Selbstdarstellungen immer nur bereits bekannte oder unverbindliche Angaben gemacht werden. Dabei sollte beachtet werden, daß, wenn genügend Zusatzinformationen vorhanden sind, aus Summen auch Einzeldaten wieder zurückgerechnet werden können. Daten vorverarbeiten Wenn ein Unternehmen Daten einem Dritten zur Analyse überläßt oder veröffentlicht, sollten diese immer soweit vorverarbeitet (zusammengefaßt) werden, so daß sich aus den verallgemeinerten Datensätzen keine direkten Rückschlüsse mehr auf einzelne Positionen ziehen lassen. Außerdem sollten nur die für den Dritten in Betracht kommenden Daten übermittelt werden. In dem Beispiel des Hygienepapierherstellers in Kapitel 13.3.3 könnte man die Belgegdaten soweit vorverarbeiten, daß nur noch einzelne Warengruppen erfasst werden, aber nicht mehr einzelne Positionen. Außerdem wäre es ratsam nur die Belege, bei denen entsprechende 393 13 Rechtliche und soziale Aspekte der Datenanalyse Warengruppen verkauft wurden, weiterzugeben. Für nähere Informationen siehe auch [CM96]. Einfügen von Fehlern Auch ist es möglich, die Daten derart zu verändern, daß normale Anfragen korrekt beantwortet werden, unzulässige Analysen oder Anfragen allerdings falsche Informationen liefern. Dieses System läßt sich sehr gut an einem Telefonbuch erläutern. Wenn das Telefonbuch um zusätzliche, nicht offensichtlich falsche Daten erweitert wird, kann jede Anfrage, die sich auf eine existierende Person bezieht, korrekt beantwortet werden. Wird eine nicht existente Person angefragt, so wird ein zugehöriger falscher Wert zurückgeliefert. Bei der Durchführung von Analysen auf diesem modifizierten Datensatz sollte so das Ergebnis im Idealfall durch die zusätzlichen unrichtigen Einträge stark verfälscht werden, was das Resultat nutzlos macht. Trennung von Organisations- und Infrastruktur Es sollte außerdem darauf geachtet werden, daß interne Organisationsstrukturen nicht durch die Infrastruktur wie z.B. Telefonnummern, Postadressen oder ähnliches, nach Außen publik werden. Unternehmen setzen heute schon auf zentrale Verteiller, die entsprechende Anfragen von außen weiterleiten ohne dabei den genauen Sitz einer Person oder Stelle innerhalb des Unternehmens weiterzugeben. Eine andere Möglichkeit wäre sicherlich, Telefonnummern oder Adressen mittels Zufallsprinzip zu vergeben. Dies würde aber mit einem starken Verlust an Übersichtlichkeit einhergehen und dürfte daher wenig praktikabel sein. 13.4.2 Forschungsumfeld Auch im Bereich der Forschung gibt es interessante Lösungsmöglichkeiten, um den Konflikt zwischen dem Selbstbestimmungsrecht des Probanden und der forschenden Stelle, wie er bereits in Kapitel 13.2.3 diskutiert wurde, zu lösen. Die neueste Entwicklung dabei ist der Datentreuhänder, wie er in [MW02, 6.2] vorgestellt wird. Dort ist auch eine umfassende rechtliche Bewertung dieses Verfahrens zu finden. 394 13.4 Lösungsansätze 13.4.2.1 Datentreuhänder Die Idee des Datentreuhänders ist, den Schutz von personenbezogenen Daten zu gewährleisten, ohne dabei den Datenbedarf von Forschungsstellen zu beschneiden. Damit wird die Einschränkungen der Betroffenen minimiert ohne die Forschung zu behindern. Der Datentreuhänder ist dabei unabhägiger, vertrauensvoller Dritter, weshalb er auch als Vertrauensstelle tituliert wird [MW02, 6.2.1]. Um Ihrer Funktion gerecht zu werden, müßen sie von der forschenden Stelle unabhängig und personell getrennt sein. Außerdem ist ein Aussageverweigerungsrecht und der Schutz von Unterlagen (Beschlagnameverbot) sowie eine Schweigepflicht vorrauszusetzen. Diese Anforderung erfüllen bislang nur Notare. Das Verfahren sieht folgendermaßen aus: Zwischen die datenbesitzende Stelle oder den Betroffenen selbst und die datenverarbeitende Stelle wird der Datentreuhänder geschaltet. Dabei ist die Organisationsform der Datenverarbeitung derart gewählt, daß nur der Datentreuhänder einen Personenbezug herstellen kann. Dies wird technisch meist dadurch realisiert, in dem die zu übermittelnden personenbezogenen Daten beim Datentreuhänder anonymisiert oder pseudonymisiert werden. Bei der Pseudonymisierung werden die Identifikationsmerkmale durch eine eindeutige Codierung ersetzt, wodurch es der forschenden Stelle möglich ist, neue Datensätze immer korrekt einzelnen Betroffenen zuzuordnen, ohne dabei die Person zu identifizieren. Der Datentreuhänder führt also eine Vorverarbeitung durch. Der Vorteil aber ist, daß die forschende Stelle über den Datentreuhänder jederzeit in Kontakt mit dem Probanden treten können ohne seine Identität zu kennen. Dieses Verfahren ist natürlich aufwendig und setzt auch ein gewisses technisches Potential bei dem Datentreuhänder voraus. Vorallem ist darauf zu achten, daß die Codierung so stark ist, daß ein Rückrechnen auf einzelne Personen nicht möglich ist. Desweiteren ist das Problem, daß mehr Daten zu einer Person auch immer die Gefahr der Identifizierbarkeit steigern, nicht gelöst. Dennoch ist der Datentreuhänder ein Lösungsansatz, der sehr gut die Belange beider Seiten, Forschende und Probanden, miteinander verbindet und vollständig, bzw. weitesgehend erfüllt. Speicherung von Forschungsdaten Auch kann der Datentreuhänder eingesetzt werden, um Forschungsdaten zu speichern. So fordert die 395 13 Rechtliche und soziale Aspekte der Datenanalyse Deutsche Forschungsgemeinschaft (DFG): Primärdaten als Grund” lage für Veröffentlichungen sollten [...] für zehn Jahre aufbewahrt werden“[MW02, 7.1]. Dieses hat den Sinn, daß Forschungsergebnisse nachprüfbar bleiben und somit zur Sicherung vor wissenschaftlichen Fälschung stattfindet. Bei schutzwürdigen Daten, wie sie personenbezogene Daten darstellen, ist dies aber aus datenschutzrechtlichen Gesichtspunkten nicht zu akzeptieren. Durch die dauerhafte Verwahrung bei zwei Datentreuhändern kann beiden Seiten genüge getan werden. Der erste Treuhänder erhält die Zuordnungen während der Zweite die Daten erhält. Die forschende Stelle hat die Gewissheit, daß die Daten, falls Zweifel an der Korrekheit von Ergebnissen auftauchen, weiterhin zur Verfügung stehen. Des weiteren kann der Proband darauf vertrauen, daß seine personenbezogenen Daten geschützt bleiben. 13.4.2.2 Codierte / pseudonymisierte Erhebung Eine abgeschwächte Form des Datentreuhänderprinzips ist die codierte Erhebung. Dabei muß der Betroffene selbst bei der Befragung die Codierung durchführen. Hierzu wird dem Probanden eine Codierungsvorschrifft zusammen mit dem Fragebogen zugestellt. Dieses Verfahren ist dann empfehlenswert, wenn eine Befragung nach einer längeren Zeitspanne wiederholt werden soll, um Entwicklungen zu untersuchen. Dabei kommt es darauf an, daß Daten des selben Betroffenen zusammengeführt werden können. Deshalb muß die Codierung eindeutig und reproduzierbar sein. Daurch entsteht aber auch die Gefahr der Identifizierbarkeit. Das zweite Verfahren, die Erhebung von Daten unter Pseudonym, empfiehlt sich eher bei regelmäßigen Erhebungen. Hierbei kann der Betroffen selbst ein Pseudonym erfinden und unter diesem seine Daten weitergeben. Dadurch ist die Gefahr des Rückrechnens, wie sie bei Codierungen immer besteht, wesentlich geringer. Der Nachteil besteht darin, daß Probanden ihr Pseudonym vergessen, falsch schreiben oder aber das ein Pseudonym mehrfach gewählt wurde. Dadurch können wichtige Informationen verloren gehen. 396 13.5 Einordnung der Projektgruppe 13.5 Einordnung der Projektgruppe In der Projektgruppe Personalisierte internetbasierte Handelsszena” rien“ geht es im Rahmen einer Forschungsarbeit an der Carl von ” Ossietzky Universität“ um die Umsetzung eines Kundenkartensystems, ähnlich dem der Firma Payback“, bei dem verschiedene Inter” nethändler Kundendaten, Transaktionsdaten und Web-Logs an den Kartenanbieter weitergeben, der daraus mittels Datenanalyse Kundenprofile erstellt und diese dann verkauft. Dabei sollen die Datenanalysen möglichst automatisch mittels Data-Mining Verfahren“ durch” geführt werden. Bei der rechtlichen Bewertung möchte ich zwischen zwei Bereichen trennen. Als Erstes, den des Händlers, der die Kundendaten erhebt, speichert und an den Kartenanbieter weitergibt; sowie des Kartenanbieters, der die Kundendaten verschiedener Händler zusammenfasst und dann eine Datenanalyse auf dem gesamten Datenbestand durchführt. Wie bereits in Kapitel 13.2.2.3 diskutiert wurde, ist die automatische Datenanalyse von personenbezogenen Daten in Deutschland verboten. Der Kartenanbieter dürfte bei voller Ausschöpfung des rechtlichen Rahmens, überwachte Analyseverfahren einsetzen. Aber da es sich, wie oben erwähnt, um eine Forschungsarbeit handelt, greift für dieses Vorhaben der Sachverhalt des §4a Abs.2 BDSG. Ferner sind die Bestimmungen des Niedersächsischen Datenschutzgesetzes (NDSG) zu beachten, da es sich bei der forschenden Einrichtung um eine öffentliche Stelle handelt. Im NDSG werden aber hauptsächlich verwaltungsrechtliche Belange reglementiert, die nicht weiter interessieren sollen. Desweiteren werden in der Projektgruppe keine Echtdaten verwendet, so daß der Realisierung als wissenschaftliches Projekt rechtlich vollkommen unbedenklich ist. Der Einsatz solcher angestrebter Techniken in der Bundesrepublick Deutschland wären jedoch nicht zulässig. In Ländern ohne solche starken Schutzgesetzen, wie den USA, ist der Einsatz solcher Systeme ohne Probleme möglich. Zu den Datenlieferanten, den Online-Händlern bleibt zu bemerken, daß diese den Informationspflichten Nachkommen müßten, wie sie in Kapitel 13.2.2.1 kurz vorgestellt wurden. Für Online-Händler gelten aber noch umfassendere Informationspflichten, die in [SM02] ausführlich dargestellt werden. Zu den sozialen Aspekten bleibt zu bemerken, daß solch eine umfang- 397 13 Rechtliche und soziale Aspekte der Datenanalyse reiche Sammlung von Daten über einen Kunden auch ein hohes Maß an Verantwortung fordert, damit der Kunde dem System überhaupt Vertrauen entgegenbringt. 13.6 Ausblick Die Verarbeitung von personenbezogenen Daten in Data Warehou” ses“ mittels des Einsatzes von Data-Mining-Verfahren“ ist in Deutsch” land nur in begrenztem Maße zulässig. Die Vorstellung vieler Unternehmen, daß man Kundendaten nach Belieben sammeln und verarbeiten kann, ist unter datenschutzrechtlichen Aspekten in Deutschland nicht zulässig. Die Meinung, daß die Sammlung personenbezogener Daten insgesamt in Deutschland unzulässig ist, wie sie in [Möl98] vertreten wird, teile ich nicht. Insbesondere die Verarbeitung anonymer Daten ist unproblematisch, solange sich aus den Ergebnissen keine Rückschlüsse auf Einzelne ziehen lassen. Bei der Entwicklung von Systemen zum Customer Relationship Ma” nagement“ sollte deshalb von vornherein überlegt werden, ob die angestrebten Ziele nicht auch mit anonymen Daten zu erreichen sind. Ist die Verarbeitung personenbezogener Daten notwendig, so ist man auf eine Kooperation mit dem Betroffenen angwiesen. Dieses muß aber kein Wettbewerbsnachteil sein! Kunden, die bewußt ihre Einwilligung zur Datensammlung geben und über Verarbeitungsschritte und Ziele dieser informiert sind, drücken damit ihre Akzeptanz aus. Desweiteren werden sie sich nicht hintergangen fühlen, sofern die vom Händler versprochenen Regeln eingehalten werden. Dies schafft ein stärkeres Vertrauen des Konsumenten in den Händler. Zu den Realisierungsmöglichkeiten sei auf [Abe02] und [SM02] hingewiesen. Viele Unternehmen haben bereits angefangen, sogenannte Priva” cy Policys“ in Ihr Geschäftsmodell zu integrieren um den Kunden die Befürchtung mangelnden Datenschutzes zu nehmen, wie er aufgrund von Verstößen oder Berichten aus der Presse entstanden ist [BS99a][BS99c]. Datenschutz und Datensicherheit werden also zu Faktoren, die für Kunden kaufentscheidend sein können. Je höher das Datenschutzniveau ist, desto eher sind Verbraucher bereit, Ihre Daten mit Unternehmen zu teillen. Dann wird sicher auch die Kritik von Datenschutzbeauftragten geringer, für welche Kundenkarten die größte Gefahr für 398 13.6 Ausblick die Persönlichkeitsrechte darstellen [BS99b]. 399 13 Rechtliche und soziale Aspekte der Datenanalyse 400 14 Zusammenfassung Dieser Teil des Zwischenberichtes enthält die Seminarvorträge der zwölf Mitglieder der Projektgruppe Personalisierung internetbasier” ter Handelsszenarien“. Er dient dazu, den Einstieg in die Thematik der Projektarbeit zu erleichtern und den Wissensstand der Teilnehmer zu vereinheitlichen. Die Kenntnisse sollen sowohl aus technischer als auch aus praktischer Sicht angeglichen werden. Die Ausarbeitungen sind dabei in drei Teilbereiche untergliedert. Im Rahmen der Einführung in die Datenanalyse werden die Themen Data Warehousing“, die Allgemeine Datenanalyse“ sowie der ” ” KDD-Prozess“ vorgestellt und detailliert erläutert. ” In der ersten Seminararbeit geht es um Data Warehouses, die sich aufgrund der steigenden Datenmengen in den Betrieben etabliert haben. Ein Data Warehouse stellt eine integrierte und bereinigte Datenbank dar, die eine zeitliche Sicht auf die Daten ermöglicht. Als Data Warehousing wird der gesamte Prozess der Datenbeschaffung, Integration und Analyse bezeichnet. Die Arbeit stellt das multidimensionale Datenmodell vor und geht dabei ebenso auf dessen Umsetzungsmöglichkeiten (multidimensional, relational, hybrid) ein. Die Ausarbeitung der Allgemeinen Datenanalyse thematisiert Verfahren, mit dessen Hilfe verstecktes Wissen aus (großen) Datenbeständen gewonnen werden soll. Es werden Analyseverfahren aus Statistik, Künstlichen Neuronalen Netzen sowie OLAP (On Line Analytical Processing) betrachtet. In der abschliessenden Arbeit dieses einführenden Teilbereichs wird der Prozess des Knowledge Discovery in Databases (KDD) vorgestellt. Es werden verschiedene Modell-ansätze beleuchtet. Die einzelnen Phasen werden hierbei an dem CRISP-DM-Modell (Cross Industry Standard Process for Data Mining) ausführlich erläutert. In diesem Zusammenhang wird ebenso auf die Möglichkeiten des verteilten Data Mining, der Analysephase im KDD-Prozess, eingegangen. Der zweite Teilbereich befasst sich mit den technischen Aspekten der 401 14 Zusammenfassung Datenanalyse. Hierzu werden Seminararbeiten über Data Preproces” sing“, Clustering und Klassifikation“ sowie über Assoziationsana” ” lyse und Konzeptbeschreibung“ erstellt. Ausserdem werden Tempo” rale Aspekte des Data Mining“ dargestellt. Dieser Teilbereich beginnt mit der Ausarbeitung über Data Preprocessing. Da Daten in der Realität häufig unvollständig, verteilt, fehlerhaft oder inkonsistent auftreten, ist oftmals die Anpassung einzelner Daten notwendig. Es werden verschiedene Technologien und Vorgehensweisen der Datenvorverarbeitung vorgestellt. Mit deren Hilfe können unzuverlässige und ungenaue Ergebnisse, die aus angewandtem Knowledge Discovery“ auf Daten enstehen können, bedingt ein” geschränkt werden. In der darauf folgenden Arbeit werden zwei wichtige Methoden des Data Mining – Clustering und Klassifikation – vorgestellt. Ziel der Clusteringverfahren ist es (zum Zweck der besseren Verständlichkeit), Objekte der Eingabedaten zu gruppieren. Es werden partitionierende (k-means, k-medoid, Dbscan) sowie hierarchische (Single-Link Verfahren und Optics) Clusteringalgorithmen dargelegt. Klassifikationsverfahren ermöglichen, unbekannte Daten einer vorgegebenen Klasse zuzuordnen. In diesem Zusammenhang werden Bayes-Klassifikatoren, Entscheidungsbäume und (k)-Nächste-Nachbarn-Klassifikatoren vorgestellt. Der Bericht über die Assoziationsanalyse und Konzeptbeschreibung thematisiert neben dem KDD-Prozess ausführlich die zwei Methoden Assoziationsanalyse und Konzeptbeschreibung. Im Rahmen der Assoziationsanalyse wird bei der Vorstellung mehrerer komplexerer Assoziationsregeln verstärkt der Apriori-Algorithmus als ein grundlegender Algorithmus für das Finden von Assoziationsregeln erläutert. Die Konzeptbeschreibung ist eine Methode für die Ermittlung einer zusammengefassten Sicht auf Datenmengen. Die letzte Arbeit dieses Teilbereiches beschäftigt sich mit den temporalen Aspekten des Data Mining. Es werden die Repräsentationsformen Temporale Datenbank“ und Zeitreihen“ sowie ihre Eigenschaf” ” ten vorgestellt. Zudem werden die sogenannten Inter-Transaktionsmuster (z.B. sequentielle Muster und zeitliche Assoziationsregeln) und die Analyse von zeitlichen Assoziationsregeln sowie zwei Algorithmen zur Entdeckung von sequentiellen Mustern erläutert. Inhalt des letzten Bereichs des Zwischenberichtes ist die Erläuterung der Datenanalyse aus praktischer Sicht. Hierbei werden Geschäfts” 402 modelle“, Datenanalyse im Marketing“ sowie die Verwendung per” ” sonalisierter Daten im Web“ thematisiert. Abschliessend handeln die letzten Ausarbeitungen von Web Usage Mining“ sowie von Recht” ” lichen und sozialen Aspekten der Datenanalyse“. Die erste Arbeit dieses Teilbereiches beschäftigt sich mit Geschäftsmodellen aus der Praxis, mit denen eine Erhöhung der Kundenbindung erreicht werden soll. Zu diesem Zweck werden verschiedene Bonusprogramme vorgestellt und miteinander verglichen. Unternehmen sammeln dabei Kundeninformationen, die für die Erstellung von Kundenprofilen analysiert und zur Optimierung der Werbung eingesetzt werden sollen. In der Seminararbeit “Datenanalyse im Marketing“ wird auf die Entdeckung von bisher unbekanntem Wissen in Datenbanken eingegangen. Viele dieser Data Mining-Lösungen werden im Marketing eingesetzt. Es wurden dabei vier Hauptaufgabenbereiche (Klassifikation, Clustering, Assoziierung, Prognose) vorgestellt. Die folgende Ausarbeitung beschäftigt sich mit Verwendung personalisierter Daten im Web. Personalisierung dient den Anbietern dazu, individuell auf ihre Nachfrager einzugehen und damit die Beziehung zu ihren Kunden zu verbessern. Zudem ermöglicht sie es, die steigende Informationsmenge für die Kunden insbesondere im anonymen Internet transparenter zu machen. Die Arbeit Web Usage Mining erläutert das Anwenden von Data Mining Methoden auf Daten, die im Internet zu finden sind bzw. täglich anfallen. In diesem Zusammenhang wird besonders auf den wichtigen Prozess der Datenbereinigung eingegangen. Ausserdem werden drei grundlegende Algorithmen exemplarisch vorgestellt und mögliche Methoden zur Auswertung der Mining Ergebnisse diskutiert. In der abschliessenden Ausarbeitung des Zwischenberichtes Teil B wird die rechtliche Situation von Datenanalysen zum Kundenmanagement bzw. der Verarbeitung von personenbezogenen Daten allgemein betrachtet. Hierbei werden Beispiele für die Probleme des Datenschutzes bei Personen und von Unternehmen vorgestellt. Des weiteren wird auf Lösungsansätze im Unternehmensbereich und auf Verfahren zum Datenschutz bei Forschungsprojekten eingegangen. 403 14 Zusammenfassung 404 Abbildungsverzeichnis 2.1 2.2 2.3 2.4 2.5 2.6 Abhängige Data Marts . . . . . . . . . . Unabhängige Data Marts . . . . . . . . . Referenzarchitektur eines Data Warehouse ME/R . . . . . . . . . . . . . . . . . . . . mUML . . . . . . . . . . . . . . . . . . . . Multidimensionaler Datenwürfel . . . . . . . . . . . . . . . . Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 18 21 23 25 Übersicht Datenanalyse [KW00] . . . . . . . . . . . . Übersicht KDD vgl. [FPSS96c] . . . . . . . . . . . . . Box-and-Whisker-Plot [Küs01b] . . . . . . . . . . . . Steam-and-Leaf-Plot [Küs01b] . . . . . . . . . . . . . Histogramm [Küs01b] . . . . . . . . . . . . . . . . . . Scatterplot [Küs01b] . . . . . . . . . . . . . . . . . . . Kontingenztabelle [Küs01b] . . . . . . . . . . . . . . . Überblick Neruonale Netze [PS01] . . . . . . . . . . . Einzelnes Neuron vgl. [Fat01] . . . . . . . . . . . . . . Zu clusternde Farben=Sampledaten [Ger99] . . . . . Initiale SOM [Ger99] . . . . . . . . . . . . . . . . . . SOM der Verteilung von Wohlstand und Armut in der Welt [PS01] . . . . . . . . . . . . . . . . . . . . . . . . 3.13 Multidimensionaler Datenwürfel (nach [Kös02]) . . . 3.14 Interaktivität im KDD durch OLAP (vgl. [Cha01]) . 41 44 50 50 51 52 53 58 59 64 65 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Data Warehouse Referenzarchitektur nach [BG01] . . Prozessmodell zum Online Analytical Mining(OLAM) [HK01] . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Ebenenmodell in CRISP-DM [CRI02] . . . . . . . Die Phasen von CRISP-DM [CRI02] . . . . . . . . . . Übersicht über die Prozessmodelle (angelehnt an [GS99]) KDD-Prozessmodell nach Fayyad [BA96] . . . . . . . . Modell nach Brachman und Anand [BA96] . . . . . . . 67 69 71 77 78 81 82 90 91 93 405 Abbildungsverzeichnis 4.8 4.9 Das Prozessmodell SEMMA von SAS [SAS02b] . . . . Verteiltes Data-Mining-Modell (nach [KZL00] . . . . . 95 97 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Equiwidth-Verteilung . . . . . . . . . . . . . . . . . . . Equidepth-Verteilung . . . . . . . . . . . . . . . . . . . V-Optimal-Verteilung . . . . . . . . . . . . . . . . . . MaxDiff-Verteilung . . . . . . . . . . . . . . . . . . . . Ausreißererkennung durch Clustering . . . . . . . . . . Regression zum Data Smoothing . . . . . . . . . . . . Histogramm als Visualisierungsmethode von binningMethoden . . . . . . . . . . . . . . . . . . . . . . . . . 105 105 106 106 107 108 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.1 7.2 7.3 7.4 7.5 7.6 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 406 Centroid basiertes Clustering: . . . . . . . . . . . . ε-Umgebungen und Dichte-Erreichbarkeit . . . . . Clusterrepräsentation durch ein Dendrogramm . . Hierarchische Dichte-basierte Cluster . . . . . . . . Erreichbarkeitsdiagramm (Quelle: [ABKS99]) . . . Entscheidungsbaum, um Wetter zu klassifizieren . Effekt des Overfitting (Quelle: [Mit97]) . . . . . . . Beispiel von Attribut- und Klassenliste von Sliq . Unterschiedliche Klassifikationsergebnisse bei k = und k = 5 . . . . . . . . . . . . . . . . . . . . . . . 120 . . . . . . . . . . . . . . . . 2 . . 133 137 141 142 143 150 153 157 Algorithmus Apriori . . . . . . . . . . . . . . . . . . . Join- und Pruning-Phase . . . . . . . . . . . . . . . . . Eine Konzepthierarchie . . . . . . . . . . . . . . . . . Zuordnung linguistischer Bezeichnungen . . . . . . . . Beispiele für Konzepthierarchien . . . . . . . . . . . . Ein Data Cube mit den Dimensionen Produkt, Lieferant und Kunde . . . . . . . . . . . . . . . . . . . . . . 174 175 177 180 183 Grafische Darstellung des BCDM-Beispiels [Lan96] . . Tabellarische Darstellung des BCDM-Beispiels [Lan96] Unterschied zwischen Intra- und Inter-Transaktionsmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . Taxonomie zeitlicher Beziehungen[All83] . . . . . . . . Unusual Movements: Isolated Outliner und Level Shifts [MY01] . . . . . . . . . . . . . . . . . . . . . . . . . . GSP-Algorithmus . . . . . . . . . . . . . . . . . . . . . SPADE: Erstellung der Subsequenzen [Zak97] . . . . . Algorithmus der dritten Phase . . . . . . . . . . . . . 207 208 159 186 212 219 222 226 229 232 Abbildungsverzeichnis 9.1 9.2 9.3 Funktionsweise von Bonusprogrammen . . . . . . . . . 241 Kreislauf der Interaktion . . . . . . . . . . . . . . . . . 242 Kundeninformationssystem . . . . . . . . . . . . . . . 244 10.1 Fehler 1. und 2. Art . . . . . . . . . . 10.2 Diskriminanzanalyse . . . . . . . . . . 10.3 Z-Wert von Altmann . . . . . . . . . . 10.4 Entscheidungsbaum . . . . . . . . . . 10.5 angewendete Verfahren und Ergebnisse 10.6 Das Factoringgeschäft . . . . . . . . . 10.7 Clustering . . . . . . . . . . . . . . . . 10.8 Clusterzuordnung . . . . . . . . . . . . 10.9 Fragebogenauswertung . . . . . . . . . 10.10Werbekampagne ’Golden Standard’ . . 10.11Kundeneinteilung . . . . . . . . . . . . 10.12Assoziationsregel . . . . . . . . . . . . 10.13Elbow-Kriterium . . . . . . . . . . . . 10.14Verbundwirkung . . . . . . . . . . . . 10.15Beispiel einer Warenkorbklasse . . . . 10.16KUR sowie Deckungsbeitrag I und II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 270 272 273 276 278 281 283 286 287 289 291 293 294 296 298 11.1 11.2 11.3 11.4 11.5 11.6 Sammeln von Daten [unk02b] . . . . . . . . . . . . . . 310 Ausschnitt eines Logfiles . . . . . . . . . . . . . . . . . 314 Auszug einer Cookiedatei [Unk02a] . . . . . . . . . . . 317 Die Clusteranalyse nach Clarans[FPSS96c] . . . . . . 319 Auswahl einiger Clusterverfahren[Dui01] . . . . . . . 320 Schaubild zu Nicht-Personalisierte Empfehlungen [Buc01] 323 11.7 Schaubild zu Attribut-basierten Empfehlungen[Buc01] 324 11.8 Schaubild zu regelbasierter Filterung[Buc01] . . . . . 324 11.9 Schaubild zu kollaborativen Filterung[Buc01] . . . . . 325 11.10Auszug eines Entscheidungsbaums einer Bank . . . . 326 11.11Screenshot der Homepage des Online Händlers Amazon [Ama03] . . . . . . . . . . . . . . . . . . . . . . . 327 11.12Screenshot der Homepage des Online Händlers Amazon [Ama03] . . . . . . . . . . . . . . . . . . . . . . . 329 12.1 aggregierter Baum . . . . . . . . . . . . . . . . . . . . 360 12.2 Ausgabe-Baum für ein Template XY*Z . . . . . . . . 362 12.3 Hypergraph . . . . . . . . . . . . . . . . . . . . . . . . 365 407 Abbildungsverzeichnis 13.1 Die drei Verfahren der Datenanalyse . . . . . . . . . . 384 408 Tabellenverzeichnis 2.1 OLTP versus OLAP . . . . . . . . . . . . . . . . . . . 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Transaktionsdatenbank T . . . . . . . . . . . . . . Relation Kunden A . . . . . . . . . . . . . . . . . . generalisierte Relation Kunden A . . . . . . . . . . Beispielrelation . . . . . . . . . . . . . . . . . . . . generalisierte Beispielrelation . . . . . . . . . . . . generalisierte Relation Kunden A . . . . . . . . . . generalisierte Relation Kunden B . . . . . . . . . . Vergleich von Tupeln aus verschiedenen Relationen 8.1 Tabellarische Darstellung der Transaktionen [Zak97] . 227 9.1 Allgemeiner Überblick über die genannten Bonusprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . Vergleich des Vertriebskanals und Herausgebertyps . . Datenweitergabe . . . . . . . . . . . . . . . . . . . . . Übersicht über die Datenverwendung . . . . . . . . . . 9.2 9.3 9.4 . . . . . . . . . . . . . . . . 9 170 184 185 189 190 192 192 193 253 255 257 261 12.1 Kandidaten-Generierung mit Wildcards [GST00] . . . 358 409 Tabellenverzeichnis 410 Algorithmen 1 2 3 4 5 Clustering per Mittelpunktbestimmung Dbscan . . . . . . . . . . . . . . . . . . Agglomeratives Clustering . . . . . . . . Aufbau eines Entscheidungsbaumes . . . Fehlerreduktionspruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 138 141 151 155 411 Algorithmen 412 Literaturverzeichnis [Abe02] Abel, Horst G.: Praxishandbuch Datenschutz. Interest Verlag, Kissing, Stand August 2002. [ABKS99] Ankerst, Mihael, Markus M. Breunig, HansPeter Kriegel und Jörg Sander: OPTICS: ordering points to identify the clustering structure. In: Delis, Alex, Christos Faloutsos und Shahram Ghandeharizadeh (Herausgeber): Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data: SIGMOD ’99, Philadelphia, PA, USA, June 1–3, 1999, Band 28(2) der Reihe SIGMOD Record (ACM Special Interest Group on Management of Data), Seiten 49–60, New York, NY 10036, USA, 1999. ACM Press. [ACPT99] Atzeni, Paolo, Stefano Ceri, Stefano Paraboschi und Riccardo Torlone: Database Systems Concepts, Languages and Architectures. McGraw-Hill, 1999. [Adm02] Admox. http://www.admox.de (08.10.2002), 2002. [AGGR98] Agrawal, Rakesh, Johannes Gehrke, Dimitrios Gunopulos und Prabhakar Raghavan: Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications. In: Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD-98), Band 27,2 der Reihe ACM SIGMOD Record, Seiten 94–105, New York, Juni 1–4 1998. ACM Press. [Agn01] Agnitas: Agnitas-Newsletter Ausgabe 24/01. www. agnitas.de/newsletter/newsletter_24_01.htm, 2001. 413 Literaturverzeichnis [AIS93] Agrawal, Rakesh, Tomasz Imielinski und Arun N. Swami: Mining Association Rules between Sets of Items in Large Databases. In: Buneman, Peter und Sushil Jajodia (Herausgeber): Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, Seiten 207–216, Washington, D.C., 26–28 1993. [All83] Allen, J .F.: Maintaining Knowledge About Temporal Intervals, 1983. [Ama03] Amazon. www.amazon.de, 2003. [AO01] Antunes, Cláudia M. und Arlindo L. Oliveira: Temporal Data Mining: An Overview. 2001. [Apa] Apache: Apache - Log Files. http://httpd.apache. org/docs/logs.html\#accesslog. [AS86] Ahn, Ilsoo und Richard Snodgrass: Performance evaluation of a temporal database management system. International Conference on Management of Data and Symposium on Principles of Database Systems, Seiten 96–107, 1986. [AS94] Agrawal, Rakesh und Ramakrishnan Srikant: Fast Algorithms for Mining Association Rules. In: Bocca, Jorge B., Matthias Jarke und Carlo Zaniolo (Herausgeber): Proc. 20th Int. Conf. Very Large Data Bases, VLDB, Seiten 487 – 499. Morgan Kaufmann, 12 – 15 1994. [AS95] Agrawal, Rakesh und Ramakrishnan Srikant: Mining sequential patterns. In: Yu, Philip S. und Arbee S. P. Chen (Herausgeber): Eleventh International Conference on Data Engineering, Seiten 3 – 14, Taipei, Taiwan, 1995. IEEE Computer Society Press. [BA96] Brachman, Ronald J. und Tej Anand: The Process of Knowledge Discovery in Databases. Seiten 37 – 57, 1996. [BA00] Bonne, Thorsten und Gerhard Arminger: Diskriminanzanalyse. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. 414 Literaturverzeichnis [Bae00] Baeriswyl, Bruno: Data Mining und Data Warehousing: Kundendaten als Ware oder geschütztes Gut? In: Recht der Datenverarbeitung, Nummer 1, Seiten 6–11, 2000. [BBD01] BBDO Group Germany: Endlich Frei! Und jetzt? Marketing ohne Rabattgesetz und Zugabeverordnung. http://www.bbdo.de, 12 März 2001. [BBM97] Bager, Jo, Jörg Becker und Rudolf Munz: Zentrallager, Data Warehouse - zentrale Sammelstelle für Informationen. c’t magazin für computer und technik, 03/97:284–290, 1997. [BFOS84] Breiman, Leo, J. H. Friedman, R. A. Olshen und C. J. Stone: Classification and Regression Trees. Statistics/Probability Series. Wadsworth Publishing Company, Belmont, California, 1984. [BG01] Bauer, Andreas und Holger Günzel: DataWarehouse-Systeme. Architektur, Entwicklung, Anwendung. Dpunkt.verlag GmbH, 2001. [Böh01] Böhm, Klemens: Kapitel 4: Data Preprocessing. http://www-dbs.inf.ethz.ch/$\sim$boehm/DD/ dwm0102/qualityaspekte.pdf, 2001. [Ble89] Bleymüller, J.: Multivariate Analyse für Wirtschaftswissenschaftler. 1989. [Bor97] Borgelt, Christian: Einführung in Datenanalyse und Data Mining mit intelligenten Technologien. http://fuzzy.cs.uni-magdeburg.de/~borgelt/ papers/mit_dm.ps.gz, 1997. [Bre01] Breitner, C.A.: Data Warehousing and OLAP: Delivering Just-In-Time Information for Decision Support. http://citeseer.nj.nec.com/21169html (12.09.2002), 2001. [Bre02] Breuninger. (13.10.2002), 2002. http://www.breuninger.com 415 Literaturverzeichnis [BS99a] Buse, Uwe und Cordt Schnibben: Der nackte Untertan. Der Spiegel, 27/99:112–122, 1999. [BS99b] Buse, Uwe und Cordt Schnibben: Wenig Daten sind gute Daten. Der Spiegel, 27/99:116, 1999. [BS99c] Buse, Uwe und Cordt Schnibben: Wir kriegen sie alle. Der Spiegel, 27/99:122–124, 1999. [Buc01] Buchberger, Robert: Wenn es persönlich wird ... - Webpersonalisierung. http://www.contentmanager. de, 2001. [Bud02] Budni. http://www.budni.de/index.php/column_ karte (05.10.2002), 2002. [Bül00] Büllesbach, Alfred: Datenschutz bei Data Warehouses und Data Mining. In: Computer und Recht, Nummer 1, Seiten 11–17. Dr. Otto Schmidt Verlag, 2000. [Bun00a] Bundesministerium für Wirtschaft und Arbeit: Markttransparenz. http://www.bmwi.de/Homepage/ Presseforum/Reden (17.10.2002), 07 Juni 2000. [Bun00b] Bundesverband Gross- und Außenhandel e.V. (BGA): BGA für sofortige Abschaffung von Rabattgesetz und Zugabeverordnung 19.04.2000. http: //www.verbaende.com/news/ges_text.php4?m=1504 (17.10.2002), 19 April 2000. [Bun01a] Bundesregierung: Rabattgesetz und Zugabeverordnung werden abgeschafft. http://www. bundesregierung.de/emagazine_entw,-26160/ Rabattgesetz-und-Z%ugabeverordn.htm (01.10.2002), 13 Juli 2001. [Bun01b] Bundesregierung online: Rabattgesetz abgeschafft. http://www.bundesregierung.de/Themen-A-Z/ Wirtschaft-,9013/Rabattgesetz%.htm (01.10.2002), 25 Juli 2001. [BZL02] Bender, R., A. Ziegler und St. Lange: Logistische Regression in Artikel Nr 14 der Statistik-Serie in der DMWW. 2002. 416 Literaturverzeichnis [CA97] Chan, Keith C. C. und Wai-Ho Au: Mining Fuzzy Association Rules. In: CIKM, Seiten 209–215, 1997. [CD00] CRISP-DM: CRISP-DM Step by Step Data Mining. 2000. [CDF+ 00] Craven, Mark, Dan DiPasquo, Dayne Freitag, Andrew K. McCallum, Tom M. Mitchell, Kamal Nigam und Seán Slattery: Learning to Construct Knowledge Bases from the World Wide Web. Artificial Intelligence, 118(1/2):69–113, 2000. [Cha01] Chamoni, Peter: On-Line-Analytical-Processing (OLAP). In: Hippner, Hajo, Matthias Meyer, Ulrich Küsters und Klaus Wilde (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2001. [CM96] Clifton, Chris und Don Marks: Security and Privacy Implications of Data Mining. In: Workshop on Data Mining and Knowledge Discovery, Nummer 08/96, Seiten 15–19, Montreal, Canada, 2 Februar 1996. ACM SIGMOD, University of British Columbia Department of Computer Science. [com03] comdirect. www.comdirect.de, 2003. [CRI02] CRISP - Reference Modell. http://www.crisp-dm. org/Process/index.htm, 2002. [CSM97] Cooley, R., J. Srivastava und B. Mobasher: Web Mining: Information and Pattern Discovery on the World Wide Web. citeseer.nj.nec.com/ cooley97web.html, 1997. [Del03] Dell. www.dell.com, 2003. [Dev02] Devmag: Logfiles - Die Spuren eines Besuchers. http: //wai.devmag.net, 2002. [dev03] devmag. www.devmag.net, 2003. [DH73] Duda, Richard und Peter Hart: Pattern Recognition and Scene Analysis. John Wiley and Sons, 1973. 417 Literaturverzeichnis [Die00] Dietrich, Edith: Das Revieval der Rabattmarke, aus: WDR Sendung. http://www.wdr.de/tv/markt/ archiv/00/0626_2.html (27.09.2002), 26 Juli 2000. [Dit00] Dittrich, Sabine: Kundenbindung als Kernaufgabe im Marketing: Kundenpotentiale langfristig. Thexis Verlag, St. Gallen, 2000. [Dui01] Duisburg, Universität: Clusteranalyse. http://www. uni-duisburg.de, 2001. [Eas02] Easy Solution AG: KIS Kunden-Informationssystem. http://www.duit-systeme/download/KIS3_ Basismodule.pdf (09.10.2002), 2002. [Eba03] Ebay. www.ebay.de, 2003. [eCo02a] eCollect. http://www.ecollect.de/index.asp? (11.10.2002), 2002. [eCo02b] eCollect. http://www.ecollect.de/ privacypolicy.asp (05.10.2002), 2002. [eCo02c] eCollect: Rabattsysteme: So können auch Onlineshops punkten. http://www.ecollect.de/presse/ rabatztsysteme.pdf (02.10.2002), 2002. [EGF00] Eschler, Gabi, Nikolaus Gotsch und Christian Flury: Polyprojekt Primalp. http://www.primalp.ethz.ch/pdf-files/ SchlussberichtKomponentenprojektE.pdf, 2000. [EKSX96] Ester, Martin, Hans-Peter Kriegel, Jorg Sander und Xiaowei Xu: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In: Simoudis, Evangelos, Jiawei Han und Usama Fayyad (Herausgeber): Second International Conference on Knowledge Discovery and Data Mining, Seiten 226–231, Portland, Oregon, 1996. AAAI Press. [Es] Es, Ul: .2 C5.2.2 — Characteristic rules. [ES00] Ester, Martin und Jörg Sander: Knowledge discovery in databases: Techniken und Anwendungen. Springer, Berlin, 2000. 418 Literaturverzeichnis [Exp02] Experian: Kundenbindungssysteme: Effektive Instrumente für langfristige Kundenbindung. http://www.experian.de/losungen/data/ Kundenbindungssysteme.pdf (14.10.2002), 2002. [Fah02] Fahrmeir, Ludwig: Statistik : der Weg zur Datenanalyse. Springer, 2002. [Fat01] Fatikow, Sergej: Neuro- und Fuzzy- Steuerungsansätze in Robotik und Automation. Universität Karlsruhe, 2001. [Fis87] Fisher, D.: Knowledge Acquisition via incremental conceptual Clustering, 1987. [Fis97] Fischer, Gerd: Lineare Algebra (11. Auflage). Vieweg Verlagsgesellschaft, 1997. [FKPT97] Fahrmeir, L., R. Künstler, I. Pigeot und G. Tutz: Statistik - der Weg zur Datenanalyse. Springer, Berlin, 1997. [FPSM92] Frawley, W. J., G. Piatetsky-Shapiro und C. J. Matheus: Knowledge discovery in databases - an overview. Ai Magazine, 13:57–70, 1992. [FPSS96a] Fayyad, Usama, Gregory Piatetsky-Shapiro und Padhraic Smyth: From Data Mining to Knowledge Discovery: An Overview. In: Fayyad, Usama, Gregory Piatetsky-Shapiro, Padhraic Smyth und R. Uthurusamy (Herausgeber): Advanced in Knowledge Discovery and Data Mining, Seiten 1–99. AAAI Press, 1996. [FPSS96b] Fayyad, Usama, Gregory Piatetsky-Shapiro und Padhraic Smyth: From Data Mining to Knowledge Discovery in Databases. AI Magazine, 17, 1996. [FPSS96c] Fayyad, Usama, Gregory Piatetsky-Shapiro und Padhraic Smyth: Knowledge Discovery and Data Mining: Towards a Unifying Framework. In: Simoudis, Evangelos, Jia Wei Han und Usama Fayyad (Herausgeber): Proceedings of the Second International 419 Literaturverzeichnis Conference on Knowledge Discovery and Data Mining (KDD-96), Seiten 82–88. AAAI Press, 1996. [FRB98] Fayyad, Usama M., Cory Reina und Paul S. Bradley: Initialization of Iterative Refinement Clustering Algorithms. In: Knowledge Discovery and Data Mining, Seiten 194–198, 1998. [Fre91] Freksa, C.: Conceptual Neighbourhood and its Role in Temporal and Spatial Reasoning. IMACS Workshop on Decision Support Systems and Qualitative Reasoning, 1991. [GB94] Gaul, Wolfgang und Daniel Baier: Marktforschung und Marketing-Management : computerbasierte Entscheidungsunterstützung. Oldenbourg, 1994. [Ger99] Germano, Tom: Self Organizing Maps. http:// davis.wpi.edu/~matt/courses/soms/, 1999. [Ger01] Gerke, Wolfgang: Theorie und Praxis des Kreditgeschäfts. http://www.bankundboerse.wiso. uni-erlangen.de, 2001. [GGRL99] Gehrke, Johannes, Venkatesh Ganti, Raghu Ramakrishnan und Wei-Yin Loh: BOAT — optimistic decision tree construction. In: Delis, Alex, Christos Faloutsos und Shahram Ghandeharizadeh (Herausgeber): Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data: SIGMOD ’99, Philadelphia, PA, USA, June 1–3, 1999, Band 28(2) der Reihe SIGMOD Record (ACM Special Interest Group on Management of Data), Seiten 169–180, New York, NY 10036, USA, 1999. ACM Press. [Gmb00] GmbH, Prudential System Software: Data Mining zur Erzeugung von Kundenprofilen mit dem prudsys Discoverer. http://www.prudsys.de, 2000. [GMUW02] Garcia-Molina, Hector, Jeffrey D. Ullman und Jennifer Widom: Database systems : the complete book. Prentice Hall, 2002. 420 Literaturverzeichnis [Goe02] Goertz. http://www.goertz.de (14.10.2002), 2002. [Goi] Goik, Martin: Datenbanken und ihre Anwendungen. [goo03] google. www.google.de, 2003. [GR03] Gabriel, Roland und Heinz-Peter Röhrs: Gestaltung und Einsatz von Datenbanksystemen : data base engineering und Datenbankarchitekturen. Springer, 2003. [Gra00] Grabmeier, Johannes: Segmentierende und clusterbildende Methoden. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [Gre96] Greenberg: OLAP or ROLAP? http: //ww1.infoworls.com/cgi-bin/displayArchive. pl?/96/24/e01-24.1.htm% (02.10.2002), 1996. [Gro01] Group, Gartner: Personalisierungsanwendungen. www.gartnergroup.de, 2001. [GS99] Gaul, W. und F. Säuberlich: Classification and Positioning of Data Mining Tools. Seiten 143–152, 1999. [GST00] Gaul, W. und L. Schmidt-Thieme: Mining web navigation path fragments. http://citeseer.nj.nec.com/ gaul00mining.html, 2000. [HA02] Harren, A. und H.-J. Appelrath: Bewirtschaftung Temporaler Data Warehouses unter Berücksichtigung von Schemaänderungen. http://wi.oec. uni-bayreuth.de/doctoral/Beitraege/harren.pdf (20.09.2002), 2002. [Han98] Han, J.: Towards On-Line Analytical Mining in Large Databases. SIGMOD Record (ACM Special Interest Group on Management of Data), 27(1):97–107, 1998. [Han01a] Han, Kamber: Kapitel 5: Konzeptbeschreibungen. 2001. [Han01b] Hanke: Data Warehouses/ Data Marts und grundlegende Analysesysteme. 2001. [Hap02] Happy Digits. (04.10.2002), 2002. http://www.happydigits.de 421 Literaturverzeichnis [HCC92] Han, Jiawei, Yandong Cai und Nick Cercone: Knowledge Discovery in Databases: An AttributeOriented Approach. In: Yuan, Li-Yan (Herausgeber): Proceedings of the 18th International Conference on Very Large Databases, Seiten 547–559, San Francisco, U.S.A., 1992. Morgan Kaufmann Publishers. [Heg99] Hegland, Markus: Computational Challenges in Data Mining. http://citeseer.nj.nec.com/312469.html, 1999. [Her97] Herrmann, Jürgen: Maschinelles Lernen und wissensbasierte Systeme : systematische Einführung mit praxisorientierten Fallstudien. Springer, 1997. [Her99] Herden: Temporale Daten im Data Warehouse und Temporales OLAP. http://www.ie.iwi.unibe. ch/zeit/zobis/workshop5/herden/herden.html (20.09.2002), 1999. [Her01] Herden, O.: Eine Entwurfsmethodik für Data Warehouses. Dissertation, 2001. [HFK+ 95] Han, J., Y. Fu, K. Koperski, G. Melli, W. Wang und O. Zaane: Knowledge Mining in Databases: An Integration of Machine Learning Methodologies with Database Technologies. citeseer.nj.nec.com/ han95knowledge.html, 1995. [HHC99] Hilderman, Robert J., Howard J. Hamilton und Nick Cercone: Data Mining in Large Databases Using Domain Generalization Graphs. Journal of Intelligent Information Systems, 13(3):195–234, 1999. [Hip01] Hippner: Data Mining im Marketing, 2001. [HK00a] Han, J. und M. Kamer: Data Mining: Concepts and Techniques. Morgan Kaufmann, aug 2000. [HK00b] Han, Jiawei und Micheline Kamber: Data Mining, Concepts and Techniques, Kapitel 3: Data Preparation. Morgan Kaufmann, 2000. 422 Literaturverzeichnis [HK01] Han, Jiawei und Micheline Kamber: Data Mining, Concepts and Techniques. Morgan Kaufmann, 2001. [HK98] Han, Jiawei und Micheline Kamber: Data Mining: Concepts and Techniques, Kapitel 1: Introduction. Morgan Kaufmann, 2000, ISBN = 1558604898. [HKKM97] Han, Eui-Hong, George Karypis, Vipin Kumar und Bamshad Mobasher: Clustering Based On Association Rule Hypergraphs. In: Research Issues on Data Mining and Knowledge Discovery, Seiten 0–, 1997. [HMKW01] Hippner, Hajo, Matthias Meyer, Ulrich Küsters und Klaus Wilde: Handbuch Data Mining im Marketing. Vieweg, 2001. [Hof99] Hoffmann, Sandra: Business Intelligence = Industriespionage? http://www.ivcon.org/_comm/comm_ econbispio.shtml, November 1999. [HR00] Hippner, Hajo und Andreas Rupp: Kreditwürdigkeitsprüfung im Versandhandel. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [HS00] Hippner, Hajo und Berit Schmitz: Data Mining in Kreditinstituten - Die Clusteranalyse zur zielgruppengerechten Kundenanspracheache. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [HW00] Hippner, Hajo und Klaus D. Wilde: Der Prozess des Data Mining im Marketing. Seiten 21–91, 2000. [IBM01] IBM: Mein Kunde, Das Bekannte Wesen - Kaufverhalten Verstehen mit Data Mining. IBM Software eNewsMagazin, (6), 2001. [IBM02a] IBM: Datenschutz: Datenschutzbestimmungen im Web. www.ibm.com, 2002. [IBM02b] IBM: IBM Intelligent Miner. http://www-3.ibm.com/ software/data/iminer/, 2002. 423 Literaturverzeichnis [IHK01] IHK: Checkliste Ecommerce für den Mittelstand. http://www.duesseldorf.ihk.de/de/ InnovationundUmwelt/innovation, 2001. [Ihr02] Ihre Praemie. http://www.ihre-praemie.de/ index2.html,http://www.coinsworld.de/cgi-bin/ index.cgi, 2002. [In 99] In Itfocus: Warum scheitern Data WarehouseProjekte? http://www.datamart.de/presse/itfocus. htm (17.08.2002), 1999. [JCG+ 92] Jensen, Christian S., James Clifford, Shashi K. Gadia, Arie Segev und Richard T. Snodgrass: A Glossary of Temporal Database Concepts. SIGMOD Record, 21(3):35–43, 1992. [JDS98] Jensen, Christian S., Curtis Dyreson und Richard T. Snodgrass: The Consensus Glossary of Temporal Database Concepts. Technischer Bericht, Timecenter, Feber, 1998. [JS97] Janetzko, Dietmar und Kathleen Steinhöffel: Leinen Los! Data Mining: Verborgene Zusammenhänge in Datenbanken aufspüren. c’t magazin für computer und technik, 03/97:294–297, 1997. [K0̈0] Küsters, Ulrich: Data Mining Methoden: Einordnung und Überblick. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [Kai00] Kaiser, Alexander: Die Modellierung Zeitbezogener Daten. Peter Land Verlag, Frankfurt am Main, 2000. [KAKS97] Karypis, George, Rajat Aggarwal, Vipin Kumar und Shashi Shekhar: Multilevel Hypergraph Partitioning: Applications in VLSI Domain. Technischer Bericht, 1997. [KE97] Kemper, A. und A. Eickler: Datenbanksysteme. 2. Auflage, 1997. 424 Literaturverzeichnis [KF00] Kam, Po-Shan und Ada Wai-Chee Fu: Discovering Temporal Patterns for Interval-Based Events. In: Kambayashi, Yahiko, Mukesh K. Mohania und A. Min Tjoa (Herausgeber): Second International Conference on Data Warehousing and Knowledge Discovery (DaWaK 2000), Band 1874, Seiten 317–326, London, UK, 2000. Springer. [KH99] Kudoh, Yoshimitsu und Makoto Haraguchi: An Appropriate Abstraction for an Attribute-Oriented Induction. In: Discovery Science, Seiten 43–55, 1999. [Kim96] Kimball: Slowly changing dimensions. http://www. dbmsmag.com (01.10.2002), 1996. [KM96] Knolmayer, Gerhard und Thomas Myrach: Zur Abbildung zeitbezogener Daten in betrieblichen Informationssystemen. Wirtschaftsinformatik, 38:63–74, 1996. [Koe01] Koers, Marcel: Jagen und sammeln: Online-Schnäppchenjäger haben den Cyberspace als Sparlandschaft und Geldquelle entdeckt, in Communication & highend, Okt. Nov. 2001. http://www.points24.com/cgi-bin/ presse_17.php3. (17.10.2002), 2001. [Koh02] Kohlmann, Mareike: Assoziationsanalyse. http://www.stat.uni-muenchen.de/~krause/ COURSES/Seminar\_SS02/, 2002. [KP98] Keogh, Eamonn und M. Pazzani: An enhanced representation of time series which allows fast and accurate classification, clustering and relevance feedback. In: Agrawal, R., P. Stolorz und G. PiatetskyShapiro (Herausgeber): Fourth International Conference on Knowledge Discovery and Data Mining (KDD’98), Seiten 239–241, New York City, NY, 1998. ACM Press. [KR90] Kaufman, L. und P. J. Rousseeuw: Finding Groups in Data. John Wiley & Sons, 1990. 425 Literaturverzeichnis [Kra99] Krause, Jörg: Electronic Commerce und OnlineMarketing: Chancen, Risiken und Strategien. Hanser Verlag, München, Wien, 1999. [Kri01a] Krieger, Jochen: Das deutsche Rabattgesetz, Stand: Juli 2001. http://transparent.com/gesetze/ rabattg.html (27.09.2002), 2001. [Kri01b] Krieger, Jochen: Die deutsche Zugabeverordnung, Stand: Juli 2001. http://transparent.com/gesetze/ zugabev.html (27.09.2002), 2001. [KRRT98] Kimball, Reeves, Ross und Thomthwaite: The Data Warehouse Lifecycle Toolkit. 1998. [Küs01a] Küsters, Ulrich: Data Mining Methoden: Einordnung und Überblick. In: Hippner, Hajo, Matthias Meyer, Ulrich Küsters und Klaus Wilde (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2001. [Küs01b] Küsters, Ulrich: Traditionelle Verfahren der multivariaten Statistik. In: Hippner, Hajo, Matthias Meyer, Ulrich Küsters und Klaus Wilde (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2001. [Kös02] Köster, Frank: Skript Informationssysteme II. Universität Oldenburg, 2002. [KW00] Knobloch, B. und J. Weidner: Eine kritische Betrachtung von Data Mining-Prozessen- Ablauf, Effizienz und Unterstützungspotentiale, in: Jung, R., Winter, J.: Data Warehousing 2000- Methoden, Anwendungen, Strategien, Seiten 346–357. Physica-Verlag, 2000. [KWZ98] Krahl, Daniela, Ulrich Windheuser und Friedrich-Karl Zick: Data Mining - Einsatz in der Praxis. 1998. [KZL00] Krishnaswamy, S., A. Zaslavsky und S.W. Loke: An Architecture to Support Distributed Data Mining Services in E-Commerce Environments. 2000. 426 Literaturverzeichnis [Lan96] Lange, Arne: Anbindung der Temporalen Anfragesprache TSQL2 an ein Objektorientiertes Datenbanksystem, 1996. [Leb02] Leber, Martina: Jeder zweite Großbetrieb wertet Kundendaten systematisch aus. 2002. [Lef02] Leffers. http://www.leffers.de/Leffers/ clubcard (14.10.2002), 2002. [LEG00] LEGAmedia: Kein Schadensersatzanspruch wegen rechtswidriger Datenübermittlung. http://www. legamedia.net/legapractice/pwc/rsp/,0006_rsp_ pwc_da%tenuebermittlung.php, 01 Juni 2000. [Lit98] Litz, Hans Peter: Statistische Methoden in den Wirtschafts- und Sozialwissenschaften. Oldenbourg, 1998. [LNWJ01] Li, Yingjiu, Peng Ning, Xiaoyang Sean Wang und Sushil Jajodia: Discovering Calendar-based Temporal Association Rules. In: TIME, Seiten 111–118, 2001. [Loy01] Loyalty Hamburg: Wegfall des Rabattgesetzes. http://www.competence-site.de/marketing. nsf/877131C8CA714DCEC1256A920041E3FB/$File/ rabattg.pdf (01.10.2002), 16 Oktober 2001. [Loy02a] Loyalty Hamburg: Arten und Ausprägungen von Bonusprogrammen. http://www.loyalty-hamburg.de/ pr_bonus_art.html (08.10.2002), 2002. [Loy02b] Loyalty Hamburg: Definition. http://www. loyalty-hamburg.de/th_def.html (17.10.2002), 2002. [Loy02c] Loyalty Hamburg: Funktinsweise von Bonusprogrammen. http://loyalty-hamburg.de/pr_bonus_ funktion.html (01.10.2002), 2002. [Loy02d] Loyalty Hamburg: Kundenkarten International Best Practise. http://www.loyalty-hamburg.de/ kuka_stud_landing.html (08.10.2002), 2002. 427 Literaturverzeichnis [Loy02e] Loyalty Hamburg: Rabattsysteme als Marketing - und Kundenbindungsinstrument. http: //www.loyalty-hamburg.de/downloads/powerpoint/ vortrag_rabattsyste%me_1.ppt (08.10.2002), 2002. [Loy02f] Loyalty Hamburg: Studie Kurzinfo: Was ist der Hintergrund der Studie? http://www.loyalty-hamburg. de/studies/kuka_pdf/STUDIE_Kurzinfo.pdf (08.10.2002), 2002. [Loy02g] Loyalty Partner: easy Loyalty. http://www. easy-loyalty.de/kundenbindung.html, 17 Oktober 2002. [Loy02h] Loyalty Partner: easy Loyalty. //www.easy-loyalty.de/kunbi_umsatz.html (17.10.2002), 2002. http: [Loy02i] Loyalty Partner: easy Loyalty. //www.easy-loyalty.de/kunbi_kosten.html (17.10.2002), 2002. http: [LP00] Löbler, Helge und Helge Petersohn: Kundensegmentierung im Automobilhandel zur Verbesserung der Marktbearbeitung. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [LZO99] Lesh, Neal, Mohammed J. Zaki und Mitsunori Ogihara: Mining Features for Sequence Classification. In: Chaudhuri, S. und D. Madigan (Herausgeber): Fifth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego, 1999. ACM Press. [M0101] Meyers grosses Taschenlexikon in 25 Bänden. Standardausgabe. Bibliographisches Institut, Mannheim, 2001. [Man00] Mantel: Einführung in das Data Warehouse-Konzept. http://www.mik.de/website/MIKWebArchiv.nsf/ PDF/mantel (24.08.2002), 2000. 428 Literaturverzeichnis [MAR96] Mehta, Manish, Rakesh Agrawal und Jorma Rissanen: SLIQ: A Fast Scalable Classifier for Data Mining. Lecture Notes in Computer Science, 1057:18–32, 1996. [Mar99] Marti, Othmar: Raum und Zeit: Eine Physikalische Zeitreise. Abteilung Experimentelle Physik, Universität Ulm, 1999. [MCS99] Mobasher, B., R. Cooley und J. Srivastava: Creating adaptive web sites through usage-based clustering of urls. citeseer.nj.nec.com/mobasher99creating. html, 1999. [Met94] Mettler, A.: Bonitätsprüfungsverfahren und Credit Scoring. Referat gehalten anlässlich der Konferenz ’Risiokomanagement im Privatkundengeschäft’, 1994. [Mew01] Mews, Antje: Multivariate Analyseverfahren: Die Clusteranalyse. http://www.snafu.de/7Eherbst/clust1. html, 2001. [Mey00] Meyer, Matthias: Data Mining im Marketing: Einordnung und Überblick. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [Mic00] Michels, Edmund: Data Mining Analysen im Handel konkrete Einsatzmöglichkeiten und Erfolgspotenziale. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [Mil02a] Miles and More. http://www.miles-and-more. com/mam/de/de/homepage (05.09.2002), 2002. [Mil02b] Miles and More. http://www.miles-and-more. com/mam/de/de/gnf/0,3678,0-0-494417,00.html (05.10.2002), 2002. [Mil03] Miles and More. com/, 2003. [Min] Mining, Data: What is Data Mining? citeseer.nj. nec.com/69212.html. http://www.miles-and-more. 429 Literaturverzeichnis [Mit97] Mitchell, Tom M.: Machine Learning. McGraw-Hill, 1997. [Möl98] Möller, Frank: Data Warehouses als Warnsignal an die Datenschutzbeauftragten. In: Datenschutz und Datensicherheit, Nummer 10/98, Seiten 555–560. Friedrich Vieweg & Sohn Verlagsgesellschaft, 1998. [Moo99] Moormann, J.: Umbruch in der Bankinformatik - Status Quo und Perspektiven für eine Neugestaltungtung. In: Fischer, Th. (Herausgeber): Handbuch Informationstechnologie in Banken, 1999. [MRA95] Mehta, Manish, Jorma Rissanen und Rakesh Agrawal: MDL-Based Decision Tree Pruning. In: Proceedings of the First International Conference on Knowledge Discovery and Data Mining (KDD’95), Seiten 216– 221, August 1995. [MW02] Metschke, Rainer und Rita Wellbrock: Datenschutz in Wissenschaft und Forschung. In: Materialien zum Datenschutz, Nummer 28. Berliner Beauftragter für Datenschutz und Informationsfreiheit, März 2002. [MY01] Martin, R. Douglas und Victor Yohai: Data Mining for Unusual Movements in Temporal Data. 7th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2001), 2001. [Neu02] Neurocomputing: Data Mining and neuronal Networks. http://www.neurocomputing.de/bodyindex. html, 2002. [New02] Newsware: Den Kunden persönlich ansprechen - Kundenbindung mit Kundenkarten, Ein Newsletter der Logware Informationssysteme GmbH, 4. Quartal 2001, S. 4-5. http://www.logware.de/pdf/Newsware_4_2001. pdf (30.10.2002), 2002. [NH94] Ng, Raymond T. und Jiawei Han: Efficient and Effective Clustering Methods for Spatial Data Mining. Technischer Bericht TR-94-13, Department of Computer Science, University of British Columbia, Mai 1994. 430 Literaturverzeichnis [Nie00] Niedereichholz, Joachim: Data Mining im praktischen Einsatz. 2000. [Onl02] Onlineshop Manager 00/09: Rabattsysteme: So können auch Onlineshops punkten. http: //www.ecollect.de/presse/rabattsysteme.pdf (01.10.2002), 2002. [Pan] Pang, Wanlin: Data Mining with Concept Generalization Digraphs. citeseer.nj.nec.com/49781.html. [Pay02a] Payback. http://www.payback.de/pb/abx?$part= page (23.09.2002), 2002. [Pay02b] Payback. (05.10.2002), 2002. [Pay03] Payback. http://www.payback.de/, 2003. [Pet98] Petersohn, H.: Beurteilung von Clusteranalysen und selbstorganisierenden Karten. In: Hippner, H., M. Meyer und K.D. Wilde (Herausgeber): ComputerBased Marketing, 1998. [Pet02] Peters, Schönberger und Partner: Rabattgesetz und Zugabeverordnung ersatzlos gestrichen. http:// www.pspmuc.de/content.pdf (01.10.2002), 2002. [Plo01] Ploss, Dirk: Rabattsysteme als Marketing- und Kundenbindungsinstrument, Berlin, Oktober 2001. http://www.loyalty-hamburg.de/downloads/ powerpoint/vortrag_rabattsyste%me_1.ppt (01.10.2002), 2001. [PN00] Poloni, Marco und Martin Nelke: Einsatz von Data Mining für Kundenmodellierung am Beispiel der Bonitätsbeurteilung. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [PS91] Piatetsky-Shapiro, Gregory: Knowledge Discovery in Databases. AAAI Press, 1991. [PS00] Poddig, Thorsten und Irina Sidorovitch: Künstliche Neuronale Netze: Überblick, Einsatzmöglichkeiten http://www.payback.de/pb/abx 431 Literaturverzeichnis und Anwendungsprobleme. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [PS01] Poddig, Thorsten und Irina Sidorovitch: Künstliche Neuronale Netze: Überblick, Einsatzmöglichkeiten und Anwendungsprogramme. In: Hippner, Hajo, Matthias Meyer, Ulrich Küsters und Klaus Wilde (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2001. [Qui93] Quinlan, J. R.: C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA, 1993. [Quo01] Quocirca: Personalisierungsideen. quocirca.com/, 2001. [Rai99] Rainsford, Chris P.: Accommodating Temporal Semantics in Data Mining and Knowledge Discovery, 1999. [Res02] Rescheneder, Karl: CRM - Ein neues Schlagwort? http://www.absatzwirtschaft.de (29.10.2002), 2002. [Rie99] Rieger, Anke: Entscheidungsunterstützung durch Data Mining: Der Aufwand zahlt sich aus aus. ExperPraxis 99/2000, 1999. [RK02] Riemer, Kai und Stefan Klein: Personalisierung von Online-Shops ... und aus Distanz wird Nähe. http:// www.firstsurf.com/riemer0227_t.htm, 2002. [Rob00] Robben, Matthias: Einkaufen mit Geld-zurückGarantie. http://www.ecin.de/marketing/ bonusprogramme (02.10.2002), 2000. [roc02] rocom informatiksysteme: Impfung im Kindesalter hilft auch gegen Hautkrebs. http://www.sozial.de/ default.htm?archiv/a13993.php3, 15 Oktober 2002. [Roj02] Rojahn, Matthias. http://www.ssl.de (14.10.2002), 2002. [Rup03] Rupp, Helmut: Im Fluge Meilen sammeln. http://www.freenet.de/freenet/reisen/ratgeber/ fliegen/meilen/, 02 Januar 2003. 432 http://www. Literaturverzeichnis [S0̈0] Säuberlich, Frank: KDD und Data Mining als Hilfsmittel zur Entscheidungsunterstützung. 2000. [SA96a] Srikant, Ramakrishnan und Rakesh Agrawal: Mining Quantitative Association Rules in Large Relational Tables. In: Jagadish, H. V. und Inderpal Singh Mumick (Herausgeber): Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, Seiten 1 – 12, Montreal, Quebec, Canada, 1996. [SA96b] Srikant, Ramakrishnan und Rakesh Agrawal: Mining Sequential Patterns: Generalizations and Performance Improvements. In: Apers, Peter M. G., Mokrane Bouzeghoub und Georges Gardarin (Herausgeber): Proc. 5th Int. Conf. Extending Database Technology, EDBT, Band 1057, Seiten 3–17. SpringerVerlag, 25 – 29 1996. [SAM96] Shafer, John, Rakesh Agrawal und Manish Mehta: SPRINT: A Scalable Parallel Classifier for Data Mining. In: Vijayaraman, T. M., Alejandro P. Buchmann, C. Mohan und Nandlal L. Sarda (Herausgeber): Proc. 22nd Int. Conf. Very Large Databases, VLDB, Seiten 544–555. Morgan Kaufmann, 3–6 September 1996. [San00a] Sander, Ester: Kapitel 5: Assoziationsregeln. 2000. [San00b] Sander, Ester: Kapitel 6: Generalisierung. 2000. [SAP02] SAP: Data Warehousing mit mySAP Business Intelligence. http://www.sap-ag.de/germany/media/ 50058307.pdf (24.08.2002), 2002. [SAS02a] SAS Enterprise Miner. http://www.sas.com/ products/miner/index.html, 2002. [SAS02b] SAS SEMMA. http://www.sas.com/products/miner/ semma.html, 2002. [SB00] Spiliopoulou, M. und Bettina Berendt: Kontrolle der Präsentation und Vermarktung von Gütern im WWW, Kapitel 33. Vieweg, 2000. 433 Literaturverzeichnis [Süc98] Süchting, J.: Die Theorie der Bankloyalität - (Immer noch) eine Basis zum Verständnis der Absatzbeziehungen von Kreditinstituten ? In: Heitmüller, H. (Herausgeber): Handbuch des Bankmarketing, 1998. [SCDT00] Srivastava, Jaideep, Robert Cooley, Mukund Deshpande und Pang-Ning Tan: Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data. SIGKDD Explorations, 1(2):12–23, 2000. [Sch97] Scherer, Andreas: Neuronale Netze - Grundlagen und Anwendungen. Vieweg, 1997. [Sch00] Schneider, Marcus: Maschinelles Lernen in Data Mining und Information Retrieval. 2000. [Sch02] Schneider, Melanie: TNS EMNID untersucht die Akzeptanz von Kundenkarten unter deutschen Verbrauchern. http://www.emnid.tnsofres.com/index1. html (11.10.2002), 26 April 2002. [SFW99] Spiliopoulou, Myra, Lukas C. Faulstich und Karsten Winkler: Data Mining for the Web. In: Principles of Data Mining and Knowledge Discovery, Seiten 588 – 589, 1999. [SH02] Stahlknecht, Peter und Ulrich Hasenkamp: Einführung in Die Wirtschaftsinformatik. SpringerVerlag, 2002. [SKS02] Silberschatz, Abraham, Henry F. Korth und S. Sudarshan: Database system concepts. McGrawHill, 2002. [SM02] Schaar, Peter und Frank Möller: Orientierungshilfe Tele- und Mediendienste. http://www. hamburg.datenschutz.de, note=Der Hamburgische Datenschutzbeauftragte, Stand Juli 2002. [Sno95] Snodgrass, Richard T.: The TSQL2 Temporal Query Language. Kluwer Academic Publishers, Boston, 1995. [SOL02] Soleunet. http://soleunet.ijs.si/website/html/ rdbackground.html, 2002. 434 Literaturverzeichnis [Son01] Sonntag, Dipl.-Ing. Michael: Personalisierung. http://www.fim.uni-linzac.ac.at, 2001. [Spä83] Späth, H.: Cluster-Formation und -Analyse. R. Oldenbourg -Verlag, 1983. [SPF99] Spiliopoulou, Myra, Carsten Pohle und Lukas Faulstich: Improving the Effectiveness of a Web Site with Web Usage Mining. In: WEBKDD, Seiten 142–162, 1999. [Spi99] Spiliopoulou, Myra: The laborious way from data mining to Web log mining. International Journal of Computer Systems Science and Engineering, 14(2):113 – 125, 1999. [Spi00] Spiliopoulou, M.: Web Usage Mining: Data Mining ueber die Nutzung des Web, Kapitel 13. Vieweg, 2000. [SPS02] SPSS: SPSS Clementine. http://www.spss.com/ spssbi/germany/module/clement.htm, 2002. [SRJ00] Schnedlitz, Peter, Thomas Reutterer und Walter Joos: Data-Mining und Sortimentsverbundanalyse im Einzelhandel. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. [ST01] Schmidt-Thieme, Lars: Web Mining. Technischer Bericht 3, Universität Karlsruhe, 2001. [ST02] Schmidt-Thieme, Lars. http://viror. wiwi.uni-karlsruhe.de/webmining/script/1/ Begriffe-2.xml (20.12.2002), 2002. [Sta97] Stary, Joachim: Visualisieren : ein Studien- und Praxisbuch. Cornelsen Scriptor, 1997. [Ste02] Steinicke, Hagen: Proseminar - Sicherheit im Web. http://www.cs.uni-magdeburg.de/steinick/ Prosem/cookies.html (11.20.2002), 2002. [Sto01] Stolpmann, Markus: Kundenbindung im E-Business, Loyale Kunden - nachhaltiger Erfolg. http://www. dienstleistungsmanagement-competence-center. 435 Literaturverzeichnis de/dienstleistu%ng.nsf/ 206413E1DA7EE5F9C1256AF4003F6D62/\$File/2. kapitel\_stolpmann-mehrwert\_bieten.pdf,S.68ff (27.10.2002), 2001. [SW02] Schaffland, Hans-Jürgen und Noeme Wiltfang: Bundesdatenschutzgesetz (BDSG), Ergänzbarer Kommentar nebst einschlägigen Rechtsvorschriften. Erich Schmidt Verlag, Stand Juli 2002. [TG97] Tauscher, L. und S. Greenberg: Revisitation Patterns in world wide web navigation. 1997. [TNS02] TNS Marktforschungsinstitut: Akzeptanz von Kundenkarten. http://www.scard.de/statistik/ bargeldloser\_zahlungsverkehr/akzeptanz\%_von\ _kundenkarte/index.htm (26.10.2002), 2002. [UKO99] Datenanalyse mit Dem SAS System. http: //www.uni-koeln.de/themen/Statistik/sas/intro/ sas99-4.html, 1999. [Ulm01] Ulm, Universität: Was ist Personalisierung? http://www.mathematik.uni-ulm.de/sai/ws01/ portalsem/df/, 2001. [Ung01] Unger, Gregor: Verfahren zur Bonitätsprüfung - in der Seminarreihe IT-Unterstützung für das Asset Management. unknown, 2001. [Uni01a] Universität, Jena: Temporale Erweiterungen des relationalen Datenmodells. http://www.minet. uni-jena.de/dbis/lehre/ws2000/proseminar/ papiere/sche%idewigLempe.doc (01.10.2002), 2001. [Uni01b] Universität Oldenburg - Abteilung Informationssysteme: Data Warehousing. www-is.informatik.uni-oldenburg.de/forschung/ 1775.html (20.09.2002), 2001. [Unk02a] Unknown: Das Ende der Anonymität? WWW und Mail: Kommunikation im Internet. http://www.bsi. bund.de/literat/anonym/wwwmail.htm, 2002. 436 Literaturverzeichnis [unk02b] unknown: Web Mining oder Malen nach Zahlen; Mustersuche: die Mining-Verfahren. http://www.ecin.de/ technik/webminingprozess/index-3.html, 2002. [W3C99] W3C: Hypertext Transfer Protocol – HTTP/1.1. 1999. [Was02] Wassel, Patrick: Kundenbindung mit Kundenkarte(n). http://www.marketing-marktplatz.de/ Relation/KukaStudieLoyalty.htm (27.10.2002), 2002. [Web00] Webb, Geoffrey I.: Efficient search for association rules. In: Knowledge Discovery and Data Mining, Seiten 99–107, 2000. [Web02a] Webmiles. (09.09.2002), 2002. [Web02b] Webmiles. http://www.webmiles.de/Nova?trans\ _show\_static\_page=0\&DMD3000\_EVENT\_TYPE= change\_state\&DMD3000\_STATE\_ID=state\ _homepage\&p1=datenschutz\&p2=datenschutz\ &p3=datenschutz\&def=datenschutz\&content=agb/ datenschutz.html (05.10.2002), 2002. [Wij01] Wijsen, Jef: Trends in Databases: Reasoning and Mining. Ieee Trans. On Knowledge And Data Engineering, 13, 2001. [WK91] Weiss, S. M. und C. A. Kulikowski: Computer Systems That Learn. Morgan Kaufmann, San Mateo, California, 1991. [Woe02] Woehrl. http://www.woehrl.de (14.10.2002), 2002. [Wol02] Wolf, Mario: Newsletter Nr. 5. http://www. new-voice.de/newsletter\_06/\_index\_167.html (30.10.2002), 10 Januar 2002. [WRR00] Wagner, Udo, Heribert Reisinger und Reinhold Russ: Der Einsatz von Methoden des Data Mining zur Unterstützung kommunikationspolitischer Aktivitäten der Lauda Air. In: Wilde, Matthias (Herausgeber): Handbuch Data Mining im Marketing. Vieweg, 2000. http://www.webmiles.de/Nova 437 Literaturverzeichnis [WYM] Wang, W., J. Yang und R. Muntz: Temporal association rules with numerical attributes. citeseer.nj. nec.com/201771.html. [WYM01] Wang, W., J. Yang und R. Muntz: Temporal association rules with numerical attributes. citeseer.nj.nec.com/201771.html—, 2001. [Yah03] Yahoo. www.yahoo.de, 2003. [Zak97] Zaki, Mohammed Javeed: Fast Mining of Sequential Patterns in Very Large Databases. Technischer Bericht TR668, 1997. [Zho02] Zhou, Zhi-Hua: Data Mining - Chapter 3 Data Preparation. http://cs.nju.edu.cn/people/ zhouzh/zhouzh.files/course/dm2002/\\slides/ %chapter03.pdf, 2002. [Zim87] Zimmermann, H.-J.: Fuzzy Sets, Decision Making, and Expert Systems. Kluwer Academic, 1987. [ZPLO96] Zaki, Mohammed Javeed, Srinivasan Parthasarathy, Wei Li und Mitsunori Ogihara: Evaluation of Sampling for Data Mining of Association Rules. Technischer Bericht TR617, 1996. 438 Glossar Account: Ein ∼ ist eine Zugangsberechtigung für ein Netzwerk oder Computersystem. Dazu wird im Allgemeinen ein Benutzername und ein persönliches Passwort benötigt AGBs: Allgemeine Geschäftsbedingungen. Für eine Vielzahl von Verträgen vorformulierte Vertragsbedingungen, die eine Vertragspartei der anderen bei Abschluss eines Vertrages stellt. (z.B. Lieferungsoder Zahlungsbedingungen. Sie werden auch als Kleingedrucktes“ ” bezeichnet) Aggregation: Die ∼ bezeichnet das Zusammenfassen von Daten mittels einer Berechnungsvorschrift Aggregationsfunktion: Diese Berechnungsfunktion bildet eine Wertemenge auf einen einzelnen Wert ab Aktiver Nutzer: Ein User einer ↑Website, der mehr als eine Seite aufruft Analyse: Die ∼ bezeichnet alle Operationen, die mit den Daten eines ↑Data Warehouse durchgeführt werden, um neue Informationen zu generieren Arbeitsbereich: Der ∼ hält die Daten des ↑Datenbeschaffungsbereichs Arithmetisches Mittel: Das ∼ beschreibt den Wert, den man umgangssprachlich als Durchschnittswert bezeichnet. Er wird berechnet, in dem alle Werte aufsummiert werden und anschließend das Ergebnis durch die Anzahl der Werte geteilt wird 439 Glossar Attribut: Ein ∼ ist die allgemeine Bezeichnung für Eigenschaften von Datenobjekten wie z.B. Farbe und Größe. Im Zusammenhang mit relationalen Datenbanken werden die Elemente einer Spalte als Attributwerte bezeichnet Attribut-Zeitstempelung: Jedes ↑Attribut einer ↑Relation erhält eine eigene Temporalisierung. Bei der ∼ erfolgt die Implementierung der ↑Zeitstempel auf Attributebene Ausreißer: ∼ sind Daten, die verglichen mit anderen Werten, sehr groß oder sehr klein sind Average Linkage: Das ∼-Verfahren ist ein Verfahren der hierarchischen Clusteranalyse, wobei ∼ die durchschnittliche Ähnlichkeit aller Paare von Individuen x Element C und y Element D bezeichnet Basisdatenbank: Die anwendungsneutrale ∼ stellt eine integrierte Datenbasis dar. Ihre Aufgabe ist die Sammlung, Integration und Verteilung der Daten Baum: Eine dynamische Datenstruktur, die z.B. bei hierarchischen Beziehungen und bei rekursiven Strukturen Verwendung findet, wird als ∼ bezeichnet. Bäume sind (un)-gerichtete, zyklenfreie Graphen die einen Knoten besitzen, von dem aus jeder andere Knoten des Graphen auf genau einem Weg zu erreichen ist Belegdaten: Mit ∼ werden alle Ein- und Ausgänge von Ware bezeichnet. Dieses beinhaltet auch die Bondaten, wobei es sich um einzelne Verkäufe handelt. Dabei werden sämtliche Positionen (Filiale, Kasse, Zeitpunkt, Warenwert, etc.) genau aufgeschlüsselt Benutzerdefinierte Zeit: Bei der ∼ (engl. user-defined-time) handelt es sich um eine Domäne für zeitliche Werte wie z.B. Integer für Zahlenwerte. Für temporale DBMS hat diese Domäne keine spezielle Bedeutung Benutzerprofil: Das ∼ enthält alle Informationen, die einen Benutzer des Netzwerkes definieren. Dazu gehören z.B. der Benutzername (Kennwort), das Passwort, die Gruppen, denen der Benutzer angehört, sowie die Rechte des Benutzers 440 Glossar Binning: ∼ ist eine Methode, um Werte in Gruppen (sog. bins=Eimer) einzuteilen Bitemporales Modell: Beim bitemporalen Modell werden sowohl ↑Transaktions- als auch ↑Gültigkeitszeit gespeichert Bonität: Die ∼ beschreibt die relative Ertragskraft des Schuldners in der Zukunft Bootstrapping: ∼ ist eine Technik, mit der man aus einer kleinen ↑Stichprobe mit Hilfe von statistischen Methoden repräsentative Ergebnisse erzielen kann. Dazu werden n verschiedene Mengen durch Ziehen mit Zurücklegen aus der ↑Stichprobe entnommen und das jeweilige Verfahren auf diesen zufällig erzeugten Mengen angewendet Box-and-Whisker-Plot: ∼ bezeichnet die graphische Darstellung einer Variablenverteilung Browser: Ein ∼ ist ein Programm mit dem ↑Websites angeschaut werden können. Es ist in der Lage, ↑HTML zu interpretieren und darzustellen, sowie Kommunikation auf Grundlage des ↑HTTP-Protokolls durchzuführen. Moderne ∼ bieten zu dem noch weitere Funktionen an Business Understanding: ∼ ist die erste Phase im ↑CRISP-DMModell: Umfasst die Betrachtung des Geschäftsumfeldes, Festlegen von Zielen und Erfolgsfaktoren für das Projekt und für das ↑Data Mining und die Bestimmung eines Projektplanes C4.5: ∼ zählt zu den bekanntesten ↑Entscheidungsbaumverfahren aus dem Bereich des induktiven Lernens. Das Auswahlkriterium in ∼ basiert auf informationstheoretischen Überlegungen, es wird ein error-based Pruning eingesetzt Cache: Ein ∼ ist Zwischenspeicher. Im Zusammenhang mit ↑Web Usage Mining ist damit der ∼ eines ↑Browsers oder ↑Proxy Servers gemeint, in dem Seiten aus dem Internet zwischengespeichert werden. Dies kann Performance Vorteile mit sich bringen, da nicht mehr jede Seite vom ↑Webserver angefordert werden muss 441 Glossar CART: Die ∼ - Methode (Classification and ↑Regression Trees) wurde von Breiman et al. 1984 als Ergebnis mehrjähriger Forschungsarbeit entwickelt. Das ∼ ↑Entscheidungsbaumverfahren zählt zu den bekanntesten Top-Down Ansätzen mit entsprechender ↑Pruning-Strategie CHAID: Der ∼-Algorithmus stellt ein Segmentierungs-Verfahren dar, dessen Auswahlkriterium auf dem Chi-Quadrat-Test beruht. Er zählt zu den direkten Top-Down-Verfahren ohne die Verwendung einer nachfolgenden Pruning-Phase Chronon: Ein ∼ ist die kleinste, gewählte Zeiteinheit innerhalb eines Datenbankmodells Cluster: Ein ∼ ist eine Menge von Objekten, die zueinander bezüglich (eines Teils) ihrer ↑Attribute eine hohe Ähnlichkeit und zu Objekten außerhalb des Clusters eine geringe Ähnlichkeit haben Clustering: Beim ∼ werden ↑Cluster gebildet, die bezüglich der zu analysierenden Daten in sich möglichst homogen und untereinander möglichst heterogen sind Cookie: Im Internet-Umfeld eine kleine Textdatei, die lokal auf dem Rechner der surfenden Person abgelegt wird und in welcher Informationen abgespeichert werden, die im Zusammenhang mit der aktuellen ↑Website stehen. Das ∼ wird bei jedem ↑Request an die ↑Website mitgeschickt, die das ∼ gesetzt hat. Somit können z.B. eindeutige Kennungen auf einem Client gespeichert werden. Der Einsatz erfolgt z.B. beim Warenkorb einer kommerziellen Site, zur Personalisierung einer ↑Website oder für die Nutzererkennung CRISP-DM: Der Cross-Industry Standard Process for Data Mining ist ein Vorgehensmodell für den ↑KDD-Prozess. Entwickelt wurde der ∼ von der Statistical Package for the Social Sciences Incorporation (SPSS inc.), der National Cash Register Company (NCR) und Daimler-Chrysler Customer Relationship Management(CRM): ∼ ist die Pflege von Kundenbeziehungen mittels einer Softwarelösung, die alle Geschäftsvorgänge und Informationen eines Kunden erfasst.(z.B. die 442 Glossar ↑Analyse aller Kauftransaktionen eines Kunden). Ziel ist eine weitreichende Integration von Kunden, Mitarbeitern, Prozessen und Systemen Data cleaning: ↑Datenbereinigung Data integration: ↑Datenintegration Data Mart: Das ∼-Konzept liefert eine inhaltlich beschränkte Sicht auf ein ↑Data Warehouse. Aus Datenbanksicht handelt es sich beim Data-Mart um eine Verteilung eines Data-Warehouse-Datenbestandes. Entweder sind die Data Marts abhängig als Extrakte aus dem integrierten Datenbestand der ↑Basisdatenbank ohne Bereinigung/Normierung zu verstehen oder als unabhängige Data Marts als isolierte Sichten auf die Quellsysteme unter Nichtbeachtung der ↑Basisdatenbank Data Mining: ∼ bezeichnet eine Technik zur automatischen Entdeckung neuer, nicht-trivialer und voraussichtlich nützlicher Abhängigkeiten innerhalb großer oder komplexer Datenbestände. ∼ wird dabei als einer von mehreren Schritten im ↑KDD-Prozess verstanden Data Preparation: ↑Datenvorverarbeitung Data reduction: ↑Datenreduktion Data smoothing: ↑Datenglättung Data transformation: ↑Datentransformation Data Understanding: ∼ ist die zweite Phase im ↑CRISP-DM; sie beginnt mit der Sammlung und der Beschäftigung mit den notwendigen Daten, um etwaige Probleme in Umfang oder Qualität herauszufiltern. Weiterhin sind in dieser Phase interessante Mengen zu finden, um Hypothesen für versteckte Informationen zu formulieren Data Warehouse (DW): Alle für Analysezwecke relevanten Daten werden in einem großen Informationssystem, dem ∼, gespeichert, damit diese dann per ↑Data Mining oder mit anderen Analysemethoden und -tools (z.B. ↑OLAP) analysiert, aufbereitet und ausgewertet 443 Glossar werden können Ein ∼ ist somit eine physische Datenbank, die eine integrierte Sicht auf aktuelle und historisierte Daten bietet Data Warehousing: ∼ umfasst in einem dynamischem Prozess alle Schritte der Datenbeschaffung, des Speicherns und der ↑Analyse. Es beinhaltet also die ↑Datenintegration, ↑Datentransformation, Datenkonsolidierung, ↑Datenbereinigung und Speicherung der Daten sowie die Datenbereiststellung für analytische Zwecke und Interpretationen Data Warehouse Manager: Der ∼ initiiert, steuert und überwacht die einzelnen Prozesse in allen Phasen Datenanalyse: Die ∼ befasst sich mit ↑Data Mining (Entdeckungs)und Verifikationsverfahren, die häufig auf klassischen Verfahren aufbauen Datenbereinigung: Die ∼ bezeichnet ein Verfahren, fehlende Werte, sog. ↑noisy data und Inkonsistenzen aus einem Datenbestand zu entfernen Datenbeschaffungsbereich: Der ∼ enthält alle Komponenten, die funktional zwischen den ↑Datenquellen und der ↑Basisdatenbank liegen Datenglättung: Die ∼ bezeichnet ein Verfahren, Ausreißer und sog. ↑ noisy data“ aus einem Datenbestand zu entfernen und die darin ” enthaltenen Daten einander anzugleichen Datenintegration: Die ∼ bezeichnet das Zusammenfügen der Daten mehrerer heterogener Datensätze von verschiedenen Quellen zu einem schlüssigen, kohärenten und homogenen Datensatz Datenkompression: ∼ ist ein Verfahren zur Verkleinerung eines Datenbestandes, wobei dies verlustfrei oder verlustbehaftet geschehen kann in Bezug auf den Informationsgehalt Datennormalisierung: ↑Normalisierung Datenquelle: Die ∼ beeinflusst durch die Art der Datenspeicherung die Analysefähigkeit eines Data-Warehouse-System. Sie stellt einen 444 Glossar Bestand von Rohdaten mit Inhalten für den Analysezweck dar Datenreduktion: Die ∼ umfasst verschiedene Strategien zur Verkleinerung des Volumens von Daten wie z.B. ↑Aggregation, ↑Dimensionsreduktion, ↑Datenkompression oder ↑Numerische Datenreduktion Datenschutz: Nach dem Gesetz zum Schutz vor Missbrauch personenbezogener Daten bei der Datenverarbeitung (Bundesdatenschutzgesetz) ist die Aufgabe des Datenschutzes, durch den Schutz personenbezogener Daten vor Missbrauch bei ihrer Speicherung, Übermittlung, Veränderung und Löschung der Beeinträchtigung schutzwürdiger Belange der Betroffenen entgegenzuwirken Datentransformation: ∼ bezeichnet Verfahren, die der Homogenisierung vormals heterogener Daten dienen, um Daten in eine für das ↑Data Mining notwendige Form zu transformieren Datenvorverarbeitung: Ziel dieser Vorbereitungsphase des ↑KDDProzesses ist die Bereitstellung der zu analysierenden Datensätze für die gewünschten ↑Analysen und Verfahren, wozu die Aufgaben des Transformieren, Bereinigen und der Selektion in nicht festgesetzter Reihenfolge mehrfach wiederholt werden. Die ∼ ist die zweite und arbeitsintensivste Phase des ganzen ↑KDD-Prozesses und beansprucht teilweise mehr als die Hälfte der ganzen zur Verfügung stehenden Zeit Datenwertskonflikt: Der ∼ stellt einen Zustand dar, in dem in ein und der selben Entität nicht zueinander kompatible Datenwerte enthalten sind Datenwürfel: ↑ Würfel Deployment: ∼ ist die letzte Phase des allgemeinen KDD-Modelles. Die endgültigen Ergebnisse der ↑Datenanalyse werden abschließend im ∼ für die verschiedenen Adressaten aufbereitet Detaildaten: ∼ bezeichnen Daten der niedrigsten Stufe einer ↑Dimensionenhierarchie Dimension: Eine ∼ ist eine qualifizierende Eigenschaft eines ↑Fakts. 445 Glossar Sie stellt einen Aspekt des Auswertungskontextes dar Dimensionenhierarchie: Eine Menge aufeinander aufbauender ↑Hierarchieebenen wird ∼ genannt Dimensioneninstanz: Die ∼ ist die Menge aller ↑Dimensionenhierarchien auf Pfaden im ↑Klassifikationsschema Dimensionsreduktion: Die ∼ ist ein Verfahren, um die Dimensionalität eines zu untersuchenden Systems zu reduzieren. Möglichkeiten bietet hier bspw. die ↑Hauptkomponentenanlyse Diskrete Daten: ∼ bezeichnen feste, numerische Werte, wie sie beispielsweise durch Zählungen entstehen Diskretisierung: ∼ ist ein Verfahren, das die Anzahl der Werte für ein durchgängiges ↑Attribut durch Aufteilung des Wertebereichs in einzelne Intervalle verringern kann Diskriminanzanalyse: Die ∼ untersucht den jeweiligen Datenbestand auf solche ↑Attribute, die einen hohen Erklärungsgrad für eine bereits vorgegebene ↑Klassifikation besitzen. Ein Beispiel ist hier die Anwendung der ∼ als Frühwarnsystem bei der Bonitätsprüfung Document Root: Das ∼ ist das Hauptverzeichnis eines ↑Webservers. Wird dieses angefordert, liefert der ↑Webserver in der Regel eine Standarddatei wie z.B. index.html aus Drill-down: ∼ ist die Umkehrung einer ↑roll-up-Operation Einstiegsseite: Als ∼ werden die Seiten einer ↑Website, die ein User in der Regel als erstes besucht. Dies ist in der Regel die Startseite, kann aber u.U. eine andere Seite sein Electronic Commerce: ∼ umfasst alle Formen der digitalen Abwicklung von Geschäftsprozessen zwischen Unternehmen und zu deren Kunden über globale öffentliche und private Netze Electronic Procurement: Unter ∼ wird die elektronische Beschaffung, das heißt der Einkauf von Waren und Dienstleistungen über das 446 Glossar Internet verstanden Entscheidungsbaumverfahren: Bei dem ∼ werden Objekte, deren Klassenzuordnung bekannt ist, sukzessive mit Hilfe einzelner Merkmale in Gruppen aufgeteilt, die in sich homogen, aber voneinander möglichst unterschiedlich sind. Am Ende des Verfahrens entsteht ein ↑Baum, aus dessen Verzweigungskriterien Regeln gebildet werden können, die dann auf nicht zugeordnete Objekte angewendet werden können ETL-Prozess: ETL steht für Extraction Transformation Label“. ” Der ∼ bezeichnet den Prozess der Datenverarbeitung von den ↑Datenquellen bis zum ↑Data Warehouse Evaluation: ∼ ist die fünfte Phase im ↑CRISP-DM; nach Abschluss der Mining-Phase sind die gefundenen Ergebnisse in Form von Modellen einer kritischen Betrachtung zu unterziehen. Bevor die Ergebnisse zum ↑Deployment freigegeben werden, müssen die zu Beginn aufgestellten Geschäftsziele hinsichtlich ihrer Erfüllung betrachtet werden. Nebenbei werden auch die Modellierungsmethoden und die Schritte des gesamten Prozesses überprüft, um etwaige Verbesserungspotentiale zu erkennen. Im Anschluss an diese Prüfungen wird über den Prozessfortgang und den Grad der Nutzung der Ergebnisse entschieden Extraktionskomponente: Die ∼ dient der Übertragung der Daten aus einer ↑Datenquelle in den ↑Arbeitsbereich. Sie unterstützt zusätzlich die Auswahl der Quellen, die importiert werden sollen Factoring: ∼ ist ein Finanzierungsgeschäft, bei dem ein spezialisiertes Finanzierungsinstitut (Factor) von einem Verkäufer dessen Forderungen aus Warenlieferungen und Dienstleistungen laufend oder einmalig ankauft und die Verwaltung der Forderungen übernimmt Fakt: Ein ∼ ist ein Objekt, das quantifizierende und qualifizierende Merkmale besitzt. Die quantifizierbaren Eigenschaften beinhalten für die Organisation relevante Daten, die während einer ↑Datenanalyse weitergehend untersucht werden können. Qualifizierende Eigenschaften dienen der näheren Beschreibung der quantifizierbaren Eigenschaften, wodurch diese eine Bedeutung erhalten 447 Glossar Fast Constellation Schema: Bei einem ∼ sind neben den ↑Basisdaten ebenso verdichtete Daten vorhanden Fehlerquadratsumme: Die ∼ ist die Summe der quadratischen Abweichungen der einzelnen Meßwerte von ihrem Gruppenmittelwert und stellt darum die Variation innerhalb der zu behandelnden Gruppe dar Firewall: Ein Rechner bzw. Programm, dass allen ausgehenden und eingehenden Datenverkehr überwacht. Dabei können bestimmte ↑Ports oder ↑IP’s geblockt werden. Die ∼ dient somit als Schutz gegen Angriffe auf dahinter liegende Computernetze Frequent itemset: ∼ bezeichnet eine Menge von Elementen, die häufig zusammen auftreten Gain-Chart: Ein ∼ ist eine Möglichkeit, die Qualität eines Klassifikators darzustellen. Ein ∼ wird dabei durch zwei Kurven charakterisiert, die den Informationsgewinn auf den Lerndaten und den Evaluierungsdaten darstellen. Je größer der Abstand zwischen den beiden Kurven ist, um so geeigneter ist der Klassifikator Galaxie: Eine ∼ ist ein Schema mit mehreren Fakttabellen Gaußverteilung: Eine Gauß- oder auch ↑Normalverteilung ist eine bestimmte Wahrscheinlichkeitsverteilung, die durch ihren Mittelwert und ihre ↑Varianz eindeutig bestimmt ist Generalisierung: ∼ bezeichnet eine Methode, die eine kompakte Beschreibung einer gegebenen Datenmenge zurückliefert. Wird in der attributorientierten Induktion und beim ↑OLAP verwendet Gesetz gegen den unlauteren Wettbewerb (UWG): Das ∼ soll Verbraucher vor unlauteren Geschäftspraktiken schützen, wie z.B. vergleichende Werbung oder unzulässige Preise. Wer im geschäftlichen Verkehr zu Zwecken des Wettbewerbs Handlungen vornimmt, die gegen die guten Sitten verstoßen, kann auf Unterlassung und Schadensersatz in Anspruch genommen werden 448 Glossar Gläserner Kunde: Die Angst von Konsumenten vor dem Zustand, daß Unternehmen durch Datensammlung ein Persönlichkeitsprofil erstellen können und Kunden damit beeinflussen, wird in dem Begriff ∼ zusammengefasst Gültigkeitszeit: ∼ ist die Darstellung des Zeitraumes, in dem das Objekt den abgebildeten Zustand zeigt Granularität: Die ∼ ist der Verdichtungsgrad von↑Fakten entlang der Ebenen der beteiligten ↑Dimensionshierarchien Hauptkomponentenanalyse: ∼ bezeichnet ein Verfahren zur ↑Dimensionsreduktion, bei dem versucht wird, Regressoren aus der Regressionsgleichung zu entfernen, die nur wenig Erklärungszuwachs zu einer zu erklärenden Variablen liefern und demnach möglichst ohne Informationsverlust aus der Gleichung entfernt werden können Header: Ein ∼ enthält Meta-Informationen, die bei jedem ↑Request oder jeder ↑Response mitgeschickt werden Hierarchieebene: Die Daten in den Dimensionen lassen sich auswertungsorientiert zusammenfassen. Eine solche Zusammenfassung wird als ∼ bezeichnet Hintergrundwissen: ∼(engl. domain knowlegde) ist (Experten-)↑Wissen über das jeweilige Anwendungsgebiet. Soll beispielsweise ein Clusteringalgorithmus Patienten einer Medikamentenstudie clustern, besitzt ein durchführneder Arzt solches ∼ Histogramm: Ein ∼ ist eine Visualisierung von ↑Binning-Methoden in Form eines Diagramms Hit: jeder Zugriff auf einen Teil (ob Seite, Bild oder Text) eines WebAngebots, der im Log-File des Servers eingetragen wird, wird als ∼ bezeichnet HOLAP: Wenn ↑Detaildaten in ↑Relationen gespeichert werden und gewisse Verdichtungen multidimensional gehalten werden, wird eine Mischform, das hybride ↑OLAP (also ∼) verwendet 449 Glossar Homonym: Mehrere unterschiedliche Werte eines Datums haben die selbe semantische Bedeutung Homonymfehler: ∼ bezeichnet die fälschliche Zusammenführung zweier Objekte oder ↑Tupel, die unterschiedliche Entitäten beschreiben, zu einer neuen Entität HTML, Hyper Text Markup Language: ∼ ist ein standardisiertes Format, um die Struktur von Internetseiten zu beschreiben HTML-Tag: Ein ∼ ist ein Auszeichnungselement von ↑HTML HTTP, Hyper Text Transfer Protocol: ∼ ist ein Protokoll, welches für die Abwicklung fast aller Kommunikation im World Wide Web zuständig ist Interpage Strukturdaten: ∼ ist die Bezeichnung der Struktur mehrerer Seiten untereinander. In der Regel ist damit die Struktur gemeint, die durch Verlinkung zwischen den einzelnen Seiten implizit gegeben ist Interquartilsabstand: Der ∼ ist der Abstand zwischen unterem und oberen ↑Quantil IP-Adresse: Die ∼ ist eine eindeutige Kennung, definiert in der TCP/IP Definition, die jeder Rechner, der mit dem Internet verbunden ist, erhält ISP, Internet Service Provider: ∼ ist ein Unternehmen, der Zugang zum Internet ermöglicht. Dies kann über Modems, ISDN, DSL etc. geschehen. Solche Unternehmen bieten meistens auch noch weitere Dienstleistungen im Internetumfeld an Item: ∼ (oder Literale) sind Elemente, deren Mengen die Werte der ↑Sequenzen bilden. Ein ∼ kann z.B. ein Element eines Warenkorbs sein, der wiederum für eine ↑Transaktion steht Kampagnen: ∼ sind Anwendungen, die in unterschiedlicher Form und bei Bedarf angewendet werden 450 Glossar Kategorische Daten: Als ∼ bezeichnet man ↑Nominale und ↑Ordinale Daten, also Namen ohne Wert oder Namen mit einer darauf definierten Ordnungsrelation KDD-Prozess: Knowledge Discovery in Databases bezeichnet den nichttrivialen Prozess der Identifikation valider, neuartiger, potentiell nützlicher und klar verständlicher Muster in Daten. Der Prozess beinhaltet dabei Schritte von der ursprünglichen Datenauswahl bis hin zur Interpretation der gefundenen Muster und der folgenden Umsetzung Kenngrösse: ↑Fakt Klasse: Eine ∼ besteht im Kontext der ↑Datenanalyse aus einer Menge von Objekten, die alle eine bestimmte Gemeinsamkeit haben, beispielsweise die ∼ der kreditwürdigen Bankkunden innerhalb der Menge aller Bankkunden Kennzahl: ↑Fakt Kennzahlen: Hier ist eine ↑Kennzahl ein Begriff aus der Statistik. Er bezeichnet Werte, die berechnet werden, um Datenmengen charakterisieren zu können. Beispiele sind der ↑Median, die ↑Quantile oder die ↑Varianz Kennzahlenattribut: ↑Kennzahl Klassifikation: Bei der ∼ besteht die Aufgabe darin, betrachtete Objekte einer vorher bestimmten ↑Klasse zuzuordnen. Die Zuordnung findet dabei aufgrund der Objektmerkmale und der Klassifikationseigenschaften statt Klassifikationshierarchie: Eine ∼ bezüglich eines ↑Pfades ist ein balancierter ↑Baum. Seine Kanten repräsentieren die funktionalen Abhängigkeiten Klassifikationsknoten: Ein ∼ ist die Verdichtungsstufe innerhalb einer ↑Klassifikationshierarchie Klassifikationsschema: Das ∼ einer Dimension ist eine halbgeord- 451 Glossar nete Menge von Klassifikationsstufen mit einem kleinsten Element K-means: ∼ ist ein partitionierendes, globales Verfahren, das allen Elementen eine exakte Zuordnung zu Gruppen gibt. Dabei werden Clusterzentren zur Clusterbildung verwendet Kontingenztabelle: Eine ∼ oder Kreuztabelle ist das Ergebnis aus der Zusammenführung mehrerer Tabellen zu einer einzelnen Tabelle, um Vergleiche zwischen den Daten aus beiden Quellen anstellen zu können. Es ist eine Aufstellung statistischer Auszählungen meist nominal oder ordinal-skalierter Variablen Kontinuierliche Daten: ∼ nehmen Werte aus einem kontinuierlichen Wertebereich an. Ein für einen solchen sind die reellen Zahlen. In diesem Sinne kann man kontinuierlich mit lückenlos beschreiben Konzepthierarchie: Die ∼ ist eine Hierachie abstrakter Konzepte, die im ↑Data Mining benutzt wird, um viele einzelne Elemente, für die sich evtl. nur schlecht Regeln finden lassen, zu allgemeinere Elemente zu abstrahieren. Diese allgemeineren Elemente nennt man Konzepte Kundenbindung: ∼ stellt eine Basis für die Erhaltung und Steigerung des langfristigen Unternehmenswertes dar. Die ∼ beschreibt, in welchem Maße Kunden den Marken und Produkten des Unternehmens treu bleiben und Wiederholungskäufe tätigen. ∼ wird über die Kriterien: Sympathie, Vertrauen, Identifikation und Markentreue gemessen Kundendaten: ∼ sind sämtliche Angaben, die einem bestimmten Kunden zuordbar und gespeichert sind. Dies sind insbesondere demographische Daten, aber auch Informationen über Lebensumstände und Kaufverhalten Kundenpräferenz: Konsumenten bevorzugen z.B. einen Händler oder bestimmte Produkte, weil er den Händler kennt (persönliche Präferenzen) oder weil er in der Nähe des Anbieters wohnt (räumliche Präferenzen) Kundenwert: Unter ∼ versteht man die Wichtigkeit eines Kunden 452 Glossar für das Unternehmen. Dabei werden Faktoren wie Umsatz, Dauer der Geschäftsbeziehung und Treue zu dem Unternehmen bewertet. Teilweise wird auch das mögliche Potential eines Kunden hinzugenommen Künstliches Neuronales Netz: Ein ∼ ist ein Netz, in dem viele gleichartige Units (Neuronen) miteinander verschaltet werden. Einzelne Neuronen erfüllen einfache mathematische Funktionen, deren Ausgang wiederum anderen Neuronen als Eingangsdaten dienen. Solche Netze sind geeignet für vielfältige Aufgaben wie ↑Regression, Clusteranalysen oder die Mustererkennung Kurzzeitiger Besucher: Ein ∼ ist ein Benutzer einer ↑Website, der nur eine einzige Seite aufruft Ladekomponente: Um speicherungs- und auswertfähigen Daten im Data Warehouse-Kontext weiterzuleiten, ist eine Komponente notwendig, damit die analyseunabhängigen ↑Detaildaten in die ↑Basisdatenbank zu übertragen. Eine andere Komponente muss die analysespezifischen Daten aus der ↑Basisdatenbank transferieren Logfile: ↑Webserver protokollieren jeden Zugriff auf ein Element der Seite in einer Protokolldatei, deren Format durch die Konfiguration des Servers bestimmt wird Login: In der Regel bezeichnet das ∼ einen Zugang zu einem nicht nicht öffentlichen Bereich auf einer ↑Website Median: Der ∼ bezeichnet den Wert, der eine ↑Stichprobe bzgl. einer Variable in zwei Hälften unterteilt; die untere Hälfte ist kleiner als der ∼ , die obere größer ME/R- Modell: Das multidimensionale entity/relationsship- Modell ergänzt das ER-Modell um drei Elemente, um die multidimensionale Semantik darzustellen Metadaten: ∼ sind ein Begriff zur Beschreibung jeder Form von Informationen über Daten. ∼ bieten die Möglichkeit, Informationen aus dem ↑Data Warehouse zu gewinnen (Informationen über Daten aus der↑Basisdatenbank und dem ↑Data Warehouse, physische Speicherinformationen sowie Zugriffsrechte, Qualitätssicherung und In- 453 Glossar formationen über Data-Warehouse-Prozesse). Sie dienen sowohl als Informationslieferant als auch zur Steuerung des ↑Data Warehouse Managers für die verschiedenen Prozesse Metadatenmangager: Der ∼ steuert die Metadatenverwaltung. Er stellt eine Datenbankanwendung dar, der das Versions- und Konfigurationsmanagement, das Integrations-, die Zugriffs-, die Anfrage- und Navigationsmöglichkeiten der ↑Metadaten anbietet. Ferner liefert er die Schnittstelle für Lese- und Schreibzugriffe auf das ↑Repositorium Missing values: ∼ bezeichnen Datenfelder, die keinen Wert beinhalten Modellbildung: ∼ ist die vierte Phase im ↑CRISP-DM; der Bereich, der allgemein als ↑Data Mining bezeichnet wird, umfasst die Auswahl und die Anwendung verschiedener Modellierungstechniken, um die in dem ↑Business Understanding festgesetzten Data-Mining-Ziele zu erreichen Monitor: Ein ∼ soll Datenmanipulationen aufdecken. Es gibt meist einen pro ↑Datenquelle Monitoring: Das ∼ ist die Voraussetzung für die Anpassung eines ↑Data Warehouse an die aktuelle Nutzung Multidimensionale Datenbank: Eine ∼ ist eine auf Grundlage des ↑multidimensionalen Datenmodells aufgebaute Datenbank. Analog sind multidimensionale Datenbanksysteme und multidimensionale Datenbankmanagementsysteme definiert Multidimensionales Datenmodell: Das ∼ ist ein Datenmodell, das die Modellierung von Daten zu Analysezwecken ermöglicht. Wesentliches Charakteristikum ist die Unterscheidung von Daten in ↑Fakten und ↑Dimensionen, sowie die Möglichkeit der Bildung von Hierarchien auf den Dimensionen Multidimensionales Schema: Ein Schema, das mit den Mitteln eines ↑multidimensionalen Datenmodells erstellt wurde, wird auch ∼ genannt 454 Glossar Multiple Hierarchie: ∼ bezeichnet eine Spezialform der Hierarchie, bei der auf eine ↑Hierarchieebene alternativ mehrere folgen können mUML: Die multidimensionale Unified Modeling Language ermöglicht als UML- Erweiterung die Erstellung eines konzeptionellen, ↑multidimensionalen Schemata. Die multidimensionalen Sprachelemente und deren Semantik hat die ∼ von der Multidimensional Modeling Language (MML) erhalten. Grundlage für die ∼ sind UML-eigene Erweiterungsmöglichkeiten, die eine Anpassung ohne Veränderung des Metamodells ermöglichen Nicht-Kunde: Ein ∼ ist ein ↑aktiver Nutzer einer Site, der ein objektives Ziel der Site nicht erfüllt Noisy data: Noise“ bezeichnet in diesem Kontext einen zufällig ” fehlerhaften Wert oder eine Abweichung in einer gemessenen Variable ↑(Rauschen). Man spricht auch von verrauschten Daten Nominale Daten: ∼ bezeichnet Daten, deren Wertebereich nicht numerisch ist, sondern Wörter oder Kategorien darstellen. Ein Beispiel hierfür ist die Einteilung in Blutgruppen Normalisierung: ∼ ist ein Verfahren, durch das bestimmte Eigenschaften für die Daten wie z.B. Redundanzfreiheit oder die Abwesenheit von Update-Anomalien für einen Datenbestand erzielt werden können Normalverteilung: ↑Gaußverteilung Numerische Daten: ∼ sind ↑Diskrete und ↑kontinuierliche Daten, also Daten, die aus Ziffern bestehen Numerische Datenreduktion: ∼ bezeichnet die Verkleinerung des Datenbestandes durch Methoden wie z.B. Stichprobenziehungen, lineare ↑Regression oder ↑Clustering Objekt-Historie: Hier werden nur ↑Gültigkeitszeiten verwaltet. Es kann für jedes Objekt festgestellt werden, wann es in der modellierten Welt wahr war 455 Glossar OLAM: ↑Online Analytical Mining One-to-one Marketing: Unter ∼ oder auch Individual Marketing versteht man das auf spezielle Kunden oder Kundengruppen ausgerichtete Marketingverhalten, dass sich vom Massenmarketing abwendet Online Analytical Mining: Im Zusammenhang mit dem ↑Data Warehousing und dem ↑Data Mining tritt das sogenannte ↑Online Analytical Mining (OLAM) in Erscheinung, welches die auf Data Warehouse operierenden Techniken des ↑Online Analytical Processing (OLAP) und des ↑Data Mining integriert. ↑OLAM bietet Möglichkeiten an, ein Mining auf verschiedenen Teilgruppen und Abstraktionsebenen, welche basierend auf ↑Datenwürfeln mit OLAP-Methoden gebildet werden, durchzuführen OLAP: Online Analytical Processing ist eine Methode um in großen Datenbeständen visuell aufbereitete, deskriptive ↑Analysen zu ermöglichen. Bei ∼ handelt es sich um eine Form der manuellen ↑Datenanalyse mittels ↑Generalisierung und ↑Spezialisierung. Die notwendigen Daten werden oft im ↑Data Warehouse (DW) bereitgestellt OLTP: Online Transaction Processing beschreibt den Arbeitsprozess, der von den klassischen, operationellen, transaktionsorientierten Datenbankanwendungen verfolgt wird Ordinale Daten: ∼ bezeichnet Daten, deren Wertebereich aus Wörtern oder Kategorien besteht, die untereinander eine feste Ordnung haben P3P, Platform for Privacy Preferences: ∼ ist ein Projekt des ↑W3C mit dem Ziel, dass User problemlos beurteilen können, welche Daten auf einer ↑Website gesammelt werden. Ebenso sollen ↑Website Betreiber die Möglichkeit erhalten, ihre User aufzuklären, damit diese wiederrum Vertrauen aufbauen und frei entscheiden können, ob sie mit der Sammlung der Daten einverstanden sind Pfad: ∼ Pfad bezeichnet eine vollgeordnete Teilmenge von Klassifikationsstufen eines ↑Klassifikationsschemas 456 Glossar Point of Sale (POS): ∼ steht sowohl für den eigentlichen Verkaufsort (allgemein die Kasse) wie auch für Kassensysteme Port: Ein ∼ ist ein Kommunikationskanal“ im Internet. Verschie” dene Services benutzen auch unterschiedliche ↑Ports, um Ihre Kommunikation abzuwickeln Postprocessing: ∼ ist der vierte Teilprozess des allgemeinen KDDModelles; Die Ergebnisse des ↑Data Mining werden hier verarbeitet und bewertet und die gewählten Methoden als auch der gesamte bisherige Prozess werden kritisch betrachtet Preisangabenverordnung (PAngV): Wer Endverbrauchern Waren oder Leistungen anbietet oder als Anbieter von Waren oder Leistungen gegenüber Letztverbrauchern unter Angabe von Preisen wirbt, hat die Preise anzugeben, die einschließlich der Umsatzsteuer und sonstiger Preisbestandteile unabhängig von einer Rabattgewährung zu zahlen sind (Endpreise). Auf die Bereitschaft, über den angegebenen Preis zu verhandeln, kann hingewiesen werden, soweit es der allgemeinen Verkehrsauffassung entspricht und Rechtsvorschriften nicht entgegenstehen Preprocessing: ↑Datenvorverarbeitung Primärdaten: Im Forschungsumfeld sind unter ∼ solche Daten zu verstehen, die direkt bei den Untersuchungen entstanden sind und noch in keiner Weise verändert wurden Proxy Server: ∼ ist ein Rechner, der Anfragen von anderen Rechnern entgegen nimmt und an das Ziel weiterleitet. Ein Proxy wird oft in Firmen eingesetzt um als ↑Firewall zu dienen. Zusätzlich kann ein ∼ auch Seiten aus dem WWW zwischenspeichern und somit als ↑Cache fungieren Pruning-Strategien: Im Fall von komplexen und tiefgeschachtelten Entscheidungsbäumen, bei der die ↑Klassifikation ungesehener Objekte häufig ungeeignet ist, verwenden mehrere ↑Entscheidungsbaumverfahren ∼ . Ein in einem ersten Schritt konstruierter eventuell tiefverästelter ↑Baum wird dabei durch das Herausschneiden von Unterbäumen reduziert, die nur einen geringen Beitrag zur ↑Klassifikation 457 Glossar leisten. Neben dem hier beschriebenen Postpruning wird auch das Prepruning angewandt, bei dem Unterbäume, die voraussichtlich wenig Beitrag zur ↑Klassifikation leisten können, bei der Konstruktion des Gesamtbaumes berereits nicht mit einbezogen werden Pull: ∼ ist das selbst bestimmte Heraussuchen von Informationen aus dem Web Push: ∼ ist das ungefragte Erhalten von vorselektierten Daten aus dem Internet. Aktiv beteiligt an der Auswahl des Dateninhalts ist ein Nutzer nur bei der Auswahl seines Interessenprofils Quadrierte euklidische Distanz: Die ∼ beschreibt die Summe der quadrierten Differenzen zwischen den Werten der Einträge Quantil: Das ∼ ähnelt dem ↑Median, nur daß die Grenze beim unteren ∼ nicht bei der Hälfte sondern bei einem Viertel liegt. Analog ist das obere ∼ definiert Rauschen: Als ∼ bezeichnet man anormale Daten, die von ihrer Charakteristik her nicht in die Menge der Gesamtdaten passen Recommender System: Ein ∼ schlägt dynamisch, anhand des aktuellen User-Verhaltens und aufgrund gesammelter Daten, alternative Links vor Redundanz: ∼ bezeichnet die mehrfache Speicherung identischer ↑Tupel oder Datensätze ohne Informationsgewinn Referenzarchitektur: Die ∼ eines ↑Data Warehouse System genügt den Prinzipien der Lokalität, der Modularisierung, Hierarchisierung sowie integrierter Dokumentation und Mehrfachvererbung Regression: Mithilfe der ∼ versucht man eine Gleichung aufzustellen, die aus vorhandenen Attributen (x1 . . . xn ) eine Variable y erklärt. Bei der klassischen linearen ∼ hat die Gleichung die Form y = b0 +b1 x1 +. . .+bn xn +e, wobei die b die zu wählenden Koeffizienten darstellen und e den sogenannten Fehlerterm. In der nichtlinearen ∼ sind auch bspw. exponentielle Gleichungen möglich 458 Glossar Relation: Die ∼ beschreibt die Teilmenge eines kartesischen Produktes M1 × . . . × Mn . Solche Relationen kann man als Tabellen z.B. in Datenbanken darstellen Relationale Datenbanken: Kennzeichen relationaler Datenbanken ist, daß jede Information als Tabelle dargestellt werden kann und das alle Tabellen miteinander verlinkt werden können, insofern sie ein ↑Attribut teilen Repositorium: Das ∼ speichert die ↑Metadaten des Data WarehouseSystems Request: Ein ∼ ist die Anfrage an einen ↑Webserver nach dem ↑HTTP-Protokoll Response ∼ bezeichnet die Antwort eines ↑Webservers auf einen ↑Request Rollback-Relation: In der ∼ wird die ↑Transaktionszeit gespeichert. ↑Transaktionen können so rückgängig gemacht werden Roll-up: ∼ bezeichnet das Zusammenfassen von ↑Fakten aufgrund gleicher Ausprägung der qualifizierenden Eigenschaften, wobei die einzelnen quantifizierbaren Eigenschaften unter Verwendung von ↑Aggregationsfunktionen zusammengeführt werden Sampling: Wenn man statt alle Daten zu berücksichtigen, nur einen Teil berücksichtigt, spricht man von ∼ Scatterplots: ∼ werden zur graphischen Darstellung einer Variablenverteilung benutzt Schnappschuss-Datenbank: ∼ ist die Momentaufnahme einer ↑temporalen bzw. einer konventionellen nicht-temporalen Datenbank Secure Socket Layer (SSL): ∼ ist eine Verschlüsselungstechnologie für die sichere Übermittlung von sicherheitsrelevanten Daten wie z.B. Kreditkartenangaben und Passwörtern Self Organizing Map: ∼ sind eine von Kohonen entwickelte Form 459 Glossar der graphischen Clusteranalyse, die auf Technologien im Bereich der ↑Künstlichen Neuronalen Netze zurückgehen. Ein SOM-Algorithmus kann selbständig Daten gruppieren und diese in einer zweidimensionalen Karte (Map) darstellen. Das Ziel von Self Organizing Maps (SOM) besteht in der topologieerhaltenden Abbildung hochdimensionaler Merkmalsräume in einen Outputraum niedriger Dimension. ∼ sind dabei in der Lage, unbekannte Strukturen in der zu analysierenden Datenbasis ohne a priori Informationen selbstständig zu extrahieren und zu visualisieren Sequenz: Bei einer ∼ handelt es sich um eine Folge von Werten, die sich auf einander folgende Zeitpunkte oder Zeiträume bezieht Slice und dice: ∼ bezeichnet die benutzergesteuerte Erforschung eines Datenbestandes. Der Anwender kann während dieses Vorgangs Teile eines ↑Datenwürfels selektieren, Datenwerte aggregieren oder transformieren, unterschiedliche ↑Datenwürfel miteinander verknüpfen oder einen ↑Würfel aus verschiedenen Perspektiven betrachten Slowly changing dimension: Dieses von Kimball 1996 entwickelte Konzept beschäftigt sich mit den Werteänderungen der Dimensionsattribute Snowflake-Schema: Dieses Schema ermöglicht es, ↑Klassifikationen direkt in einer relationalen Datenbank darzustellen, indem für jede Klassifikationsstufe eine eigene Tabelle angelegt wird. Durch die funktionalen Abhängigkeiten sind die Dimensionstabellen normalisiert. Dadurch werden ↑Redundanzen reduziert (d.h. also Speicherplatz gespart) und Änderungsanomalien verhindert, allerdings kostet es viele Verbundoperationen SOM: ↑Self Organizing Maps Spam: ∼ bezeichnet heutzutage unverlangt zugeschickte Emails oder Usenetpostings Spezialisierung: ∼ ist die Der ↑Generalisierung entgegengesetzte Methode, um zusammengefasste Daten wieder in Daten mit einem höheren Informationsgehalt umzuwandeln 460 Glossar SQL, Structured Query Language: ∼ ist eine standardisierte Datenbank Abfragesprache, die sowohl Data Definition Language (DDL) und Data Manipulation Language (DML) vereint SRSWOR, Simple Random Sample WithOut Replacement: ∼ bezeichnet eine Stichprobenart: Es wird ohne Ersetzung ein Datum aus dem Datenbestand gezogen SRSWR, Simple Random Sample With Replacement: ∼ ist eine Stichprobenart: Es wird ein Datum aus dem Datenbestand gezogen und anschließend wieder dem Datenbestand hinzugefügt Stammdaten: ∼ sind Daten, die sich nicht oder nur selten ändern. Sie müssen nur einmal eingegeben werden und stehen dann ständig zur Verfügung Star-Schema: Dieses Datenmodell bildet über die Faktentabelle und Dimensionstabellen die typischen ↑OLAP Objekte ab: ↑Datenwürfel, ↑Dimensionen, ↑Dimensionenhierarchien und Dimensionenelemente. Diese relationale Realisierung vermeidet das Entstehen teurer Verbundoperationen, indem die Tabellen einer ↑Dimension zu einer einzigen Tabelle denormalisiert werden. Die Faktentabelle enthält die eigentlichen Analysedaten und ist weiterhin normalisiert, während die Dimensionstabellen, die nur beschreibende Daten beinhalten, dagegen verstoßen Steam-and-Leaf-Plot: ∼ bieten eine graphische Darstellung der Variablenverteilung Stichprobe: Eine ∼ ist eine Teilmenge der zu untersuchenden Daten, die meist zufällig ausgewählt wird. Spiegeln die Objekte der Stichprobe die Art aller Objekte der Daten wieder, spricht man von einer repräsentativen ∼ Streuverluste: ∼ sind durch Werbemaßnahmen erzielte Kontakte mit Personen, die nicht der definierten Zielgruppe zugehörig sind. ∼ werden auch Fehlstreuung genannt Subsequenz: Eine ∼ ist eine Folge von Werten, die in einer anderen ↑Sequenz enthalten ist. Dabei ist nicht die Übereinstimmung aller 461 Glossar Werte entscheidend, sondern die Reihenfolge selbiger Suchmaschine: Eine ∼ ist ein Programm, um nach Seiten im Internet zu suchen Summierbarkeit: ∼ bezeichnet die inhaltliche Korrektheit der Anwendung einer ↑Aggregationsfunktion auf einen ↑Würfel Supply chain: Wörtlich Beschaffungskette“. Eine ∼ ist ein Netz ” aus Einrichtungen, Distributionszentren und Verkaufsstellen, die erforderlich für den Materialfluss sind Support ∼ ist die Häufigkeit, mit der ein ↑frequent itemset oder eine ↑Sequenz in der Datenmenge vorhanden ist. Machmal ist der ∼ auch als Quotient aus der Häufigkeit und der Gesamtgröße der Datenmenge definiert Surrogat: Ein ∼ ist ein künstlich gebildeter Schlüssel, um eine Verletzung der referenziellen Integrität zu beheben Synonym: Der Wert eines Datums besitzt mehrere semantische Bedeutungen Synonymfehler: ∼ bezeichnet das Nichterkennen der Zusammengehörigkeit zweier ↑Tupel oder Objekte, die die selbe Entität beschreiben Task Analysis: ∼ ist der erste Teilprozess des allgemeinen KDDModelles; in dieser Phase wird das Umfeld der ↑Datenanalyse betrachtet und die Ziele für den weiteren Prozess festgesetzt Temporale Datenbank: Eine ∼ ist eine Datenbank, die auf ↑Gültigkeits- und ↑Transaktionszeit basiert und es somit erlaubt, die vollständige Geschichte“ von Daten nachzuvollziehen ” Transaktion: Eine ∼ bezeichnet den Vorgang des Speicherns in die Datenbank bzw. Vornehmen einer Änderung in der Datenbank. Einer Transaktion liegt das sogenannte ACID-Prinzip zu Grunde. Eine Transaktion muß somit den Prinzipien Atomicity, Consistency, Isolation, Durability genügen 462 Glossar Transaktionsdaten: Daten, die sich häufig ändern bzw. stets neu anfallen (z.B. Daten der laufenden Geschäftstätigkeit) nennt man ∼ Transaktionszeit: Die ∼ bezeichnet den Zeitraum zwischen dem Transaktionszeitanfang, an dem eine ↑Transaktion in der Datenbank gestartet wird, und dem Transaktionszeitende, an dem sie abgeschlossen wird Transformationskomponente: Die ∼ bringt die Daten, die in die ↑Basisdatenbank geladen werden sollen, in einen geeigneten Zustand, da sie sich strukturell und inhaltlich unterscheiden Tupel: ∼ ist ein Kunstwort, das zur Verallgemeinerung der Begriffe Paar, Tripel usw. benutzt wird. Ein n- ∼ ist eine aus n Elementen bestehende mathematische Größe. Im Zusammenhang mit einer ↑Relation kann man ein ∼ als eine Zeile einer ↑Relation verstehen Tupel-Zeitstempelung: Die ↑Zeitstempelung erfolgt hier pro ↑Tupel. Dabei kann nicht pro ↑Attribut unterschieden werden. Diese ↑Zeitstempelung entspricht der ersten Normalform und ist mit konventionellen DBMS konform URL Parameter: ∼ ist ein Parameter, der an eine ↑URL angehängt wird. Dieser Parameter kann durch den ↑Webserver oder eine serverseitige Programmiersprache ausgewertet werden URL, Unified Ressource Locator: Internetadressen, wie sie durch das ↑W3C spezifiert ist, nennt man ∼ Valid Time: ↑Gültigskeitszeit Varianz: Die ∼ gibt ein Streuungsmaß an, das eine Aussage darüber treffen soll, wie weit im Durchschnitt jede Variable vom Mittelwert aller ↑Stichproben abweicht Verbundbildung: ↑Clustering Vorverarbeitungsschritte: Unter ∼ versteht man Operationen auf Daten, die vor der eigentlichen Datenverarbeitung durchgeführt wer- 463 Glossar den und die die eigentliche Datenverarbeitung erleichtern sollen, indem sie beispielsweise die Daten bereinigen W3C, World Wide Web Consortium: ∼ ist der Name einer Organisation, die sich die Definition, Weiterentwicklung und Pflege von Standards für das Internet zum Ziel gesetzt hat. ↑HTML, ↑XML, RDF u.s.w. sind Beisipiele Ward-Verfahren: Mit dem ∼ werden zuerst Mittelwerte für jede Variable innerhalb einzelner ↑Cluster berechnet. Anschließend wird für jeden Fall die ↑Quadrierte Euklidische Distanz zu den ClusterMittelwerten berechnet. Diese Distanzen werden für alle Fälle summiert. Bei jedem Schritt sind die beiden zusammengeführten ↑Cluster diejenigen, die die geringste Zunahme in der Gesamtsumme der quadrierten Distanzen innerhalb der Gruppen ergeben Web Access Pattern: ∼ ist ein häufig auftretender Zugriffspfade im ↑Web Log Web Content Mining: ∼ bezeichnet ↑Data Mining auf dem Inhalt von Webseiten Web Data Mining: Das Anwenden von ↑Data Mining Methoden auf den Daten des Internets wird auch ∼ genannt Web Log: Das ↑Logfile eines ↑Webservers, in dem alle Zugriffe auf Dateien des ↑Webservers mitprotokolliert werden, wird ∼ genannt Webserver: Ein Programm, das Webseiten ausliefert (z.B. Apache), heißt ∼ Website: Eine ∼ ist ein kompletter Auftritt im Internet. Meistens besteht ein solcher Auftritt aus vielen einzelnen Seiten Web Structure Mining: ∼ bezeichnet das ↑Data Mining auf Strukturdaten des Internets Web Usage Mining: ↑Data Mining auf den Nutzungsdaten des Internets heißt ∼ 464 Glossar Würfel: Ein ∼ besteht aus Datenzellen, welche eine oder mehrere ↑Kenngrössen auf ↑Detailebene beinhalten Würfelinstanz: Die ∼ ist eine Menge von Würfelzellen Würfelschema: Das ∼ besteht aus der ↑Granularität und einer Menge von ↑Fakten XML Extended Markup Language: ∼ ist eine Definition, um Strukturinformationen für Daten zu generieren XML-Tag Ein ∼ ist ein Auszeichnungselement nach der XML-Definition Zeitreihe: ↑Sequenz Zeitstempel: Ein ∼ ist eine Teilmenge der Zeit, über die ein Objekt definiert ist. Dieser kann entweder ein Ereignis definieren, ein Zeitintervall oder ein zeitliches Element Zeitstempelung: ∼ unterteilt sich in ↑Attribut- bzw. ↑Tupelzeitstempelung Zufallsvariable: Eine ∼ ist eine Variable, deren Ausprägung in einem Zufallsexperiment entsteht 465 Index ε-Umgebung, 136 Dbscan, 138 Sliq, 156 überwacht, 61 frequent itemset, 351 a-priori-Hypothesen, 71 Abhangige Data Marts, 15 Abweichungsanalyse, 47 Abweichungserkennung, 45 Ad-hoc Auswertungen, 68 admox, 249, 251–253, 258, 259 AGB, 259 Agenten, 96 Aggregation, 102, 112, 113 Aggregationen, 69 Aggregationsfunktion, 26 aggregierter Baum, 358 aggregiertes Log, 359 aktiver Nutzer, 365 Aktivierungsfunktion, 60 Aktivierungszustand, 60 Allgemeine Datenanalyse, 41 Analyse, 3, 4, 6, 7, 9, 16, 19, 24 Analysealgorithmen, 46 Analyseergebnis, 240, 241, 245, 247, 260 Annotation Rule, 367 anonymisierte Daten, 378 Apriori, 172, 353 Join, 174 466 Kandidatengenerierung, 174 Monotonie-Eigenschaft, 173 Pruning, 174 Arbeitsbereich, 12, 13 Arithmetisches Mittel, 48 Association Rule Hypergraph Partitioning, 361 Assoziationsanalyse, 45, 167 Assoziationsregel, 169, 362 Attribut-Zeitstempelung, 35 Attribute, 128 attribute subset selection, 114 Attributformate, 109 attributorientierte Induktion, 187 Attributrelevanz, 193 Auftragsdatenverarbeiter, 254 Ausgabefunktion, 60 Auspragung, 21, 22, 24 Ausreißer, 102, 106 Ausreißeranalyse, 47 Auszählungen, 53 Basisdaten, 256 Basisdatenbank, 12–15, 18 Bayes, 148 naiver Bayes-Klassifikator, 149 Bayes Theorem, 148 BDSG, siehe Bundesdatenschutzgesetz Best Matching Unit, 66 binning, 104, 116, 119, 120 INDEX BMU, 66 boolesche Werte, 109 Bottom-Up, 42 Box-and-Whisker-Plots, 49 Breuninger Card, 249, 252, 258 Browser, 337 Budni Karte, 249, 253, 259 Budni Karte , 258 Bundesdatenschutzgesetz, 377 Business Understanding, 80, 81 candidate set, 356 Centroid, 131 Charakterisierung, 182, 186 Client, 337 Cluster, siehe Clustering cluster sample, 119 Clusteranalyse, 62 Clustering, 127 agglomeratives, 139 Automatic Subspace, 145 dichte-basiertes, 136, 140 hierarchisches, 139 iterativ verbesserndes, 131, 134 partitionierend, 130 Verfahren, 129 clustering, 106 Clustern, 45, 48 Codd, 68 combined computer and human inspection, 106 Computergraphik, 44 Computerlinguistik, 44 concept hierarchy generation, 103 confidence, 362 Content, 332 Cookies, 252, 342 CRISP-DM, 80 Abschlussbericht, 88 Anwendungsziele, 81 Aufbau, 80 Business Understanding, 80, 81 Data Mining-Ziele, 83 Data Preparation, 85 Data Understanding, 80, 84 Daten sammeln, 84 Datenanalyse, 84 Datenauswahl, 85 Datenbereinigung, 85 Datenbeschreibung, 84 Datenformatierung, 86 Datenintegration, 85 Datenqualität, 84 Datentransformation, 85 Deployment, 80, 88 Ergebnisbewertung, 87 Evaluation, 80, 87 Grundfunktionalität, 80 Methodenauswahl, 86 Modellbildung, 86 Modelling, 80, 86 Preprocessing, 80 Projektplan, 83 Prozessrückblick, 87 Situationsbewertung, 82 Testdesign, 86 User Guide, 80 CRM, 10, 242, siehe Customer Relationship Management CRMS, 42 Customer Relationship Management, 375, 386 d weight, 192 data cleaning, 102, 103 data compression, 102 data integration, 102, 108 467 INDEX Data Marts, 14, 15, 36 Data Mining, 3, 7, 38, 40, 43, 47, 75, 78, 124, 166, 241, 375 Aufgaben, 166 Prozessschritt, 76 verteiltes, 96 Data Mining-Methoden, 102 Data Mining-Prozess, 102, 114 data reduction, 102, 113 data smoothing, 104, 112 data transformation, 110 Data Understanding, 80, 84 Data Warehouse, 77, 102, siehe Data Warehousing Data Warehouse Manager, 17 Data Warehouse System, 3, 5, 11, 17 Data Warehouses, 68 Data Warehousing, 3–5, 10, 77, 375 Data-Mining-Methoden beschreibende, 167 vorhersagende, 167 Data-Warehouse, 41 Data-Warehousing, 41 Database Marketing, 376 Daten-Vorverarbeitung, 347 Datenanalyse, 40, 245, 375, 381 Bewertung von Ergebnissen, 383 Veröffentlichung von Ergebnissen, 383 Datenanalyse-Algorithmen, 46 Datenanalyseverfahren, 382 Datenbank-Theorie, 44 Datenbanksysteme, 75 Datenbereinigung, 102, 103, 108, 112 Datenerhebung, 379 468 Datenerstellung, 40 Datenglättung, 107, 112 Datenglattung, 120 Datenintegration, 102, 109–111, 123 Datenkompression, 102, 113, 115 Datenmustererkennung, 43 Datennormalisierung, 102 Datennutzung, 248–250, 254, 259, 260 Datenqualität, 104 Datenquelle, 10–14, 37 Datenreduktion, 102, 103, 107, 113, 123 Datensammlung, 40 Datenschutz, 249, 257 Umgehung, 385 Datenschutzbestimmung, 252, 256 Datensparsamkeit, 381 Datenspeicherung, 380 Datentransformation, 102, 123 Datentreuhänder, 393 Datenverarbeitung im Ausland, 385 Datenvermeidung, 381 Datenvorverarbeitung, 381 Datenweitergabe, 236, 250, 254, 257, 260 Datenwertskonflikt, 110 Datenwürfel, 68, 70 Delta-Regel, 61 Dendrogramm, 140 Denormalisierung , 32 Deployment, 76, 80, 88, 241 Description, 45 Detaildaten, 3, 13, 24, 30 Dichte, 136 Dicing, 69 Dimension, 3, 5, 15, 17, 21, 23 dimension reduction, 102 INDEX Dimensionsreduktion, 57, 102, 113, 114 Discovery, 42, 45 discretization, 103 Diskrete Daten, 109 Diskretisierung, 103, 113, 119, 120, 122, 123 entropiebasiert, 121 Diskrimanzanalyse, 62 Distanzfunktion, 127 Document Root, 339 Drei-Ebenen-Konzept, 70 Dreischichtenarchitektur, 19 Drill Across, 70 Drill Down, 69 Drill Through, 69 Drill Up, 69 eCollect, 249–254, 256, 259 Eigenschaftswert, 22 eingebettet Elemente, 337 Einwilligung, 379 Datenanalyse, 381 Datenerhebung, 379 Datenspeicherung, 380 Schriftform, 379 elektronische Signatur, 380 Entdeckung, 42 entity identification problem, 109 Entropie, 151 Entscheidungsbaum, 150 Aufbau, 151 Entscheidungsunterstützung computerbasierte, 75 erforschende Statistik, 47 Erhebung codierte, 394 Erklärungskomponente, 62 Erklärungszuwachs, 55 Erreichbarkeitsdiagramm, 143 Erreichbarkeitsdistanz, 142 erschöpfende Enumeration, 55 Erwartungsmaximierung, 134 Evaluation, 80, 87 Evolution, 40 explorative, 48 explorative Statistik, 47 externe Ebene, 70 Extraktionskomponente, 12 Fact Constellation, 33 Fakt, 3, 5, 20, 22, 24, 26 Fayadd, 43 Feed-Forward-Netze, 60 Feedback-Netze, 60 Fehlerrate offensichtliche, 147 wahre, 146 Fehlerreduktionspruning, siehe Pruning Fehlerterm, 56 Forschung, 384 Freiheit der, 384 Sorgfaltspflichten, 385 Forschungsdaten Primärdaten, 394 Speicherung, 393 Fuzzy Assoziation Rules, 179 g-Sequenz, 352 matching, 354 Galaxie-Schema, 33 Gaußverteilung, 134 Generalisierung, 182 Gewichte, 59 Gewichtung, 59 Gewinner, 66 Gini-Index, 152 Gläserner Kunde, 248, 259 Granularitat, 15, 24, 26, 29 469 INDEX GSM, 357 Gultigkeitszeit, 34, 35 Happy Digits, 249, 250, 253, 258, 259 Hauptkomponentenanalyse, 57 Hebb’sche Regel, 61 Hierarchische Assoziationsregeln, 176 hierarchische Datenbanken, 41 Histogramm, 116, 119–121 Histogramme, 51 HOLAP, 3, 30 Homonym, 342 Homonymfehler, 111 Homoskedastizität, 56 HTTP Referrer, 339 Request, 337, 339 Response, 339 Size, 339 User, 338 Hyper-Cube, 69 Hypergraph, 362 Hypothesen, 42 hypothesengetriebene Datenanalyse, 42 IDA, 48 Identifikationsmerkmal, 377 Ihre Prämie, 250, 253 Industrial Application, 42 Information Gain, 193 Information Retrieval, 44 Informationsflut, 126 Initial Data Analysis, 48 Inkonsistenz, 102, 107, 108, 110 Inkrementelle Aktualisierung, 19 Inputfunktion, 59 Inputs, 59 470 Inputschicht, 60 Inputvektor, 59 inter-page Strukturdaten, 333 Interaktivität, 71 Interessantheitsgrad, 47 interne Ebene, 70 Internet, 236, 237, 242–245, 247, 337 Interquartilsabstand, 49 intra-page Struktur Daten, 333 IP-Adresse, 338 dynamisch, 341 irrelevante Zugriffe, 348 Karte, 63 Kartenysteme, siehe Kundenkarte Kategorische Daten, 109, 122 KDD, 40, 43, 165, siehe Knowledge Discovering in Databases KDD-Prozess, 38, 70, 240, 241 KDD-Prozesses, 43 Kennzahlen, 48 Kerndistanz, 141 Kernobjekt, 136, 137 Klassenvergleich, 182, 191 Klassifikation, 62 Klassifikationsgute, 146 Klassifikationshierarchie, 23, 24 Klassifikationsschema, 23, 24 Klassifikationsstufe, 20–22 Klassifizierung, 45, 48 KNN, 57 Knowledge Discovering in Databases, 375 Knowledge Discovery in Databases, 43, 75, 100, 126 knowledge engineering tools, 108 Koeffizienten, 54 INDEX Kohonen, 63 Kompaktheit, 131 Konfidenz, 169 Konfirmation, 47 konfirmatorische Statistik, 47 Konkurrenzkampf, 236, 246, 248 Kontakt Effizienz, 366 Kontingenztabellen, 53 Kontinuierliche Daten, 109 Konvertierungs Effizienz, 365 Konzeptbeschreibung, 167, 182 Konzepthierachie dienstorientiert, 350 Konzepthierarchie, 120–123, 350 Bildung, 119, 120, 122 inhaltsbasiert, 350 Konzepthierarchiebildung, 103, 113 konzeptionelle Ebene, 70 Korrelationskoeffizient, 110 Krankendaten, 387 Kunde, 365 Kundenakzeptanz, 396 Kundenbindung, 236, 238, 245, 260, 261 Kundendaten, 379 Kundeninformationssystem, 236, 241, 242 Kundenkarte, 376, 386 Kundenloyalität, 246 Kundenprofil, 240, 241, 260–262 Kundenwert, 375 kurzzeitiger Besucher, 365 Künstliche Intelligenz, 44 Künstliche Neuronale Netze, 57 Ladekomponente, 13 Leffers Club Card, 249, 251, 254, 258 Lernen, 61 Lernfaktor, 65 Lernfunktion, 61 Lernprozess, 61 Lernregel, 61 Lift, 171 lineare Funktionen, 60 link distance factor, 369 Logitmodelle, 56 loglineare Modelle, 53 Loyalität, 238, 246 Lösungen, 391 Datentreuhänder, 393 Datenvorverarbeitung, 391 Forschungsbereich, 392 Unternehmensbereich, 391 Verfälschen von Daten, 392 Machine Learning, 44 Maschinelles Lernen, 75 Maximalwert, 59 ME/R-Modell, 20, 27 Median, 48 Medoid, 132 Metadaten, 17, 109 Metadatenmanager, 17, 19 Metamodell, 22 Metrik, 128 Miles and More, 249, 250, 253, 257, 259 Minconf, 171 Minksy, 62 Minsupp, 171 MINT, 357 missing values, 103 Mittelpunkt, siehe Mittelpunktbestimmung Mittelpunktbestimmung, 131 MML, 21 Modell Brachman und Anand, 92 471 INDEX Fayyad, 90 Hippner und Wilde, 93 SEMMA, 94 verteiltes Data Mining, 96 Modellbewertungskriterien, 46 Modellbildung, 146 Modelling, 80 Modellrepräsentation, 46 MOLAP, 3, 30, 70 Monitor, 11, 18 Moore’s Law, 126 Multi-Cube, 23 Multicube-Systeme, 70 multidimensional, 41, 68 Multidimensional Join, 70 Multidimensional OLAP, 70 multidimensionalen, 68 multidimensionales Datenmodell, 19, 20 Multikollinearitätsdiagnostik, 56, 57 multivariate Statistik, 44 mUML, 20 Muster, 43 Mustererkennung, 44 Nabel-Speiche-Architektur, 14 Nachste-Nachbarn-Klassifikatoren, 158 Netz, 60 Netzstruktur, 60 Netzwerkdatenbanken, 41 Neuron, 58, 60 Neutraler Anbieter, 244, 247, 250, 261 nichtlinear, 56, 60 Nichtlineare Regression, 56 nichtparametrisch, 56 noisy data, 104 Nominale Daten, 109 472 nominalskalierte, 53 Normalisierung, 111 Normallverteilung, siehe Gaußverteilung Normmodell, 47 Numerische Daten, 109, 120, 121 Numerische Datenreduktion, 103, 113, 116 numerosity reduction, 103 OLAM, 78 OLAP, 3, 4, 7, 68, 70, 185 OLAP-Server, 19, 29 OLTP, 5, 8, 68 On Line Analytical Processing, 41 On Line Transactional Processing, 68 One to One Marketing, 375 Online Analytical Mining, 78 Operatoren, 20, 25 Ordinale Daten, 109 Output, 59 Outputfunktion, 60 Outputvektor, 59 Overfitting, 153 P3P, 335 Papert, 62 Parallelität, 62 Partitionierung natürliche ∼, 121 Regeln, 120 Payback, 237, 247, 249–251, 253, 254, 256, 259 Personalisierung, 124 Methoden, 124 personalisiertes Angebot, 124 personenbezogene Daten, 377 physical link distance, 369 INDEX Pivotierung, 68 Plot, 49 Plots, 49 Postprocessing, 76 Praktische Konkordanz, 384 Prediction, 45 Preisangabenverordnung, 238 Preissensibilität, 246 Preprocessing, 76, 80 principal component analysis, 115 Probitmodelle, 56 Processing, 68 Prognoseverfahren, 48 Projektgruppe, 395 Projektmodell, 98 Propagierungsfunktion, 59 Proxy, 341 Pruning, 154 Fehlerreduktionspruning, 154 MDL-Pruning, 155 pseudoanonyme Daten, 377 Quantil, 49 Quantitative Assoziationsregeln, 178 Rabattgesetz, 236–238 Rabattkarte, siehe Kundenkarte Rabattmarken, 237 Randobjekt, 136, 137 Rauschen, 112 Recommendation, 366 Recommendation Set, 367 Recommender Systeme, siehe Recommendation Redundanz, 102, 110, 114 Regelungstechnik, 62 Regression, 48, 54, 62, 107 lineare, 119 zur Datenbereinigung, 106 Regressionsmodell, 55 Regressoren, 54 rekursiv, 60 Relational OLAP, 70 Relationale Datenbank, 241 Relationale Datenbanken, 40 Remote Host, 338 Remote User, 338 Repositorium, 14, 17, 19, 29 Residuenanalyse, 56 Response, 337 Ressource, 352 Ridge-Regression, 57 ROLAP, 3, 30, 38, 70 Roll Up, 69 Rosenblatt, 62 Rotation, 68 Rückkoppelung, 60 Rückwärtsselektion, 55 sampling, 116 Scatterplots, 52 Schema, 22 Schichthierarchie, 60 Schwellenwertfunktion, 60 Schwellwert, 187 Science Data Analysis, 42 Secure Socket Layer (SSL), 252 Seitentypen, 345 Selbstbestimmungsrecht informationelles, 383 selbstüberwacht, 63 Self Organizing Maps, 63 SEMMA, 98 Sequenz, 351 Teilsequenz, 353 Teleskopsumme, 354 Uberlappung, 353 473 INDEX Session, 340, 344 dauerbasiert, 346 Definition, 344 inhaltsbasiert, 345 serverseitig, 343 Session Window, 368 sigmoide Funktionen, 60 Single-Cube, 23 Slicing, 68 Snowflakeschema, 31 SOM, 63 Splitstrategien, 151 SQL, 40 SRSWOR, 118 SRSWR, 118 Stamm, 51 Stammdaten, 242, 256 Stammkunde, 245, 246 Starschema, 32 Statistik, 47, 75 Steam-and-Leaf-Plots, 49 Stereotyp, 22 Steuerungstechnik, 62 Stichprobe, 118, 119 average sampling, 117 clustergestutzte, 118 geschichtete, 117 inkrementelle, 117 reprasentative, 117 schichtenweise, 119 selektive, 118 Verbund∼, 119 windowing, 118 Stichprobenziehung, 116–119 stratified sample, 119 Streuverlust, 245 Structure, 332 Suchmethode, 46 Support, 169, 354, 355, 358, 362 surrogat, 111 474 Synergieeffekt, 245, 260, 261 Synonym, 342 Synonymfehler, 111 t weight, 190 Task Analysis, 76 Templates, 357 Temporale Assoziationsregeln, 180 Timestamp, 338 Tools IBM Intelligent Miner, 98 SAS Enterprise Miner, 98 SPSS Clementine, 98 Top-Down-Ansatz, 42 Training, 61 Trainingsdaten, 61 Transaktionsdaten, 242, 256 Transaktionszeit, 34 Transformationskomponente, 12 Tupel-Zeitstempelung, 35 Unabhangige Data Marts, 15 Units, 58 Unternehmenseigene Programme, 244, 252 Unternehmensgeheimnisse, 388 Unternehmenübergreifende Programme, 244, 246, 247, 252, 261 Usage, 332 Usage Cluster, 361 Verwendung, 368 User, 340 Definition, 340 Identifikation, 341–344 Clientseitige Datensammlung, 342 Cookies, siehe Cookies Heuristiken, 343 INDEX Sessions, siehe Session User Agent, 339 Varianz, 49 Verarbeitungseinheiten, 58 Verbundbildung, 106 Verfälschung der Daten, 108 verifizieren, 42 Verletzung von Plausibilitätsbezieh., 108 Verteilung equidepth, 104 equiwidth, 104 MaxDiff, 105 v-optimal, 105 Vertriebskanal, 236, 250 Viertel, 49 VIF-Karte, 249, 251, 253, 258, 259 Visualisierung, 75 Visualisierungsverfahren, 48 Volkszählungsurteil, 384 Vorverarbeitungsschritte, 102, 103 Vorwärtsselektion, 55 Weltherrschaft, 396 Wertebereich, 60 Werturteille, 377 Whisker, 49 Wildcard, 352 Wissenschaft, 384 Freiheit der, 384 Wissenserwerb, 146 Wurfel, 3, 21, 24 Wöhrl Bonus Card, 249, 258, 259 Zeitreihen, 45 Zeitstempel, 3, 12, 33 Zentralwert, 49 Zugabeverordnung, 236–238 Zusammenfassen, 45 Zusatznutzen, 236, 238, 243, 245, 248 wavelet transformation, 115 Web Access Pattern, 334, 351 Web Data Mining, 332 Web Content Mining, 332 Web Structure Mining, 333 Web Usage Mining, 333 Impersonalized, 335 Personalized, 335 Web Log, 338 Web Mining, siehe Web Data Mining webmiles, 249–251, 253, 254, 256, 259 Webserver, 337 475