2.2 Big Data - Hochschule Wismar

Werbung
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
Herunterladen