projektarbeit datenvorverarbeitungcleve/vorl/projects/dm/ss13/datenvorb/... · die projektarbeit im...
TRANSCRIPT
1
Fakultät für Wirtschaftswissenschaften
Projektarbeit
Datenvorverarbeitung
Modul: Business Intelligence / Wissensextraktion / Data Mining
Studiengänge Master Digitale Logistik und Management
und Master Multimediatechnik
Sommersemester 2013
eingereicht von: Karim Eddarif
Christian Meyerhöfer
Matrikelnummern: 105573
114068
Gutachter: Prof. Dr. Jürgen Cleve
Prof. Dr. Uwe Lämmel
Wismar, den 19. Juni 2013
II
Inhaltsverzeichnis
I. Abbildungsverzeichnis ...................................................................................................... III
II. Tabellenverzeichnis........................................................................................................... IV
III. Abkürzungsverzeichnis ...................................................................................................... V
1. Einführung in die Thematik ................................................................................................ 6
2. Grundlagen der Datenvorverarbeitung ................................................................................ 7
3. Datenvorverarbeitung anhand von Beispielen mit KNIME ................................................ 9
3.1 Datenreduktion ............................................................................................................ 9
3.2 Datentransformation .................................................................................................. 14
3.3 Datensäuberung ......................................................................................................... 18
4. Schlussfolgerung ............................................................................................................... 23
5. Literaturverzeichnis........................................................................................................... 26
6. Anhang .............................................................................................................................. 27
III
I. Abbildungsverzeichnis
Seite
Abbildung 1: Die vier wichtigsten Datenvorverarbeitungsverfahren .................................. 7
Abbildung 2: Analyse von Abhängigkeiten mithilfe vom Correlation Filter in KNIME .. 10
Abbildung 3: Knoten Sorter zur Darstellung der Zusammenhänge ................................... 11
Abbildung 4: Darstellung des Scatter Plots ....................................................................... 11
Abbildung 5: Betrachtung von Ausreißern ........................................................................ 12
Abbildung 6: Statistiken eines Datensatzes ....................................................................... 13
Abbildung 7: Darstellung der Binning-Verfahren in KNIME ........................................... 15
Abbildung 8: Unbearbeitete Altersstruktur ........................................................................ 15
Abbildung 9: Auswahlmöglichkeiten des Auto-Binners ................................................... 16
Abbildung 10: Pie Chart nach Auto-Binning ....................................................................... 16
Abbildung 11: Java Snippet Node Konfiguration ................................................................ 17
Abbildung 12: Java Snippet Workflow ................................................................................ 18
Abbildung 13: Missing Value Konfiguration ...................................................................... 19
Abbildung 14: Experimente zur Behandlung fehlender Werte ............................................ 21
IV
II. Tabellenverzeichnis
Seite
Tabelle 1: Ergebnis der Experimente ............................................................................ 21
V
III. Abkürzungsverzeichnis
Col column
dt. deutsch
ID Identifikator
KNIME Konstanz Information Miner
N No
Y Yes
6
1. Einführung in die Thematik
Die Projektarbeit im Modul Wissensextraktion / Data Mining im Sommersemester 2013 an
der Hochschule Wismar findet für Karim Eddarif im Master-Studiengang Multimediatechnik
und die Übertragung des Moduls auf das Modul Business Intelligence für Christian
Meyerhöfer im Master-Studiengang Digitale Logistik und Management statt. Das Thema
Datenvorverarbeitung wurde ausgewählt, da das ein sehr interessantes Thema im Bereich des
Data Minings darstellt und bei Auswertungen von Datenbanken in der Regel immer ange-
wandt werden muss. Sowohl im Bereich der Multimediatechnik als auch im Logistik-Bereich
ist die Datenvorverarbeitung von Bedeutung und wird auch mit der noch immer steigenden
Bedeutung von Datenbanken und der Wissensextraktion weiter an Bedeutung gewinnen.
Das Ziel dieser Projektarbeit ist es einerseits die Datenvorverarbeitung mit ihren Bestand-
teilen und unterschiedlichen Verfahren vorzustellen und andererseits die Anwendung anhand
von im Rahmen des Projektes bereitgestellten Datenbanken beispielsweise darzustellen. Die
Datenvorverarbeitung soll zur Einführung anhand unterschiedlicher Datenbanken zusammen
als Team untersucht werden und aufgrund von unterschiedlichen Voraussetzungen innerhalb
der Datenbanken auf die Tauglichkeit einer sinnvollen Datenvorverarbeitung geprüft werden.
Anschließend sollen mit diesen Datenbanken, mit denen gute Datenvorverarbeitungsbeispiele
mit den jeweiligen Datenvorverarbeitungsschritten durchgeführt werden können, mithilfe von
KNIME veranschaulicht werden.
Zu diesem Zweck hat sich das Team mindestens einmal pro Woche zusammengefunden.
Nach dem ersten Treffen und Kennenlernen wurde sich jeweils eigenständig in die Thematik
eingearbeitet und es wurden unterschiedliche Beispiele durchgeführt. Mithilfe der manuell
ausgesuchten Datensätze, wurden dann die Datensätze in die Software KNIME eingefügt, mit
denen dann die Datenvorverarbeitung durchgeführt und veranschaulicht werden konnte.
7
2. Grundlagen der Datenvorverarbeitung
Die Datenvorverarbeitung stellt einen sehr wichtigen Schritt in der Untersuchung und Beur-
teilung von Datenbanken im Rahmen des Data Minings dar. Oftmals sind Datensätze, die auf
Umfragen und Analysen beruhen, sehr groß, wobei viele Attribute und Aspekte vorhanden
sind, die es alle zu beachten und zu untersuchen gilt. Mithilfe der Datenvorverarbeitung kön-
nen diese Datensätze vereinfacht werden und somit besser untersuchbar gemacht werden. Der
Zweck und das Ziel der Datenvorverarbeitung liegt demnach in der Reduktion der Eingangs-
größen auf ein Mindestmaß.1 Aber nicht nur die Reduktion spielt dabei eine Rolle, sondern
auch die Veranschaulichung der Datensätze.
Zum Einsatz bei der Datenvorverarbeitung kommen vier verschiedene Verfahren (siehe
Abbildung 1), die dazu dienen sollen die Datenbänke vereinfacht und sinnvoller darstellen zu
können. Zum ersten gibt es die Datenselektion, in der die Datensätze ausgewählt werden, und
gegebenenfalls auch zusammengeführt werden, die untersucht werden sollen. Die Daten-
reduktion, die Datensäuberung und die Datentransformation bieten danach weitere Möglich-
keiten die Datensätze zu bearbeiten. Auch innerhalb dieser Datenvorverarbeitungsverfahren
können unterschiedliche Verfahren und Varianten angewendet werden, um die Datensätze
verbessern zu können. Durch diese Bearbeitung mit den unterschiedlichsten Verfahren kön-
nen die Datensätze besser be- und verarbeitet werden.
Abb. 1: Die vier wichtigsten Datenvorverarbeitungsverfahren
Die Software KNIME hilft im Rahmen dieser Datenvorverarbeitungsverfahren diverse
Datensätze und –banken zu verbessern und diese zu bearbeiten. Was im Einzelnen mit der
Software KNIME im Rahmen der Datenvorverarbeitung bezüglich der jeweiligen Verfahren
1 Vgl. Reuter, M., 2004, Abruf: 07.06.2013
8
durchgeführt werden kann und wurde, wird in den einzelnen Abschnitten noch näher erläutert.
Wichtig anzumerken ist zudem, dass unterschiedliche Datenarten und Datensätze auch unter-
schiedliche Datenvorverarbeitungsverfahren erfordern, wobei von Fall zu Fall unterschieden
und experimentiert werden muss, um ein sinnvolles Verfahren zur Verbesserung des Daten-
satzes auswählen zu können.
Das Vorgehen beim Data Mining sieht wie folgt aus: Als erstes muss auf die Daten aus der
ausgewählten Datenbank zugegriffen werden, woraufhin die Daten betrachtet werden müssen.
Mithilfe dieser Betrachtung, kann man erste Schritte zur Verbesserung der Datenqualität
einleiten und die Anreicherung der Daten vorantreiben. Dadurch hat man nun auch einen
Einblick in die Daten gewonnen und kann diese identifizieren und weiß, was die einzelnen
Daten aussagen und ob sie für die weitere Betrachtung von Bedeutung sind. Durch diese
Gewinnung von Erfahrungswerten über einen Datensatz können eventuell Dimensionen
gestrichen werden, wodurch eine Dimensionsreduktion vollzogen werden kann. Durch wei-
tere Stichproben können nun auch die Verteilungen der Daten geprüft werden und die Aus-
wertung des Datensatzes kann vorangetrieben werden.2
Man sieht also an der Vorgehensweise beim Data Mining, dass die Datenvorverarbeitung eine
entscheidende Rolle in der Auswertung und Bearbeitung von Datensätzen einnimmt. In der
Regel gilt, dass ca. 80 % der Arbeit, die in die Auswertung von Datensätzen gesteckt wird,
der Datenvorverarbeitung gewidmet werden müssen, um gute Ergebnisse zu erhalten.3
Nach dieser kurzen Einführung in die Bedeutung und der Zweckmäßigkeit der Datenvorver-
arbeitung, sollen nun verschiedene Experimente mit unterschiedlichen Datensätzen beispiel-
haft durchgeführt werden, um die unterschiedlichen Verfahren der Datenvorverarbeitung
veranschaulichen zu können. Des Weiteren wird dadurch gezeigt, was die Bearbeitung für
Folgen hat und wo die unterschiedlichen Verfahren sinnvoll eingesetzt werden können.
2 Vgl. Wert, O., 2004, S. 4, Abruf: 07.06.2013
3 Vgl. Cleve, J., 2011, S. 60
9
3. Datenvorverarbeitung anhand von Beispielen mit KNIME
Beim Hauptteil dieser Projektarbeit sollen die einzelnen Datenvorverarbeitungsverfahren dar-
gestellt werden. Zur Bearbeitung der Datensätze wird die Software KNIME eingesetzt, die
speziell zum Zweck der Datenbearbeitung und –auswertung konzipiert wurde.
Wichtig zu erwähnen ist, dass das Feld der Datenvorverarbeitung unendlich groß ist und bei
jedem Datensatz unterschiedliche Voraussetzungen vorhanden sind. Im Rahmen dieser Fall-
studie sind daher die in der Bearbeitungszeit möglichen Beispieldurchführungen aufgezeigt.
Selbstverständlich gibt es wesentlich mehr Möglichkeiten die Datenvorverarbeitung an noch
mehr Beispielen darzustellen. Jedoch ist es nahezu unmöglich alle Verfahren an den ver-
schiedensten Datensätzen exemplarisch darzustellen. Die im Folgenden gezeigten Datensäu-
berungs-, Datenreduktions- und Datentransformationsverfahren bilden daher nur einige
Beispiele dieser Verfahren dar, wodurch Anwendungsbeispiele aufgezeigt werden sollen, die
auch Anwendungsempfehlungen bei bestimmten Voraussetzungen der Datensätze aufzeigen
sollen.
Die Kernfragen sind dabei, welchen Einfluss die unterschiedlichen Datenvorverarbeitungsver-
fahren auf die Datensätze ausüben und wie man mit welchen Daten umgeht. Experimente mit
verschiedenen Datensätzen dienen als erster Ansatz, um Anwendungsempfehlungen zu geben,
wobei die zuvor genannte Software KNIME zur Durchführung der Experimente diente.
3.1 Datenreduktion
Bei der Datenreduktion geht es hauptsächlich um die Minimierung der Dimensionen eines
Datensatzes. Deshalb wird bei der Datenreduktion häufig auch von Dimensionsreduktion
gesprochen. Das Ziel ist es demnach die Zahl der relevanten Dimensionen zu reduzieren, was
entweder durch die Streichung oder die gezielte Auswahl von bestimmten Attributen erfolgt.
In der Praxis kommt es zu einer Kombination aus beidem. Es kommt demnach sowohl zur
schrittweisen Vorwärtsauswahl als auch zur schrittweisen Rückwärtseliminierung.4
Im ersten Beispiel werden nun bestimmte Attribute gestrichen. Eingesetzt wird in KNIME
dabei der „Correlation Filter“. Mit ihm werden die Zusammenhänge zweier Spalten zueinan-
der dargestellt. Die Darstellung des Workflows in KNIME ist in Abbildung 2 zu sehen.
4 Vgl. Cleve, J., 2011, S. 62
10
Abb. 2: Analyse von Abhängigkeiten mithilfe vom Correlation Filter in KNIME
Der Datensatz, der hier betrachtet wird, ist der vom Data Mining Cup 2001. Die Frage ist, ob
ein Versandhändler von Büromaterialien Werbemails an seine Kunden versenden soll und ob
die in der Datenbank vorhanden Kunden auch wirklich noch Kunden sind, um keine Werbe-
mails an Nicht-Kunden zu versenden, was unnötige Kosten hervorrufen würde. Aufgeführt
sind hier über 18.000 Zeilen, also über 18.000 Kunden. 34 Spalten sind zudem vorhanden, es
sind also sehr viele Daten in der Datenbank existent. Die Reduzierung von überflüssigen
Attributen wäre demnach sehr sinnvoll.
Im Falle der Korrelation können demnach Spalten eliminiert werden, die einen hohen
Zusammenhang zueinander haben, wodurch eine Spalte die gleiche Aussage wie die andere
Spalte hat. Ist dies der Fall, kann eine der beiden Spalten gelöscht werden. Eine hohe Korre-
lation ist der Indikator für einen hohen Zusammenhang der Spalten. Die Korrelationen werden
angezeigt von -1 bis +1. Bei dem Ergebnis -1 besteht gar kein Zusammenhang zwischen den
betrachteten Spalten, bei +1 ein 100 prozentiger Zusammenhang.
In diesem Fall fallen zwei Spalten auf, die eine relativ hohe Korrelation zueinander besitzen.
Die erste Spalte sind die Kunden-IDs, also die Kundenummern des Versandhändlers. Die
zweite Spalte zeigt den Jahresstart, in dem ein Unternehmen oder eine Person Kunde des Ver-
sandhändlers wurde. Nun kann man sich schon durch logisches Denken vorstellen, dass die
Kunden-IDs laufend vergeben werden, d.h. nacheinander je nach dem Datum, an dem jemand
11
Kunde wurde. So lassen sich die Korrelationen direkt und logisch nachvollziehen. Auch durch
weitere Prüfungen, können die Zusammenhänge geprüft werden, was durch den Knoten
„Sorter“ gemacht werden kann. Einerseits kann nach den Kunden-IDs sortiert werden,
wodurch die laufenden Kunden-IDs angezeigt werden und man den Vergleich direkt in der
zweiten Spalte des Jahresstartes sehen kann (siehe Abbildung 3).
Abb. 3: Knoten Sorter zur Darstellung der Zusammenhänge
Andererseits kann durch die vorübergehende Eliminierung aller nicht betrachteten Spalten
genauer auf die Attribute Kunden-IDs und Jahresstart eingegangen werden. Durch das „Scat-
ter Plot“ (dt. Streudiagramm) zeigt KNIME die Verteilung der Attribute der beiden Spalten in
Abhängigkeit voneinander an. Durch diese
Funktion kann man direkt und auf einfache
Weise Ausreißer und Besonderheiten erkennen
und weitere Schritte einleiten. In Abbildung 4 ist
das Ergebnis des Scatter Plots dargestellt, was
eine weitere Auffälligkeit aufdeckt. Es gibt eine
Reihe an Ausreißern, die alle das gleiche
Attribut des Jahresstartes aufweisen. Diese
Ausreißer sollen alle im Jahr 1900 neue Kunden
des Versandhändlers geworden sein. Besonders
die Eigenschaft, dass zwischen dem nächsten
Jahresstart eines Kunden über 60 Jahre liegen,
Abb. 4: Darstellung des Scatter Plots
12
macht eine weitere Betrachtung an dieser Stelle unumgäglich. Da es in dem Datensatz
hauptsächlich darum geht, ob jemand noch Kunde ist oder nicht, besteht hier die Vermutung,
dass es sich um Kunden handelt, die nicht mehr existieren. Da der Versandhändler
möglicherweise auch noch gar nicht seit dem Jahr 1900 existiert, kann diese Annahme als
bestätigt angesehen werden.
Um herauszufinden, um welche Attribute es sich bei diesen Ausreißern genau handelt, kann
man nun auch die Spalte Jahresstart sortieren. Bei der Betrachtung des Resultates offenbart
sich der Abstand zwischen den
Ausreißern und den darauf folgenden
Attributen. Zwischen ihnen liegen 65
Jahre, die Anzahl der Ausreißer beträgt
54. Diese 54 Zeilen können nun entfernt
werden, wodurch sich die Anzahl der
Attribute um 54*33 (Zeilen mal Anzahl
Spalten) reduziert. Insgesamt werden
demnach 1782 Attribute entfernt.
Neben dieser Reduzierung darf man die
Hauptreduzierung der Spalte Jahresstart
Abb. 5: Betrachtung von Ausreißern oder der Spalte ID, die durch
Korrelation nahezu die gleiche Aussage
aufweisen, nicht vergessen. Da für den Versandhändler die Kunden-ID größere Bedeutung
haben dürfte, wird nun die Spalte Jahresstart gelöscht, die für die weitere Bearbeitung des
Datensatzes keine Rolle mehr spielt und auch vorher schon nicht gespielt hat. Dadurch
konnten wiederum über 18.000 Attribute gestrichen werden, die während der weiteren
Betrachtung und für die Auswertung des Datensatzes nicht mehr vorhanden sind und die
Bearbeitung so vereinfachen.
Insgesamt konnten mithilfe des Correlation Filter knapp 20.000 für die Auswertung des
Datensatzes überflüssigen Attribute gelöscht werden, was prozentual gesehen erst einmal ein
relativ kleinen Anteil ausmacht, allerdings hilft jede Vereinfachung, um die Komplexität eines
so großen Datensatzes verringern zu können.
Eine weitere Möglichkeit der Eliminierung und Reduzierung in Datensätzen ist das einfache
Betrachten von Spalten und Zeilen, in denen ein sehr großer prozentualer Anteil von
fehlenden Werten vorhanden ist. In Abbildung 6 ist so ein Beispiel dargestellt.
13
Abb. 6: Statistiken eines Datensatzes
In dem betrachteten Beispiel geht es für ein Unternehmen darum, ob ein neu ausgehandelter
Arbeitsvertrag mit einem Arbeitnehmern als gut oder schlecht bewertet werden kann. Der
Datensatz ist nicht besonders groß und besitzt nur 57 Zeilen bei 16 Spalten.
Oftmals ist der erste Schritt der Datenvorverarbeitung eine erste Betrachtung des Datensatzes,
wozu der Knoten „Statistics“ sehr sinnvoll ist. Hier werden alle wichtigen Eigenschaften der
Spalten angezeigt. Dadurch erfährt man unter anderem auch die Anzahl von fehlenden Werten
in einer Spalte. Zur Einordnung wird darunter die Gesamtanzahl an Attributen in einer Spalte
angezeigt. So kann man direkt erkennen, falls in einer Spalte eine auffällig große Anzahl an
fehlenden Attributen vorhanden ist.
In dem hier betrachteten Beispiel, fallen vor allem die Spalten „Col3“ und „Col7“ auf. Häufig
kann man daraus schließen, dass diese Spalte durch die geringe Anzahl an Attributen nun
eliminiert werden kann, da sie kaum Aussagewerte besitzt. So fehlen in Col3 etwa 74 % aller
Attribute und in Col7 sogar etwa 84 %. Diese sehr hohen prozentualen fehlenden Attribute
lassen nun im ersten Moment auf unwichtige Spalten schließen. Doch um sicher zu gehen,
dass man keine relevanten Daten löscht, sollte man erst noch die Bedeutung und die Aussage
der Attribute in den jeweiligen Spalten erforschen und kennenlernen. Es kann eventuell sein,
dass die Attribute doch wichtig für die Auswertung sind, obwohl nur wenige pro Spalte
vorhanden sind.
In der Spalte Col3 sind die Lohnerhöhungen der Mitarbeiter des Unternehmens nach dem
dritten Jahr der Vertragsunterschrift aufgeführt. In Col7 wiederum sind die
Bereitschaftsbezahlungen dargestellt. Mit diesen Informationen können nun Schlüsse gezogen
werden, ob Spalten gestrichen werden dürfen oder nicht. Mit den Aussagen der Spalten Col3
und Col7 kann festgehalten werden, dass die Spalten nicht entfernt werden dürfen. Das liegt
daran, dass die Aussagen wichtig für die Auswertung des Datensatzes sind. Die Attribute sind
wichtig, um herauszufinden, ob ein neuer Arbeitsvertrag für den jeweiligen Arbeitnehmer gut
oder schlecht ist. So liegt die hohe Zahl der fehlenden Werte in Col3 daran, dass viele
14
Mitarbeiter anscheinend noch nicht über drei Jahre in dem Unternehmen sind oder einfach
keine Gehaltserhöhung nach dem dritten Jahr erhalten haben. Um aber Beurteilungen abgeben
zu können müssen auch die betrachtet werden, die eine Gehaltserhöhung bekommen haben.
Würde man die Spalte löschen würden diese wichtigen Informationen bei der Auswertung
fehlen und das Gesamtergebnis verfälschen. Das gleiche Prinzip liegt auch bei der Spalte
Col7 vor. Nicht jeder Mitarbeiter in dem Unternehmen macht Bereitschaften auch außerhalb
der Arbeitszeiten. Deshalb bekommen nur wenige Arbeitnehmer Bereitschaftsbezahlungen.
Aber auch diese müssen bei der Auswertung berücksichtigt werden.
Im Endeffekt konnten in diesem Fall durch die Betrachtung der prozentualen Werte der
fehlenden Attribute keine Reduzierung vorgenommen werden. Hier kam es schlussendlich
eher zu einer schrittweisen Vorwärtsauswahl, in der die betrachteten Attribute mit in die
Auswertung mit einbezogen werden.5 Die Frage, was mit den fehlenden Werten gemacht
wird, findet in der Datensäuberung statt. Hier bietet es sich an, dass die fehlenden Attribute
mit dem Wert „0“ ausgefüllt werden, da diese Attribute aufgrund von fehlender Aktionen der
Arbeitnehmer keinen Wert aufweisen.
Wichtig ist also die Beachtung der Aussagekraft der Spalten und Zeilen, die häufig eine
wichtige Rolle spielen, obwohl es auf den ersten Blick einen anderen Eindruck macht.
3.2 Datentransformation
Datentransformation ist die Umformung von Daten in Formen, die zur weiteren Auswertung
von Datensätzen geeignet sind. Dazu gehören Intervallbildungen, Generalisierung und Aggre-
gation. Im Folgenden sollen einzelne Beispiele zur Datentransformation gezeigt werden.
Das erste Beispiel ist das sogenannte Binning. Numerische Werte werden normalisiert und es
findet eine Intervallbildung statt. Die Daten werden also skaliert und in bestimmten Inter-
vallen unterteilt. Um ein Beispiel in KNIME zu veranschaulichen, wurde eine Datenbank ver-
wendet, die elf Merkmale von 534 Personen beinhaltet. Diese Personen wurden zufällig aus
einer Bevölkerungsüberwachung der USA von 1985 ausgewählt und mit den Daten sollen die
Strukturen der Einkommen, genauer gesagt des Stundenlohnes, untersucht werden. In Abbil-
dung 7 ist der Aufbau der unterschiedlichen Binning-Verfahren dargestellt und soll nun näher
beschrieben werden. Der Sinn im Binning ist eine vereinfachte und übersichtlichere Darstel-
lung von bestimmten Attributen. In diesem Fall handelt es sich um das Alter der jeweiligen
Personen.
5 Vgl. Cleve, J., 2011, S. 62
15
Abb. 7: Darstellung der Binning-Verfahren in KNIME
Besonders beim Alter bietet es sich an, eine Intervallbildung vorzunehmen. Ohne die Darstel-
lung in Intervallen, hat man viele verschiedene Werte, ohne eine Struktur oder genauere
Aussagekraft für diese Daten zu haben. So kann man durch den Knoten „Pie Chart
(interactive)“ verdeutlichen, wie die prozentuale Verteilung der einzelnen Altersjahrgänge
aussieht (siehe Abbildung 8). Man erhält ein
sehr unübersichtliches, schwer zu verarbei-
tendes Kreisdiagramm, was wenig Aussage-
kraft besitzt. Mit der Bearbeitung durch die
verschiedenen Binning-Verfahren, können
Intervalle gebildet werden, wobei die
Altersjahrgänge in Intervalle eingeordnet
werden und somit z.B. gesagt werden kann,
dass 20-30 jährige Personen überwiegend ein
bestimmtes Gehalt beziehen.
Die Intervallbildung kann in Knime auf zwei
verschiedene Arten gemacht werden. Zum
einen gibt es den „Auto-Binner“ und zum
Abb. 8: Unbearbeitete Altersstruktur anderen der „Numeric Binner“.
16
Beim Auto-Binner erfolgt die Intervallbildung nach prozentuellen Voraussetzungen. Wie in
Abbildung 9 dargestellt, kann erstens eingestellt werden, wie viele Intervalle gebildet werden
sollen, wobei bei z.B. fünf ausgewählten
Intervallen die ersten 20 % des Alters, dann
die nächsten 20 % in die nächste Gruppe
eingeordnet werden. Es gibt also fünf Grup-
pen, die jeweils 1/5 der Altersgruppen ent-
halten. Eine weitere Möglichkeit ist die
direkte prozentuelle Auswahl der Intervalle.
Man gibt der Software vor, ab welchem
Prozentpunkt ein Intervall beginnt und
wann es endet. Beispielsweise kann man die
Abb. 9: Auswahlmöglichkeiten Einteilung so vornehmen, dass ein Intervall
des Auto-Binners bei 25 % beginnen und bei 50 % enden soll.
So bestimmt der Anwender selbständig wie
viele Intervalle gebildet werden, richtet sich dabei aber nach der prozentualen Verteilung und
nicht direkt nach den Werten, also nicht nach dem Alter selbst. Darauf geht dann der Numeric
Binner genauer ein. Des Weiteren kann man einstellen, wie die einzelnen Intervalle heißen
sollen. Die Auswahl kann dann entweder auf die fortlaufende Benennung in „Bin1, Bin2,
usw.“ gesetzt werden oder man lässt sich anzei-
gen, wo genau das Intervall beginnt und wo es
endet, was mit den reelen Werten angezeigt wird.
Das Ergebnis dieser Intervallbildung kann
wiederum durch ein Kreisdiagramm dargestellt
werden (siehe Abbildung 10). Man erkennt sofort
die verbesserte Darstellung, wodurch die weitere
Bearbeitung wesentlich vereinfacht wurde und
die Auswertung des Datensatzes verbessert hat.
Durch die getätigte Intervallbildung wurden die
Altersstrukturen nun in Gruppen dargestellt und
man kann somit bessere Aussagen über sie
treffen. Abb. 10: Pie Chart nach Auto-Binning
17
Der Numeric Binner hat die gleiche Funktion wie der Auto-Binner. Allerdings wird beim
Numeric Binner nicht die prozentuale Verteilung betrachtet, sondern die Intervallbildung
richtet sich direkt nach den numerischen Werten. Man gibt also direkt ein ab welchem Alter
ein Intervall beginnen soll und wo das Intervall enden soll. So kann man wirklich genau die
Altersgruppen betrachten, die man haben möchte und muss nicht mit prozentualen
Anpassungen eine bestimmte Altersgruppe herausfiltern.
Welchen Binner man im Endeffekt gebrauchen möchte, hängt von den Zielen ab, die man im
Einzelnen hat. Um z.B. die Gehälter der 20-25-jährigen herauszufiltern, bietet sich definitiv
der Numeric Binner an, da hier direkt die Altersklassen ausgewählt werden können.
Das Binning bietet also eine sehr gute Möglichkeit die Darstellung von z.B. Altersstrukturen
verbessert und in Intervallen darstellen zu können. Die Übersichtlichkeit und die besseren
Voraussetzungen für die weitere Auswertung des Datensatzes, werden dadurch ebenfalls
deutlich verbessert.
Neben dem Binning und der Intervallbildung gibt es im Rahmen der Datentransformation
auch die sogenannte Generalisierung. Bei der Generalisierung werden numerische Attribute
durch symbolische Attribute mit quantitativer Aussage (niedrig, mittel, hoch) ersetzt.6 Dafür
bietet KNIME den JAVA-Snippet Node. Dieser Node ermöglicht es beliebige Java-Codes
auszuführen, wie in Abbildung 11 zu erkennen ist.
Abb. 11: Java Snippet Node Konfiguration
6 Vgl. Althoff, K.-D., 2005, S. 11
18
Mithilfe des Java Snippet Nodes können neue Spalten erstellt oder eine vorhandene Spalte
ersetzt werden. In Abbildung 11 ist dargestellt, wie die Ausgabespalte mithilfe eines JAVA
Feldes neu geschaffen und definiert wird. Dabei kann man auf die Attribute der Eingangs-
spalte und deren dazugehörigen Variablen zurückgreifen.
Hierbei handelt es sich um den Wetter-Datensatz, wobei der Java Snippet Node in diesem Fall
verwendet wird, um die Einteilung der Temperaturen neu dazustellen. Der komplette Work-
flow in KNIME ist in der Abbildung 12 dargestellt.
Abb. 12: Java Snippet Workflow
Die Datentransformation bietet also auch viele verschiedene Möglichkeiten bestimmte
Datensätze umzuformen oder auch um Daten und Attribute vereinfacht darstellen zu können,
wie dies mit dem Binning getan wurde. Neben diesen Möglichkeiten der Datenvorverarbei-
tung im Rahmen der Datentransformation, gibt es noch wesentlich mehr Varianten, die aber
den Rahmen dieser Arbeit gesprengt hätten. Im Grunde ist hier nur eine Auswahl dessen auf-
gezeigt, was bei der Datenvorverarbeitung möglich ist. Wegen des sehr großen Feldes und der
unendlichen Möglichkeiten der Datenvorverarbeitungsverfahren ist es sehr schwer einzu-
grenzen und zu definieren welche Verfahren im Endeffekt die wichtigsten bei der Datenvor-
verarbeitung darstellen. Bei der Datentransformation spielen die zuvor dargestellten und
erklärten Verfahren eine große Rolle, weshalb diese hier auch näher erläutert wurden,
wodurch beispielsweise auch Handlungsempfehlungen für den Umgang von Altersdaten
gegeben werden konnten.
3.3 Datensäuberung
Neben den betrachteten Datenvorverarbeitungsverfahren der Datenreduktion und der Daten-
transformation, erfolgt nun die Vorstellung der Datensäuberung. Das Problem bei vielen
Datenbanken und Datensätzen ist, dass die Rohdaten in der Datenbank häufig lückenhaft sind.
19
Die Ursache dieser lückenhaften Datensätze liegt zumeist begründet in der Erfassung der
Daten, bei der Fehler und Datenverluste auftreten. Das Problem ist nun, dass Data Mining-
Verfahren nicht mit fehlenden Werten umgehen können. Attribute mit vielen fehlenden
Werten sind aber nutzlos. Demzufolge müssen fehlende Werte behandelt und verbessert
werden, um mit den Datensätzen arbeiten und sie verwerten zu können.7 Wie man am besten
mit fehlenden Werten umgeht, soll die Durchführung von Experimenten anhand der Software
KNIME exemplarisch vorstellen.
Als Testdaten werden der Datensatz „Akzeptierbarkeit von Arbeitsverträgen“ und der Daten-
satz „Herzkrankheit“ in den folgenden Experimenten verwendet.
Bei der Erfassung der Herzkrankheitsdaten wurden verschiedene Eigenschaften, die vermut-
lich für das Auftreten eines Herzleidens verantwortlich sind, aufgeführt. Dieser Datensatz
enthält die Eigenschaften von 270 Personen. Die Daten sind geteilt (240 sind Trainingsdaten,
30 Anwendungsdaten). Die Trainingsdaten wurden manuell manipuliert, indem die Attribute
gelöscht wurden, um mit ihnen experimentieren zu können. Das Zielattribut ist das Attribut
„Herzleiden“ mit den beiden möglichen Ergebnissen „Y, N“, welche besagen sollen, ob ein
Mensch ein Herzleiden besitzt oder nicht.
Der Datensatz „Akzeptierbarkeit von Arbeitsverträgen“ beinhaltet 57 Mitarbeiter einer Unter-
nehmung. Ziel ist es zu wissen, ob für das Unternehmen ein neu ausgehandelter Arbeitsver-
trag für einen seiner MA akzeptierbar ist oder nicht.
Die Software KNIME enthält einen schon vorgefertigten Node, „Missing Value“, zur
Behandlung von fehlenden Werten.
Abb. 13: Missing Value Konfiguration
7 Vgl. Althoff, K.-D., 2005, S. 5
20
Im Folgenden sollen die in Abbildung 13 dargestellten Vorgehensweisen der Missing Value
Konfiguration erläutert werden. Diese Vorgehensweisen bestimmen, wie mit den gewählten
Attributen umgegangen werden soll und wie die fehlenden Werte behandelt und ersetzt
werden sollen.
Das Auswahlfeld „Do Nothing“ sagt aus, dass nichts getan werden soll. Das heißt, dass
Zellen, bei denen fehlende Werte auftreten, nicht berührt werden. Im Endeffekt passiert bei
dieser Auswahl nichts und die Werte werden so auftreten wie sie vorher in der Ausgabetabelle
dargestellt waren.
Das Feld „Remove Row“ bedeutet, dass jede ausgewählte Spalte vollständig entfernt wird.
Die Ausgabetabelle ist somit nach dem Löschen der Spalte nicht mehr enthalten, es handelt
sich hierbei im Grunde um ein Verfahren der Datenreduktion.
Bei den Auswahlfeldern „Min“, „Max“ und „Mean“ werden fehlende Werte durch minimale
Werte, maximale Wert oder dem Mittelwert der Spalte ersetzt. Das bedeutet also, dass
KNIME in Verbindung mit dem Missing Value die einzelnen Grenzwerte der ausgewählten
Spalte ermittelt und dann entweder das Minimum, das Maximum oder den Mittelwert der
Attribute innerhalb der Spalte für die fehlenden Werte einsetzt.
Das „Most Frequent“-Auswahlfeld steht nur für String und Integer Spalten zur Verfügung.
Jeder fehlende Wert in der betrachteten Spalte wird durch den häufigsten Wert einer Spalte
ersetzten.
Mithilfe des „Fix Value“ Auswahlfeldes werden die fehlenden Werte mit einem statischen
Wert ersetzt, der vom Anwender manuell eingestellt werden kann. Diese Option steht für
Double-, Integer- und Stringspalten zur Verfügung.
21
Abb. 14: Experimente zur Behandlung fehlender Werte
Auch die Position des Missing Value Nodes in dem Data Minig Prozess, war Teil dieser
Experimente, da sich herausgestellt hat, dass die unterschiedliche Positionierung des Knotens,
unterschiedliche Ergebnisse zur Folge hat. Die Ergebnisse dieser Experimente sind in der
unten dargestellten Tabelle zu finden.
Tabelle 1: Ergebnis der Experimente
Aus den in Tabelle 1 dargestellten Ergebnissen, die aus dem Workflow der Abbildung 14 ent-
standen sind, können folgende Handlungsempfehlungen für die Bearbeitung von fehlenden
Werten gegeben werden.
22
Das Entfernen von Tupeln bei denen Werte fehlen ist zum ersten sinnvoll, wenn die Klassifi-
kation fehlt. Aber auch, wenn dieses weniger Tupel betrifft ist das Entfernen durchaus sinn-
voll. Das Attribut hingegen sollte entfernt werden, wenn dies viele Tupel betrifft. Des Weite-
ren sind manuelle Nachträge der fehlenden Werte möglich, was allerdings sehr zeitaufwendig
ist. Sinnvoll sind diese Nachträge zudem nur bei wenigen fehlenden Werten. Zusätzlich ist zu
berücksichtigen, dass die Semantik der fehlenden Werte beachtet werden muss. Außerdem
gibt es die Möglichkeit die Vorhersage eines wahrscheinlichen Wertes zu bestimmen. Um
diese Vorhersage tätigen zu können, ist die Anwendung einer Klassifikation zur Vorhersage
des betroffen Attributs notwendig.8 Zudem zeigen die Ergebnisse aus Tabelle 1, dass zu
übermäßig betriebenes Daten-Training zu einem schlechteren Ergebnis führen kann.
Es ist also zu erkennen, dass auch bei der Datensäuberung viele verschiedene Möglichkeiten
zur Verbesserung eines Datensatzes vorhanden sind, von denen einige vorgestellt wurden.
8 Vgl. Althoff, K.-D., 2005, S. 6
23
4. Schlussfolgerung
Die Vorstellung der Datenvorverarbeitungsverfahren mit ihren Bestandteilen der zuvor
betrachteten Datenreduktion, Datentransformation und Datensäuberung, hat gezeigt, dass der
Bereich der Datenvorverarbeitung sehr vielfältig ist. Obwohl viele verschiedene Verfahren,
wie z.B. die Reduktion von Attributen mithilfe von Korrelationen oder das Ersetzen fehlender
Werte durch minimale, maximale oder durchschnittliche Werte einer Spalte aufgezeigt und
dargestellt wurden, konnten viele verschiedene Verfahren und Vorgehensweisen im Rahmen
dieser Projektarbeit nicht vorgestellt werden. Das Problem dabei ist, dass dieses Feld
unendlich groß ist und so viele Verfahren zur Datenvorverarbeitung existieren, dass eine kom-
plette Abdeckung des Gebietes nahezu unmöglich ist.
Dennoch konnten viele Verfahren vorgestellt werden, bei denen einige Anwendungsempfeh-
lungen im Zuge der Datenvorverarbeitung ermittelt werden konnten. So können bei der
Datenreduktion, mithilfe von Korrelationen bzw. Zusammenhängen von Attributen und
Spalten, einzelne Spalten entfernt werden, wobei auch Ausreißer gelöscht werden können.
Dabei ist aber zu beachten, dass bei vielen zunächst unwichtig erscheinenden Spalten und
Attributen, für die Auswertung des Datensatzes wichtige Eigenschaften vorhanden sind. Bei
der Datenreduktion ist also immer zu prüfen, ob die zu reduzierenden Daten wirklich entfernt
werden dürfen, ohne dass die Entfernung die Auswertung und die Aussage des Datensatzes
verfälscht.
Bei der Datentransformation haben verschiedene Experimente gezeigt, dass z.B. die verschie-
denen Binning-Verfahren vor allem die Übersichtlichkeit von bestimmten Attributen wesent-
lich erhöhen können. Dadurch können auch die Aussagen auf bestimmte Intervalle
ausgeweitet werden, was vor allem bei Altersstrukturen äußerst sinnvoll ist. Auch die
Generalisierung ist eine weitere Form der Datentransformation, welche mithilfe des Java
Snippet Nodes abgebildet werden kann.
Bei der Datensäuberung geht es hauptsächlich darum, Datensätze zu bearbeiten, die lücken-
haft sind, die also entweder fehlerhaft sind oder fehlende Werte aufweisen. Das ist vor allem
wichtig, weil ohne die fehlenden Werte bzw. mit den fehlerhaften Werten, die Auswertung
des Datensatzes verfälscht wird und unvollständig ist. Durch den Missing Value Knoten
können diese Attribute bearbeitet, verbessert und vervollständigt werden. Es gibt demnach
auch hier wieder viele verschiedene Varianten, wie man mit den fehlenden Werten umgeht.
Dabei ist es wichtig die Aussagekraft der Attribute zu beachten, um herauszufinden, welche
24
Schritte man zur Datensäuberung tätigen sollte. Auch das Daten-Training mit dem „decision
tree learner“ spielt bei der Entscheidung für einen bestimmten Schritt eine große Rolle.
Durch die Datenvorverarbeitung wird also der erste Schritt zur besseren Auswertung eines
Datensatzes getätigt, was diese auch vereinfacht. Dabei werden Fehler gesucht, erkannt und
mit den notwendigen Maßnahmen verbessert und bearbeitet. Die Software KNIME ist dabei
ein sehr hilfreicher Bestandteil, wodurch die Datenvorverarbeitung sehr gut und umfangreich
gestaltet werden kann.
Die Datenvorverarbeitung spielt also bei der Auswertung von Datensätzen und Datenbanken
eine entscheidende Rolle und ist im Rahmen des Data Mining unumgänglich und äußerst
wichtig.
25
Autorenaufteilung:
1. Einführung in die Thematik ................................................................ Christian Meyerhöfer
2. Grundlagen der Datenvorverarbeitung ................................................ Christian Meyerhöfer
3. Datenvorverarbeitung anhand von Beispielen mit KNIME ................ Christian Meyerhöfer
3.1 Datenreduktion ............................................................................ Christian Meyerhöfer
3.2 Datentransformation ....................... Christian Meyerhöfer (Binning) & Karim Eddarif
3.3 Datensäuberung ...................................................................................... Karim Eddarif
4. Schlussfolgerung ................................................................................. Christian Meyerhöfer
26
5. Literaturverzeichnis
Althoff, Klaus-Dieter (2005)
„Wissensentdeckung und maschinelles Lernen“, Vorlesungsfolien der Universität Hildesheim
2005;URL:http://www.iis.uni-
hildesheim.de/files/teaching/wintersemester20042005/VorlesungWissensentdeckung/Resourc
en/2004-weml-12.pdf, letzter Abruf: 05.06.2013
Cleve, Jürgen (2011)
„DataMining Skript WS 2011/12“ Hochschule Wismar, Fakultät für Wirtschaftswissen-
schaften
Reuter, Matthias (2004)
„Datenvorverarbeitung (Preprocessing)“, URL: http://www2.in.tu-clausthal.de/~reuter/fd.htm,
letzter Abruf: 07.06.2013
Werth, Oliver (2004)
„Datenvorverarbeitung von nominalen Daten für DataMining“, URL: http://www.ke.tu-
darmstadt.de/lehre/oberseminar/folien/Werth_Oliver-Slides.pdf, letzter Abruf: 07.06.2013
27
6. Anhang
Projekttagebuch:
18.06.2013
anwesend: Karim Eddarfi, Christian Meyerhöfer
behandelt: Zusammenfügen der Projektarbeit und Besprechung dieser
offene Probleme: -
Wer macht was: Karim Eddarif: Dokumentation in der Projektarbeit zu den Themen
Datensäuberung und Datentransformation; Christian Meyerhöfer: Dokumentation in
der Projektarbeit zu den Grundlagen, zur Datenreduktion, Binning und Formatierung
und Verbesserung der Projektarbeit
10.06.2013
anwesend: Karim Eddarfi, Christian Meyerhöfer
behandelt: letzte Verbesserungen an der Präsentation und Probedurchlauf
offene Probleme: Hausarbeit muss noch geschrieben werden
Wer macht was: Karim Eddarif: Folien zur Datensäuberung und Datentransformation;
Christian Meyerhöfer: Folien zu den Grundlagen, zur Datenreduktion, Binning und
Formatierung und Verbesserung der Präsentation
07.06.2013
anwesend: Karim Eddarfi, Christian Meyerhöfer
behandelt: Zusammenfügen der einzelnen Präsentationsabschnitte
offene Probleme: Bearbeitung von einigen Folien und Durchlauf muss noch geprobt
werden
Wer macht was: Karim Eddarif: Datensäuberung und Datentransformation; Christian
Meyerhöfer: Dimensionsreduktion, Binning und Formatierung und Verbesserung der
Präsentation
04.06.2013
anwesend: Karim Eddarfi, Christian Meyerhöfer
behandelt: letzte Besprechung der erreichten Ergebnisse und Besprechung des
Aufbaus und der Vorgehensweise der Präsentation
offene Probleme: Präsentation muss erstellt werden
Wer macht was: Karim Eddarif: Datensäuberung und Datentransformation; Christian
Meyerhöfer: Dimensionsreduktion, Binning und die Formatvorlage für die
Präsentation
28
29.05.2013
anwesend: Karim Eddarfi, Christian Meyerhöfer
behandelt: weitere Beispieldurchführung mit Knime und Zusammenfassung der
Ergebnisse.
offene Probleme: noch fehlende Ergebnisse für die Datentransformation.
Wer macht was: Karim Eddarif: Datensäuberung und Datentransformation; Christian
Meyerhöfer: Dimensionsreduktion und Datensäuberung
21.05.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Zusammentragung der Ergebnisse in der Datenreduktion, Datensäuberung,
Datentransformation und der Datenselektion und -integration. Weitere Durchführung
und Besprechungen der Ergebnisse. Anschließend Konsultation mit Prof. Lämmel und
Prof. Cleve.
offene Probleme: Weitere Ergebnisse sollten herausgefunden werden.
Wer macht was: Durchführung von weiteren Beispielen und Bearbeitung der
Hausarbeit. Karim Eddarif macht dabei hauptsächlich die Datensäuberung und die
Datentransformation und Christian Meyerhöfer die Datenselektion und -integration
und die Datenselektion.
15.05.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Besprechung der Ergebnisse, die mit KNIME erreicht wurden.
Anschließend Konsultation und Besprechung und Verteilung weiterer
Beispieldurchführungen.
offene Probleme: Wenig aussagekräftige Ergebnisse mit dem Datensatz:
"data_dmc2002_train.txt", weitere Beispieldurchführungen notwendig
Wer macht was: Karim Eddarif: Mit KNIME werden weitere Beispieldaten
durchgeführt im Rahmen der Datensäuberung und der Datentransformation. Christian
Meyerhöfer: Mit KNIME werden weitere Beispieldaten durchgeführt im Rahmen der
Datenselektion und -integration und der Datenreduktion.
13.05.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Datenvorverarbeitungen anhand des Datensatzes "data_dmc2002_train.txt"
und Schlussfolgerungen daraus. Die Weitere Besprechung der Gliederung für die
Projektarbeit und Verteilung weiterer Aufgaben für die weitere Vorgehensweise.
offene Probleme: Datensätze noch zu groß und müssen weiter angepasst werden und
noch weiter vorverarbeitet werden.
Wer macht was: Karim: Durchführung der Datenvorverarbeitung mit KNIME und
weitere Vorüberlegungen mit anderen Datensätzen zur Umsetzung mit KNIME.
Christian: Anpassung des Gliederungsentwurfs für die Projektarbeit und erste
Verfassungen für die Textarbeit in der Projektarbeit. Weitere Durchführungen mithilfe
von KNIME und erste Vorüberlegungen zu weiteren Datensätzen zur Umsetzung in
KNIME.
29
07.05.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: erste Auswertungen von Datenvorverarbeitungen mit KNIME und weitere
Durchführung von Beispielen. Des Weiteren wurden Vergleiche zu unterschiedlichen
Möglichkeiten der Datenvorverarbeitung bei gleichen Datensätzen geführt
offene Probleme: noch weiteres Verständnis für unterschiedliche Verfahren der
Datenvorverarbeitung in KNIME muss verbessert werden.
Wer macht was: Karim: weiter Durchführung von Datenvorverarbeitungsbeispielen
mit unterschiedlichen Datensätzen und unterschiedlichen
Datenvorverarbeitungsverfahren mithilfe von KNIME; Christian: Ebenfalls
Durchführung von Datenvorverarbeitungsbeispielen mithilfe von KNIME und erste
Gliederung und der Projektarbeit
23.04.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Zusammenführen der Ergebnisse der Beispielauswertungen, Entscheidung
welche Datensätze zur weiteren Durchführung verwendet werden können
offene Probleme: Implementierung der Beispiele
Wer macht was: Karim: Durchführung von Beispiel zur Datenmanipulation; Christian:
weiterer Verständnisgewinn von KNIME
19.04.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Gemeinsames Durchsehen der Datensätze im Wiki
offene Probleme: Welche Datensätze sind geeignet zur Umsetzung der Projektaufgabe
Wer macht was: Aufteilung der Testbeispiele zum Heraussuchen von geeigneten
Beispielen für das Durcharbeiten mit KNIME zur Datenvorverarbeitung
16.04.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Erstellung des Arbeitsplans
offene Probleme:
Wer macht was: Weitere Recherchen zum Thema Datenvorverarbeitung
12.4.2013
anwesend: Karim Eddarif, Christian Meyerhöfer
behandelt: Erstes Treffen und Kennenlernen Besprechung des weiteren Vorgehens und
Terminabsprache für die nächsten Tage bzw. Wochen.
offene Probleme: Konkretisierung der Aufgabe noch nicht gänzlich geklärt
Wer macht was: Jedes Mitglied recherchiert Themenrelevante Daten und Arbeiten bis
zum nächsten Treffen
30
Arbeitsplan:
31
Ehrenwörtliche Erklärung
Wir erklären hiermit ehrenwörtlich, dass wir die vorliegende Arbeit selbstständig angefertigt
haben. 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 stimmen wir hiermit zu.
Die vorliegende Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch
noch nicht veröffentlicht.
Karim Eddarif Wismar, den 19.06.2013
Karim Eddarif
Christian Meyerhöfer Wismar, den 19.06.2013
Christian Meyerhöfer