Fakultät für Wirtschaftswissenschaften Master Thesis Big Data Verarbeitung und Aufbereitung mit Data Mining für Management Cockpits Abschlussarbeit zur Erlangung des Grades eines Master of Science (Wirtschaftsinformatik) der Hochschule Wismar eingereicht von: Matthias Fischer geboren am 16. Januar 1987 in Kiel Studiengang Wirtschaftsinformatik Matrikelnummer: 125862 Erstgutachter: Prof. Dr. J. Cleve Zweitgutachter: Prof. Dr. E. Alde Schwentinental, den 31. Oktober 2015 Inhaltsverzeichnis 1 Einleitung 1 2 Theoretische und methodische Grundlagen 5 2.1 Einordnung in den Kontext der Wirtschaftsinformatik . . . . . . . . . 5 2.2 Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Chancen durch die Verarbeitung von Big Data . . . . . . . . . 10 2.2.3 Herausforderung durch Big Data . . . . . . . . . . . . . . . . 11 Data Mining und Knowledge Discovery in Databases . . . . . . . . . 13 2.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 Der „Knowledge Discovery in Databases“ (KDD) Prozess . . 14 Management Cockpits . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.2 Zielsetzung und Aufgaben . . . . . . . . . . . . . . . . . . . 17 2.3 2.4 3 Aufbereitung von Big Data 19 3.1 Datenhaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.1 Hadoop Distributed File System . . . . . . . . . . . . . . . . 20 3.1.2 NoSQL Datenbanken . . . . . . . . . . . . . . . . . . . . . . 21 3.1.3 In-Memory Technologien . . . . . . . . . . . . . . . . . . . 22 3.1.4 Analytische Datenbanken . . . . . . . . . . . . . . . . . . . 23 3.1.5 Transaktionale Datenbanken . . . . . . . . . . . . . . . . . . 24 Datenintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.1 Datenkonnektivität . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2 Data-Ingestion . . . . . . . . . . . . . . . . . . . . . . . . . 26 Datenzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.1 Hadoop Map Reduce . . . . . . . . . . . . . . . . . . . . . . 27 3.3.2 Streaming & Complex Event Processing . . . . . . . . . . . . 29 3.3.3 Search & Discovery . . . . . . . . . . . . . . . . . . . . . . 31 3.3.4 Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2 3.3 II 4 5 6 Analytische Verarbeitung und Data Mining 34 4.1 Predictive Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 Text und Semantische Analyse . . . . . . . . . . . . . . . . . . . . . 37 4.5 Web Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.6 Geospatial-Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.7 Video und Audio Analyse . . . . . . . . . . . . . . . . . . . . . . . . 41 4.8 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.8.1 Datenvorbereitung . . . . . . . . . . . . . . . . . . . . . . . 43 4.8.2 Abstandsmaße . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.8.3 Data-Mining Methoden . . . . . . . . . . . . . . . . . . . . . 47 Visualisierung und Management Cockpits 65 5.1 Fortgeschrittene Visualisierung . . . . . . . . . . . . . . . . . . . . . 65 5.1.1 Visualisierungspipeline . . . . . . . . . . . . . . . . . . . . . 66 5.1.2 Visuelle Analytik . . . . . . . . . . . . . . . . . . . . . . . . 66 5.1.3 Multiple koordinierte Ansicht . . . . . . . . . . . . . . . . . 67 5.2 Real-Time Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3 Management Cockpits . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 Anforderungen an Management Cockpits . . . . . . . . . . . 68 5.3.2 Darstellungselemente . . . . . . . . . . . . . . . . . . . . . . 69 Schluss 75 6.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.3 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 III Abbildungsverzeichnis 1.1 Datenwachstum 2009 - 2020 . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Taxonomie von Big Data-Technologien nach BITKOM . . . . . . . . 3 2.1 Einordnung in den Kontext der Wirtschaftsinformatik . . . . . . . . . 6 2.2 V-Modell für Big Data . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Angestrebte Ziele durch Verarbeitung von Big Data nach Branche . . 10 2.4 KDD-Prozess nach Fayyad . . . . . . . . . . . . . . . . . . . . . . . 15 2.5 KDD-Prozess nach CRISP . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Hadoop Ökosystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Big Data Taxonomie: Einordnung Datenhaltung . . . . . . . . . . . . 20 3.3 Big Data Taxonomie: Einordnung Datenintegration . . . . . . . . . . 24 3.4 Big Data Taxonomie: Einordnung Datenzugriff . . . . . . . . . . . . 27 3.5 Taxonomie von Big Data-Technologien nach BITKOM . . . . . . . . 28 4.1 Big Data Taxonomie: Einordnung Analyse . . . . . . . . . . . . . . . 34 4.2 Beispiel: Entscheidungsbaum . . . . . . . . . . . . . . . . . . . . . . 51 4.3 Beispiel: Lineare Regression . . . . . . . . . . . . . . . . . . . . . . 59 5.1 Big Data Taxonomie: Einordnung Visualisierung . . . . . . . . . . . 65 5.2 Beispiel für ein Management Cockpit . . . . . . . . . . . . . . . . . 68 5.3 Beispiele für Grafikelemente . . . . . . . . . . . . . . . . . . . . . . 73 5.4 Beispiele für Grafikelemente . . . . . . . . . . . . . . . . . . . . . . 74 IV Tabellenverzeichnis 2.1 Mit Big Data verbunden Herausforderungen an Unternehmen . . . . . 12 2.2 Mit Big Data verbunden Herausforderungen an die IT . . . . . . . . . 13 3.1 Beispiel Map-Reduce Wahlergebnis nach Mapping-Phase . . . . . . . 28 3.2 Beispiel Map-Reduce Wahlergebnis nach Shuffle-Phase . . . . . . . . 29 3.3 Beispiel Map-Reduce Wahlergebnis nach optionaler Verdichtung . . . 29 3.4 Beispiel Map-Reduce Wahlergebnis nach Reduce-Phase . . . . . . . 29 4.1 Datentypen im Data Mining . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Data Mining Verfahren der einzelnen Aufgabenbereiche . . . . . . . . 48 4.3 Beispieldaten Information Gain . . . . . . . . . . . . . . . . . . . . . 50 4.4 Beispieldaten Information Gain Abschluss / Einstellung . . . . . . . . 50 4.5 Beispielhafte Regeltabelle in der Klassifikation . . . . . . . . . . . . 52 V Formelverzeichnis 4.1 Abstandsmaß: Hamming-Distanz . . . . . . . . . . . . . . . . . . . . . 47 4.2 Abstandsmaß: Euklidische Distanz . . . . . . . . . . . . . . . . . . . . . 47 4.3 Abstandsmaß: Manhatten-Distanz . . . . . . . . . . . . . . . . . . . . . 47 4.4 Abstandsmaß: Maximum-Distanz . . . . . . . . . . . . . . . . . . . . . 47 4.5 Entscheidungsbaumlernen: Informationsgehalt . . . . . . . . . . . . . . 49 4.6 Entscheidungsbaumlernen: Informationsgewinn . . . . . . . . . . . . . . 49 4.7 Entscheidungsbaumlernen: Gewinn . . . . . . . . . . . . . . . . . . . . 49 4.8 K-Nearest-Neighbour: diskrete Klassenfunktion . . . . . . . . . . . . . . 54 4.9 K-Nearest-Neighbour: reellwertige Klassenfunktion . . . . . . . . . . . 54 4.10 Naive Bayes: Bayessche Formel . . . . . . . . . . . . . . . . . . . . . . 55 4.11 Naive Bayes: Likelihood . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.12 Naive Bayes: Wahrscheinlichkeit . . . . . . . . . . . . . . . . . . . . . 55 4.13 Naive Bayes: Vorhersage . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.14 Assoiziationsanalyse: Support . . . . . . . . . . . . . . . . . . . . . . . 57 4.15 Assoiziationsanalyse: Konfidenz . . . . . . . . . . . . . . . . . . . . . . 57 4.16 Assoiziationsanalyse: Completeness . . . . . . . . . . . . . . . . . . . . 58 4.17 Lineare Regression: Lineare Regression . . . . . . . . . . . . . . . . . . 60 4.18 Lineare Regression: Steigung . . . . . . . . . . . . . . . . . . . . . . . 60 4.19 Lineare Regression: Achsenabschnitt . . . . . . . . . . . . . . . . . . . 60 4.20 Lineare Regression: multiple lineare Regression . . . . . . . . . . . . . . 60 4.21 Nicht-Lineare Regression: Nicht-lineare Regression . . . . . . . . . . . 60 4.22 Nicht-Lineare Regression: Transformation . . . . . . . . . . . . . . . . 60 4.23 k-Medoid: Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 VI Verzeichnis der Abkürzungen BI Business Intelligence CEP Complex Event Processing CRISP Cross Industry Standard Process for Data Mining DBMS Datenbankmanagementsystem DM Data Mining EIS Executive Information System ELT Extraktion-Laden-Transformation ESB Enterprise-Service-Bus ETL Extraktion-Transformation-Laden FIS Führungsinformationssystem HDFS Hadoop Distributed File System IMDB In-Memory Datenbank IMDG In-Memory Data Grids KDD Knowledge Discovery in Databases KPI Key Performance Indicator MIS Management Information System OLAP Online Analytical Processing SQL Structured Query Language SVM Support Vector Machine VII 1 Einleitung „2.000.000.000.000.000.000.000 - mit so vielen Daten ist die Menschheit [. . . ] ins Jahr 2013 gestartet; und es werden ständig mehr.“ [Sch13] 50 Gigabyte Bilddaten pro Sekunde werden allein durch das Earth Observing System der NASA generiert. Umgerechnet sind das 1576,8 Petabyte im Jahr [CL14, S. 1]. Das Soziale Netzwerk Facebook erzeugt durch Fotos, Likes, Nachrichten und weitere Inhalte ∼ 500 Terabyte pro Tag [Con12]. Das ergibt 182,5 Petabyte im Jahr. Über Twitter werden täglich 500 Millionen Tweets verschickt [Twi15], was im Jahr 182,5 Milliarden Tweets ausmacht. Der Large Hardron Collider am CERN produziert pro Sekunde 690 Megabyte Sensordaten [LHC15]. Das sind 2,484 Terabyte am Tag oder 21,75 Petabyte im Jahr. Auf YouTube werden ca. 18000 Stunden Videomaterial pro Stunde hochgeladen [Sta15]. Daneben existieren weitere Datenerzeuger, wie z.B. Wetterstationen, Börsenticker und unzählige andere, die laufend Daten produzieren. Diese (un)strukturierte Datenmasse wurde im Jahr 1997 das erste Mal mit dem Begriff Big Data bezeichnet [Pre13]. IBM hat festgestellt, dass innerhalb der letzten zwei Jahre 90% des weltweiten Datenhaushaltes produziert wurden [Jew+14, S. 3]. Prognostiziert wird, dass sich das Datenvolumen von 2010 bis 2020 um den Faktor 300 vervielfachen wird. Somit liegt das geschätzte Datenvolumen im Jahr 2020 bei ∼ 44 Zetabyte [GR12, S. 3]. Abbildung 1.1: Datenwachstum 2009 - 2020 Quelle: [GR12, S. 3] Für Menschen ist es nicht mehr möglich diese Datenmasse mittels einfacher grafischer 1 Auswertungen zu analysieren [CL14, S. 2], weshalb Entscheidungen oft intuitiv getroffen werden [HKP06, S. 5]. Zur Verdeutlichung: Ein einzeiliger einfacher Text hat eine Datengröße von ca. 200 Byte. Somit hätten die Wissenschaftler am CERN ca. 345000 Zeilen Text pro Sekunde für den Large Hadron Collider zu analysieren. Auch statistische Methoden sind nicht mehr in der Lage dieses Datenvolumen zu verarbeiten [CL14, S. 2]. Oder anders ausgedrückt: „We are data rich, but information poor “ [HKP06, S. 5] Damit sich dieser Umstand ändert und wir auch „information rich“ werden, werden Methoden angewendet, die es ermöglichen diese riesigen unterschiedlichst strukturierten Datenmengen zu analysieren. Facebook hat es z.B. geschafft mit Hilfe solcher Analysemethoden über die Beiträge und Likes die Intelligenz der Benutzer, die politischen Ansichten, die emotionale Stabilität zu ermitteln und die Änderung des Beziehungsstatus der User vorherzusagen, bevor der Nutzer es gepostet hat [Mar14]. Allerdings sind die Ergebnisse dieser Analysen je nach Methodik unübersichtlich oder komplex. Im Extremfall ist die Ergebnismenge so groß, dass es wieder nicht möglich ist diese zu überblicken, sodass spezielle Darstellungsmethoden benötigt werden. „[. . . ] Visualisierungen [stellen] ein mächtiges und hochgradig flexibles Werkzeug im Analyseprozess dar“[BIT14, S. 73] Die Visualisierung von Daten ist nicht neu, doch sind die Möglichkeiten über ein modernes Visualisierungstool deutlich weiter reichend, als nur Daten anzuzeigen. Der Drill-Down zur Darstellung von anderen Aggregationsstufen oder die Navigation zu detaillierteren Daten wird ermöglicht. „it is data volumes that cannot be handled on your current platform and that you cannot simply scale up to handle.“[McB13] Es reicht zur Verarbeitung von Big Data nicht, einfach mehr Festplattenspeicher und Prozessoren zur Verfügung zu stellen. Eine relationale Datenbank ist trotz riesigem und schnellerem Speicher nicht in der Lage unstrukturierte Daten aufzunehmen. Obwohl Big Data schon fast 20 Jahre alt ist, wird es erst jetzt wirtschaftlich diese Datenmasse zu verarbeiten. Durch den Preisverfall von Hardware sind die benötigten Ressourcen bezahlbar geworden und neue Infrastrukturtechnologien, wie z.B. verteilte 2 Datenhaltungssysteme, ermöglichen die Verarbeitung von Big Data. Außerdem ist es heutzutage ziemlich einfach an viele Daten zu gelangen [Peo14]. Das Ziel der vorliegenden Thesis ist es einen Überblick zu geben, welche Technologien geeignet sind, um Big Data zu verarbeiten. Damit die Datenmengen nicht im Datenfriedhof landen, sondern neues Wissen generieren, werden unterschiedliche Analysetechniken und Visualisierungsmethoden vorgestellt. Die benötigten Daten, die Ziele der Datenanalyse und die Zielgruppe für Visualisierungen sind von Anwendungsfall zu Anwendungsfall verschieden, weshalb mit dieser Arbeit keine allgemeingültige Anleitung zur Implementierung einer Lösung zur Verarbeitung von Big Data bereitgestellt werden kann. Der Prozess, in dem Big Data verarbeitet wird, kann grob gesehen in drei Schritte unterteilt werden. Diese sind nach Jewell [Jew+14, S. 7]: 1. Big Data: capture and input of data 2. Analysis: managing and processing of data 3. Results: presentation of data to user Die BITKOM liefert eine Taxonomie der Big Data-Technologien. Die Elemente der Taxonomie wurden den drei Prozessschritten zugeordnet (Abbildung 1.2). Abbildung 1.2: Taxonomie von Big Data-Technologien nach BITKOM Quelle: Angelehnt an [BIT12, S. 23] 3 Der Block Data-Governance & Sicherheit ist ein wichtiger Aspekt im gesamten Kontext der Big Data Verarbeitung, der parallel über alle Prozessschritte greift. Die DataGovernance & Sicherheit wird im Verlauf der Arbeit nicht weiter behandelt. Zu Beginn der Thesis werden die Kernbegriffe Big Data, Data Mining und Management Cockpits in den Kontext der Wirtschaftsinformatik eingeordnet und definiert (Kapitel 2). Data Mining erzeugt mit Hilfe mathematisch-statistischer Funktionen neues Wissen aus Big Data und bildet das Schwerpunktthema des Kapitels zur Datenanalyse. Außerdem werden einige Visualisierungsmöglichkeiten in Management Cockpits für Big Data vorgestellt. Der weitere Aufbau der vorliegenden Arbeit orientiert sich an den o.g. Prozessschritten der Big Data Verarbeitung. • Big Data (Kapitel 3) • Analysis mit Schwerpunkt auf Data Mining (DM) (Kapitel 4) • Results (Kapitel 5) 4 2 Theoretische und methodische Grundlagen 2.1 Einordnung in den Kontext der Wirtschaftsinformatik Die drei Themen Big Data, Data Mining und Management Cockpits werden der Wirtschaftsinformatik zugeordnet, da sie dem Controlling eine übersichtliche Darstellung von neuem Wissen in Massendaten ermöglichen. Nach dem Gabler Wirtschaftslexikon wird die Wirtschaftsinformatik wie folgt definiert: „Wissenschaft von dem Entwurf, der Entwicklung und der Anwendung computergestützter Informations- und Kommunikationssysteme und -techniken in Unternehmungen und Verwaltung zur Unterstützung ihrer Geschäftsprozesse“[Gab00, S. 3516]. Im Gegensatz zu der Informatik, die sich auf die systematische und automatische Verarbeitung von Informationen mit Hilfe von Computern konzentriert [Gab00, S. 1517], werden die Betriebswirtschaftslehre und Teile der Rechts- und Ingenieurswissenschaft in die Wirtschaftsinformatik integriert [AM09, 2f]. Des Weiteren wird die Wirtschaftsinformatik in verschiedene Branchen oder Funktionsbereiche unterteilt (z.B. Controlling oder Finanzwesen), die in der speziellen Wirtschaftsinformatik eingruppiert werden [Gab00, S. 3517]. Business Intelligence (BI) fasst die Aufbereitung operativer Daten zu Analysezwecken, der Speicherung und Darstellung zusammen [AM09, S. 258]. Zu den Analysetätigkeiten im BI gehört das Knowledge Discovery in Databases, das der Extraktion von Mustern aus riesigen Datenbeständen dient. Als Teilprozess des Knowledge Discovery in Databases (KDD) wird Data Mining der BI zugeordnet [Wir13, Begriff: Data Mining]. Im Rahmen der speziellen Wirtschaftsinformatik (im Bereich des Controllings) ist das Management Cockpit anzutreffen. Die folgende Grafik veranschaulicht die Einord- 5 nung der Komponenten der Big data Verarbeitung, auf die in dieser Thesis eingegangen wird, in den Kontext der Wirtschaftsinformatik. Wirtschaftsinformatik Wissensmanagement Spezielle Wirtschaftsinformatik Knowledge Discovery in Databases Controlling Data Mining Management Cockpits Datenhaltung und verarbeitung Big Data Abbildung 2.1: Einordnung in den Kontext der Wirtschaftsinformatik Quelle: Eigene Darstellung 6 2.2 Big Data 2.2.1 Definition Der Begriff Big Data unterliegt vielfältigen Definitionen. Edd Dumbill definiert Big Data unter dem Aspekt der Verarbeitung: „Big data is data that exceeds the processing capacity of conventional database systems. The data is too big, moves too fast, or doesn’t fit the structures of your database architectures“[Dum12, S. 9]. Eine Definition der Bitkom bezieht sich auf verschiedene Facetten: „Big Data bezeichnet den Einsatz großer Datenmengen aus vielfältigen Quellen mit einer hohen Verarbeitungsgeschwindigkeit zur Erzeugung wirtschaftlichen Nutzens“[BIT12, S. 21]. Gartners Definition von Big Data bezieht sich zusätzlich auf das Ergebnis der Big Data Verarbeitung und nennt die „drei Vs“ [Dor15, S. 123], die allen Begriffsbestimmungen gleich sind: „Big data is high-volume, high-velocity and high-variety information assets that demand cost-effective, innovative forms of information processing for enhanced insight and decision making“ [oA13]. Die drei Vs stehen für folgende Eigenschaften von Massendaten: • high-Velocity (Geschwindigkeit) • high-Volume (Datenmenge) • high-Variety (Vielfalt) Abbildung 2.2 fasst die drei Aspekte von Big Data in einem Modell zusammen. Einige Definition verwenden noch den vierten Begriff der Veracity [Jew+14]. Diese vier Begriffe werden im Folgenden näher erläutert, da es sich um Haupteigenschaften des hier behandelten Big Data handelt. 7 Abbildung 2.2: V-Modell für Big Data Quelle: [Inf13, Begriff: Big Data] 2.2.1.1 Velocity (Geschwindigkeit) Mit Velocity wird die Geschwindigkeit herausgestellt, die zur Verarbeitung und Darstellung der Daten benötigt wird [Inf13, Begriff: Big Data]. Das Problem bei der Verarbeitung von Big Data liegt in der Zugriffszeit der Daten. Damit Daten schnellstmöglich verarbeitet werden können, müssen sie in den Arbeitsspeicher geladen, statt von Festplatten o.ä. gelesen werden. Dies ist ein Kostentreiber bei der Big Data Verarbeitung. [Jew+14, S. 11ff]. Mittlerweile werden mehr Daten produziert, als von einzelnen Maschinen verarbeitet werden können. Um dieses Problem zu lösen wird das „database sharing“ angewendet, bei dem eine Datenbank in mehrere kleine Datenbanken aufgeteilt wird, die nach der „Shared Nothing“ Architektur auf dedizierten Servern betrieben werden, die keine Komponenten und Daten teilen. Hierdurch wird die gesamte Verarbeitungszeit erhöht. Weiterhin werden neue Hardware Technologien verwendet, wie z.B. der Einsatz von Solid State-Drives anstelle von Hard-Disk-Drives [Jew+14, S. 8f]. Ein weiterer Faktor, der die Geschwindigkeit beeinflusst, ist das Netzwerk. Es muss effizient arbeiten und widerstandsfähig sein. Damit das Netzwerk nicht ausfällt muss die Hardwareausstattung entsprechend der hohen anfallenden Last skaliert werden. Die Daten müssen außerdem ohne Performanceverlust gesichert werden, damit die Daten auch in dieser Zeit schnell verarbeitet und abgerufen werden können [Jew+14, S. 10ff]. 8 2.2.1.2 Volume (Datenmenge) Immer mehr Daten aus verschiedenen Datenquellen werden immer schneller erzeugt und müssen verarbeitet werden. Einfache Datenbanksysteme sind hierzu nicht in der Lage und Datenbanksysteme für große Datenmengen sind teuer [Inf13, Begriff: Big Data]. Bei der Verarbeitung großer Datenmengen machen sich außerdem technische Restriktionen stärker bemerkbar, wie die Datendichte auf einzelnen Festplatten und der Performanceverlust durch Festplattenverbunde im RAID. Damit die Datenmasse dennoch performant verarbeitet werden kann, werden zusätzliche Komponenten (z.B. Prozessoren, Festplatten) benötigt, weshalb es zu einer potenziell höheren Ausfallwahrscheinlichkeit kommt [Jew+14, S. 8]. Soll Big Data in der Cloud verarbeitet werden, müssen weitere Aspekte berücksichtigt werden. Der Cloud-Anbieter muss die technische Voraussetzung erfüllen, um Big Data zu verarbeiten. Zu den Voraussetzungen gehören z.B. die zur Verfügungstellung einer performanten Datentransfergeschwindigkeit und dedizierte Server, damit sämtliche Ressourcen für einen Kunden vollständig zur Verfügung stehen. Der Vorteil solch einer Lösung ist die dynamische und hohe Skalierbarkeit, die ermöglicht wird [Jew+14, S. 10f]. 2.2.1.3 Variety (Vielfalt) Es werden immer mehr Daten erzeugt, die aus aus unterschiedlichen Quellen stammen und entweder keine oder unterschiedliche Strukturen aufweisen. Durch das Extrahieren der Daten aus verschiedenen Quellen sehen die Daten unterschiedlich aus [Inf13, Begriff: Big Data]. • strukturierte Daten, die für Datenbankensysteme keine Probleme verursachen. Sie können in Tabellenform effizient von Datenbanken verarbeitet werden. • Semi-Strukturierte Daten enthalten z.T. strukturierte und unstrukturierte Daten. Dies ist bei E-Mails der Fall, bei denen der Header eine Struktur aufweist und der Inhalt ggf. unstrukturiert ist. • Nicht strukturierte Daten sind z.B. Videos und Kommunikation über soziale Netzwerke. Aufgrund der unterschiedlichen Strukturen sind relationale Datenbanken nicht in der Lage die Daten zu verarbeiten [Inf13, Begriff: Big Data]. Außerdem sollen die Daten nicht in der Masse untergehen, sondern sinnvoll genutzt werden. Daher werden Big Data Architekturen oder Lösungen realisiert [BIT14, S.21 ff]. 9 2.2.1.4 Veracity Bei Veracity (Zuverlässigkeit) handelt es sich um die Datenqualität bzw. der Richtigkeit, Vollständigkeit und Verlässlichkeit [Dor15, S. 8]. Es ist wichtig, dass Daten, die ungenau oder zweifelhaft sind rechtzeitig aus der Verarbeitung entfernt oder entsprechend bei der Analyse berücksichtigt werden [Inf13, Begriff: Big Data]. 2.2.2 Chancen durch die Verarbeitung von Big Data Werden Big Data richtig genutzt, entwickeln sie sich zu einem „business asset“, das eine hohe Bedeutung für das Unternehmenswachstum hat [Kin13, S. 61]. Das Unternehmenswachstum ist allerdings nicht das einzige Ziel, welches durch die Big Data Verarbeitung gefördert wird. Folgende Grafik des Frauenhofer Institutes zeigt einige weitere Ziele auf. Abbildung 2.3: Angestrebte Ziele durch Verarbeitung von Big Data nach Branche Quelle: [Sch+12, S. 7] Neben der Unterstützung dieser Ziele bietet die Verarbeitung von Big Data noch weitere Nutzen für Unternehmen. Dieses sind, nach Wolfgang Matin [Mar12, 9f], . . . • . . . die Transparenz, mit der auf sämtliche Daten zugegriffen wird. Es müssen sämtliche Daten berücksichtigt werden. Daten für einen exklusiven Nutzerkreis sollten in den gesamten Datenbestand integriert werden. • . . . Tests von Entscheidungen, bei denen Hypothesen mit Hilfe kontrollierter Experimente getestet werden. Auf Fakten basierende Entscheidungen werden ermöglicht. Zusätzlich sind Unterscheidungen zwischen Korrelationen und Ursache-Wirkungsbeziehungen möglich. 10 • . . . die Personalisierung in Echtzeit, die es ermöglicht auf den Kunden individuell zugeschnittene Angebote zu erstellen. • . . . Prozesssteuerung und Automatisierung durch maschinelle Auswertung von Messdaten, die zur Regulierung von Prozessen dient. Der manuelle Eingriff durch Mitarbeiter wird reduziert und der Prozess optimiert. • . . . informationsgetriebene Geschäftsmodelle. Aufgrund leichter zugänglicher Informationen werden neue Geschäftsmodelle etabliert. Z.B. können Preise leichter verglichen und analysiert werden. Price Waterhouse Cooper sieht sieben Vorteile durch die Nutzung von Big Data, die z.T. mit denen von Wolfgang Martin übereinstimmen. Die Vorteile sind [PWC13, S. 19] . . . • . . . Schaffung klarer Entscheidungsgrundlagen: Erhöhte Transparenz und Informationsgehalt lässt Zusammenhänge und Abhängigkeiten erkennen. Dies ermöglicht fundierte Entscheidungen und effiziente Prozesse. • . . . Optimierung der Geschäftsprozesse: Prozesse werden durch eigene Daten und ergänzende Daten aus weiteren Quellen dargestellt und optimiert. Zusätzlich werden Schwachstellen und Fehler aufgedeckt. • . . . Kalkulation von Risiken: Risiken werden minimiert, da sie durch Bewertung von Eintrittswahrscheinlichkeiten und Relevanzen vorausschauend einkalkuliert werden. Zusätzlich sind Zusammenhänge zwischen verschiedenen Risiken ersichtlich. • . . . Steigerung der Profitabilität: Prognose von Bedarf und Nachfrage verhindern Engpässe und führen durch vorausschauende Planung zu Kostensenkungen. • . . . Dynamische Preisgestaltung: Preise können in Echtzeit automatisch und dynamisch an den Markt angepasst werden. Zusätzlich werden Faktoren, die auf den Preis einwirken, einbezogen. • . . . Orientierung am Kunden: ganzheitliche Kundenanalyse durch Kombination von Daten aus verschiedenen Quellen. Es ist möglich Kampagnen auf Kunden und Kundengruppen zuzuschneiden. • . . . Ausschöpfung des Marktpotenzials: Identifizierung und Ausschöpfung unentdeckter Marktpotenziale. Somit ist eine Big Data Lösung ein wichtiges Instrument, um Unternehmensprozesse zu optimieren und profitabel zu gestalten. 2.2.3 Herausforderung durch Big Data Wie in der Einleitung bereits erwähnt, reichen traditionelle Datenbanksysteme nicht aus, um Massendaten zu verarbeiten. Außerdem können sie hauptsächlich strukturier- 11 te Daten verarbeiten. Um die Vorteile von Big Data nutzen zu können, müssen die dazugehörigen Herausforderungen gemeistert werden. Tabelle 2.1 listet einige Herausforderungen im Umgang mit Daten an Unternehmen auf. Tabelle 2.1: Mit Big Data verbunden Herausforderungen an Unternehmen Herausforderung Erläuterung Total Cost of Heterogene und komplexe Informationslandschaften Ownership führen zu steigenden Betriebskosten. Datenverluste Unternehmen müssen sicherstellen, dass sie alle wesentlichen Daten und Informationen erfassen und diese nicht verloren gehen. Durch schnell wachsende Volumina stellt sich diese Aufgabe in einer neuen Dimension. IT-Sicherheit, Volumen, Komplexität und Wert von Informationen Betrugs- und verstärken die Notwendigkeit, Betrug und Manipulation Manipulations- vorzubeugen. Prävention Transparenz Das immense Volumen sowie die Vielfalt der Informationen erhöhen die Bedeutung geeigneter Datenstrukturen. Klare Datenstrukturen und Abläufe sind die Grundlage, um die Interpretation der Daten, die Informationsflüsse, die Verantwortlichkeiten und damit die Transparenz über das Datenuniversum zu ermöglichen Dateninterpretation, Die Massen unterschiedlicher Informationen erhöhen die Validierung Anforderungen an die problemadäquate Interpretation der Daten sowie die Sicherstellung ihrer Aktualität. Die Früherkennung von Signalen wichtiger Veränderungen nimmt an Bedeutung zu. Gleichzeitig gilt es, Fehlinterpretationen zu verhindern. Entscheidungsbasis Hohes Datenvolumen und zunehmend volatile Märkte erfordern und erschweren gleichzeitig eine schnelle und akkurate Datenanalyse als Basis für Management-Entscheidungen. Quelle: [BIT12, S. 17] Die oben genannten Herausforderungen richten sich vor allem an die fachlichen Anforderungen. Es existieren allerdings auch technische Herausforderungen. Diese werden in der Tabelle 2.2 aufgeführt. 12 Tabelle 2.2: Mit Big Data verbunden Herausforderungen an die IT Herausforderung Erläuterung Geschwindigkeit im Da die Daten bei der Verarbeitung mehrfach über das Netz Netz versendet werden, muss eine hohe Bandbreite zwischen den Komponenten ermöglicht werden. Diese muss ausfallsicher sein. Ablage der Daten Bei Big Data werden die Daten ohne Bezug zueinander semistrukturiert abgelegt. Somit müssen bei relationalen und strukturierten Daten die Strukturen aufgelöst werden. Bei Analysen mit Zusatzdaten muss die Struktur ggf. wieder hergestellt werden. Infrastruktur für Big Die Beschaffung, Inbetriebnahme und der Betrieb sehen Data bei Big Data anders aus, als bei herkömmlichen Infrastrukturen, weshalb hier gesondertes Know-How benötigt wird. Quelle:Eigene Darstellung nach [Man14] 2.3 Data Mining und Knowledge Discovery in Databases 2.3.1 Definition Data Mining (DM) unterliegt einer Vielzahl von Definitionen, die sich im Kern einig sind: • „Knowledge Discovery in Databases (KDD) is an automatic, exploratory analysis and modeling of large data repositories. KDD is the organized process of identifying valid, novel, useful, and understandable patterns from large and complex data sets. Data Mining (DM) is the core of the KDD process, involving the inferring of algorithms that explore data, develop the model and discover previously unknown patterns“ [MR10, S. 1]. • „Data Mining [. . . ] steht für die Durchforstung und Analyse großer Datenbestände im Hinblick auf bislang unbekannte, jedoch sinnvolle Muster oder Regeln“ [AM09, S. 256]. • „[. . . ] eine Sammlung von Techniken, Methoden und Algorithmen für die Analyse von Daten, die somit auch Grundtechniken für [. . . ] Big Data darstellen“ [CL14, S. 3]. • „[Knowledge discovery in databases] is the non-trivial process of identifying 13 valid, novel, potentially useful, and ultimately understandable patterns of data“ [FPS96, S. 40f]. • „Data mining is a step in the KDD process that consists of applying data analysis and discovery algorithms that, under acceptable computational efficiency limitations, produce a particular enumeration of patterns (or models) over the data“ [FPS96, S. 41]. • „automatische Suche nach empirischen Zusammenhängen zwischen Planungsobjekten aus der Datenbasis eines Unternehmens“ [Gab00, S. 670]. Wie den verschiedenen Definitionen entnommen werden kann, sind sich die Autoren einig, dass es sich bei Data Mining um eine Methodik zur Analyse von Daten und der Suche nach neuen Erkenntnissen, Mustern und Wissen handelt. Bei dem Prozess des Knowledge Discovery in Databases sind noch Unstimmigkeiten vorhanden, ob es sich bei Data Mining und KDD um Synonyme oder verschiedene Verfahren handelt. In dieser Arbeit werden die Definitionen nach Fayyad und Maimon verwendet, bei denen es sich bei Data Mining um die konkreten Data Mining Verfahren innerhalb eines Gesamtprozesse (KDD) handelt. Ziel des DM ist es, Zusammenhänge und Muster innerhalb der Daten zu erkennen und in Modellen darzustellen. 2.3.2 Der „Knowledge Discovery in Databases“ (KDD) Prozess Es existieren zwei Modelle, die den KDD-Prozess näher beschreiben [CL14, S. 4ff]. Das erste Modell ist von Fayyad und beschreibt das Verständnis des Anwendungsfeldes und den eigentlichen Prozess. Dieser teilt sich in neun detaillierte Schritte auf, die von Fayyad selbst in fünf Schritte zusammengefasst werden [FPS96, S. 42ff]. 1. Selektion: Auswahl verfügbarer Daten und Übertragung in die Datenbank 2. Datenvorverarbeitung: Daten werden bereinigt, Fehler beseitigt und fehlende oder widersprüchliche Daten korrigiert 3. Transformation: Daten werden in Abhängigkeit des gewählten Data Mining Verfahrens in das erforderliche Format transformiert 4. Data Mining: Suche nach Muster und Entwicklung von Modellen 5. Interpretation und Evaluation: Resultate werden überprüft. Dieses Modell ist grundsätzlich iterativ, kann durch Rücksprünge allerdings Schritte wiederholen, sodass dieses Modell dynamischer wird. Die Abbildung 2.4 veranschaulicht den Prozess. Das zweite Modell ist das Cross Industry Standard Process for Data Mining (CRISP)Modell. Dieses besteht aus sechs Phasen und „dient dem Ziel einen KDD Prozess zu 14 Abbildung 2.4: KDD-Prozess nach Fayyad Quelle: [FPS96, S. 41ff] definieren und das berechnete Data Mining Modell zu validieren“[CL14, S. 6]. Das CRISP-Modell wird in Abbildung 2.5 dargestellt und darauffolgend näher erläutert. Abbildung 2.5: KDD-Prozess nach CRISP Quelle: [Cha+00, S. 10] Das Modell ist flexibel, sodass nach Bedarf zwischen den Phasen vor und zurück gesprungen werden kann. Das Ergebnis einer Phase definiert, welches die nächste Phase ist. Die Pfeile in der Darstellung zeigen die wichtigsten und häufigsten Verbindungen zwischen den Phasen. Der äußere Kreis deutet an, dass nach der Beendigung eines Knowledge Discovery in Databases Prozesses nicht der gesamte Prozess beendet ist, 15 sondern neue Prozesse angestoßen werden. Somit ist das CRISP-Modell sehr dynamisch. Der Prozess teilt sich in sechs Phasen, die wie folgt beschrieben werden [Cha+00, S. 10f]: • Das „Business Understanding“ dient der Analyse der Ziele und Anforderungen des Endanwenders und der Transformation in DM-Probleme. • Beim „Data Understanding“ werden die Daten gesammelt und Datenqualitätsprobleme festgestellt. • In der Phase der „Data Preparation“ werden die Datensätze aus den Rohdaten erzeugt, die für die Modellbildung verwendet werden. Diese Phase wird ggf. mehrfach durchlaufen. • Beim „Modeling“ werden verschiedene Modellierungen angewendet und angepasst, wenn mehrere Techniken für die Lösung eines Data Mining Problems geeignet sind. • In der „Evaluation“ werden die ermittelten Modelle auf Erreichung der Geschäftsziele geprüft. • Im „Deployment“ wird das Ergebnis für den Anwender aufbereitet, sodass er das Wissen verwenden kann. Die fachlichen Anforderungen an ein Data Mining-Modell können nicht vollständig bekannt sein, da ein Modell nach neuem Wissen sucht. Das Modell nach Fayyad betrachtet allerdings nur die technische Verarbeitung und Aufbereitung von Daten, sodass die im Vorfeld ermittelten Anforderungen an das zu bildende Modell streng genommen nicht anpassbar sind. Das CRISP-Modell bezieht diesen Aspekt mit ein und ermöglicht neben der Anpassung der Daten und Modelle auch die der Anforderungen. 2.4 Management Cockpits 2.4.1 Definition „Management-Cockpits sind Werkzeuge, die das Management und die Geschäftsleitung mit steuerungsrelevanten Schlüsselinformationen in Form von qualitätsgesicherten Kennzahlen versorgen“ [Gmb15]. Das Mangement Cockpit gehört zu den analytischen Informationssystemen und wird in die berichtsorientierten Systeme kategorisiert [AM09, S. 240]. Nach Abts und Mülder lassen sich diese Systeme wie folgt beschreiben: 16 „Bei den berichtsorientierten Systemen steht die komfortable Navigation und grafische Aufbereitung von Kennzahlen und Berichten im Vordergrund“[AM09, S. 240]. Zu dieser Art von Systemen werden auch Führungsinformationssystem (FIS), Executive Information System (EIS) oder Management Information System (MIS) gezählt. „Ein Führungsinformationssystem (FIS) ermöglicht die computergestützte Bereitstellung von Informationen für das Top-Management. Es zeichnet sich aus durch einfache Benutzerführung, grafische Präsentation der Daten und Ermittlung von Kennzahlen“[AM09, S. 241]. „Ein Managementinformationssystem bzw. Management Information System (MIS) ist ein Softwaresystem, das für Fach- und Führungskräfte wichtige Informationen aus den operativen Bereichen einer Unternehmung aufbereitet und so als Berichtssystem Einsatz findet“[Wir13]. Was alle Systeme gemeinsam haben ist, dass sie wichtige Informationen Zielgruppengerecht aufbereiten und übersichtlich darstellen. Somit lassen sich Management Cockpits als grafischen Überblick und prägnanten Einstieg für das Management beschreiben. Da die Daten in operativen Systemen nicht dauerhaft vorgehalten werden, sind dort heraus keine Zeitreihenanalysen möglich, weshalb eine eigenständige historisierende Datenbasis für Management Cockpits bereitgestellt werden muss. Dieses wird häufig in Data Warehouses oder Data Marts realisiert. 2.4.2 Zielsetzung und Aufgaben Wie aus den Definitionen hervorgeht, dient das Management Cockpit bzw. Management Information System der aufbereiteten Anzeige von betriebswirtschaftlichen Kennzahlen, zur übersichtlichen Darstellungen und schnellen Analyse. Außerdem werden an ein MIS folgende Anforderungen gestellt [AM09, S. 242f]: • Hilfestellung bei unvorhergesehenen und wiederkehrenden Fragestellungen • einfache Bedienbarkeit durch grafische leicht erlernbare Benutzungsoberfläche (Dashboards) • Nutzung in allen Phasen des Managementprozesses • Zugriff auf interne und externe Daten • schnelle Anpassung an betriebsindividuellen Veränderungen 17 • Prinzip des Management by Exception. Das heißt, dass kein Overload entstehen, sondern kritische Werte und Kennzahlen prominent herausgestellt werden. • farbliche Kennzeichnung (un)kritischer Werte. Häufig werden Ampelfarben genutzt. • Verfolgung kritischer Pfade (Drill Down) nach dem Top-Down-Prinzip (höchste Verdichtung bis zum Einzeldatensatz) Verwendet wird ein Management Cockpit von allen Hierarchieebenen. Damit diese die jeweils für sie sinnvollen Kennzahlen sehen, ist das Management Cockpit so flexibel, dass es für jeden Anwender oder jede Abteilung anpassbar ist. Außerdem kann es schnell an sich ändernde Anforderungen angepasst werden. 18 3 Aufbereitung von Big Data In diesem Kapitel wird der Prozessschritt „Big Data“ näher erläutert. Da in dieser Arbeit die zwei Komponenten Hadoop Distributed File System (HDFS) und das Map Reduce des Hadoop-Framworks erläutert werden, wird in diesem Abschnitt dieses Framework kurz vorgestellt. „The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.“ [Fou15e]. Das Hadoop-Framework besteht aus verschiedenen Modulen, die dem individuellen Bedarf entsprechend genutzt werden. Abbildung 3.1: Hadoop Ökosystem Quelle: [Zuh15] Mit Hadoop ist es möglich von wenigen auf mehrere tausend Server zu skalieren und trotz Serverausfällen stabile Speicher- und Analyseprozesse durchzuführen; indem die Daten auf verschiedenen Servern repliziert werden und ein Knoten der Überwachung der Server und der Verteilung der Aufgaben auf diese dient. Aus der Grafik ist ablesbar, dass das HDFS und das MapReduce-Framework Hauptbestandteile von Hadoop sind. Diese beide Komponenten des Frameworks werden näher 19 betrachtet, während die restlichen nicht weiter untersucht werden. Das HDFS wird in Abschnitt 3.1.1 und das MapReduce-Framework im Abschnitt 3.3.1 thematisiert. 3.1 Datenhaltung In der Big Data Taxonomie, an der sich diese Arbeit orientiert, werden die fünf Datenhaltungssysteme Hadoop Distributed File System, NoSQL Datenbanken, In-Memory Datenbanken, Analytische Datenbanken und transaktionale Datenbanken vorgestellt. Datenhaltung ist die „persistente[. . . ] Speicherung von Daten“ [Wit07, S. 2]. „Persistent“ bedeutet in diesem Zusammenhang, dass die Speicherung die Ausführung der Anwendung überdauert. Die Daten stehen also auch dann noch zur Verfügung, nachdem Abbildung 3.2: Big Data Taxonomie: Ein- die Anwendung beendet wurde. ordnung Datenhaltung Die fünf Datenhaltungssysteme werden Quelle: [Zuh15] im Folgenden dargestellt. 3.1.1 Hadoop Distributed File System Das „Hadoop Distributed File System“ ist ein verteiltes Datenhaltungssystem. Hierbei werden die Daten nicht auf einem einzigen Server gespeichert, sondern über mehrere Server verteilt. Die Gesamtheit der Komponenten eines solchen Dateisystems wird Cluster genannt. In einem Hadoop Datei-Cluster spielt der „NameNode“ eine wesentliche Rolle. Der NameNode enthält sämtliche Metainformationen und verwaltet die „DataNodes“, die die eigentlichen Daten speichern und verwalten [Fou15b]. Um eine möglichst hohe Ausfallsicherheit, im Verhältnis zu den Kosten und Wartungsaufwänden, zu gewährleisten, werden die Datenblöcke standardmäßig dreimal vorgehalten, wobei eine Kopie im gleichen Server-Rack wie der Primärblock liegt und die 2. Kopie in einem physisch und meist räumlich getrennten Server-Rack untergebracht wird [Dor15, S. 279f]. Sollte ein DataNode ausfallen, wird dieser aus dem Cluster entfernt, die Last gleichmäßig verteilt und zusätzlich eine neue Kopie des DataNodes angelegt [Dor15, S. 280]. Ob ein DataNode ausgefallen ist, erkennt der NameNode daran, dass der Heartbeat (periodisches Signal zu Verbindungsüberwachung) nicht mehr ankommt [Fou15a]. Da der NameNode das Herzstück des Clusters ist, ist es ein Single-Point of Failure [Fou15a]. Deswegen wird meist ein zweiter NameNode in einem anderen Server-Rack 20 eingebunden, der ebenfalls alle Metainformationen und Verwaltungsdaten enthält bzw. zugespielt bekommt. Sollte der erste bzw. aktive NameNode ausfallen, so wird der zweite NameNode (bisher passiv) aktiviert [Dor15, S. 280]. 3.1.2 NoSQL Datenbanken Eine NoSQL Datenbank besitzt folgende drei Kerneigenschaften [Fou15d]. • Im Gegensatz zu klassischen Datenbanken ist sie nicht relational. • Sie kann als verteiltes Datenbanksystem auf mehreren Servern liegen. • Sie ermöglicht eine schnelle Organisation und Analyse riesiger Datenmengen unterschiedlichen Formates. NoSQL Datenbanken existieren in vier verschiedenen Ausprägungen [Mar12, S. 18], die im Folgenden kurz erläutert werden. Spaltenorientierte Datenbanken Es werden in der Analyse meist nicht alle Spalten eines Datensatzes benötigt. Daher liegen die Spalten (Attribute) in eigenen Dateien, sodass nicht ein Datensatz vollständig sondern nur das Attribut der Datensätze gelesen wird. Somit werden nur die Spalten gelesen, die relevant sind. Die Werte einer Spalte haben teilweise wenige Ausprägungen, sodass die Spalten zusätzlich komprimiert werden können. Eine spaltenorientierte Datenbank ist selbstindizierend, wodurch schnelle Zugriffszeiten ermöglicht werden, ohne dass zusätzliche Indexbereiche angelegt werden müssen. [Dor15, S.291f]. Verwendet wird diese Art Datenbank, um Ad-hoc Abfragen auszuführen. Schlüssel-Wert Datenbanken In Schlüssel-Wert Datenbanken werden Schlüssel-Wert Paare in großen Mengen abspeichert. Dabei wird ein Wert einem eindeutigen Schlüssel zugewiesen und über diesen referenziert. Wird der Wert über den Schlüssel gelesen, wird dieser ohne Interpretation an die Anwendung zurückgegeben. Dieses Datenbanksystem eignet sich für die schnelle Verarbeitung und Speicherung von Daten aus dem Internet wie z.B. Suchmaschinen [Dor15, S. 290]. Graph Datenbanken Graph Datenbanken werden verwendet, wenn die Daten starke Relationen zueinander aufweisen und diese ausgewertet werden sollen. Die Daten werden als Knoten dargestellt und enthalten Attribute bzw. Eigenschaften, die als Schlüssel-Wert Paar angegeben werden. Die Beziehungen zu einem anderen Knoten wird ebenfalls als Attribut an 21 diesem hinterlegt. Durch diese Verknüpfung der Knoten können stark vernetzte Daten schnell abgerufen werden [BIT14, S. 45] und [Mar12, S. 18]. Verwendet werden Graphendatenbanken, um z.B. in einem sozialen Netzwerk darzustellen, wer mit wem befreundet ist und Vorschläge zu erhalten, wen man aufgrund der Freundschaften noch kennen könnte. Dokumentenorientierte Datenbanken In Dokumentenorientierten Datenbanken werden die Informationen innerhalb eines Dokumentes gespeichert. Dieses Dokument ist keines, wie es bei Textverarbeitungen o.Ä. erstellt wird, sondern ein Datensatz innerhalb der Datenbank. Da Dokumente schemalos sind, sind die Felder beliebig anpassbar. Ähnlich wie bei den SchlüsselWert Paaren bildet eine Spalte den Schlüssel und der Inhalt des Datensatzes den Wert zu diesem Schlüssel. Dieser Wert kann eine beliebige Länge und ein beliebiges Format haben. Dieses muss nicht deklariert werden und ist somit dynamisch [Sch10]. Verwendet werden diese Datenbanken z.B. bei Twitter, um zusammenhängende Daten zu speichern (Nutzerprofil mit Followern und Tweets) [Dor15, S. 291]. 3.1.3 In-Memory Technologien „In-Memory Data Management (IMDM) bezeichnet die Verwaltung von Daten im Hauptspeicher von einem oder mehreren Servern.“ [Wir13, Begriff: In-Memory Data Management]. Werden die Daten im Hauptspeicher, statt auf Festplatten, vorgehalten, verbessern sich die Zugriffszeiten um das 1000-10.000-fache, womit Datenanalysen in Echtzeit erfolgen können. Da es sich bei Hauptspeicher um einen flüchtigen Speicher handelt, der nach Stromverlust keinerlei Daten mehr enthält, müssen die Daten zusätzlich auf persistente Speichermedien gespiegelt werden, damit sie reproduzierbar sind [Dor15, S. 294]. Im Rahmen der In-Memory-Technologien wird zwischen In-Memory Datenbanken und In-Memory Data Grids unterschieden. In-Memory Datenbanken In einer In-Memory Datenbank (IMDB) werden die Daten im Arbeitsspeicher gehalten, weshalb sämtliche Operationen dort durchgeführt werden und Daten nicht mehr von Festplatten nachgelesen werden müssen. Die Daten werden beim Start der Datenbank vollständig in den Arbeitsspeicher geladen, sodass sie sofort verfügbar sind und 22 nicht erst beim Abruf geladen werden müssen. Zusätzlich wird die Datenbankverwaltung in den Arbeitsspeicher gelegt, sodass diese ebenfalls das Leistungspotenzial vom Arbeitsspeicher nutzt [Dor15, S. 295f]. In-Memory Data Grids Ein In-Memory Data Grids (IMDG) ist ein Zusammenschluss vieler Server, die gemeinsam Daten verwalten und Berechnungen ausführen. Die Informationen werden hierbei, wie bei der IMDB im Arbeitsspeicher gehalten, damit eine hohe Performanz erreicht wird. Um Serverausfälle abzufangen, werden die Daten redundant gehalten und die Informationen zwischen den verschiedenen Servern synchronisiert. Im Gegensatz zu einem IMDB werden die Informationen in Anwendungsobjekten gespeichert, die die eigentlichen Komponenten eines IMDG und über die Server verteilt sind. Diese sind normalerweise in einer objektorientierten Sprache verfasst und in einer Hierarchie gegliedert [Ora15]. Zusätzlich werden beim IMDG nicht alle Daten im Arbeitsspeicher vorgehalten, sondern nur definierte Daten, die von einen bestimmten Benutzerkreis zur Ad-Hoc Analyse benötigt werden. 3.1.4 Analytische Datenbanken Analytische Datenbanken sind für den schnellen Zugriff auf Daten ausgerichtet. Hierzu werden verschiedene Methodiken verwendet und kombiniert [Mar13, S. 10f]: • Datenbankarchitektur – Spaltenorientierung - siehe Abschnitt 3.1.2 – Kompression - Durch verschiedene Verfahren (z.B. Differenzbildung zum Vorgänger) wird die Datenmenge verringert und der Zugriff beschleunigt. – Reines Einfügen von Daten („insert only“) - Neue Daten werden nur noch eingefügt und nicht überschrieben. Hierdurch bleibt die Historie gewahrt. – Partitionierung - Die Spalten einer Tabelle werden auf verschiedene Server verteilt, damit diese parallel verarbeitet werden können. • Hardwarearchitektur – Massiv parallele Verarbeitung - Durch Clustering werden die Daten und somit die Verarbeitung auf mehrere Server verteilt, – In-Memory-Datenbanken - Wie bereits beschrieben, werden die Daten in den Hauptspeicher geladen, damit diese schneller verarbeitet werden können. – Data Appliances - Die Hardware wird an die Software angepasst, damit die 23 Kommunikation der Komponenten beschleunigt wird (z.B. die Erhöhung der Bandbreite oder Zuschaltung weiterer Threads). 3.1.5 Transaktionale Datenbanken „Eine Transaktion ist eine Folge von logisch zusammengehörenden Aktionen, die eine Datenbank von einem konsistenten Anfangszustand in einen konsistenten Endzustand überführt.“ [AM09, S. 157] Transaktionale Datenbanken werden traditionell für das operative Tagesgeschäft verwendet. Hierbei werden z.B. Verkäufe und Käufe, Personaldaten oder Lagerbestände erfasst. Passend zum Anwendungsfall, muss die Datenbank ausgerichtet und aufgebaut werden [Sch08, S. 41]. Somit stellen transaktionale Datenbanken auch eine wichtige Grundlage für Big Data Systeme dar. 3.2 Datenintegration Bei der Datenintegration handelt es sich nach Abts und Mülder um die Zusammenführung von Daten aus verschiedenen Systemen, um hieraus eine neue umfassende Einheit zu erstellen. Sie ergibt einen höheren Nutzen als die Summe ihrer Einzelteile [AM09, S. 186f]. Die DaAbbildung 3.3: Big Data Taxonomie: Ein- tenintegration wird in die Bereiche Daordnung Datenintegration tenkonnektivität und Data-Ingestion geteilt. Quelle: [Zuh15] 3.2.1 Datenkonnektivität Die Datenkonnektivität dient der Verbindung von Systemen, um Daten austauschen zu können. Das Gabler Wirtschaftslexikon definiert die Konnektivität als "Begriff, der die Verknüpftheit von Netzen zu beschreiben versucht. Die K[onnektivität] stellt das Ausmaß fest, in dem Knoten [. . . ] durch Kanten [. . . ] verbunden sind."[Gab00, S. 1787]. Bezogen auf Daten handelt es sich somit um die Verbindung mehrerer Systeme zum Austausch von Daten bzw. der Bereitstellung von Daten eines Systems für mindestens ein anderes. Im Rahmen von Big Data Lösungen wird zwischen etablierten und neuen Verbindungsmöglichkeiten unterschieden. Die etablierten Technologien beziehen sich auf folgende Datenquellen [BIT14, S. 89]: 24 • Datenbanken und Dateien auf Basis einer Abfragesprache • Anwendungen auf Basis von Adaptern oder Application Programming Interfaces. • Middleware auf Basis von Standardschnittstellen • Elektronische Nachrichten auf Basis von Business to Business Schnittstellen und Adaptern. Um diese Datenquellen anbinden zu können, werden Intergration-MiddlewareTechnologien mit standardisierten Schnittstellen verwendet. Enterprise-ServiceBus (ESB) Technologien ermöglichen auf diese Weise den Austausch von Daten in Echtzeit, ohne dass die Anbindung individuell implementiert werden muss. Die Adapter eines ESB ermöglichen die Nutzung von Transformationen, die Orchestrierung von Adaptern und die Einbindung in Services. Dank der Integration von z.B. Complex Event Processing (CEP)-Plattformen können Big-Data-Datenströme und -Ereignisse verarbeitet werden [BIT14, S. 89f]. Im Rahmen von Big Data Lösungen sind folgende neue Datenquellen, aus denen Datenmassen extrahiert werden können, relevant: • Zugriff über Datenhaltungssysteme – Hadoop Distributed File System – NoSQL Datenbanken – Analytische Datenbanken – In Memory Datenhaltung – Cloud Datenhaltung • Direkter Zugriff (ohne Datenhaltungssystem) – Social Media – unstrukturierte Daten – Multimedia Dateien – Lokationsdaten – Maschinen- und Industrie-spezifische Datenschnittstellen (Sensoren) Da die verschiedenen Datenquellen unterschiedliche Datenmengen und Strukturen enthalten, die unterschiedlich schnell zur Verfügung stehen müssen, werden zwei Kategorien der Übermittlung unterschieden [BIT14, S. 90]. • Massen bzw. Batch-Verarbeitung, bei der große Datenmengen über Dateisysteme oder Datenbank-Exporte übertragen werden. • Datenstöme, die kontinuierlich Daten einlesen oder Nachrichten über MessaginMiddleware an z.B. eine ESB-Plattformen oder CEP-Plattform übertragen. Im Abschnitt 3.3 werden weitere Datenzugriffsmöglichkeiten dargestellt. 25 3.2.2 Data-Ingestion Die Data-Ingestion (zu Deutsch Datenaufnahme bzw. Datenintegration) dient dem Bezug, der Importierung und der Verarbeitung von Daten, um sie später weiterverwenden oder speichern zu können. Für die Data Ingestion werden Extraktion-TransformationLaden (ETL)-Plattformen verwendet, mit der große und komplexe Datenmengen, die häufig im Batch verarbeitet, transferiert und transformiert werden. ETL-Plattformen haben ihren Schwerpunkt in der Datennormalisierung, Datenqualität und den Metadaten [BIT14, S. 90]. Hierbei werden die Daten aus den Quellsystemen extrahiert, damit diese für die weitere Verarbeitung verfügbar sind. Die darauffolgende Transformation der Daten dient der Bereinigung und der Homogenisierung, damit diese einheitlich im Zielsystem vorhanden sind. Nun können die Daten in ein Business Intelligence- oder Big Data-System geladen werden [Web12, S. 82ff]. Bei Big Data spielen mehrere Faktoren in die Datenintegration. Die Datenvolumina und -raten, sowie unvollständige Schemata führen dazu, dass sich der ETL-Prozess in einen Extraktion-Laden-Transformation (ELT)-Prozess wandelt. Grund hierfür ist, dass der ETL-Prozess strukturierte Daten erwartet, die vor der Beladung einfach transformiert werden können. Doch bei Big Data sind die Daten häufig unstrukturiert, sodass die Daten erst geladen werden müssen, damit andere Techniken, wie z.B. das Maschinenlernen, die Daten analysieren können. Außerdem handelt es sich bei Big Data um Massendaten, die bei einer Transformation der zuvor extrahierten Daten, warten müssen, bis die Beladung wieder freigegeben wird. Daher werden die Daten erst möglichst schnell ins System gebracht und dann transformiert, damit kein Beladungsstau entsteht [BIT14, S. 94]. Damit dieser neue ELT-Prozess optimal funktioniert sind drei Kriterien zu erfüllen [BIT14, s. 95f]: • Performance: die Daten müssen schnell verarbeitet werden • Flexibilität: Nicht-, semi- und polystrukturierte Daten sind zu verarbeiten • Effektivität der Handhabung: Die Entwicklung muss leicht durchführbar sein. 26 3.3 Datenzugriff Für den Datenzugriff auf Big Data werden verschiedene Techniken angewendet, die bereits in Kapitel 1, Abbildung 1.2 dargestellt wurden. Diese werden in den folgenden Abschnitten erläutert. 3.3.1 Hadoop Map Reduce Abbildung 3.4: Big Data Taxonomie: EinDas Batch Processing ist eine Betriebs- ordnung Datenzugriff Quelle: [Zuh15] art, bei der Jobs als Ganzes und ohne Eingriff des Benutzers verarbeitet wer- den [Gab00, S. 2885]. Hierbei werden die erforderlichen Informationen vor der Ausführung gesammelt und mit Hilfe von Steuerkommandos abgearbeitet [AM09, S. 43]. Eine Datenzugriffsart im Batchprozess ist das Hadoop MapReduce, welches im Folgenden vorgestellt wird. Beim MapReduce wird die Verarbeitung eingehender Daten in sinnvolle Teilaufgaben (MapTasks) zerlegt, die parallel von verschiedenen Knoten (Servern) durchgeführt werden [Fou15c]. Besonders ist hierbei, dass der zu verarbeitende Prozess zu den Daten geschickt wird und nicht umgekehrt. Hierdurch werden die Daten von dem Server verarbeitet, auf dem sie gespeichert sind. Sollte der Knoten allerdings ausgelastet sein, wird der nächste (nach Lokalisierung und Auslastung) freie Knoten verwendet. Hierdurch wird die Netzbelastung minimiert. Die Verwaltung der Prozesse wird von einem JobTracker übernommen. Das Verfahren wird in drei Phasen untergliedert [Dor15, S. 281]. In der Map-Phase werden die zu verarbeitenden Daten aus dem HDFS geladen und mit Mappingregeln verarbeitet (z.B. „zählen“ oder „Summen bilden“). Das Ergebnis des Mappings erhält ein Schlüssel-Wert-Paar, wird sortiert und aggregiert, wenn die Datenmenge hierdurch sinnvoll reduziert werden kann. Diese Daten stehen nun für die Shuffle-Phase bereit und werden mit den Ergebnissen der anderen Teilaufgaben ausgetauscht, wenn die Datensätze den gleichen Schlüssel haben. Die Ergebnisse werden für die Reduce-Phase verwendet und nach Möglichkeit wieder sinnvoll aggregiert. Je nach Reduce-Logik werden die Daten z.B. um doppelte Einträge bereinigt oder aufsummiert. Das Ergebnis nach dem Reduce wird final in den DataNode geschrieben. Vom sogenannten JobTracker wird Verteilung der Aufgaben und Daten übernommen. In der Abbildung 3.5 wird der Prozess dargestellt. 27 Abbildung 3.5: Taxonomie von Big Data-Technologien nach BITKOM Quelle: [BIT12, S. 38] Folgendes Beispiel verdeutlicht das Verfahren [BIT14, S. 38f] und [Dor15, S. 280ff]. Eine Auszählung einer Parteiwahl erfolgt über das Map Reduce Verfahren. Dabei werden in verschiedenen Wahllokalen die Parteien A, B, C und D gewählt. Die Ergebnisse werden in Form von einzelnen Wahlzetteln nun in die DataNodes geschrieben (ein Wahllokal repräsentiert ein DataNode). In der Map-Phase werden die Daten gelesen und nach dem Mappingverfahren verarbeitet (hier sind es „zählen“ und „Summe bilden“). Das Ergebnis an jedem DataNode (Wahllokal) entspricht nun der Summe der Stimmen für eine Partei und die Gesamtsumme an Stimmen in dem Wahllokal. Das Ergebnis wird nun pro DataNode nach Partei sortiert. Das Ergebnis nach der Map-Phase sieht wie folgt aus: Tabelle 3.1: Beispiel Map-Reduce Wahlergebnis nach Mapping-Phase Wahllokal / Partei A B C D Summe DataNode 1 3 2 21 10 36 DataNode 2 4 11 0 11 26 DataNode 3 7 3 1 1 12 Quelle: eigene Darstellung Da eine Aggregation oder sonstige Verdichtung nicht sinnvoll ist, werden die Daten, wie sie sind, den anderen DataNodes zur Verfügung gestellt. Diese extrahieren die für sich relevanten Informationen und fügen die Ergebnisse nun zusammen und erhalten 28 das Ergebnis in Tabelle 3.2: Tabelle 3.2: Beispiel Map-Reduce Wahlergebnis nach Shuffle-Phase Wahllokal / Partei A B C D Summe DataNode 1 - - 21; 1 - 36 DataNode 2 3; 4; 7 2; 11; 3 - - 26 DataNode 3 - - - 10;11;1 12 Quelle: eigene Darstellung Die Reduce-Phase nutzt nun dieses Ergebnis und verdichtet die Daten. In diesem Beispiel ist eine Verdichtung, die Summierung der einzelnen Datensätze und entspricht der Tabelle 3.3. Tabelle 3.3: Beispiel Map-Reduce Wahlergebnis nach optionaler Verdichtung Wahlokal / Partei A B C D Summe DataNode 1 - - 22 - 74 DataNode 2 14 16 - - 74 DataNode 3 - - - 22 74 Quelle: eigene Darstellung Schließlich werden die Daten reduziert. In diesem Beispiel werden alle Daten entfernt, deren prozentualer Gesamtanteil am Wahlergebnis unter 25% liegt. Somit werden nur die Ergebnisse der Parteien C und D übernommen und im entsprechenden DataNode persistiert. Tabelle 3.4: Beispiel Map-Reduce Wahlergebnis nach Reduce-Phase Wahlokal / Partei C D Summe DataNode 1 22 - 74 DataNode 3 - 22 74 Quelle: eigene Darstellung 3.3.2 Streaming & Complex Event Processing Bei der Streaming Verarbeitung werden die Daten nicht erst abgespeichert, sondern kontinuierlich aus der Quelle extrahiert und einmalig analysiert. Bei dieser Art der Verarbeitung wird von Real-Time-Verarbeitung gesprochen. Nicht gespeicherte Daten werden dabei mit Data-in-Motion bezeichnet, während die abgespeicherten Daten Data-in-Rest heißen [Dor15, S. 61]. Beim Stream-Processing wird auch von Daten- und Ereignisströmen gesprochen, die 29 kontinuierlich auf Ereignisanfragen reagieren. Um auf Ereignisse reagieren zu können, kommen Ereignisanfragesprachen zum Einsatz. Folgende vier Aspekte beschreiben die Anforderungen solch eine Anfragesprache [EB09, S. 3]: • Extraktion von Daten: ein Ereignis enthält Daten, die aussagen, ob weitere Daten nachgelesen werden müssen, damit die Daten aus dem Ereignis angereichert oder zur Generierung neuer Daten verwendet werden können. • Komposition: datenbezogene Ereignisse müssen über einen Zeitraum verteilt und verknüpft werden, damit ein komplexes Ergebnis ermittelt werden kann. • Zeitliche Zusammenhänge: Ereignisse können zusammenhängend sein und müssen dadurch in der richtigen Reihenfolge oder innerhalb eines Zeitfensters verarbeitet werden. • Akkumulation: Negationen oder Aggregationen werden auf Ereignisse innerhalb eines definierten Zeitfensters angewendet. Wie die Ereignisströme verarbeitet werden (Analyse und Reaktion), wird durch Regeln definiert. Eine Regel wird durch eine Bedingung und eine Aktion realisiert. Die Bedingungen einer Regel sind unterschiedlich und sehen wie folgt aus [Dor15, S. 298]: • Eintreten eines beliebigen Ereignisses • Eintreten eines bestimmten Ereignisses • Mehrfaches Eintreten eines bestimmten Ereignisses oder einer Folge bestimmter Ereignisse • (Nicht) Auftreten eines oder mehrerer bestimmten Ereignisse(s) innerhalb eines Zeitintervalls Unterschieden wird in deduktive Regeln, die neue Ereignisse auslösen und reaktive Regeln, die festlegen, wie auf Ereignisse reagiert wird [EB09, S. 3]. Werden Daten aus Stream-Prozessen zusätzlich gefiltert und stehen die Daten der unterschiedlichen Quellen in Wechselbeziehung zueinander, heißt der Prozess auch CEP [Dor15, S. 298]. Eckert und Bry definieren CEP wie folgt: „Complex Event Processing (CEP) ist ein Sammelbegriff für Methoden, Techniken und Werkzeuge, um Ereignisse zu verarbeiten während sie passieren, also kontinuierlich und zeitnah “ [EB09, S. 1]. CEP wird für folgende Anwendungsfälle verwendet [EB09, S. 1]: • Business Activity Monitoring: Überwachung von Geschäftsprozessen und unternehmenskritischen Ressourcen. • Sensor Netzwerke: Überwachung industrieller Anlagen. Messdaten verschiedener Sensoren werden kombiniert, um Fehler zu minimieren. 30 • Marktdaten: Trendanalyse auf Aktien- und Rohstoffmärkten. Da die Ereignisse nicht nacheinander, sondern sofort verarbeitet werden, muss das Complex Event Processing schnell und skalierbar sein. Um dieses zu realisieren werden die Datenströme im Hauptspeicher verarbeitet und bei zu hoher Auslastung auf verschiedene Server verteilt. Eine Verteilung auf mehrere Server erfolgt ebenfalls, wenn sehr viele Regeln und Abfragen zu verarbeitenden sind [Dor15, S. 298]. 3.3.3 Search & Discovery Bei Search & Discovery handelt es sich um die Suche und das Finden von Informationen in einem Big Data Haushalt. Da bei strukturierten Daten meist bekannt ist, wo sie liegen, liegt der Fokus bei der Big Data Suche auf den semi- und nicht strukturierten Daten [Dor15, S. 314]. „Bei Search geht es darum, schnell relevante Antworten zu geben[. . . ].“ [BIT14, S. 54]. Somit muss ein Suchalgorithmus über einen Index schnell auf die gesuchten Daten zugreifen und die Suchbegriffe korrekt interpretieren können. Verschiedene Worte, Syntax und Grammatik können den gleichen Begriff beschreiben, weshalb die Suche die gesuchten Begriffe verstehen und in den richtigen Zusammenhang bringen muss [Dor15, S. 315]. Damit solch eine „intelligente“ Suche funktioniert, werden verschiedene, bedingt aufeinander aufbauende Methodiken verwendet. Die schlüsselwortbasierte Suche (1. Methode) arbeitet lediglich mit den eingegebenen Worten und durchsucht die Daten. Hierbei können Methoden zur Suche nach Wortstämmen oder Synonymen und Homonymen integriert werden. Durch boolesche Operatoren werden Wörter kombiniert oder ausgeschlossen. Semantische Zusammenhänge oder Bedeutungen werden bei dieser Art der Suche nicht berücksichtigt [Dor15, S. 316f]. Im Bereich Linguistik und Semantik (2. Methode) werden nicht oder teilstrukturierte Daten in Form von Texten analysiert. Dieses Thema wird im Abschnitt 4.4 detaillierter betrachtet, da es im Bereich der Analyse von Textdateien wichtig ist. Mit Hilfe von Wissensmodellen (3. Methode)werden Begriffe und Kategorien in Wissensbereiche zusammengefasst. Eine Ontologie beschreibt bzw. stellt solch einen Wissensbereich dar. Ontologien sind formale Spezifikationen, die Bedeutungen, Begriffe, Objekte und Relationen miteinander verknüpfen. Diese Art der Verknüpfung ermöglicht es Homonyme, Synonyme etc. in Beziehung zu setzen. Durch diese komplexe Beziehungsverknüpfung (4. Methode) ist es möglich bei der Suche nach einem Wort, damit verknüpfte Begriffe zu finden. [Dor15, S. 317f]. Z.B. könnte die Suche nach einem speziellen Produkt zusätzlich alle Firmen auflisten, die dieses Produkt führen. Assoziative Methoden dienen der Suche nach ähnlichen Begriffen oder Texten, wie 31 denen, die in der Suche verwendet werden. Hierbei wird der Suchbegriff bzw. der Suchtext normalisiert und analysiert und mit den bereits gespeicherten Informationen zu den Daten abgeglichen. Zuvor erzeugte Ontologien werden verwendet, damit Zusammenhänge erkannt werden. Mit dieser Methodik wird die Suche nach ähnlichen Inhalten ermöglicht, die für den Suchenden relevant sind. [Dor15, S. 319] Bei dem Case Based Reasoning handelt es sich um eine Problem- und Lösungssuche. In der Datenbasis sind Problemfälle, sowie deren Lösungswege strukturiert gespeichert. Ähnlich wie bei der assoziativen Methode wird hier nun mit Hilfe von Suchbegriffen oder Texten ein Problemfall bzw. dessen Lösung gesucht, der einem neuen bzw. aktuellem Problemfall möglichst ähnlich ist. Die Lösung des alten Falles wird für das aktuelle Problem adaptiert und angewendet. Der aktuelle Fall und dessen angepasste Lösung werden ebenfalls in der Datenbasis gespeichert und stehen für weitere Suchanfragen zur Verfügung. [Dor15, S. 320] 3.3.4 Query Das Gabler Wirtschaftslexikon verweist unter dem Begriff Query auf den Eintrag zur Datenbankabfrage [Gab00, S. 2565]. Die Datenbankabfrage wird dort als eine „von einem Benutzer oder einem Programm in einer vom Datenbankmanagementsystem zur Verfügung gestellten Abfragesprache formulierten Anfrage an eine Datenbank“ [Gab00, S. 675] definiert. Die verbreiteste Abfragesprache ist die Structured Query Language, weshalb auch nur diese erläutert wird. Mit Structured Query Language (SQL) ist es möglich Daten abzufragen, zu löschen, zu ändern, Relationen zu spezifizieren und Berechtigungen zu verwalten [AM09, S. 151]. SQL wird in zwei Bereiche geteilt [KR05, S. 26]: • Data Manipulation Language: Daten selektieren, ändern, löschen und hinzufügen • Data Definition Language: Datenbankobjekte ändern, löschen, hinzufügen, Berechtigungsverwaltung Weiterhin existiert die Data Control Language, die Änderungen an den Daten übernimmt oder widerruft (COMMIT oder ROLLBACK) [KR05, S. 27]. SQL basiert auf der relationalen Algebra, weshalb Programmierkenntnisse nicht benötigt werden [BIT14, S. 55] und [vgl: AM09, S. 151]. Außerdem ist SQL mengenorientiert, sodass Abfragen das gesamte Ergebnis auf einmal und nicht in Teilschritten zurückgeben. Zusätzlich werden die Werte in einer Datenbank in einem Schritt verändert [vgl: AM09, S. 151]. SQL-Ausführungen werden in Transaktionen ausgeführt. „Als Transaktion werden folgen von Datenmanipulationen bezeichnet, die eine logische Einheit bilden.“ [KR05, 32 S. 297] Dabei kann eine Transaktion aus mehreren SQL-Anweisungen bestehen. Die Befehle COMMIT und ROLLBACK sind für solch eine Transaktion essentiell, da sie festlegen, ob die Datenbankänderung persistiert oder verworfen wird. Einer dieser Befehle muss am Ende einer jeden SQL-Abfrage stehen, damit diese wirksam wird [KR05, S. 300f]. Da mehrere Operationen auf einer Datenbank durchgeführt und teilweise parallel verarbeitet werden, existieren Sperrmechanismen, die einen Zugriff auf die Daten verwaltet und ermöglicht [KR05, S. 305]. 33 4 Analytische Verarbeitung und Data Mining Nachdem die Methoden der Datenhaltung, der Datenintegration und des Datenzugriffes im Kapitel 3 erläutert wurden, wird nun beschrieben, wie die Daten für analytische Zwecke verarbeitet werden. Das Verfahren des Data Mining wird als Schwerpunktthema tiefergehend Abbildung 4.1: Big Data Taxonomie: Ein- erläutert. ordnung Analyse Quelle: [Zuh15] 4.1 Predictive Analytics „Predictive analytics is the use of data, statistical algorithms and machine-learning techniques to identify the likelihood of future outcomes based on historical data.“ [Inc15] Verwendet wird die predicitive Analytics, um Vorhersagen in einem bestimmten Bereich zu treffen. Dies kann z.B. die Prognose der Verkaufszahlen. Im Rahmen der vorhersagenden Analyse werden drei Schritte durchlaufen [BIT14, S. 61]: 1. Descriptive (Beschreiben) 2. Predictive (Vorhersagen) 3. Prescriptive (Empfehlen) Im ersten Schritt werden die benötigten Daten gesammelt, die zu einer Mustererkennung benötigt werden [BIT14, S. 61]. Hierzu werden die Datenquellen und Domänen verwendet, bei denen vom größtmöglichen Erfolg ausgegangen wird. Je besser die Vorselektion ist, desto besser ist das Ergebniss. Das Verfahren der Selektion ist iterativ und kann nach einer ersten Analyse der Ergebnisse weitere Datenquellen einbeziehen [Dor15, S. 323f]. 34 Der zweite Schritt besteht in der Entwicklung eines Modells, welches das zu analysierende System möglichst gut beschreibt, um daraus eine geeignete Vorhersage abzuleiten. Im letzten Schritt werden aus den Ergebnissen Handlungsempfehlungen abgeleitet [BIT14, S. 62]. Es ist möglich die Analyse direkt in der Datenbank durchzuführen, statt die Daten zu einem Server zu übertragen, auf dem sie analysiert werden. Hierbei wird der Programmcode in der Datenbank abgelegt und in Form von SQL oder anderen Datenbankanweisungen ausgeführt. So wird es möglich Datenmengen zu verarbeiten, die mit herkömmliche transaktionalen Datenbanken nicht verarbeitet werden konnten [BIT14, S. 62]. 4.2 Machine Learning „Beim Maschinellen Lernen [. . . ] versucht man, computerbasierte Lernverfahren verfügbar zu machen, so dass das Programm aus Eingabeinformationen Wissen generieren kann.“ [CL14, S. 13] Das maschinelle Lernen wird verwendet, wenn ein Modell zur Wissensgenerierung existiert und neue Daten mit diesem Modell verarbeitet werden sollen. Dies wird z.B. verwendet, um bei einer Kreditanfrage festzustellen, wie risikobehaftet das Geschäft ist. Bei diesem Verfahren werden Modelle mit definierten Parametern verwendet, die durch Lernen optimiert werden sollen. Es werden bereits vorhandene Daten oder synthetische Trainingsdaten verwendet, mit denen das Programm das Modell erlernt. Ein Programm des maschinellen Lernens ist prädiktiv und trifft Vorhersagen oder es ist deskriptiv, um Wissen aus den vorliegenden Daten zu extrahieren. Eine Kombination der prädiktiven und deskriptiven Ausprägung ist möglich [Alp08, S. 3]. Um das Modell zu verbessern bzw. damit das Programm lernen kann wird ein lernfähiger Agent eingesetzt. Es handelt sich dabei um ein eigenständiges Softwareprogramm. Dieser Agent ist wie folgt definiert. „Ein Agent heißt lernfähig, wenn sich seine Leistungsfähigkeit auf neuen, unbekannten Daten im Laufe der Zeit [. . . ] verbessert [. . . ].“ [Ert13, S. 181] Ein Agent wird durch folgende Punkte charakterisiert [LC12, S. 21] • Er ist autonom und trifft Entscheidungen selbstständig. • Der Agent reagiert auf seine virtuelle und natürliche Umwelt. • Die Handlungen sind zielorientiert. 35 • Es handelt sich um einen kontinuierlich aktiven Prozess. • Ein Agent steht in kommunikativer Verbindung zwischen dem Auftraggeber und anderer Agenten. • Er muss lernfähig sein und aus den Aktionen Verbesserungen ableiten. • Der Agent muss mobil sein, indem er sich physisch fortbewegt oder sich auf andere Rechner überträgt. • Für die Kommunikation mit Menschen ist ein menschliches Verhalten erwünscht. Lernverfahren kennen drei Arten des Lernens. Dies sind: • Das überwachte Lernen • Das unüberwachte Lernen • Das bestärkende Lernen Das überwachte Lernen arbeitet mit definierten Eingabe- und Ausgabedaten. Das Ergebnis der verarbeiteten Daten ist bekannt und wird mit dem Ergebnis aus der Verarbeitung verglichen [CL14, S. 55]. Sind die Werte unterschiedlich oder die Differenzen zu groß, werden die Parameter angepasst, bis die Ergebnisse zufriedenstellend sind. Bei dem unüberwachten Lernen ist das Ergebnis nicht bekannt oder vergleichbar [CL14, S. 55]. Das Programm versucht durch Berechnungen, z.B. der Güte eines Ergebnisses, das Resultat zu optimieren. Z.B. wird bei der Clusteranalyse ein neuer Datensatz nur in das Cluster aufgenommen, wenn sich die Summe der Abstände (Kosten) nicht erhöht. Das bestärkende Lernen belohnt oder bestraft das Programm für das ermittelte Ergebnis. Ziel des Programms ist, dass die Belohnung am Ende einer Aktion maximiert wird. [Ger11, S. 7ff]. Die Belohnung / Bestrafung erfolgt, in dem es von einem Lehrer einen numerischen Wert als Ergebnis einer Aktion erhält. 4.3 Reporting Mit dem Begriff Reporting ist die Analyse von Daten im Rahmen des Online Analytical Processing gemeint [BIT14, S. 70]. Online Analytical Processing (OLAP) dient der mehrdimensionalen Kennzahlermittlung und der Auswertung relevanter Daten nach verschiedenen Kriterien (Dimensionen). OLAP fokussiert dabei den direkten Zugriff (Online) auf den Datenbestand, die Bereitstellung unterschiedlicher Sichten (Analytical) auf diesen und die schnelle Berechnungen der Daten (Processing). Als Grundlage für das Online Analytical Processing dient der sogenannte Cube, der auf dem Sternschema basiert. 36 Das Sternschema ist eine Anordnung von Tabellen, bei der die Faktentabelle den Mittelpunkt darstellt. Hier enthalten sind die Kennzahlen und die Fremdschlüssel der Dimensionstabellen. Eine Dimensionstabelle enthält die Ausprägungen eines Attributes, nach denen analysiert wird [Gei14, S. 433f]. Die Analyse der Daten im Reporting erfolgt über die OLAP-Operationen. Dies sind [Sch08, S. 23f]: • Drill-Down: Hier wird die Sicht von einer hohen Aggregation auf eine detailliertere Sicht „hinein gebohrt“. Die Anzahl der Attribute wird erhöht. • Drill-Up: Die Sicht wird „heraus gebohrt“, wodurch eine höhere Aggregation erreicht wird. Die Anzahl der Attribute wird verringert. • Slice: Die Sicht wird auf die Ausprägung eines Attributes fokussiert. Es handelt sich dabei um die Untermenge einer Dimension. • Dice: Die Sicht wird weiterhin auf verschiedene Dimensionen angewendet, allerdings wird die Menge der enthalten Ausprägungen reduziert. Im Rahmen der Big Data Verarbeitung ist es möglich die OLAP Funktionalitäten über HiveQL (Hive ist eine Data Warehouse Lösung von Apache, die auf verteilten Dateisystemen wie z.B. dem HDFS aufsetzt und HiveQL ist die entsprechende Abfragesprache1 ) einzubinden. Die Daten werden in einem relationalen Cube bereitgestellt und können performant abgerufen werden [BIT14, S. 71]. 4.4 Text und Semantische Analyse Im Bereich der Text- und semantischen Analyse werden nicht oder teilstrukturierte Daten verarbeitet, die auf der natürlichen Sprache basieren. Ziel dieses Verfahrens ist es, eine Struktur in die Daten zu bringen, damit diese für weitere Analysen verwendet werden können. Folgende drei Schritte werden dabei durchlaufen [BIT14, S. 58] und [Dor15, S. 316f]. • Dokumentenspezifische Verarbeitung • Sprachespezifische, aber domänenübergreifende Verarbeitung • Domänen- bzw. Anwendungsspezifische Verarbeitung Die dokumentenspezifische Verarbeitung dient der Bereinigung und Normalisierung der Daten. Dies ist notwendig, damit die Daten ein einheitliches Format erhalten. Durch die Entfernung von Tags (z.B. <HTML> in einer Website) werden die Daten bereinigt. Die Konvertierung in die gleiche Codierung dient der Normalisierung der Daten, indem länderspezifische Besonderheiten, wie z.B. das deutsche ß, in ein 1 Vgl.: http://hive.apache.org/. 37 einheitliches Format übertragen werden. Anschließend werden den Daten neue Metainformationen, wie der Verarbeitungszeitpunkt, hinzugefügt, damit z.B. der zeitliche Bezug und somit eine Trendanalyse ermöglicht wird. Liegen die Daten bereinigt vor, erfolgt der zweite Verarbeitungsschritt, die sprachspezifische, aber domänenübergreifende Verarbeitung. Da die verwendeten Modelle auf jeweils eine Sprache spezialisiert werden, muss zuerst die Sprache des Textes festgestellt werden. Damit der Text strukturiert werden kann, wird nun die Satzsegmentierung durchgeführt. Sie dient der Ermittlung von Satzgrenzen, Haupt- und Nebensätzen und stellt eine Notwendigkeit für ein späteres Parsing dar. Als weitere Vorbereitung und Strukturierung der Daten dient die Tokenisierung. Sie trennt die einzelnen Wörter und Satzzeichen eines Textes, da ganze Sätze für Analysen ungeeignet sind. Da nun die einzelnen Wörter zur Verfügung stehen, werden sie durch das stemming auf ihren Wortstamm reduziert (z.B. wird des Heizkörpers auf Heizung reduziert). Der Wortstamm wird benötigt, damit bei späteren Wortsuchen auch flektierte Wörter gefunden werden. Die Lemmatisierung bildet die Grundform eines Verbes, damit auch hier flektierte Verben gesucht werden können. Z.B. wird aus dem Verb sah das Lemma sehen gebildet. Danach erfolgt das Part-of-Speech-Tagging, welches die einzelnen Wörter den Wortarten zuordnet. Da ein Wort je nach Kontext verschiedene Bedeutungen haben kann, ist es wichtig, dass die Wortarten korrekt zugeordnet werden. Beispielsweise kann das Wort Reifen als Nomen (Rad eines Vehikels) oder Verb (Wein muss reifen) verwendet werden und hat dann unterschiedliche Bedeutungen. Nun kann das Parsing erfolgen. Es führt eine syntaktische Strukturierung des Textes durch und erkennt Verbindungen zwischen den Entitäten, wodurch die Extraktion von Fakten und Relationen ermöglicht wird. Die Koreferenzauflösung erkennt Pronomen und weist sie der ursprünglichen Entität zu. Abkürzungen oder Synonyme werden ebenfalls erkannt und in Zusammenhang gebracht. Als letzte Verarbeitung in diesem Schritt kommt die Erkennung von generellen Eigennamen zum Einsatz. Dabei werden die Wörter einzelnen Typkategorien zugeordnet. Dies sind bei Nomen z.B. Orte oder Ereignisse, die keinem Fachgebiet zugeordnet werden können. Der letzte Schritt der Text- und semantischen Analyse ist die domänenspezifische Verarbeitung, die sich in fünf Teilaufgaben untergliedert [BIT14, s. 59f]: 1. Die Eigennamenextraktion ermittelt domänenspezifische Objekte, wie z.B. Quadrant, das z.B. der Zahnmedizin zugefügt wird. 2. Stoppwortlisten enthalten Begriffe, die nicht verarbeitet werden sollen. 38 3. Die Topic-Modellierung weist ein Begriff einem Thema auf Basis von Worteigenschaften und Kontextinformationen zu. 4. Die Faktenextraktion ermittelt vorher definierte Fakten im Text. Z.B. wird extrahiert, wenn eine Führungsperson kündigt und die Stelle neu besetzt wird. 5. Die Relationsextraktion erkennt Relationen zwischen Entitäten und extrahiert diese. Damit nach den unstrukturierten Daten gesucht werden kann, wird ein Index aus ihnen erstellt. Die aus der Analyse erzeugten Informationen werden ebenfalls an den Index gehängt, damit diese mit in die Suche integriert werden können [Dor15, S. 316f]. Mit Hilfe der semantischen Analyse werden also Texte, durch Zeichenerkennung, in sinnvolle Teile strukturiert, analysiert und mit Metadaten aufbereitet. 4.5 Web Analyse „Web Analytics ist die Messung, Sammlung, Analyse und Auswertung von Internet-Daten zwecks Verständnis und Optimierung der WebNutzung“ [Has09, S. 26]. Zu den untersuchten Daten gehören z.B. die Anzahl der Klicks auf einer Seite, die Suchbegriffe, die auf die Seite geführt haben, der gesamten Pfad, den ein Besucher auf den Seiten macht. Die Erkenntnisse aus diesen Daten dienen der Anpassung des Inhaltes einer Seite an den Benutzer bzw. an eine Benutzergruppe, um so z.B. benutzerspezifische Produktangebote zu platzieren [BIT14, S. 58f]. Zusätzlich werden wertvolle Informationen zu einem Anwender preisgegeben, die es ermöglich den gläsernen Kunden zu erhalten. Um dieses Ziel zu erreichen, werden verschiedene Methoden verwendet. Beim Page Tagging erhält jede Webseite einen 1x1 großen Pixel, der JavaScript-Code enthält. Das gesamte Verhalten des Besuchers wird durch diesen Code aufgezeichnet. Zu dem Verhalten gehören die z.B. die Bewegungen und Klicks auf einer Seite, Navigationenen zwischen Seiten oder wie Multimediadateien abgespielt werden [Has09, S. 27]. Die Logfile-Analyse zeichnen aus Sicht des Servers sämtliche Aktivitäten auf, die auf einer Website ausgeführt werden. Dies sind Anfragen, die an den Server geschickt werden (z.B. Formulare oder Klicks, die vom Server verarbeitet werden). Der Inhalt einer Website kann mit Hilfe von den Aufzeichnungen (Log-Files) nur schwer optimiert werden, allerdings sind Fehlerbehebungen leichter durchzuführen [Has09, S. 28]. A/B und multivariate Tests dienen dem Vergleich zweier Webseiten bzw. zweier Objekte auf einer Webseite. Hierbei werden verschiedene Inhalte (z.B. Produktangebote) 39 für unterschiedliche Benutzer eingeblendet und über den Aufruf der Anzeige statistisch festgehalten, welche ansprechender ist [Has09, S. 29]. Bei Online Umfragen handelt es sich um Fragen bezüglich des angebotenen Inhaltes einer Webseite. Hierbei werden zufällige Nutzer ausgewählt, die die Umfrage freiwillig ausfüllen, oder es wird versucht sämtliche Nutzer zu der Umfrage zu bewegen. Dies erfolgt z.B. durch kleine Geschenke für die Teilnahme. Vorteil ist, dass es sich hier um konkrete Antworten handelt und nicht um automatisch erfasste und analysierte Logs. Nachteil ist, dass die Umfragen manipuliert sein können [Has09, S. 30]. Zuletzt werden noch Persönliche Befragungen und Benutzerbeobachtungen verwendet, um herauszufinden, wie die eigene Website optimiert werden kann. Zwar ist die Befragung bzw. Beobachtung zeitintensiver, aber sie liefert Informationen, die mit den bisherigen Methoden nicht ermittelt werden können, wie spontane Reaktionen oder Emotionen bei der Nutzung. Sind Fragen unklar, so können diese anders formuliert oder Rückfragen beantwortet werden [Has09, S. 31]. Im Rahmen von Big Data wird Web Analytics verwendet, um Webseiten in Echtzeit an den Benutzer anzupassen und deren nächsten Schritte auf der Webseite vorherzusagen (Predicitve Analytics). 4.6 Geospatial-Analyse Bei der geospatial Analyse werden ortsbezogene Daten, die z.B. über Mobiltelefone oder Digitalkameras übermittelt werden, ausgewertet oder zu anderen Daten hinzugefügt. Dieses Verfahren wird im Weiteren mit Location Intelligence gleichgesetzt. Mit Hilfe von Location Intelligence ist es möglich Informationen in einen zeitlichräumlichen Bezug zu bringen, wodurch z.B. lokalisierte Angebote ermöglicht werden. Location Intelligence wird hauptsächlich im Bereich des Business Intelligence, dem Customer Relationship Mangement und der Optimierung von Geschäftsprozessen eingesetzt [Art13, S. 1]. Die Location Intelligence wird dabei in drei Bereiche aufgeteilt. Das Location Discovery dient der Geocodierung von raumbezogenen Objekten. Hierbei werden Objekten Geokoordinatenpaare (z.B. Längen- und Breitengrade) zugeordnet, wodurch ortsbezogene Analysen ermöglicht werden. Mit Hilfe der Koordinaten werden geographische Karten erstellt, die eine Landkarte mit den eingetragenen Objekten ergeben [Art13, S. 3f]. Die Location Analytics ermöglicht die Visualisierung einer solchen Karte. Diese ist allerdings nicht auf die einfache Darstellung der Geo-Daten beschränkt, sondern ermöglicht eine tiefgehende Analyse, die komplexe Zusammenhänge darstellt und Trends oder Potentiale erkennen lässt, die in einfachen Tabellen ggf. verborgen blieben 40 [Art13, 3f]. Ein weiterer Punkt in der Analytics sind sogenannte Layer, die verschiedene Informationen enthalten und übereinander gelegt werden. Bei der Vorhersage werden auf Basis der lokalen Informationen Prognosen über bestimmte Ereignisse getroffen. Dabei werden entweder induktive (von einem Einzelfall eine allgemeine Aussage treffen) oder deduktive (aus dem allgemeinen auf einen Einzelfall schließen) Methoden verwendet [Art13, 4f]. Die Location Optimization dient der Optimierung von z.B. Prozessen oder Geschäftsfeldern. Z.B. werden anhand von Zusammenhängen Absatzdefizite durch die Expansion in neue Regionen behoben, oder indem das Routing für den Außendienst optimiert wird [Art13, S. 11f]. Folgendes Beispiel dient der Veranschaulichung. Bei einer Autoversicherung werden vermehrt in einem kurzen Zeitraum Schäden angemeldet. Bei der Schadensaufnahme wird dem Unfall die Geokoordinate (statt A7 höhe Hamburg wird die Kilometermarke ermittelt) zugespielt, sodass eine Auswertung nach Regionen ermöglicht wird. Da dies nicht zur Ursachenermittlung ausreicht, werden weitere Geoinformationen hinzugefügt. Eine Pollenkarte zeigt, dass zu dem Zeitpunkt ein erhöhtes Pollenaufkommen in der Region war. Durch die verschiedenen Layer liegen die Karten übereinander und der Zusammenhang zwischen den Unfällen und dem Pollenflug wird deutlich. Durch eine Trendanalyse wird der nächste verstärkte Pollenflug und die Unfallrate vorhergesagt. 4.7 Video und Audio Analyse Immer mehr Audio- und Videodateien werden ins Internet hochgeladen, die relevante Informationen enthalten können, weshalb sie in eine Analyse einbezogen werden. Videos enthalten zwei Medienspuren. Zum einen die Videospur, um die visuellen Inhalte wiederzugeben und zum anderen die Tonspur, um akustische Inhalte auszugeben. Bei Videos wird die Tonspur extrahiert und für die Analyse verwendet. Bei Audiodateien liegt die Tonspur direkt verwendbar vor [Dor15, S. 310]. Bevor die Audiospur analysiert wird, muss zuerst das gesprochene Wort ausgelesen werden. Hierzu benutzt man Techniken der Spracherkennung, die den gesprochenen Text erkennen und in schriftlichen Text transkribieren. Dieser extrahierte Text wird nun im Rahmen der Text- und semantischen Analyse (siehe Abschnitt 4.4) verarbeitet [Dor15, S. 310]. Ziel der Videoanalyse ist es, unstrukturierte Videos in ein analysierbares Format zu übertragen. Hierzu werden die einzelnen Bilder eines Videos analysiert. Die Bilder werden in drei Schritten verarbeitet [VS12]. 1. Segmentierung und Extraktion von besonderen Merkmalen: Hierbei werden die 41 Bilder in Segmente aufgeteilt, die ähnliche Eigenschaften, wie z.B. Farben und Konturen, aufweisen. Die so ermittelten Merkmale ( z.B. Figuren, Landschaften) werden zur weiteren Verarbeitung extrahiert. 2. Ermittlung von Beziehungen zwischen Variablen, Merkmalen und Zeit: Um Beziehungen zwischen den genannten Eigenschaften zu ermitteln, werden das maschinelle Lernen und Data Mining verwendet. Dies wird z.B. verwendet, um den ermittelten Text mit den Bildern zu verknüpfen und den Inhalt zu ermitteln. 3. Extraktion von Variablen mit Zeitstempeln: Die nun in Verbindung gebrachten Informationen werden extrahiert und auswertbar gemacht. 4.8 Data Mining Wie bereits in Abschnitt 2.3 definiert, handelt Data Mining von der Suche nach neuen und verständlichen Zusammenhängen innerhalb von Daten. Damit dies möglich ist, müssen die Daten zu Beginn bereinigt werden. Dadurch wird die Vergleichbarkeit der Daten über ein Abstandsmaß ermöglicht, bevor die eigentlichen Data Mining Methoden zum Einsatz kommen. Während der Abstandsmessung und der Nutzung der Data Mining-Methoden müssen unterschiedliche Datentypen berücksichtigt werden, die in Tabelle 4.8 dargestellt werden. Tabelle 4.1: Datentypen im Data Mining Datentyp Nominal Ordinal Beschreibung Beispiel Sortierung nur nach gleich oder Farben, ungleich möglich Namen Sortierung ist möglich, keine Noten Berechnungen Metrisch Diskret Endliche Anzahl von Werten Noten Kontinuierlich beliebiger Zahlenwert innerhalb eines Maßein- Bereiches heiten Nullpunkt willkürlich, rechnen Jahreszah- eingeschränkt möglich len Verhältnisba- natürlicher Nullpunkt, rechnen Entfernung, siert möglich Größe IntervallbaNumerisch siert Absolutskalen- keine Maßeinheit, rechnen möglich basiert Quelle:Eigene Darstellung nach [CL14, S. 39ff] 42 Lebensjahre 4.8.1 Datenvorbereitung Die auszuwertenden Daten stammen aus unterschiedlichen Quellen und weisen daher verschiedene Strukturen auf. Das anzuwendende Data Mining-Verfahren benötigt aber einen bestimmten Datentypen, der ggf. nicht in den Quelldaten verwendet wird, weshalb die Daten vor der Verarbeitung transformiert werden müssen. Die Daten für die jeweiligen DM-Verfahren nutzbar zu machen, ist Aufgabe der Datenvorbereitung (Data Preparation), die im Folgenden näher beschrieben wird [CL14, S. 194ff]. 4.8.1.1 Datenselektion und -integration Die ersten Schritte der Vorbereitung sind die Datenselektion und -integration. Hier werden die zu analysierenden Daten selektiert und in einer gemeinsamen Tabelle vereinigt. Da die Quelldaten unterschiedliche Strukturen aufweisen oder andere Semantiken oder Syntaxen verwenden, müssen die Daten integriert werden, indem man sie strukturell korrigiert. Folgende Probleme sind dabei nicht auszuschließen [CL14, S. 198f]: • Entitätsidentifikationsproblem: Die Attribute der Datensätze haben zwar gleiche Bezeichnungen, bedeuten aber etwas anderes. Diese können ggf. mit Hilfe der Metadaten identifiziert und mit unterschiedlichen Bezeichnungen aufgenommen werden. • Redundanzen: Attribute haben die gleiche Bedeutung, wurden nur unterschiedlich bezeichnet. Auch dies kann mit Hilfe von Metadaten behoben werden. • Widersprüche: Werden Datensätze aus verschiedenen Quellen extrahiert, können Widersprüche entstehen, wenn Inhalte gleicher Attribute unterschiedlich befüllt sind. Z.B. werden Datensätze zu einem Artikel über die Artikelnummer, mit jeweils anderen Produktnamen, zum Preisvergleich herangezogen. Hier muss der korrekte oder wahrscheinlichste Wert ermittelt und übernommen werden. • Datenwertkonflikte: Ein Attribut enthält in den verschiedenen Datensätzen unterschiedliche Angaben. Dies sind z.B. bei Datensatz A die Anzahl der Artikel pro Einkauf und bei Datensatz B der zu zahlende Betrag. • Verletzung der referentiellen Integrität: Für diesen Fehler sind fehlerhafte Schlüsselverweise oder vollständig fehlende Schlüssel verantwortlich. Entweder werden die Einträge vor der Verarbeitung ergänzt oder die fehlerhaften Daten entfernt. 4.8.1.2 Datensäuberung Da die Daten fehlerbehaftet, inkonsistent oder unvollständig sein können, müssen die Daten bereinigt werden. Es handelt sich hierbei um die inhaltliche Korrektur der Daten. 43 Dabei ist es wichtig, dass die Bereinigung informationsneutral ist und die richtigen Informationen möglichst nicht beeinflusst [CL14, S. 199f]. Z.B. fehlt das Alter eines Autos, dann darf die Ermittlung des Alters bei einem Neuwagen nicht dafür sorgen, dass es bereits fünf Jahre alt ist. Scheinen Daten zu fehlen, muss zuerst geprüft werden, ob sie wirklich fehlen, oder ob es richtig ist, dass sie nicht vorhanden sind, da z.B. eine Eingabe in einem Formular bewusst nicht gemacht wurde. Handelt es sich um einen Fehler, weil die Information vorhanden sein müsste, sind folgende Vorgehensweisen möglich [CL14, S. 200f]: • Das gesamte Attribut wird ignoriert, indem die gesamte Spalte aus der Tabelle entfernt wird. • Je nach Anzahl fehlender Informationen wird diese manuell oder maschinell ergänzt. – Mit Hilfe einer globalen Konstanten wird den fehlenden Informationen ein Wert zugewiesen. – Handelt es sich um metrische Werte ist der Durchschnittswert eine mögliche Lösung. Liegen die Werte in einem engen Bereich kann davon ausgegangen werden, dass der fehlende Wert in einem ähnlichen Wertebereich liegen würde. – Fehlen wenige Werte wird der wahrscheinlichste Wert mit Hilfe von statistischen Methoden ermittelt. Wichtig ist, dass eine ausreichende Datenbasis vorhanden ist. – Bei nicht numerischen Werten ist der häufigste Wert eine weitere Möglichkeit einen fehlenden Wert zu ersetzen. – Haben Attribute einen gemeinsamen Zusammenhang, kann der fehlende Wert aus dem anderen Attribut ermittelt werden. Z.B. wird aus der Postleitzahl der Ort abgeleitet. Mit Hilfe von Regressionsfunktionen oder Assoziationsanalysen lassen sich Relationen ermitteln bzw. Werte vorhersagen. – Sollte eine Ersetzung des fehlenden Wertes nicht möglich sein, so wird der Datensatz als fehlerhaft markiert. Verrauschte Daten und Ausreißer sind z.B. Messdaten, dessen Wert so stark von den anderen abweicht, dass dieser besonders hervorsticht. Um diese Daten zu bereinigen, stehen ebenfalls verschiedene Methoden zur Verfügung [CL14, S. 203f] • Bei der Klasseneinteilung werden die verrauschten Daten gruppiert und durch Mittel- oder Grenzwerte ersetzt. • Mit Hilfe einer Regressionsfunktion werden die Daten beschrieben und die verrauschten Daten werden mit Hilfe dieser Funktion ersetzt. 44 • Die Verbundbildung dient der dichtebasierten Clusterbildung, um verrauschte Daten, die außerhalb des Clusters liegen, zu erkennen und aus dem Datenbestand zu entfernen. • Bei der Mensch- und Maschine-Untersuchung stellt die Maschine eine Liste mit vermeintlich falschen Daten auf und der Mensch erkennt die verrauschten Daten anhand von Erfahrungswerten. 4.8.1.3 Datenreduktion Damit die Datenmasse für Data Mining nicht zum Problem wird, werden die Daten vor der Verarbeitung reduziert. Die Aggregation dient der Verdichtung der Daten, indem mehrere Informationen zu einer zusammengefasst werden. Hierbei werden die Fakten entweder Datensatzweise aufsummiert oder es werden Mittelwerte gebildet, während Spalten Zusammengefasst werden (Tag + Monat + Jahr = Datum) [CL14, S. 206]. Die somit hinfälligen Informationen werden aus der Verarbeitung entfernt. Besitzt ein Datensatz z.B. die Information seit wann eine Person ein Kunde ist und das aktuelle Datum, bei dem die Tage, Monate und Jahre noch getrennt vorliegen, dann können diese sechs Spalten in die Information „Kunde seit x Monaten“ zusammengefasst werden. Zusätzlich können aus 200 Einkäufen eines Kunden die Gesamtsumme und der Durchschnittswert sämtlicher Einkäufe ermittelt werden, sodass nur noch ein Datensatz verwendet wird. Bei der Dimensionsreduktion werden statt aller Attribute eines Datensatzes nur die verarbeitet, die wirklich notwendig sind. Entweder werden unwichtige Attribute aus den Daten entfernt (schrittweise Rückwärtseliminierung), wenn viele Attribute wichtig sind oder relevante Attribute werden hinzugefügt (schrittweise Vorwärtsauswahl), wenn wenige Attribute benötigt werden [CL14, S. 206]. Bei der Datenkompression werden die Daten transformiert oder codiert, damit die Komplexität der Daten verringert wird. Dabei sollen die Anzahl der Attribute minimiert werden. Dies erfolgt durch die o.g. Aggregation oder durch die Zusammenfassung von Binärattributen zu einem Byte [CL14, S. 207]. Z.B. werden das Geschlecht, die Tatsache, ob die Person ein Kunde ist, ob die Person Werbung erhalten möchte und ob sie kontaktiert werden möchte mit 0 und 1 statt ja, nein, männlich und weiblich codiert. Diese Informationen werden dann in ein Attribut zusammengefügt und enthalten als Wert z.B. 0110. Die numerische Datenreduktion verwendet nicht alle Datensätze, sondern nur eine Stichprobe, also eine Teilmenge der gesamten Daten. Dies kann z.B. durch die Selektion zufälliger Daten, die Auswahl repräsentative Daten oder die Ermittlung der Durchschnittswerte erfolgen. 45 4.8.1.4 Datentransformation Daten müssen angepasst werden, wenn sie für das Data Mining Verfahren nicht das benötigte Datenformat besitzen. Je nach Verfahren müssen die Daten z.B. numerisch sein, obwohl sie originär als Literal vorliegen. Lokale Besonderheiten (Umlaute, Formate einer Einheit) sind dabei zu berücksichtigen. Folgende Anpassungen und Transformationen sind notwendig bzw. sinnvoll [CL14, S. 209ff]: • Die Konvertierung / Codierung ändert eine nominale Angabe (z.B. groß, mittel, klein) in einen ordinalen Wert (z.B. groß = 1; mittel = 0,5; klein = 0). Wichtig ist nur, dass die Ordnung erhalten bleibt und groß nicht kleiner wird als klein. • Zeichenketten müssen angepasst werden, wenn Umlaute oder andere Sonderzeichen nicht verarbeitet werden können. • Datumsangaben und Maßeinheiten müssen ggf. aufgrund lokal unterschiedlicher Angaben angepasst bzw. umgerechnet werden. • Normalisierung und Skalierung dient der Transformation aller Ausprägungen eines Attributes auf eine stetig numerische Skala. • Es können Attribute verknüpft oder getrennt werden, um neue Informationen zu erhalten. Z.B. werden von einer Telefonnummer die ersten vier Zeichen getrennt, um die Vorwahl zu erhalten. Oder es werden ein Betrag und dessen Währung zusammengefasst. • Die Berechnung abgeleiteter Werte ermöglicht die Aufnahme neuer Attribute wie z.B. den prozentualen Anteil eines Produktes am Gesamtumsatz. • Datenaggregationen verdichten die Daten auf eine andere Ebene z.B. Gesamtzahl der gelagerten Waren. • Durch z.B. Regressionen werden bei der Datenglättung Werte durch idealisierte Werte ersetzt, um ein mögliches Rauschen zu verhindern. 4.8.2 Abstandsmaße Damit die Daten in den verschiedenen Data Mining Methoden verglichen werden können, werden Abstandsmaße benötigt. Dies ist notwendig, damit ermittelt werden kann, wie unterschiedlich / ähnlich die Daten sind bzw. ob sie einen Zusammenhang haben. Hierfür existieren vier wesentliche Funktionen [CL14, S. 44]: • Die Hamming-Distanz ermittelt, wie viele unterschiedliche Werte zwischen zwei Datensätzen vorhanden sind. Dies ist z.B. bei Textattributen oder nominalen Werten notwendig, da auf ihnen keine Berechnungen durchgeführt werden können. Sind die Ausprägungen der Attribute unbedeutend, da es nur wichtig ist, dass sie verschieden sind, wird die Hamming-Distanz verwendet. Werden 46 die Attribute z.B. in eine binäre Codierung überführt, dann werden die Datensätze Bitweise verglichen. Da nur 0 und 1 existieren reicht zu wissen, dass sie unterschiedlich sind. distH (v, w) = counti (vi 6= wi ) (4.1) • Der Euklidische Abstand ermittelt die räumliche Distanz zweier Punkte bzw. Attribute. Dies ist entweder ein mathematischer oder geografischer Raum. Aufgrund der Berechnung sind nur metrische Attribute zu verwenden. Verwendet wird diese Distanz, wenn der direkte / gerade Abstand zwischen den Werten betrachtet wird. Ein Helikopterflug über New York wird im euklidischem Abstand berechnet, da der Helikopter direkt, in einer geraden Strecke, fliegen kann. r distE (v, w) = ∑(vi − wi )2 (4.2) i • Die Manhatten Distanz dient ebenfalls der Ermittlung des räumlichen Abstandes, allerdings wird hier, wie bei einem Schachbrett, jeder Schritt auf der Achse gezählt. Möchte ein Taxi-Fahrer die gleiche Verbindung wie der Helikopter überbrücken, muss die Manhatten-Distanz verwendet werden, da die Anordnung der Straßen (zumindest in Manhatten (daher der Name)) wie ein Schachbrett angelegt sind. distMan (v, w) = ∑ |vi − wi | (4.3) i • die Maximum Distanz ermittelt den Abstand zwischen allen Attributen (metrisch) und wählt dann den größten aus. Somit werden Vergleiche immer nur zwischen zwei Attributen durchgeführt. distMax (v, w) = max(|vi − wi |) i (4.4) 4.8.3 Data-Mining Methoden Für die Datenanalyse mit Hilfe von Data Mining stehen verschiedenste Methoden zur Verfügung. Wie bereits in Abschnitt 2.3 beschrieben, dient das Data Mining der Entdeckung von Zusammenhängen und Mustern zwischen Daten, sowie der Bildung von Modellen. Dieses erfolgt in Form von Klassifikation, Cluster-Analysen, Assoziationsanalysen oder numerischen Vorhersagen. Eine kurze Übersicht über einige DM-Verfahren bietet Tabelle 4.8.3, die das Anwendungsfeld und einige der dazu anwendbaren Methoden aufführt. Die Erläuterungen folgen in den nächsten Abschnitten. 47 Tabelle 4.2: Data Mining Verfahren der einzelnen Aufgabenbereiche Klassifikation Assoziation Numerische Cluster-Analyse Vorhersage Entscheidungs- A-Priori Lineare baumlernen k-Means Regression regelbasierte k-Medoid Klassifikation K-Nearest- dichtebasiertes Neighbour Clustern Naive Bayes agglomeratives / devisives Clustern Quelle:Eigene Darstellung nach [CL14] 4.8.3.1 Klassifikation Die Klassifikation wird verwendet, um Datensätze zu kategorisieren, indem den Datensätzen definierte Werte in ein Zielattribut zugewiesen werden. Z.B. soll bei einem Bewerber ermittelt werden, ob er eingestellt werden sollte oder nicht. Um die Klassifikation durchzuführen wird das überwachte Lernen (siehe Abschnitt 4.2) angewendet. Hierbei sind die Werte, die zu einer Klassifizierung führen, bekannt, sodass die Klassifizierung eines neuen Datensatzes mit der eines Beispieldatensatzes verglichen werden kann. Dadurch sind Anpassungen an der Klassifikationsmethode bei fehlerhaften Ergebnissen möglich. Zu dem überwachten Lernen gehört auch eine instanzbasierte Variante, bei der die Klassifikation über gespeicherte Beispielobjekte erfolgt. Die neuen Daten werden mit den Beispieldaten über ein Abstandsmaß verglichen und die Klasse des ähnlichsten Datensatzes übernommen [CL14, S. 83]. 4.8.3.1.1 Entscheidungsbaumlernen Ein Entscheidungsbaum ist ein Flussdiagramm, dessen Knoten einen Test auf einen Attributswert (Alter > 18), ein Ast das Ergebnis des Testes (Ja) und ein Blatt das Zielattribut (Bewerber einstellen) darstellen. Die Attribute des zu klassifizierenden Datensatzes werden entsprechend dem Baum abgefragt und den Pfad weitergehend verarbeitet, bis ein Zielattribut ermittelt werden kann (siehe Abbildung 4.2). Um einen möglichst kompakten Entscheidungsbaum zu erhalten, muss das Attribut als Knoten verwendet werden, das den höchsten Informationsgehalt aufweist. Hierfür stehen drei Verfahren zur Verfügung. Dies sind der ID3 Algorithmus mit dem Information Gain, der C4.5 Algorithmus mit der Nutzung der Gain Ratio und der CART unter Verwendung des Gini Index [HKP06, S. 296ff]. Zur Veranschaulichung wird der 48 der ID3 Algorithmus näher erläutert, da dieser alle Datensätze zur Erstellung eines vollständigen Entscheidungsbaumes verwendet (CART erstellt Binärbäume) und als Grundlage für den C4.5 Algorithmus dient. Der ID3 Algorihmus ist iterativ und baut einen Baum wie folgt auf: In der ersten Iteration werden alle Beispieldaten und Attribute verwendet. Zuerst wird geprüft, ob alle Datensätze zu der gleichen Klasse gehören. Ist dies nicht der Fall wird ein Attribut ausgewählt, als Startknoten verwendet und aus der Attributsliste entfernt. Für jeden Wert des Attributes in den Beispieldatensätzen wird ein Ast erstellt. Für den Folgeknoten werden nun alle Datensätze, die diesen Attributwert enthalten verwendet und die nächste Iteration durchgeführt. Hier wird also wieder geprüft, ob alle Datensätze das gleiche Zielattribute (die gleiche Klasse) besitzen. Ist nur eine Klasse vertreten wird der Knoten als Blatt erstellt und die Iteration ist beendet. Nun wird mit dem nächsten Ast fortgefahren. Dies erfolgt solange, bis alle Datensätze eindeutig klassifiziert werden können [CL14, S. 97ff]. Um herauszufinden, mit welchem Attribut die Lösung am schnellsten gefunden wird, dient der Informationsgewinn / Information Gain. Das Attribut mit dem größten Gewinn wird als Knoten verwendet. Es werden sowohl der Wurzelknoten, als auch die Folgeknoten mit dem Informationsgewinn ermittelt. Hierzu werden der Informationsgehalt und der Informationsgewinn benötigt [HKP06, S. 297ff]. Der Informationsgehalt zeigt die Unordnung / Unreinheit der Daten. Die Unreinheit sagt aus, wie viele unterschiedliche Klassen in der Datenbasis enthalten sind. Der Informationsgehalt wird für die aktuelle und für die nächste Ebene des ausgewählten Attributes benötigt. Informationsgehalt aktuelle Ebene: n I(B) = ∑ −p(bi ) ∗ log2 (p(bi )) (4.5) i=1 b sind hierbei die möglichen Werte des Attributes B und p die relative Häufigkeit. Informationsgehalt nächster Ebene: n |Ei | ∗ I(Ei ) i=1 |E| G(B) = ∑ (4.6) E ist die gesamte Datenmenge und Ei ist eine Teilmenge von E, in der alle Daten mit einer Ausprägung, des zuvor ausgewählten Attributes, enthalten sind. Informationsgewinn: gewinn(B) = I(E) − G(B) 49 (4.7) Der Gewinn ist die Differenz zwischen dem Informationsgehalt der aktuellen und der folgenden Ebene. Er sagt aus, wie hoch der Vorteil ist, dieses Attribut zu nutzen. Das Attribut, das den größten Gewinn hat, wird folglich als Knoten verwendet. Zur Verdeutlichung dient folgendes Beispiel. Tabelle 4.3: Beispieldaten Information Gain Alter Notenschnitt Abschluss Einstellung 18 3.0 Abitur Nein 21 2.0 Fachhochschulreife Ja 16 2,5 Mittlere Reife Nein 20 2.5 Mittlere Reife Ja 20 1.0 Mittlere Reife Ja Quelle:Eigene Darstellung Das zu suchende Attribut ist die Einstellung. Als erstes wird der Informationsgehalt für sämtliche Attribute ermittelt. Um die Formel für den Informationsgehalt anwenden zu können, wird zuvor die Wahrscheinlichkeit des Eintritts der Zielattribute benötigt (p(bi )). Dies sind bei fünf Datensätzen pKeine_Einstellung = 2 5 und pEinstellung = 35 . Der Informationsgehalt für die Einstellung liegt bei IEinstellung (Tabelle) = (− 35 ∗ log2 ( 53 )) + (− 25 ∗ log2 ( 25 )) ≈ 0.97 Damit der Gain ermittelt werden kann wird erst der Informationsgehalt der anderen Attribute in Bezug auf die Einstellung benötigt. Hierzu wird der Attributwert mit der Zielausprägung gegenübergestellt und gezählt. Folgende Tabelle stellt dies exemplarisch für den Abschluss dar. Tabelle 4.4: Beispieldaten Information Gain Abschluss / Einstellung Wert Einstellung keine Einstellung Abitur 0 1 Fachhochschulreife 1 0 Mittlere Reife 2 1 Quelle:Eigene Darstellung Nun wird der Informationsgehalt ermittelt. Im Zähler steht die Häufigkeit der Kombination (Abitur und keine Einstellung = 1) und im Nenner die Anzahl der Datensätze pro Attribut (Abitur = 1): IAbitur = (− 01 ∗ log2 ( 01 )) + (− 11 ∗ log2 ( 11 )) = 0 Für die restlichen Ausprägungen ergeben sich folgende Werte: IFH (− 11 ∗ log2 ( 11 )) + (− 01 ∗ log2 ( 01 )) = 0 IMittlereRei f e = (− 32 ∗ log2 ( 23 )) + (− 31 ∗ log2 ( 13 )) ∼ 0.92 50 Der Informationsgehalt für den Abschluss ergibt sich nun aus den Informationsgehältern multipliziert mit den relativen Wahrscheinlichkeiten der Abschlüsse in der gesamten Datenmenge. Somit ergibt sich folgender Wert: G(Abschluss) = 15 ∗ 0 + 51 ∗ 0 + 25 ∗ 0.92 = 0.552 Die restlichen Attribute werden auf die gleiche Weise berechnet und erhalten folgenden Gain: G(Notenschnitt) = 51 ∗ 0 + 15 ∗ 0 + 52 ∗ 1 + 51 ∗ 0 = 0.4 G(Alter) = 15 ∗ 0 + 51 ∗ 0 + 51 ∗ 0 + 52 ∗ 0 = 0 Nun wird der Gewinn ermittelt, in dem die einzelnen Gains vom Informationsgehalt des Zielattributes subtrahiert werden. gewinn(Abschluss) = 0.97 − 0.552 = 0.418 gewinn(Notendurchschnitt) = 0.97 − 0.4 = 0.57 gewinn(Alter) = 0.97 − 0 = 0.97 Das Alter hat den höchsten Informationsgewinn, weshalb es es zuerst gewählt wird. Die Berechnung des nächsten Gewinns erfolgt auf gleiche Weise, nur dass jetzt das Alter als Ausgangsattribut dient und nicht mehr die Einstellung. Abbildung 4.2 stellt einen sehr kurzen, aber optimalen (Grafik 1) Entscheidungsbaum und einen ungünstigen (Grafik 2) dar. Abbildung 4.2: Beispiel: Entscheidungsbaum Quelle: eigene Darstellung Da der Entscheidungsbaum nur einmal und nicht jedes Mal erstellt werden muss, damit er für alle folgenden Datensätze Anwendung findet, handelt es sich um ein effizientes Verfahren. Handelt es sich zusätzlich um einen kurzen Baum, so wird das Ergebnis schnell gefunden, da die Attribute entlang des Baumes geprüft werden. Zu beachten ist allerdings, dass der Baum auf Testdaten basiert, die ggf. nicht alle Attributausprägungen enthalten und es somit bei der Verarbeitung der Echtdaten zu Fehlern führen kann. 51 4.8.3.1.2 Regelbasierte Klassifikation Bei dieser Methode kommen zur Klassifikation eines Datensatzes Wenn-Dann Regeln zum Einsatz. Hierbei stellt der Wenn-Teil die Bedingung dar und prüft die Attribute des Datensatzes, während der Dann Teil das Resultat repräsentiert. Die Bedingung kann logische Operatoren wie UND und ODER enthalten. Falls mehrere Regeln auf einen Datensatz zutreffen, dann muss entschieden werden, welche der Regeln verwendet werden. Dies erfolgt durch die Sortierung der Regeln. Diese können z.B. nach der Relevanz der zu bestimmenden Klasse oder nach Komplexität der Bedingung sortiert werden [HKP06, S. 318ff]. Um Regeln zu erzeugen werden unter anderem Entscheidungsbäume verwendet. Hierbei wird jeder Pfad als Regel angesehen. Die Knoten und deren Äste sind dabei die einzelnen Bedingungen, die durch ein UND verknüpft werden. Das Blatt am Ende des Pfades stellt den zu klassifizierenden Wert dar [HKP06, S. 321f]. Am Beispiel des Entscheidungsbaumes, Abbildung 4.2 Grafik 2, entstehen somit folgende Regeln: WENN Abschluss = Abitur DANN Einstellung = Nein WENN Abschluss = FH DANN Einstellung = Ja WENN Abschluss = MR UND Alter = 20 DANN Einstellung = ja WENN Abschluss = MR UND Alter = 16 DANN Einstellung = Nein Eine andere Darstellungsform der Regeln ist die Regeltabelle, in der die Spalten die Regel und die Zeilen die Bedingung / Aktion darstellen (siehe Tabelle 4.5). Tabelle 4.5: Beispielhafte Regeltabelle in der Klassifikation Regel (Spaltenwei- R1 R2 R3 R4 R5 Wenn (Bedingung) Wert Wert Wert Wert Wert Alter 18 21 16 20 20 Notendurchschnitt 3,0 2,0 2,5 2,5 1,0 Abschluss Abi FH MR MR MR Dann (Aktion) Aktion Aktion Aktion Aktion Aktion Einstellung Nein se) Ja Nein Ja Quelle:Eigene Ja Darstellung Alternativ können Regeln mit Hilfe des Sequential Covering Alorithmus direkt aus Trainingsdaten generiert werden. Dabei werden möglichst allgemeine Regeln gesucht, die die Datensätze möglichst korrekt nach Ihrer Klasse trennen. Zu beachten ist, dass immer nur auf eine Klasse geprüft wird. Hierzu werden sämtliche Datensätze verwendet und es wird iterativ eine Regel mit erst einem Attribut, dann zwei 52 Attributen usw. definiert. Alle Datensätze, die auf diese Regeln passen, werden aus der Gesamtmenge entfernt. Die restliche Datenmenge wird für die nächste Iteration verwendet und ein neues Attribut an die Bedingung angefügt. Dies erfolgt solange, bis in der Datenmenge im Idealfall nur noch eine Klasse enthalten ist. Da dies bei einer entsprechend großen Datenmenge unwahrscheinlich ist, werden Parameter mitgegeben, die festlegen, nach wie vielen Iterationen der Algorithmus beendet wird oder wie hoch die Genauigkeit der Regeln sein muss [HKP06, S. 322ff]. Als Beispiel dienen die Datensätze aus Tabelle 4.5. Es wird mit jeder Attributausprägung nach dem Zielwert Einstellung = Ja geprüft, wobei der Algorithmus das effizienteste Attribut auswählt. WENN Abschluss = mittlere Reife DANN Einstellung = Ja. Nun werden alle Datensätze aus der Datenbasis entfernt, die auf die Regel zutreffen. Da nur Datensätze mit dem Zielwert Ja entfernt wurden, aber noch Datensätze übrig sind, handelt es sich nicht um eine gültige Regel und die nächste Regel wird erstellt. WENN Abschluss = mittlere Reife UND ALTER = 16 DANN Einstellung = Ja. Da keine Datensätze gelöscht werden, ist die Regel nicht gültig. Da aber noch Datensätze vorhanden sind wird der nächste Wert des Attributes verwendet. WENN Abschluss = mittlere Reife UND ALTER = 20 DANN Einstellung = Ja. Mit dieser Regel ein Datensatz gelöscht und kein weitere übrig bleibt, handelt es sich um eine gültige Regel, die gespeichert wird. Damit weitere und komplexere Regeln gefunden werden, wird in der nächsten Iteration entweder der Attributwert geändert, die Bedingung angepasst (statt = wird z.B. > eingesetzt) oder ein anderes Attribut verwendet. Wie bei den Entscheidungsbäumen, müssen die Regeln nur einmal erstellt werden, damit neue Daten mit ihnen klassifiziert werden können. Sollten dabei nicht alle Ausprägungen bekannt sein, werden neue Datensätze ggf. nicht in die richtige Klasse zugeordnet. Im Gegensatz zu dem Entscheidungsbaumlernen werden die Attribute nicht für alle Ebenen bewertet, sondern nur für die aktuelle Iteration. Daher kann es zu sehr langen Regeln kommen. Dafür ist sie im Vergleich zum Entscheidungsbaum leichter zu implementieren und findet schneller Regeln. 4.8.3.1.3 K-Nearest Neighbour Um eine Klasse bzw. einen Wert eines Datensatzattributes zu bestimmen, kann dieser mit den ähnlichsten Datensätzen verglichen werden. Der K-Nearest-Neighbour ist ein instanzbasiertes Verfahren, das den Datensatz mit den K (Anzahl Datensätze) ähnlichsten Datensätzen vergleicht und schließlich das Zielattribut aus diesen ermittelt [HKP06, S. 348f]. Datensätze sind sich ähnlich, wenn das Ergebnis eines Abstandma- 53 ßes gering ist. Die Anzahl für die K nächsten Nachbarn wird als Parameter mitgegeben. Für die Ermittlung des Attributes existieren die diskrete und reellwertige Funktion. Die diskrete Funktion ermittelt den am häufigsten vorkommenden Wert und hat folgende Formel [CL14, S. 85]. 1, falls a = b klasse(y) = max ∑ δ(v, f (x p )) mitδ(a, b) = 0, sonst v∈V p=1 k (4.8) In dieser Formel wird immer ein Wert (v) des Zielattributes (V) mit den Attributen der K nächsten Nachbarn, die aus den Testdaten (X) stammen verglichen. Der am meisten vorkommende Wert wird schließlich an den zu klassifizierenden Datensatz (y) geschrieben, um diesen dadurch zu klassifizieren. Ist die Farbe eines Autos das zu klassifizierende Attribut wird also jede Farbe mit denen der fünf ähnlichsten Testdatensätzen verglichen. Rot kommt drei Mal und Blau zwei Mal vor, weshalb die rote Farbe an den Datensatz geschrieben wird. Die reellwertige Funktion ermittelt den Durchschnittswert der K nächsten Nachbarn und weist dem zu klassifizierenden Datensatz den Wert dann als Ergebnis zu. Die Formel sieht wie folgt aus [CL14, S. 88]. k ∑ f (x p ) f 0 (y) = p=1 (4.9) k Z.B. soll für ein Produkt der Durchschnittspreis ermittelt werden. Hierzu wird der Abstand des Produktes zu drei weiteren Produkten ermittelt. Diese drei Produkte kosten 50e, 20e und 35e. Von den Werten wird der Durchschnitt (35e) ermittelt und dem neuen Produkt zugeteilt. Da alle Attribute in die Berechnung eingehen, können sie noch gewichtet werden, damit der Einfluss beeinflusst wird. Ohne Gewichtung würden z.B. Äpfel mit Birnen verglichen werden. Durch die Gewichtung kann der Vergleich unterbunden oder soweit abgeschwächt werden, dass der Einfluss der Äpfel sehr gering ist. Positiv an diesem Verfahren ist, dass bei korrekter Anzahl der nächsten Nachbarn das Ergebnis hochwertig ist, da nur die Datensätze verwendet werden, die Gemeinsamkeiten aufweisen. Zusätzlich werden aufgrund der Unähnlichkeit Ausreißer nicht in die Bewertung einbezogen. Nachteilig ist, dass für jeden Datensatz der Abstand zu allen Testdaten ermittelt werden muss, damit bekannt ist, welches die K nächsten Nachbarn sind. Bei vielen Daten dauert dies lange. 54 4.8.3.1.4 Naive Bayes Der Naive Bayes Ansatz ist eine statistische Methode, die davon ausgeht, dass sämtliche Attribute voneinander unabhängig sind. Bei dieser Klassifikation wird der wahrscheinlichste Zielwert (Klasse) vorhergesagt [CL14, S. 112f]. Zur Ermittlung dient die Bayessche Formel, wobei P die Wahrscheinlichkeit, X das Zielattribut und Y ein Ereignis darstellen. P(X|Y ) = P(Y |X) ∗ P(X) P(Y ) (4.10) Da vorhergesagt werden soll, welches Zielattribut am wahrscheinlichsten ist, werden für ein Ereignis mehrere Berechnungen (entsprechend der Anzahl Zielwerte) durchgeführt. Soll am Beispiel der Tabelle 4.3 bestimmt werden, ob ein 20 Jähriger mit mittlerer Reife und einem Notenschnitt von 2,5 eingestellt wird, muss entsprechend auch berechnet werden, ob dieser nicht eingestellt wird. Eingetragen in die Bayessche Formel sehen diese wie folgt aus: P(20;MR;2,5|Einstellung)∗P(Einstellung) P(20;MR;2,5) P(20;MR;2,5|keineEinstellung)∗P(keineEinstellung) P(keineEinstellung|20; MR; 2, 5) = P(20;MR;2,5) P(Einstellung|20; MR; 2, 5) = Da der Nenner der beiden Formeln identisch ist, kann er weggelassen werden. Allerdings handelt es sich dann nicht mehr um die Wahrscheinlichkeit, sondern um die Likelihood. Verallgemeinert sieht die Likelihood wie folgt aus. n L[k](A) = ∏ h[ai , k] ∗ h[k] (4.11) i=1 Die Likelihood bildet das Produkt der relativen Häufigkeit über alle Attributausprägungen und multipliziert das Produkt dann mit Häufigkeit der Klasse. Sie sagt also aus, wie wahrscheinlich es ist, dass ein Ereignis einer Klasse zugeordnet wird [CL14, S. 112f]. Da P(X|Y) die Wahrscheinlichkeit einer Klasse unter einem Ereignis darstellt kann es mit h[a, k] bzw P[k]A umschrieben werden. Der Nenner der Bayesschen Formel stellt die Wahrscheinlichkeit eines Ereignisses ohne Berücksichtigung des Zielwertes dar, sodass es mit der Summe aller Likelihoods eines Ereignisses umschrieben werden kann. Somit kann die Bayessche Formel wie folgt umschrieben werden, um die Wahrscheinlichkeit einer Klassenzuordnung unter einem bestimmten Ereignis zu erhalten[CL14, S. 112f]. P[k j ](A) = L[k j ](A) ∑ L[ki ](A) (4.12) i Zuletzt wird mit der Vorhersage ermittelt, welche Klasse mit welcher Wahrscheinlichkeit Eintritt und die mit der höchsten Wahrscheinlichkeit verwendet [CL14, S. 112f]. 55 km : Pm (A) = max(P[k j ](A)) (4.13) j In folgendem Beispiel wird diese Rechnung anhand der Daten aus Tabelle 4.3 erklärt. Die Frage lautet, ob in einem Alter von 20 Jahren, mit einer mittleren Reife, mit einem Notendurchschnitt von 2.5 eine Einstellung erfolgt. Hierfür werden nun die relativen Häufigkeiten der Attribute für sämtliche Zielausprägungen ermittelt. h[Einstellung] = 3 5 ; h[keineEinstellung] = h[20, Einstellung] = 2 3 h[2, 5, Einstellung] = 2 5 ; h[20, keineEinstellung] = 1 3 0 2 ; h[2, 5, keineEinstellung] = h[MRei f e, Einstellung] = 2 3 1 2 ; h[MRei f e, keineEinstellung] = 1 2 Die Likelihood wird berechnet (man beachte, dass es sich um die Werte der einzelnen Attribute einer Zeile handelt und nicht um die Ausprägungen eines Attributes): L[Einstellung](20, MRei f e, 2, 5) = h[20, Einstellung] ∗ h[2, 5, Einstellung] ∗ h[MRei f e, Einstellung] ∗ h[Einstellung] = 13 ∗ 23 ∗ 23 ∗ 53 = 0, 08 L[keineEinstellung](20, MRei f e, 2, 5) = h[20, keineEinstellung]∗h[2, 5, keineEinstellung]∗ h[MRei f e, keineEinstellung] ∗ h[keineEinstellung] = 02 ∗ 12 ∗ 12 ∗ 25 = 0 Mit den Likelihoods werden nun folgende Wahrscheinlichkeiten errechnet: P[Einstellung](20, 2, 5, MRei f e) = 0,08 0,08+0 P[keineEinstellung](20, 2, 5, MRei f e) = =1 0 0+0,08 =0 Da die Einstellung einer 20 jährigen Person mit einer mittleren Reife und einem Notendurchschnitt von 2,5 mit einer Wahrscheinlichkeit von 1 zu 100% eintritt und somit höher ist, als die Wahrscheinlichkeit, dass er nicht eingestellt wird, wird dem Datensatz die der Wert ja bei der Einstellung zugeordnet. Nachteilig am Naive Bayes ist, dass alle Attribute als unabhängig voneinander angesehen werden und unwichtige Attribute genauso verrechnet werden, wie wichtige.Vorteilhaft hingegen ist, dass die Häufigkeit der Attributwerte nur einmal ermittelt wird, weshalb es ein effizientes Verfahren ist. 56 4.8.3.2 Assoziationsanalyse Die Assoziationsanalyse beschreibt den Zusammenhang von Daten. Sie wird häufig im Bereich der Warenkorbanalyse verwendet, um zu ermitteln, welche Produkte gemeinsam gekauft werden. Die Regeln, die aus der Assoziationsanalyse entstehen, werden in der Form Wer a kauft, kauft auch b interpretiert [CL14, 175f]. Für die Assoziationsanalyse existierten verschiedene Methoden, von denen der APriori Algorithmus bekannt ist und in diesem Abschnitt kurz erläutert wird. Elemente der Analyse Attribute in einem Datensatz oder Artikel in einem Warenkorb, werden bei häufigem Vorkommen als „Frequent Pattern“ bezeichnet. Dabei unterscheiden sie sich in drei Arten von Pattern [HKP06, S. 227]: • Frequent itemsets sind Attribute, die häufig gemeinsam in einem Datensatz auftauchen. • Frequent sequential patterns sind Attribute, die häufig nacheinander (historisch) auftreten. • Frequent structured patterns sind strukturelle Formen, die mit Itemsets oder Subsequenzen verknüpft werden und häufig vorkommen. Im Rahmen dieser Ausarbeitung wird nur das Frequent Itemset betrachet, da es die Basis für die anderen beiden technologien darstellt. Der Support sagt aus, wie häufig ein Attribut, bzw. eine Attributkombination im gesamten Datenbestand vorkommt. Damit ein Pattern als häufig angesehen wird, muss der Support einen festgelegten Schwellwert überschreiten. Dargestellt wird der Support in der folgenden Formel [HKP06, S. 229f]. support(A → B) = P(A ∪ B) (4.14) Die Konfidenz sagt aus, wie stark der Zusammenhang ist. „[Sie] gibt die bedingte Wahrscheinlichkeit eines Items B bei gegebenem Item A an.“ [CL14, S. 223] Die Formel zur Konfidenz lautet con f (A → B) = P(B|A) = supp(A → B) supp(A) (4.15) Angenommen, das Itemset besteht aus den Artikeln Chips und Salzstangen und führt zum Kauf von Cola. Chips, Salzstangen und Cola tauchen zu 5% im gesamten Datenbestand gemeinsam auf (Support 5%). Chips und Salzstangen sind aber zu 10% enthalten (Support 10%) und die Cola wurde zu 20% (Support 20%) gekauft. Dann beträgt die Konfidenz 50% ( supp(Chips∪Salzstangen→Cola) ). Folglich ist die Konfidenz der supp(Chips∪Salzstangen) 57 relative Anteil des gesamten Itemsets am relativen Anteil des Bedingungs-Itemsets. Sprich in 50% der Fälle, in der Chips und Salzstangen gekauft wurden, wurde auch COla gekauft und in 50% der Fälle nicht. Es lohnt sich also, Cola im Laden sichtbar zu den Knabbersachen zu stellen. Da bei der Konfidenz die Wahrscheinlichkeit des Itemsets B (oder im o.g. Beispiel die Cola) nicht berücksichtigt wird, würde ein starker Zusammenhang ausgedrückt werden, wenn die Cola bei jedem Einkauf vorhanden ist. Daher wird noch die Completeness berücksichtigt. Sie wird durch folgende Formel ausgedrückt [CL14, S. 224]: completeness(A → B) = P(A ∪ B|B) = supp(A → B) supp(B) (4.16) Somit beträgt die Completeness 25% ( supp(Chips∪Salzstangen→Cola) ). Sie zeigt also an, supp(Cola) wie oft wieviele der Käufe mit Cola auch Chips und Salzstangen enthielten. Für die Ermittlung von Frequent Itemsets muss die Monotonieeigenschaft berücksichtigt werden, die aussagt, dass ein Support nicht steigen kann, wenn ein Item dem Set hinzugefügt wird und andersherum kann er nicht sinken, wenn ein Item entfernt wird. Eine Teilmenge des Itemsets muss ebenfalls den Support erfüllen [HKP06, S. 235]. Z.B. Beträgt der Support von Salzstangen 10% und von Chips15 % und von Cola 20%. Werden dem Itemset Salzstangen die Chips hinzugefügt, dann kann der Support nicht mehr als 10% sein. Wird den Items jetzt die Cola hinzugefügt, dann kann der Support auch nicht auf 20% steigen. Der Support bleibt somit bei 10%. Da alle drei Items ein Frequent Itemset sind, kann der Support von 10% nicht sinken, wenn Cola wieder aus dem Set entfernt wird. A-Priori Algorithmus Um Frequent Itemsets zu ermittelt wird der A-Priori Algorithmus verwendet. Ihm werden zu Beginn des Verfahrens die Schwellwerte für den Support und die Konfidenz mitgeteilt, den ein Itemset mindestens erfüllen muss. Mit Hilfe des Mindestsupports werden nun Frequent Itemsets ermittelt, aus denen Assoziationsregeln erstellt werden. Die Ermittlung der Itemsets erfolgt in zwei Phasen [CL14, S. 176ff]. In der Join-Phase werden in der ersten Iteration ein-elementige Itemsets gebildet (nur Chips; Cola; Salzstangen). In der zweiten werden diese Itemsets paarweise verbunden, sodass zwei-elementige Itemsets entstehen (Chips und Cola; Salzstangen und Chips; Cola und Salzstangen). In den weiteren Iterationen werden dann k-elementige Itemsets gebildet, die sich in den k-1 elementigen Itemsets in einem Item unterscheiden (Chips und Cola; Cola und Salzsangen wird zu Chips und Cola und Salzstangen). In der Pruning-Phase werden alle Itemsets daraufhin geprüft, ob die enthaltenen (k − 1) elementigen Itemsets den Support erfüllt haben. Sollte dies nicht der Fall sein, 58 dann ist das gesamte Itemset kein Frequent-Itemset und wird aus der Verarbeitung entfernt. Sollten noch Kandidaten übrig sein, wird der Support für das Itemset berechnet. Dieses Vorgehen erfolgt iterativ mit immer größeren Frequent Itemsets, bis keine neuen Frequent Itemsets mehr gefunden werden. Bei der Erzeugung der Regeln werden die Frequent Itemsets in zwei nicht leere Teilmengen getrennt und dessen Konfidenz errechnet. Sollte die Konfidenz den Schwellwert nicht erreichen, wird die Regel nicht berücksichtigt. Z.B. werden die Itemsets Salzstangen → Cola ∪ Chips und Cola ∪ Salzstangen → Chips gebildet. Erreichen sie die geforderte Konfidenz besteht eine Assoziationsregel 4.8.3.3 Numerische Vorhersage Die numerische Vorhersage dient der Ermittlung fortlaufender Werte, statt eines bestimmten Zielwertes, wodurch es möglich ist Vorhersagen zu treffen. Z.B. soll vorhergesagt werden, wie der Börsenkurs einer Aktie in den folgenden Tagen ist. Meist werden Regressionen verwendet, die den Zusammenhang zwischen einer oder mehrerer unabhängiger Einflussgrößen und einer Zielgröße analysieren. Hierzu wird aus den bekannten Daten eine Funktion ermittelt. Bei der linearen Regression handelt es sich dabei um eine Gerade, während es bei der nichtlinearen eine Kurve ist. Die Funktion repräsentiert die Daten möglichst gut, so dass sie von den vorhanden Werten möglich wenig abweicht. Bei einer guten Funktion wird davon ausgegangen, dass aus neuen Daten gute Werte errechnet werden [HKP06, S. 354]. Abbildung 4.3 zeigt eine Gerade in vorhanden Daten. Abbildung 4.3: Beispiel: Lineare Regression [CL14, S. 63] Lineare Regression Eine einfache Gerade in der linearen Regression besteht aus einer Einfluss- und einer 59 Zielgröße und wird durch folgende Formel beschrieben: y = b + wx (4.17) y stellt den zu ermittelnde Zielwert dar, b ist der Achsenabschnitt, w ist die Steigung und x ist die Einflussgröße. Da es sich um eine Vorhersage handelt und der ermittelte Wert auf der Regressionsgeraden liegt, weicht der Zielwert mehr oder weniger stark von dem realen Wert ab. Damit dieser Fehler minimiert wird, findet die Methode der kleinsten Quadrate anwendung. Hierzu werden die Regressionskoeffizienten (b und w) über folgende Formeln ermittelt [HKP06, S. 355f]: |D| ∑ (xi − x)(yi − y) w= i=1 (4.18) |D| ∑ (xi − x)2 i=1 b = y − wx (4.19) Die multiple lineare Regression enthält mehr als einen Einflusswert und wird über folgende Formel beschrieben [HKP06, S. 357]: y = b + w1 x1 + w2 x2 . . . wn xn (4.20) Nicht-Linerare Regression Besteht zwischen der Einfluss- und der Zielgröße ein nicht linearer Zusammenhang, z.B. in Form einer polynomen Funktion sieht die Formel wie folgt aus: y = b + w1 x + w2 x2 + w3 x3 . . . wn xn (4.21) Damit diese Formel verwendet werden kann, wird sie in eine lineare Funktion transformiert, in dem die Potenzen aufgelöst werden. x1 = x1 x2 = x2 x3 = x3 (4.22) Nun ist es möglich mit Hilfe der Methode der kleinsten Quadrate die Koeffizienten zu ermitteln. 4.8.3.4 Cluster-Analyse Um herauszufinden, welche Daten einen Zusammenhang aufweisen wird die ClusterAnalyse verwendet. Sie ermittelt, welche Datensätzen sich ähnlich sind und gruppiert sie. Der Abstand zwischen den so gebildeten, unterschiedlichen Datengruppen sollte 60 möglichst groß sein, und die verschiedenen Cluster sauber und überlappungsfrei getrennt zu haben. Um die Ähnlichkeit bzw. Unähnlichkeit zu bestimmen werden Ähnlichkeitsmaße, siehe Abschnitt 4.8.2, verwendet [HKP06, S. 383]. Mit der Cluster-Analyse wird z.B. ermittelt welche Bestandskunden und welche Facebook- oder Amazonnutzer (Nichtkunden, die über Kommentare ermittelt wurden) sich ähnlich sind. Diese Information wird genutzt, um abzugleichen, was die jeweils anderen Kunden eines Clusters gekauft haben, um somit Cross-Selling Angebote für Bestandskunden und Neukundenangebote für die Nichtkunden zu erstellen. Die Cluster-Analyse wird in drei Kategorien eingestuft [in Anlehnung an CL14, S.187] • Partitionierend: Es werden alle Datensätze in eine definierte Menge Cluster (k) einsortiert. Dabei werden ähnliche Daten in ein Cluster gelegt. Zu beachten ist, dass ein Cluster mindestens einen Datensatz enthalten muss und ein Datensatz maximal in einem Cluster vorhanden sein darf. Z.B. werden hier die Kunden aufgrund gleicher Interessen oder des bisherigen Kaufvolumens in ein Cluster gelegt. • Hierarchisch: Cluster werden entweder im Top-Down Ansatz von einem großen Cluster in immer kleiner werdende Cluster unterteilt, bis eine Endbedingung eintritt, oder nur noch ein Datensatz pro Cluster besteht. Im Bottom-Up Ansatz wird jeder Datensatz einem Cluster zugeordnet und diese werden bis zu einer Endbedingung oder bis nur noch ein Cluster besteht zusammengefasst. Dies wird verwendet, um z.B. die gekauften Produkte einer gemeinsamen Produktgruppe zuzuweisen. Dabei werden Mobil- und Festnetztelefone in die Kategorie Telefonie gruppiert. • Dichtebasiert: Datensätze werden aufgrund ihrer Entfernung in ein Cluster sortiert. Wird eine gegebene Entfernung überschritten, wird der Datensatz nicht mehr ins Cluster aufgenommen. Hiermit werden Ausreißer ignoriert. Eine Gruppe Kunden, die Smartphones kauft ist einer anderen Kundengruppe, die Kameras kauft auf den ersten Blick nicht ähnlich und würde in verschiedenen Clustern enden. Allerdings haben viele der Smartphonekäufer eine leistungsstarke Kamera, das die beiden Käufergruppen verbindet. So wird das dichtebasierte Clustern diesen Zusammenhang finden, während andere eine Trennung vornehmen. 4.8.3.4.1 k-Means k-Means ist ein Beispiel für eine partitionierte Cluster Methode, genauer ist es eine Centroid-Basierte. Centroide stellen dabei einen Durchschnittswert sämtlicher im Cluster enthaltenen Daten dar. Somit sind sie der Mittelpunkt des Clusters und kein echter Datensatz. Verwendet wird es bspw. in der Bildanalyse, da es gut geeignet ist, ähnliche Objekte 61 zu segmentieren (vgl. Abschnitt 4.7). Die Cluster werden in einem iterativen Verfahren erstellt, das kurz erläutert wird. Der Methode wird mitgeteilt, wie viele Cluster gebildet werden sollen. Daraufhin werden zufällig k Centroide ausgewählt. Nun werden alle Daten, nach deren Abständen zu den Centroiden, einem Cluster zugeordnet. Wurden alle Daten geclustert erfolgt die Ermittlung eines neuen Centroiden innerhalb der einzelnen Cluster. Die Daten werden wieder der Nähe nach an den neuen Centroiden geclustert. Dies erfolgt solange, bis sich der Centroid nicht mehr ändert und somit die optimale Clusterung gefunden wurde [HKP06, S. 402f]. Problematisch am k-Means sind folgende Punkte: • Sind Ausreißer enthalten, ziehen sie den Centroiden vom eigentlichen Cluster weg und verzerren diesen, da der Centroid den Mittelwert aller Cluster darstellt und alle Daten gruppiert werden. • Werden die initialen Centroiden schlecht gewählt, erhöht sich der Aufwand, um die optimalen Cluster zu ermitteln, da mehrere Iterationen durchlaufen werden müssen. • In jedem Schritt müssen sämtliche Abstände zwischen dem Centroiden und den Daten berechnet werden, wodurch es zu einer langen Verarbeitung kommen kann. • Konvexe Cluster (z.B. in einem mehrdimensionalen Raum) werden nicht erkannt, da die Daten auf der anderen Seite des Raumes einem anderen Cluster zugeordnet werden. Vorteilhaft sind die verhältnismäßig geringen Iterationen, die leichte Implementierung des Algorithmus und die leichte Verständlichkeit [CL14, S. 141]. 4.8.3.4.2 k-Medoid Der k-Medoid gehört ebenfalls zu den partitionierenden Methoden. Im Gegensatz zum k-Means werden, statt eines Centroiden, Medoiden verwendet. Medoiden sind tatsächlich existierende Datensätze. Wie das k-Means Verfahren wird auch der k-Medoid verwendet, um Grafiken zu segmentieren. Der große Unterschied besteht allerdings darin, dass Ausreißer den Cluster nicht verzerren, da der Medoid sich nur bei Optimierung des Clusters ändert. Der Ablauf wird im Folgenden kurz beschrieben. Es werden initiale Medoiden ausgewählt und die restlichen Daten über Abstandsmaße den Medoiden zugeordnet. Die Kosten (Abstände) der Daten werden summiert. Nun wird ein neuer Medoid ausgewählt und die Daten werden erneut zugeordnet. Die Kosten der Cluster werden ermittelt und mit den Kosten der vorherigen Cluster verglichen. 62 Nur wenn sich die Kosten verringert haben wird die Änderungen vorgenommen. Andernfalls wird der Tausch des Medoiden zurückgenommen und ein andere Datensatz als Medoid verwendet. Dies erfolgt solange, bis sich die Kosten nicht mehr verringern. Die Formel zur Ermittlung der Kosten lautet [CL14, S. 148f]: Kosten(Ci ) = ∑ dist(xi, x) (4.23) x∈Ci Ci steht dabei für die Cluster und xi für den Medoiden dieser. Folglich wird pro Cluster die Distanz zwischen dem Medoid und den einzelnen Punkten errechnet und aufsummiert. Verglichen mit der k-Means Methode ist der k-Medoid gegenübern Ausreißern weniger anfällig, da nur bei geringeren Kosten der Medoid gewechselt wird und der Repräsentant ein echter Datensatz und kein errechneter Punkt ist. Allerdings erhöht sich der Rechenaufwand, da die Entfernungen mehrfach berechnet werden müssen, wenn der Medoid getauscht wird. 4.8.3.4.3 Dichtebasiertes Clustern Die bisherigen Cluster-Verfahren gehen davon aus, dass die Daten sauber voneinander getrennt werden können, da sie die Entfernung zu einem zentralen Punkt verwenden. Z.B. sollen Stimmungen oder Trends in Deutschland ermittelt werden. Die bisherigen Cluster ermitteln einen Radius, in dem verschiedene Stimmungen herrschen (Unzufriedenheit und Krankheit in Kiel und Umkreis 100 KM). Das dichtebasierte Clustern verfolgt eine Stimmung durch verschiedene Regionen (Krankheit erstreckt sich von Kiel über Lübeck nach Rostock und Unzufriedenheit läuft von Kiel nach Hamburg). Das dichtebasierte Clustern arbeitet mit Hilfe der Nähe von Datensätzen zueinander. Außerdem existiert kein zentraler Punkt, von dem aus die anderen zugehörigen Datensätze ermittelt werden, weshalb jeder Datensatz als Startpunkt dienen kann. Ausreißer werden aufgrund ihrer Entfernung nicht in Cluster aufgenommen [CL14, S. 160]. Das dichtebasierte Clustern benötigt zwei Parameter. Zum einen wird der Radius benötigt, in dem Punkte zu einem anderen Punkt enthalten sein müssen und zum anderen wird die minimale Anzahl an Punkten benötigt, die in diesem Radius enthalten sein sollen. Nur mit diesen Angaben kann das dichtebasierte Clustern erfolgen. Zu Beginn wird ein willkürlicher Punkt ausgewählt und die Entfernung zu den anderen Punkten berechnet. Liegt die Entfernung innerhalb des vorgegebenen Radius, wird er in einem Set gespeichert. Wurden alle Entfernungen ermittelt wird geprüft, ob die Mindestanzahl an Datensätzen erreicht wurde. Ist dies der Fall, werden die Punkte einem Cluster zugeordnet. Der Ausgangspunkt wird als Kernpunkt bezeichnet, während die Dantesätze in seinem Radius dichteerreichbar sind. Die dichteerreichbaren Punkte werden als nächstes für die Ermittlung der Entfernung verwendet. Sind wieder die 63 geforderten Mindestanzahl Punkte in dem Radius enthalten, wird der dichteerreichbare Punkt aus dem vorherigen Schritt ebenfalls zu einem Kernpunkt. Sollte dies nicht der Fall sein, bleibt er dichteerreichbar und stellt den Rand des Clusters dar. Sollte der initiale Punkt die erforderliche Anzahl Punkte nicht enthalten, wird dieser als Rausch gekennzeichnet. Sollte ein Punkt zu mehreren Punkten dichtebasiert sein, wird er von dem Cluster aufgenommen, das ihn zuletzt ermittelt hat [CL14, S. 160ff]. 4.8.3.4.4 Agglomeratives und devisives Clustern Das agglomerative Clustern entspricht dem bereits kurz beschriebenen Bottom-Up Clustern, während das devisive den Top-Down Ansatz darstellt. Sie gehören somit zu den hierarchischen Cluster-Methoden. Beide Ansätze Clustern alle Objekte, bis diese in einem eigenen Cluster (devisiv) oder in einem gemeinsamen Cluster (agglomerativ) eingeordnet sind. Das muss aber nicht bis zum Ende erfolgen und kann mit einer Endbedingung vorzeitig beendet werden [HKP06, S. 408f]. Beim agglomerativen Ansatz werden z.B. die Artikel Cola, Fante, Sprite in die Obergruppe Softdrinks, Kaffee, Tee und Latte Macchiato in Heißgetränke gruppiert. Heißgetränke und Softdrinks werden gemeinsam in die Kategorie der Getränke gegliedert. Beim devisiven Clustern erfolgt dies anders herum. Aus den Getränken werden die Gruppen Heißgetränke und Softdrinks gebildet, die widerum in die einzelnen Artikel Cola, Tee etc. getrennt werden. Um bei dem agglemorativen Clustern zwei Objekte zu einem Cluster zusammenzufügen werden, vier Ansätze verwendet [CL14, S. 156]. • Der Single Linkage ermittelt den geringsten Abstand zwischen zwei Clustern, indem die nähesten Nachbarn beider Cluster verglichen werden. • Der Complete Linkage Ansatz prüft zwei Cluster auf die am weitesten entfernten bzw. am unterschiedlichsten Datensätze eines Clusters. • Beim Average Linkage wird jeder Datensatz der beiden Cluster miteinander verglichen und die Summe als Entfernung verwendet. • Zuletzt wird noch der Centroid oder Medoid verwendet, um die Entfernung zweier Cluster zu ermitteln. Das devisive Cluster trennt die Objekte in zwei Cluster, indem das Verfahren des Complete Linkage verwendet wird. Hierbei wird der größte Abstand aller Datensätze ermittelt und die Cluster anhand dieser beiden Punkte gebildet [HKP06, S. 409]. Ein Problem bei dieser Art der Clusterung ist, dass die nächste Verknüpfung oder Trennung von Clustern auf den zuvor ermittelten Clustern basiert. Wurden die ersten Cluster schlecht gewählt, werden folgende Cluster ebenfalls schlechter. Dafür ist das hierarchische Clustern informativer, da den Clustern eine hierarchische Struktur mitgegeben wird, die bei anderen Verfahren fehlt. 64 5 Visualisierung und Management Cockpits Ziel der Visualisierung ist es, aus Datenmassen strukturierte Informationen zu einem Sachgebiet dynamisch darzustellen, damit der Anwender entscheidungsrelevante Erkenntnisse gewinnen kann. Die Analysen aus Kapitel 4 werden mit Hilfe der Visualisierung auf ihre Richtigkeit Abbildung 5.1: Big Data Taxonomie: Ein- überprüft, indem in den Analyseprozess ordnung Visualisierung eingegriffen werden kann [BIT14, S. 73]. Quelle: [Zuh15] Damit die Visualisierung sinnvoll eingesetzt werden kann, muss sie einige Eigenschaften erfüllen. Da es sich bei Big Data um riesige Datenmengen handelt und diese sehr schnell verarbeitet werden müssen, muss die Schnittstelle zwischen Analysesystem und Visualisierungssystem performant arbeiten und die Visualisierungsanwendung muss die Daten auch sehr schnell verarbeiten und darstellen können. Idealerweise ist das Visualisierungssystem in der Lage die Daten in Echtzeit anzuzeigen [BIT14, S. 74]. Die Visualisierungstechniken der fortgeschrittenen Visualisierung, der Real-Time Intelligence und der Management Cockpits werden in den folgenden Abschnitten erläutert. 5.1 Fortgeschrittene Visualisierung Das Cross Industry Standard Process for Data Mining (CRISP)-Modell (vgl. 2.3.2) hilft bei der Validierung von Data Mining- Modellen. Da diese allerdings nicht sofort korrekt sind, in mehreren Schritten erzeugt werden und die Erzeugung zwischen den Schritten nicht validiert werden kann, dauert die Optimierung eines Modelles sehr lange dauern. Die fortgeschrittene Visualisierung unterstützt die Modellbildung während des gesamten CRISP Prozesses. Hierzu werden die beiden Techniken Visuailisierungspipeline 65 und Visuelle Analytik verwendet, die es ermöglichen während des gesamten Modellierungsprozesses einzugreifen. Damit die beiden Techniken effizient genutzt werden können, spielt die multiple koordinierte Ansicht eine wichtige Rolle, die daher kurz erläutert wird. 5.1.1 Visualisierungspipeline Zur Erzeugung von Grafiken aus Rohdaten wird die Visualisierungspipeline verwendet, die grundsätzlich aus drei Schritten besteht. Zwischen jedem Schritt werden die Informationen interpretierbar dargestellt [SM13, S. 15f]: 1. Beim Filtering werden die Rohdaten aufbereitet, indem die bereits aus dem Data Mining bekannten Verfahren verwendet werden (vgl. Abschnitt 4.8.1). Aber auch die in Kapitel 4 vorgestellten Analysemethoden werden dem Filtering zugeordnet. 2. Das Mapping dient der Überführung der aufbereiteten Daten in grafische Eigenschaften. Z.B. wird hier festgelegt, welche Form, Farben, Größen, Längen, Helligkeiten ein Datensatz erhalten soll. Da hier festgelegt wird, wie die Daten auszusehen haben, ist es der wichtigste Schritt in der Visualisierung. 3. Zuletzt dient das Rendering der Erzeugung des Bildes aus den Bildeigenschaften der Daten. 5.1.2 Visuelle Analytik Für die dynamische Analyse von Big Data wird die visuelle Analytik verwendet. Sie ermöglicht die Interaktion mit dem System über grafische Schnittstellen. Dadurch wird ein Eingreifen in die Verarbeitung ermöglicht. Damit einzelne Schritte in jeder Situation wiederholt werden können, findet die Visual Analytics Loop Anwendung. Ziel der visuellen Analytik ist es, die Rechenleistung zur Verarbeitung von Daten und die Analysefähigkeit von Menschen zu kombinieren [BIT14, S. 84f]. Die Visual Analytics Loop dient der Erzeugung von Grafiken aus Rohdaten. Wie bei der Visualisierungspipeline werden die zu analysierenden Daten aufbereitet und mit Hilfe von Data Mining Methoden werden Modelle gebildet. Beide Schritte werden visualisiert und direkt über die grafische Schnittstelle in ihren Parametern angepasst. Dies erfolgt ggf. mehrmals zwischen den Schritten, bis das Modell den gewünschten Zustand hat. Damit Zwischenschritte nicht verloren gehen, werden Schnappschüsse des derzeitigen Zustandes erstellt und gespeichert [BIT14, S. 85f]. 66 5.1.3 Multiple koordinierte Ansicht Damit die dargestellten Daten nicht nur analysiert, sondern erforscht werden können und die fortgeschrittene Analyse ermöglicht wird, ist die multiple koordinierte Ansicht ein wichtiger Bestandteil. Die erzeugten Grafiken sollen nicht von Informationen überladen werden, um übersichtlich zu sein, daher werden sie in mehreren Ansichten zur Verfügung gestellt. Somit kann ein Teilaspekt der Daten deutlich schneller analysiert werden, statt innerhalb einer Grafik herauszufinden, welche Daten überhaupt enthalten sind. Damit die Zusammenhänge zwischen den Daten und den einzelnen Grafiken bestehen bleiben, werden bei der Navigation innerhalb einer Grafik alle anderen Grafiken mit der gleichen Navigation verarbeitet [BIT14, S. 83]. Wird z.B. in einer Zeitleiste auf einen Monat eingeschränkt, enthalten alle anderen Ansichten auch nur noch diesen einen Monat. Damit der Anwender komplexere Vergleiche durchführen kann, ist es ihm allerdings freigestellt, diese Verknüpfung zu trennen, sodass nur die von ihm gewünschten Grafiken aktualisiert werden. 5.2 Real-Time Intelligence Bei der rasanten Geschwindigkeit, in der heutzutage Daten produziert werden, wird es immer wichtiger, stets die aktuellsten Daten zu haben. Je nach Anwendungsfall können Verzögerungen im Sekundenbereich zu lang sein. Die Real-Time Intelligence ermöglicht die Bereitstellung von Daten in Echtzeit. Dabei werden die Daten kontinuierlich über einen Datenstrom geladen, analysiert und visuell aufbereitet. Mit Hilfe des Streamings und des Complex Event Processing werden die Daten in Echtzeit verarbeitet (Abschnitt 3.3.2). 5.3 Management Cockpits Management Cockpits bzw. Dashboards bestehen aus verschiedenen, sinnvoll zueinander angeordneten Darstellungselementen, um relevante Informationen auf einen Blick verfügbar zu machen. Die Elemente können dabei auch mehrschichtig dargestellt werden (Multi-Layer / Linking). Beim Multi-Layer handelt es sich um übereinanderliegende Darstellungen, durch Linking wird eine interaktive Navigation über mehrere verknüpfte Darstellungen ermöglicht [BIT14, S. 76]. In einem Dashboard werden oft sogenannte Key Performance Indicator (KPI)en visualisiert. 67 „mit dem engl. Begriff key performance indicators werden in der Betriebswirtschaftslehre allg. Kennzahlen bezeichnet, die sich auf den Erfolg, die Leistung oder Auslastung des Betriebs, seiner einzelnen organisatorischen Einheiten oder einer Maschine beziehen“[Gab00]. Management Cockpits sind sehr dynamisch und ermöglichen eine Anpassung der Darstellungen zur Laufzeit. Sie können dank Programmierschnittstellen als sogenannte Mashups in Webseiten integriert werden und stehen somit nicht nur als DesktopAnwendung zur Verfügung, sondern können auch von überall aus dem Internet aufgerufen werden. Abbildung 5.2 stellt ein beispielhaftes Management Cockpit dar. Abbildung 5.2: Beispiel für ein Management Cockpit Quelle: Demo Cockpit von iCockpit online unter: http://gallery.idashboards.com/preview/?guestuser=webgov (abgerufen am: 29.10.2015). 5.3.1 Anforderungen an Management Cockpits Ein Management Cockpit muss für den Anwender sinnvoll einsetzbar sein und darf ihn weder mit überladenen Informationen noch mit Trivialitäten aufhalten. Es muss einen auf den Anwender angepassten Überblick über relevante Informationen bieten und ihm eine detaillierte Sicht in die Daten ermöglichen. Damit das Dashboard dynamisch wird, eine umfassende Analyse ermöglicht und effizient verwendet werden kann, muss es nach Malik gewisse Anforderungen erfüllen [Mal05, S. 8f]. • Mit Hilfe eines Dashboards muss es möglich sein verschiedene Grafiken in einem Fenster einzusehen, damit unterschiedliche Informationen miteinander verglichen werden können. • Kritische KPIs werden sofort sichtbar dargestellt, damit Entscheidungen effizient getroffen werden können. • Damit die dargestellten Daten konsistent und korrekt sind, muss das Management Cockpit umfangreich getestet und validiert sein. 68 • Werden Schwellwerte überschritten, sind zusätzliche Signale an den Anwender zu übertragen. Damit der Nutzer darauf aufmerksam wird, werden z.B. E-Mails, Töne oder blinkende Elemente verwendet. • Die dargestellten Daten müssen für den Anwendungsbereich ausreichend aktuell sein. Es muss nicht immer Real-Time sein, sondern kann z.B. auch in wöchentlichen Abständen aktualisiert werden. • Das Management Cockpit ermöglicht die interaktive Navigation in den Daten, um detailliertere Informationen zu erhalten. • Die Datenhistorie wird zur Verfügung gestellt, um den Verlauf der Daten zu verfolgen und daraus Informationen ableiten zu können. • Die Daten sollten für jeden Anwender aufbereitet und eingeschränkt werden, sodass dieser genau die Daten sieht, die er benötigt und sehen darf. • Es muss auf individuelle Bedürfnisse des Nutzers eingegangen werden, um z.B. eine Sehschwäche mit hohen Kontrasten oder großen Schriften auszugleichen. • Das Dashboard sollte den Anwender in der Untersuchung der Daten unterstützen, indem Navigationen vergleichbar gemacht, die Daten kontrastreich dargestellt oder z.B. Was-Wäre-Wenn Berechnungen durchgeführt werden. • Das Management-Cockpit ermöglicht die Zusammenarbeit von Anwendern. Hierbei werden nicht nur Notizen verteilt, sondern auch Navigationen zur Verfügung gestellt. • Die zu analysierenden Daten müssen individuell zur Laufzeit anpassbar sein und in die bestehende Darstellung integriert werden, damit eine hochdynamische Auswertung ermöglicht wird. 5.3.2 Darstellungselemente Für die Darstellung von Informationen in einem Dashboard stehen verschiedenste grafische Elemente zur Verfügung. Je nach Zusammenhang oder Darstellungsziel, wird deshalb mehr als eine Grafik verwendet. Im diesem Abschnitt werden einige Darstellungselemente in Anlehnung an Weiß/Schweig [JWS11, S. 26ff] und Yau [Yau11, S. 92ff] kurz erläutert. • Zur reinen Informationsvermittlung kann Text verwendet werden. Bei der Darstellung von Datenwerten wird es aber sehr schnell unübersichtlich. Text kann sinnvoll als Ergänzung zu Grafiken verwendet werden, um Details oder Zusammenhänge zu erläutern. Ein weiteres Einsatzgebiet ist die Darstellung von Klassifikations-, Assoziationsregeln oder Frequent Item Sets (siehe Abschnitt 4.8.3), die in der Form „Wenn Bedingung Dann Aktion“ vorliegen. • Tabellen sind Textgrafiken, die für die Darstellung einfacher Beziehungen zwi- 69 schen den Daten geeignet ist. Bei der Präsentation vieler Daten, sind Tabellen schnell überladen. Daher eignen sie sich nur, wenn Daten angemessen aggregiert dargestellt werden oder einige wenige Daten zur Ergänzung einer Grafik dienen. Wie das Textelement, so sind auch Tabellen zur Darstellung von Regeln geeignet. Dabei stellen die Zeilen die Bedingungen, die Aktionen und die Spalten die Regeln dar (vgl. Tabelle 4.5). • Ein Kuchendiagramm ist eine statistische Infografik. Sie stellt eine prozentuale Verteilung von Daten dar. Hierbei stellt der Kreis die Gesamtmenge und ein Segment den Anteil eines Datums dar. Statt des prozentualen Anteils eignet es sich auch für die Darstellung der Absolutwerte. Da bei steigender Zahl der Attribute bzw. Ausprägungen entsprechend viele Segmente entstehen, eignet sich diese Grafik nur für wenige Attribute bzw. Ausprägungen. Verwendet wird das Diagramm in der Datenvorbereitung bzw. der Rohdatenanalyse. Das Kuchendiagramm in Abbildung 5.3 Grafik 1 stellt dar, wie populär die einzelnen Linuxdistributionen in den letzten 12 Monaten waren. Ergänzend werden die Distributionsnamen als Text neben den Tortenstücken angezeigt. Die Distributionen, die ein Drittel der Popularität ausmachen, werden als Ausschnitt in einem weiteren Tortendiagramm angezeigt. • Säulen- bzw. Balkendiagramme sind die aussagekräftigeren Alternativen zu Kuchendiagrammen. Sie ermöglichen eine längenproportionale Darstellung, die mehrere Attribute und Ausprägungen übersichtlich darstellt. Für mehr als einen darzustellenden Wert können die Balken / Säulen entweder gestapelt oder gruppiert werden. Gestapelte Diagramme eignen sich für die Darstellung der Einzelwerte an einer Summe, während gruppierte Diagramme dem direkten Vergleich dienen. Häufig werden Balkendiagramme verwendet, um die Datenvorbereitung bzw. Rohdatenanalyse durchzuführen. In Abbildung 5.3 Grafik 2 werden gestapelte Balken verwendet, die die Summe der einzelnen Werte (Umsatz pro Quartal) der Datensätze darstellen. Innerhalb der Säule sind die Einzelwerte abzulesen, was schwerfällig ist, da die Anfangs-, Endwerte und Differenzen selbstständig ermittelt werden müssen. Texte helfen die Werte der einzelnen Abschnitte zu ermitteln, können wie in der untersten Säule sichtbar, aber zu Überladungen führen, die eine Interpretation zu Nichte machen. Die Abbildung 5.3 Grafik 3 stellt einen fiktiven Umsatz in den vier Regionen Schleswig-Holstein, MecklenburgVorpommern, Hamburg und Niedersachsen dar. Hierzu dient ein übersichtlich gruppiertes Säulendiagramm. • Liniendiagramme sind für die Darstellung von Trends in einem Zeitverlauf geeignet. Dabei wird der Zeitverlauf auf der X-Achse und die Kategorien auf der Y-Achse eingetragen. Ein Einsatzgebiet ist die Darstellung von Data Mining Er- 70 gebnisses ist die Regressionsanalyse. In Abbildung 5.3 Grafik 4 ist ein Liniendiagramm dargestellt, welches die Entwicklung der Kundenzahl in den bereits genannten Regionen innerhalb der letzten 15 Jahre zeigt. • Stacked Area Maps vereinigen die Trend- bzw. Regressionsanalyse des Liniendiagramms und die prozentuale Verteilung eines Kuchendiagramms. Die Flächen zwischen den Linien werden farbig gefüllt und stellen entweder den prozentualen Anteil oder den Absolutwert dar. Somit ermöglichen sie die Analyse der Verteilung eines Wertes über den zeitlichen Verlauf. Das Beispiel in Abbildung 5.3 Grafik 5 stellt z.B. dar, wie sich der prozentuale Marktanteil (fiktiv) von Mobiltelefonherstellern innerhalb der letzten fünf Jahre verändert hat. • Dot Plots, Scatterplots und Scatter-Matrizen (Streudiagramme) stellen die Verteilung von Werten verschiedener Variablen dar, in dem sie in ein kartesisches Koordinatensystem eingetragen werden. Bei eindimensionalen Streudiagrammen (Dot Plots) wird die Verteilung nur auf eine der Achsen angewendet, wodurch eine Säule oder ein Balken entsteht. Bei zweidimensionalen (Scatterplot) und mehrdimensionalen (Scatter-Matrize) Darstellungen werden die Informationen entlang der Achsen verteilt. Die Scatter-Matrix bildet die Variablen allerdings nicht in einem einzelnen Koordinatensystem, sondern entsprechend der Anzahl der Attribute, in n Koordinatensystemen (Scatterplots) ab. Die Attribute werden diagonal angeordnet, sodass n Spalten und Zeilen entstehen. Pro Zelle werden immer zwei sich kreuzende Attribute in einem Scatterplot direkt verglichen. Das Beispiel in Abbildung 5.3 Grafik 6 stellt eine Scatter-Matrix für Größe, Gewicht und Alter dar. Die Spalte, in der die Größe enthalten ist (Spalte 1) und die Zeile des Alters (Zeile 3) enthält ein Scatterplot, in dem die beiden Attribute Größe und Alter verglichen werden. In dem gegenüberliegendem Scatterplot (Zeile 1 = Größe und Spalte 3 = Alter) werden die beiden Attribute erneut verglichen, wobei hier die Achsen vertauscht wurden. Um das Gewicht und das Alter zu untersuchen, müssen die Spalte 2/ Zeile 3 bzw. Spalte 3 / Zeile 2 betrachtet werden. Scatterplots eignen sich gut für die Darstellung von Clusteranalysen oder zur Anzeige von Korrelationen zwischen Attributen. • Ein Blasendiagramm wird ähnlich wie ein Scatter-Plot erstellt. Allerdings wird statt eines Punktes in dem Raster eine Blase platziert. Über die größe der Blase wird die Darstellung einer dritten Dimension bzw. eines dritten Attributes ermöglicht. Eine weitere Dimension kann durch die Farbe der Blasen dargestellt werden, wodurch sie sich für die Darstellung mehrdimensionaler Cluster eignen. Grafik 1 in Abbildung 5.4 stellt die Verteilung der Körpergröße und des Gewichtes (Achsen) zwischen Männern (Blau) und Frauen (Rot) unterschiedlichen Al- 71 ters (Größe der Blase) dar. Gut erkennbar ist, dass ähnliche Eigenschaften nahe zusammen liegen (Cluster-Darstellung). • Thematische Karten zeigen die Verbreitung von meist statistischen Werten in einem geografischen Gebiet an. Zur Orientierung des Anwenders werden die Daten auf einem geografischen Hintergrund abgebildet. Für die Darstellung der Werte dienen Farben, Kreise, oder sonstige Symbole. Abbildung 5.4 Grafik 2 zeigt eine thematische Karte. Abgebildet wird der Umriss von Deutschland, die einzelnen Bundesländer und deren Kreise. Die Farbintensität eines Kreises stellt dabei die Häufigkeit des Namens Fischer dar. In Berlin kommt dieser Name sehr häufig vor, im westlichen Teil Rheinland-Pfalz hingegen sehr selten. • Das Baumdiagramm stellt die Beziehungen zwischen Elementen dar, indem sie mit Linien verbunden werden. Dabei ist der Ausgangspunkt der Wurzelknoten, von dem Linien (Äste) zu den untergeordneten Knoten führen. Durch die Verbindung der einzelnen Knoten entstehen Pfade, deren letzter Knoten als Blatt bezeichnet wird. Im Data Mining werden Regeln mit Hilfe von Baumdiagrammen dargestellt. Dabei stellt ein Pfad eine ganze Regel dar. Das Blatt ist dann der klassifizierte Wert. Ein Beispiel ist in Abbildung 5.4 Grafik 3 zu sehen. Hier wird mit Hilfe verschiedener Werte versucht herauszufinden, ob eine Person eingestellt werden soll. Der Wurzelknoten ist das Alter, von dem aus der nächste Knoten, der zu einem Ergebnis führt, verbunden wird. Dies sind der Notenschnitt bzw. der Schulabschluss. Am Ende steht der Knoten mit der Entscheidung, ob jemand eingestellt wird, oder nicht. • Baumkarten dienen der Darstellung von Hierarchien, die in einem Baumdiagramm unübersichtlich oder zu komplex sind. Die Baumkarte zeigt verschachtelte Quadrate, die die einzelnen Hierarchieebenen darstellen. Verglichen mit dem Baumdiagramm stellt das gesamte Bild den Wurzelknoten dar. Die nächst größeren Quadrate sind dann die ersten Kindknoten und so weiter. Die Größe eines Rechteckes stellt dabei den Wert eines Elementes dar. In Abbildung 5.4 Grafik 4 wird eine kleine Hierarchie an Smartphoneherstellern und einiger deren Modellen dargestellt. Das äußerste Quadrat stellt die Gesamtheit aller Hersteller da. Die kleiner werdenden Quadrate sind spezifische Hersteller und werden in Abhängigkeit in Ihrer Marktanteile größer oder kleiner dargestellt. In denen Herstellerquadraten werden einzelne Markenreihen angezeigt, die in Abhängigkeit dessen Marktanteile größer oder kleiner sind. Die rot eingefärbten Marken sind Marken mit einer relativ geringen Marktmacht. • Chord Diagramme sind eine moderne Methode, um Beziehungen zwischen mehreren Elementen darzustellen. Dabei werden die Elemente auf einem Kreis abgebildet und mit Linien innerhalb dieses Kreises in Beziehung gesetzt. Je 72 nach Stärke der Linie ist die Verbindung der Elemente stark oder schwach. Zur Verdeutlichung dient die Abbildung 5.4 Grafik 5. Abgebildet wird hier, von und zu welchem Smartphonehersteller ein Benutzer wechselt. Der gesamte Kreis stellt dabei 100% der Anwender dar und die Segmente sind farblich zu den einzelnen Herstellern zugeordnet. Die Verbindung zwischen Samsung und Nokia, die untere Hälfte des Diagramms, zeigt an, wie groß der Nutzerwechsel war. 10% der Anwender, die bisher ein Nokia Handy verwendet haben, entschieden sich erneut für Nokia. Hinzu kommen 1,2%, die vorher ein Samsung nutzten. Die restlichen Nokia Nutzer nutzten vorher eine andere Marke (Apple, HTC und andere) Ca. 9% der gesamten Samsung Nutzer stammen ursprünglich von Nokia, ca. 17% sind Samsung treu geblieben und der Rest kommt von anderen Herstellern. Die Verbindung zwischen den Herstellern übernimmt die Farbe der überwiegenden Marke. Abbildung 5.3: Beispiele für Grafikelemente Quelle: Eigene Darstellung. 73 Abbildung 5.4: Beispiele für Grafikelemente Quelle: Eigene Darstellung. 74 6 Schluss 6.1 Zusammenfassung Die produzierte Datenmenge der letzten zwei Jahren hat eine Größe erreicht, die bis dahin während der gesamten Menschheitsgeschichte erzeugt wurde und ein Ende des Wachstums ist nicht abzusehen. Es sind nicht nur Messgeräte, die immer mehr und präzisere Daten erzeugen, auch der Mensch selbst produziert bewusst und unbewusst Daten in hohem Maße. Beispiele für Daten, die bewusst erzeugt werden sind z.B. das Foto vom letzten Urlaub, das man mit seinen Freunden teilt, das Video, das viral im Internet die Runde macht oder die Fahrradstrecke, die automatisch vom Mobiltelefon per GPS mitgeschnitten wird. Allerdings ist vielen Menschen nicht bewusst, dass sie durch eine Suche im Internet oder mit der Navigation innerhalb einer Website ebenfalls Daten hinterlassen, oder dass das Handy Standortdaten sammelt und geschossene Fotos Raum- und Zeitinformationen enthalten. Alle diese völlig unterschiedlichen Daten werden dann von diversen Firmen ausgewertet, um z.B. personalisierte Werbeanzeigen im Internet zu schalten, um Karten zu erstellen, die anzeigen, wo die Hauptzielgruppe eines Produktes lebt oder um festzustellen, wo sich die nächste Schlagzeile holen lässt, indem soziale Netzwerke automatisiert nach Brennpunktthemen gescannt werden. Um diese Masse an Daten in unterschiedlichsten Formaten zu verarbeiten, auszuwerten, untereinander zu vergleichen und nutzbar zu machen, stehen viele verschiedene Methoden zur Verfügung, die , mehr oder weniger, in dieser Arbeit beschrieben wurden. Mit Hilfe dieser Methoden ist es möglich, völlig unstrukturierte, semistrukturierte und strukturierter Daten in einem einzigen Datenhaltungssystem wie z.B. Hadoop abzulegen und von dort abzurufen. Um trotz dieser Datenmasse eine performante Verarbeitung zu gewährleisten, greift man auf aktuelle Techniken, wie z.B. In-MemoryVerarbeitung oder Shared Server, zurück. Logische Analysemethoden ermöglichen es, die unterschiedlichen Daten in Beziehung zu setzen und gemeinsam auszuwerten, um neue und nutzbringende Zusammenhänge zu finden. 75 Um die Ergebnisse zu präsentieren, werden meist Management Cockpits verwendet, die komplexe Zusammenhänge übersichtlich wiedergeben, aber auch KPIs prägnant und adressatengerecht darstellen können. Ein wichtiger Methodenbaukasten zur Analyse von Big Data ist das Data Mining. Es nutzt verschiedene Methoden wie z.B. die Cluster- und Assoziationsanalyse oder die Klassifikation, die in dieser Arbeit näher beschrieben wurden, um Daten anhand bestehender Modelle zu bewerten und zu analysieren, neue Zusammenhänge zwischen den Daten herauszufinden und künftige Trends zu ermitteln. Hierdurch ist es möglich neues Wissen aus Daten zu generieren, das mit einfachen statistischen Methoden oder der manuellen Analyse nicht ermittelt werden kann. Damit das Data Mining die verschiedenen Daten verarbeiten und untereinander in Beziehung setzen kann, müssen sie allerdings strukturiert und normiert vorliegen, was gerade bei Big Data nicht der Fall ist. Daher müssen Methoden verwendet werden, um die Daten zuerst vergleichbar zu machen. Z.B. werden bei der semantischen Analyse Texte auseinander genommen und im Detail betrachtet. Die aus dem Text gewonnen Informationen werden als Metainformationen strukturiert abgelegt und können vom Data Mining verwendet werden. Durch die Nutzung von Big Data, können z.B. Kundebedürfnisse besser und damit lukrativer befriedigt werden. Aus persönlichen Daten werden Informationen extrahiert, die es ermöglichen herauszufinden, welche Interessen eine für das Unternehmen völlig unbekannte Person hat. In Massendaten können aber auch Modetrends frühzeitig erkannt werden, sodass Unternehmen entsprechend passende Produkte produzieren und vermarkten können. 6.2 Ausblick Insgesamt kann man wohl ohne Zweifel davon ausgehen, dass sich sowohl die Menge, als auch die benötigte Verarbeitungsgeschwindigkeit von Massendaten weiter erhöhen wird. Nicht umsonst spricht man vom Informationszeitalter [Cas13, S. 49]. Auch wenn es vielleicht besser „Datenzeitalter“ heißen müsste. Aus steigender Quantität der Daten schnell qualitativ hochwertige Informationen und Wissen zu generieren, wird eine Herausforderung bleiben. Es werden immer mehr und immer unterschiedlichere Dateninhalte, Datenquellen und Datenformate vorhanden sein, und deren effektive und effiziente Nutzung wird 76 immer mehr Wert für die entsprechenden Unternehmen darstellen. Es wird also noch wichtiger werden als es heute bereits ist, die zur Verfügung stehenden Daten schnell und gezielt zu analysieren und daraus dann dynamisch für das jeweilige Unternehmen nutzbares Wissen zu generieren. Zunehmend werden neben weiteren Hardwareverbesserungen auch die analytischen Methoden zur Datenreduzierung, Datenselektion und Datenaufbereitung optimiert werden müssen, da sonst auch die heutigen Systeme irgendwann an ihre Grenzen stoßen, so wie es heute den transaktionalen Systemen geht. Ein Schritt zur flexibleren Verarbeitung noch größerer Datenmengen, der grade aktuell in der Presse und in vielen Unternehmen im Gespräch ist, ist der Wechsel von physisch im Unternehmen (oder bei Providern stehenden) dedizierten Servern, hin zu Cloud Architekturen, bei denen der benötigte Platz dynamisch den Anfordernden zugeteilt wird. Als Unternehmer verzichtet man also auf den „eigenen“ Server, zu Gunsten schneller und flexibler Speicherplatzverfügbarkeit. Cloud-Anbieter können von einzelnen Teilschritten, wie nur der Datenhaltung bis hin zur kompletten Big Data Verarbeitung unterschiedliche Szenarien anbieten. Dafür stellen die Cloud-Anbieter Web-Werkzeuge bereit, mit denen die benötigten Servicedienste passend konfiguriert werden können. Cloud-Dienste stellen eine gute Möglichkeit der Skalierung dar, um Daten jederzeit performant zu verarbeiten. Bei niedriger Auslastung werden Ressourcen entfernt und bei Bedarf wieder nachgelegt. Desweiteren fällt auch Anpassungsaufwand an den Services sowie der Aufwand für Innovationen nicht mehr Unternehmensintern an, sondern für die ganze Cloud-Community. Das wirkt sich unmittelbar auf die Kosten aus. Wird die Verarbeitung in der Cloud angestrebt, müssen allerdings einige Aspekte berücksichtigt werden. Da die Daten über das Internet verschickt werden müssen Sicherheitsvorkehrungen getroffen werden, damit die Daten nicht von Fremden abgerufen werden können. Im Rechenzentrum des Anbieters muss gewährleistet werden, dass Daten zwischen den einzelnen Kunden logisch (nicht physisch) sicher getrennt werden, und auch durch Eindringlinge oder andere Cloudnutzer nicht einsehbar sind. Da die Cloud Dienste über das Internet mit einem Browser abrufbar sind, können sie von überall und jederzeit aufgerufen und genutzt werden. Nachteilig an einem Cloud-Dienst ist die zwingende Internetanbindung, um die Dienste nutzen zu können. Dadurch ist die Wahrscheinlichkeit, dass der Dienst nicht oder nur langsam verfügbar ist, relativ hoch, verschiedene Netze zwischengeschaltet sind. 77 6.3 Fazit Als Fazit kann man sagen, dass die Nutzung von Big Data keineswegs trivial ist Von der Implementierung, über die Datenverarbeitung bis zur Interpretation der Ergebnisse ist komplexes Know How nötig. Bei der Verarbeitung müssen einige Herausforderungen berücksichtigt werden. Z.B. leidet die Genauigkeit der Daten unter Data Mining, da die Daten manipuliert werden müssen, damit sie für das gewählte Verfahren verwendbar sind. Bei Data Mining Methoden, die unüberwacht ablaufen, muss das Ergebnis kritisch validiert werden, da keine Vergleichsdaten existieren. Wird das fehlerhafte Ergebnis als korrekt hingenommen, sind ggf. schwerwiegende Fehlentscheidungen die Folge. Management Cockpits bieten eine komfortable, individuelle und dynamische Möglichkeit, um Daten explorativ zu analysieren. Da immer komplexere Zusammenhänge zwischen Daten entstehen, müssen Grafikelemente kombiniert oder neue erfunden werden, damit die Verbindungen zwischen den Daten interpretierbar dargestellt werden können. Aber gerade die Fülle an verfügbaren Daten bietet unermessliche Potentiale, sei es für Marketing, für Verhaltensstudien oder zur Beantwortung sonstiger Fragen. "Know your Customer"bekommt mit der Nutzung von Big Data eine neue Dimension. Der Kunde wird immer gläserner. Technisch wie moralisch ist das Thema eine Herausforderung. 78 Literatur [Alp08] Ethem Alpaydin. Maschinelles Lernen. München, 2008. [AM09] Dietmar Abts und Wilhelm Mülder. Grundkurs Wirtschaftsinformatik. 6. Aufl. Wiesbaden, 2009. [Art13] Michael Arthen. RAUM für Daten: Location Intelligence. Limburg, 17. Sep. 2013. URL: http : / / www . galigeo . com / de / schulungszentrum/white- paper- location- intelligence/raumfur-daten/ (besucht am 26. 08. 2015). [BIT12] BITKOM. Big Data im Praxiseinsatz - Szenarien, Beispiele, Effekte. Berlin, 2012. URL : https : / / www . bitkom . org / Publikationen / 2012 / Leitfaden/Leitfaden-Big-Data-im-Praxiseinsatz-SzenarienBeispiele-Effekte/BITKOM_LF_big_data_2012_online1.pdf (besucht am 29. 07. 2015). [BIT14] BITKOM. Big-Data-Technologien - Wissen für Entscheider. Berlin, 2014. URL : https://www.bitkom.org/Publikationen/2014/Leitfaden/ Big-Data-Technologien-Wissen-fuer-Entscheider/140228_Big_ Data _ Technologien _ Wissen _ fuer _ Entscheider . pdf (besucht am 29. 07. 2015). [Cas13] Manuell Castells. Der Aufstieg der Netzwerkgesellschaft: Teil 1 der Trilogie Das Informationszeitalter. 2013. [Cha+00] Peter Chapman et al. CRISP-DM 1.0. Step-by-step data mining guide. 2000. URL : https : / / the - modeling - agency . com / crisp - dm . pdf (besucht am 09. 08. 2015). [CL14] Jürgen Cleve und Uwe Lämmel. Data Mining. Wismar, 2014. [Con12] Josh Constine. How Big Is Facebook’s Data? 2.5 Billion Pieces Of Content And 500+ Terabytes Ingested Every Day. 22. Aug. 2012. URL : http:// techcrunch.com/2012/08/22/how- big- is- facebooks- data- 25- billion- pieces- of- content- and- 500- terabytes- ingestedevery-day/ (besucht am 03. 10. 2015). IX [Dor15] Joachim Dorschel. Praxishandbuch Big Data. Wirtschaft - Recht - Technik. Wiesbaden, 2015. [Dum12] Edd Dumbill. Planning for Big Data. Sebastopol, Kalifornien, 2012. [EB09] Michael Eckert und Francois Bry. Complex Event Processing (CEP). München, Mai 2009. URL : http : / / www . en . pms . ifi . lmu . de / publications/PMS-FB/PMS-FB-2009-5/PMS-FB-2009-5-paper.pdf (besucht am 10. 08. 2015). [Ert13] Wolfgang Ertel. Grundkurs Künstliche Intelligenz. 3. Aufl. Weingarten, 2013. [Fou15a] The Apache Software Foundation. HDFS Architecture. 7. Juli 2015. URL: http : / / hadoop . apache . org / docs / current / hadoop - project dist/hadoop-hdfs/HdfsDesign.html (besucht am 01. 09. 2015). [Fou15b] The Apache Software Foundation. HDFS Users Guide. 29. Juni 2015. URL : http://hadoop.apache.org/docs/current/hadoop-project- dist/hadoop-hdfs/HdfsUserGuide.html (besucht am 01. 09. 2015). [Fou15c] The Apache Software Foundation. MapReduce Tutorial. 29. Juni 2015. URL : http : / / hadoop . apache . org / docs / current / hadoop - mapreduce - client / hadoop - mapreduce - client - core / MapReduceTutorial.html#Purpose (besucht am 01. 09. 2015). [Fou15d] The Apache Software Foundation. NoSQL Databases Defined and Explained. 2015. URL : http : / / www . planetcassandra . org / what - is - nosql/ (besucht am 02. 09. 2015). [Fou15e] The Apache Software Foundation. Welcome to Apache Hadoop! 7. Juli 2015. URL: https : / / hadoop . apache . org / #What + Is + Apache + Hadoop? (besucht am 01. 09. 2015). [FPS96] Usama Fayyad, Gregory Piatetsky-Shapiro und Padhraic Smyth. „From Data Mining to Knowledge Discovery in Databases“. In: AI Magazine 17 (1996), S. 37–54. [Gab00] Gabler. Wirtschaftslexikon. 15. Aufl. Wiesbaden, 2000. [Gei14] Frank Geisler. Datenbanken - Grundlagen und Design. 5. Aufl. Heidelberg, 2014. [Ger11] Ruben Gerlach. Reinforcement Learning. Hamburg, 2011. [Gmb15] FIDES IT Consultants GmbH. Management Cockpit. 2015. URL : http: //www.fides-it-consultants.de/index.php?id=339 (besucht am 11. 08. 2015). X [GR12] John Gant und David Reinsel. THE DIGITAL UNIVERSE IN 2020: Big Data, Bigger Digital Shadows, and Biggest Growth in the Far East. Framingham, Dez. 2012. URL : http : / / www . emc . com / collateral / analyst-reports/idc-the-digital-universe-in-2020.pdf (besucht am 25. 10. 2015). [Has09] Marco Hassler. Web Analytics. Metriken Auswerten, Besucherverhalten verstehen, Website optimieren. 2. Aufl. Heidelberg, 2009. [HKP06] Jiawei Han, Micheline Kamber und Jian Pei. Data Mining, Southeast Asia Edition: Concepts and Techniques. 2. Aufl. The Morgan Kaufmann Series in Data Management Systems. San Francisco, Kalifornien, 2006. [Inc15] SAS Institute Inc. Predictive Analytics. What it is and why it matters. 9. Sep. 2015. URL : http : / / www . sas . com / en _ us / insights / analytics/predictive-analytics.html (besucht am 09. 09. 2015). [Inf13] Gesellschaft fà 41 r Informatik. Informatiklexikon. 2013. URL : http : / / www . gi . de / service / informatiklexikon . html (besucht am 08. 05. 2015). [Jew+14] Dave Jewell et al. „Performance and Capacity Implications for Big Data“. In: Red Paper (Jan. 2014). [JWS11] Olaf Jacob, Nina Weiß und Jörn Schweig. Konzeption und Gestaltung von Management Dashboards. Neu-Ulm, 2011. [Kin13] Stefanie King. Big Data. Potential und Barrieren der Nutzung im Unternehmenskontext. München, 2013. [KR05] Peter Kleinschmidt und Christian Ranke. Relationale Datenbanksysteme. 3. Aufl. Heidelberg, 2005. [LC12] Uwe Lämmel und Jürgen Cleve. Künstliche Intelligenz. Wismar, 2012. [LHC15] LHC-Facts. Datenverarbeitung. Detektor-Triggersystem. 3. Okt. 2015. URL : http : / / www . lhc - facts . ch / index . php ? page = datenverarbeitung (besucht am 03. 10. 2015). [Mal05] Shadan Malik. Enterprise Dashboards. Design and best pracitives for IT. Hoboken, New Jersey, 2005. [Man14] Eduard Mann. Big Data fordern Analysesysteme heraus. 17. März 2014. URL : http : / / www . computerwoche . de / a / big - data - fordern - analysesysteme-heraus,2547656 (besucht am 06. 08. 2015). XI [Mar12] Wolfgang Martin. Big Data. Juli 2012. URL: http://www.it- daily. net/downloads/Bulletin_BIGData_240712_final.pdf (besucht am 24. 10. 2015). [Mar13] Wolfgang Martin. Analytische Datenbanken. März 2013. URL : http:// www.it- daily.net/downloads/Bulletin_AnalytischeDB_final. pdf (besucht am 24. 10. 2015). [Mar14] Bernard Marr. How Facebook Is Using Big Data: The Good, The Bad and The Ugly. 14. Juli 2014. URL: https://www.linkedin.com/pulse/ 20140716060957 - 64875646 - facebook - and - big - data - no - big brother (besucht am 04. 10. 2015). [McB13] Vincent McBurney. The Origin and Growth of Big Data Buzz. 31. März 2013. URL : http : / / it . toolbox . com / blogs / infosphere / the - origin - and - growth - of - big - data - buzz - 51509 (besucht am 03. 10. 2015). [MR10] O. Maimon und L. Rokach. Data Mining and Knowledge Discovery Handbook. 2. Aufl. Series in Solid-State Sciences. 2010. [oA13] o.A. Big Data. 2013. URL: http://www.gartner.com/it-glossary/ big-data (besucht am 08. 05. 2015). [Ora15] Oracle. Defining a Data Grid. 2015. URL : http://docs.oracle.com/ cd/E14526_01/coh.350/e14510/definingdatagrid.htm#COHGS101 (besucht am 09. 09. 2015). [Peo14] NLP People. Why is Big Data Becoming So Popular? 30. März 2014. URL: https://nlppeople.com/why-is-bigdata-becoming-so-popular/ (besucht am 04. 10. 2015). [Pre13] Gil Press. A Very Short History Of Big Data. 21. Dez. 2013. URL : http: //www.forbes.com/sites/gilpress/2013/05/09/a-very-shorthistory-of-big-data/ (besucht am 03. 10. 2015). [PWC13] PWC. Big Data - Bedeutung Nutzen Mehrwert. Juli 2013. URL : https: //www.pwc.de/de/prozessoptimierung/assets/pwc- big- databedeutung-nutzen-mehrwert.pdf (besucht am 24. 10. 2015). [Sch+12] Andreas Schäfer et al. BIG DATA - Vorsprung durch Wissen INNOVATIONSPOTENZIALANALYSE. Sankt Augustin, 2012. URL: https://www. iais . fraunhofer . de / fileadmin / user _ upload / Abteilungen / KD / uploads _ BDA / Innovationspotenzialanalyse _ Big - Data _ FraunhoferIAIS_2012.pdf (besucht am 24. 10. 2015). XII [Sch08] Pascal Schmidt-Volkmar. Betriebswirtschaftliche Analyse auf operationalen Daten. Wiesbaden, 2008. [Sch10] Jochen Schnelle. NoSQL - Jenseits der relationalen Datenbanken. 19. Aug. 2010. URL: http : / / www . pro - linux . de / artikel / 2 / 1455 / 3 , dokumentenorientierte - datenbanken . html (besucht am 02. 09. 2015). [Sch13] Benjamin Schischka. Menschheit hat über 2 Zettabyte Daten angehäuft. 6. Mai 2013. URL: http://www.pcwelt.de/news/Menschheit_hat_ ueber _ 2 _ Zettabyte _ Daten _ angehaeuft - Studie - 7889732 . html (besucht am 05. 10. 2015). [SM13] Heidrun Schumann und Wolfgang Müller. Visualisierung: Grundlagen und allgemeine Methoden. Darmstadt, 2013. [Sta15] Statista. Upload von Videomaterial bei YouTube pro Minute bis 2014. 3. Okt. 2015. URL : http : / / de . statista . com / statistik / daten / studie / 207321 / umfrage / upload - von - videomaterial - bei youtube-pro-minute-zeitreihe/ (besucht am 03. 10. 2015). [Twi15] Twitter. Twitter Nutzung / Fakten zum Unternehmen. 3. Okt. 2015. URL: https://about.twitter.com/de/company (besucht am 03. 10. 2015). [VS12] Fritz Venter und Andrew Stein. Images & videos: really big data. Nov. 2012. URL : http : / / www . analytics - magazine . org / november - december-2011/694-images-a-videos-really-big-data (besucht am 07. 10. 2015). [Web12] Rainer Weber. Technologie von Unternehmenssoftware. Berlin, 2012. [Wir13] Enzyklopädie der Wirtschaftsinformatik. Führungsinformationssysteme. 30. Sep. 2013. URL: http : / / www . enzyklopaedie - der - wirtschaftsinformatik.de/lexikon/uebergreifendes/Kontextund-Grundlagen/Informationssystem/Fuhrungsinformationssystem (besucht am 11. 08. 2015). [Wit07] Jörg Witte. Datenbanksystem. Göttingen, 30. Okt. 2007. URL : http:/ / www2.pmf.fh-goettingen.de/~jwitte/lehre/Medieninformatik/ Datenbanken/Vorlesungskripte/Datenbanksystem.pdf (besucht am 01. 09. 2015). [Yau11] Nathan Yau. Visualize this. Wiley, 2011. [Zuh15] Mohammed Zuhair Al Taie. Hadoop as the Backbone of Big Data Technologies. 7. Sep. 2015. URL : http://blog.agro-know.com/?p=3779 (besucht am 08. 10. 2015). VIII Abstract Matthias Fischer Big Data Verarbeitung und Aufbereitung mit Data Mining für Management Cockpits Es werden stetig mehr Daten produziert, die es zu verarbeiten und zu analysieren gilt, um neue Zusammenhänge zu erkennen und nutzbares Wissen zu generieren. Klassische Datenbanksystemen sind weder in der Lage, die Massen an Daten noch die Vielfalt der Formate in der benötigten Geschwindigkeit zu verarbeiten. Hierzu werden die verschiedenen Technologien des Big Data Managements verwendet. Diese decken den ganzen Prozess von der Verarbeitung der Daten, über die Analyse bis zur Darstellung ab. Die vorliegende Arbeit stellt Technologien aus allen drei Bereichen vor und lehnt sich dabei strukturell an die Taxonomie des BITKOM-Leitfadens [BIT14] an. Bei der Analyse bildet das Data Mining, bei der Visualisierung das Management Cockpit den Schwerpunkt. Big Data processing and preparation with Data Mining for Management Cockpits There are steadily produced more data that need to be processed and analysed to identify new relations and generate usefull knowledge. Common databases are not designed to process neither this amount of data nor the various formats of data in the needed velocity. Therefor different technologies of Big Data Management are used. They cover the whole process from processing data over analyzing them to display them. This paper presents technologies out of all three areas and structurally leans on the BITKOM-Guides’ taxonomy [BIT14]. While Data Mining is focused in the analyzing part, Management Cockpits are in the cisualizing part. 31. Oktober 2015 IX Ehrenwörtliche Erklärung Ich erkläre hiermit ehrenwörtlich, dass ich die vorliegende Arbeit selbstständig angefertigt habe. Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Es wurden keine anderen als die angegebenen Stellen und Hinweise verwandt. Alle Quellen, die dem World Wide Web entnommen oder in einer sonstigen digitalen Form verwendet wurden, sind der Arbeit beigefügt. Der Durchführung einer elektronischen Plagiatsprüfung stimme ich hiermit zu. Die eingereichte Datei entspricht der eingereichten Druckfassung. Die vorliegende Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht. Wismar, 31. Oktober 2015 ......................................... X