2. - Hochschule Wismar

Werbung
Hochschule Wismar
Fakultät für Wirtschaftswissenschaften
Bachelor-Thesis
Entwicklung eines Data-Mining-Moduls
in einem Bankeninformationssystem.
Bachelor-Thesis zur Erlangung des Grades eines
Bachelor of Science (BSc.)
der Hochschule Wismar
eingereicht von:
Andreas Hauschild
geboren am 27. April 1986 in Pritzwalk
Studiengang Wirtschaftsinformatik
Betreuer:
Prof. Dr. rer. nat. Jürgen Cleve
Prof. Dr.-Ing. Uwe Lämmel
Wismar, den 24. August 2009
Inhaltsverzeichnis
1
Einleitung .......................................................................................................................... 1
1.1
2
Motivation der Ausarbeitung ....................................................................................... 1
Informationssysteme ........................................................................................................ 2
2.1
Allgemein ..................................................................................................................... 2
2.2
Historie der Informationssysteme ................................................................................ 2
2.3
Einordnung von Informationssystemen im Betrieb ..................................................... 3
2.4
Data Warehouse ........................................................................................................... 5
2.4.1
3
2.5
Data Mart ..................................................................................................................... 7
2.6
OLAP ........................................................................................................................... 7
Data Mining ...................................................................................................................... 9
3.1
Einführung: .................................................................................................................. 9
3.2
CRISP Data Mining Modell ...................................................................................... 10
3.2.1
Business understanding (Verstehen der Aufgabe) ............................................. 10
3.2.2
Data understanding (Datensichtung und Verständnis) ....................................... 11
3.2.3
Data preparation (Datenvorverarbeitung und Transformation) .......................... 11
3.2.4
Modeling............................................................................................................. 11
3.2.5
Evaluation (Auswertung und Interpretation) ...................................................... 11
3.2.6
Deployment (Umsetzung und Auslieferung) ...................................................... 11
3.3
Anwendungsgebiete des Data Minings ...................................................................... 12
3.3.1
Klassifikation ...................................................................................................... 13
3.3.2
Schätzungen ........................................................................................................ 13
3.3.3
Vorhersage .......................................................................................................... 13
3.3.4
Assoziation ......................................................................................................... 14
3.3.5
Clustering ........................................................................................................... 14
3.4
k-Means-Algorithmus ................................................................................................ 15
3.4.1
Euklidischer Abstand .......................................................................................... 15
3.4.2
Vorteile: .............................................................................................................. 16
3.4.3
Nachteile: ............................................................................................................ 16
3.5
4
Architektur eines Data Warehouse ....................................................................... 6
k-Means-Anwendungsbeispiel................................................................................... 17
Ausgangssituation ........................................................................................................... 21
4.1
MedienHaus Rostock ................................................................................................. 21
4.2
ROTEIRO ................................................................................................................. 21
4.3
Das Projekt „Data Mining Engineering“ ................................................................... 21
4.3.1
Grundlagen der Fourier-Transformation ............................................................ 22
4.3.2
Diskrete Fourier-Transformation........................................................................ 22
4.3.3
5
4.4
Nutzen der Fourier-Transformation ........................................................................... 24
4.5
Data Mining und ROTEIRO ...................................................................................... 26
4.6
Prozess-Kernel ........................................................................................................... 26
4.7
Entwicklung eines Data Mining Moduls ................................................................... 27
Entwicklung .................................................................................................................... 28
5.1
Einleitung ................................................................................................................... 28
5.2
Problemdefinition und Anforderungsanalyse ............................................................ 28
5.2.1
Funktionale Anforderungen ................................................................................ 29
5.2.2
Qualitative Anforderungen ................................................................................. 29
5.2.3
Systembezogene Anforderungen ........................................................................ 29
5.3
Pflichtenheft ............................................................................................................... 29
5.3.1
Zielbestimmungen .............................................................................................. 29
5.3.2
Produkteinsatz .................................................................................................... 30
5.3.3
Produktübersicht ................................................................................................. 31
5.3.4
Produktfunktionen, -leistungen und –daten ........................................................ 31
5.3.5
Qualitätsanforderungen ...................................................................................... 32
5.4
Spezifikation .............................................................................................................. 32
5.4.1
k-Means-Modul .................................................................................................. 32
5.4.2
Analyse-Modul ................................................................................................... 33
5.5
Entwurf ...................................................................................................................... 34
5.5.1
k-Means-Modul .................................................................................................. 35
5.5.2
Analyse-Modul ................................................................................................... 37
5.6
6
Algorithmus der Fourier-Transformation ........................................................... 23
Implementierung ........................................................................................................ 42
5.6.1
Tabellenkonventionen ........................................................................................ 42
5.6.2
Module ................................................................................................................ 42
5.6.3
Administrative Oberfläche ................................................................................. 42
5.6.4
Zusammenfassung .............................................................................................. 43
Anwendungsfall .............................................................................................................. 44
6.1
Business understanding.............................................................................................. 44
6.2
Data understanding .................................................................................................... 44
6.3
Data preparation ......................................................................................................... 45
6.4
Modeling .................................................................................................................... 46
6.5
Evaluation (Auswertung und Interpretation) ............................................................. 46
6.5.1
Analyse 2006/2007 ............................................................................................. 46
6.5.2
Analyse 2007/2008 ............................................................................................. 50
6.6
Evaluation (Auswertung und Interpretation) ............................................................. 53
ii
7
6.6.1
Schattendistanz ................................................................................................... 53
6.6.2
Idee ..................................................................................................................... 54
6.6.3
Praktische Anwendung ....................................................................................... 55
6.6.4
DFT und Schattendistanz-Analyse 2007/2008 ................................................... 55
6.6.5
Fazit .................................................................................................................... 59
Schlussfolgerungen und Ausblick ................................................................................. 60
Anhang I Datenbankdiagramme und -tabellen ................................................................... vii
Anhang II Screenshots der Weboberfläche......................................................................... xiv
Anhang III Quellcodebeispiel .............................................................................................xviii
iii
Abbildungsverzeichnis
Abbildung 1 Historische Einordnung von Informationssystemen ............................................. 4
Abbildung 2 Betriebliche Informationspyramide ....................................................................... 5
Abbildung 3 Data Warehouse Architektur ................................................................................. 6
Abbildung 4 Mehrdimensionale Abbildung von Verkaufsdaten über Region, Produkt und
Quartal. ............................................................................................................................... 8
Abbildung 5 Phasen des CRISP-DM Prozessmodells.............................................................. 12
Abbildung 6 Dendogramm ....................................................................................................... 15
Abbildung 7 Initialisierung der Clusterzentren ........................................................................ 17
Abbildung 8 Verschiebung eines Zentrums nach der ersten Iteration...................................... 19
Abbildung 9 Verschiebung beider Zentren nach der zweiten Iteration .................................... 20
Die Abbildung 11 zeigt zwei Zeitreihen, die einen gleichen, aber zeitlich verschobenen ....... 25
Abbildung 11 Verlauf der Zeitreihen ZR1 und ZR2 ................................................................ 25
Abbildung 12 Frequenzspektren von ZR1 und ZR2 ................................................................ 25
Die Abbildung 14 zeigt die Integration des Data Mining Moduls ins ROTEIRO
Informationssystem. Das Modul enthält zwei weitere Komponenten, einmal Komponente
k-Means für das Clustern von Daten, sowie die eigentliche Analysekomponente für den
Vergleich von Datensätzen. Die Datenbasis für die Module bildet die Kundendatenbank
von ROTEIRO. ................................................................................................................. 31
Abbildung 14 Schematische Einordung der Data Mining Komponenten ................................ 31
Abbildung 15 Ablauf der Datenverarbeitung im K-Means Modul .......................................... 32
Abbildung 17 Vereinfachte Darstellung des Vergleichsprozesses ........................................... 34
Abbildung 18 Schematische Darstellung zur Speicherung von Datensätzen .......................... 38
Abbildung 19 ERD Datensätze ................................................................................................ 38
Abbildung 20 Schematische Darstellung zur Speicherung von Übergabe und Aufrufparameter
.......................................................................................................................................... 39
Abbildung 21 ERD Parameter .................................................................................................. 39
Abbildung 22 Schematische Darstellung zur Speicherung von Clusterinformationen ............ 39
Abbildung 23 ERD Cluster ...................................................................................................... 39
Abbildung 24 ERD K-Means Prozess ...................................................................................... 40
Abbildung 25 Vollständiges ERD der Data Mining Komponente ........................................... 41
Abbildung 26 Kunde K1 zeigt eine auffällige Verhaltensänderung, wohingegen Kunde K2
sein Verlauf nur eine Rechtsverschiebung der Kurve von 3 Einheiten nach rechts
aufzeigt, ansonsten aber identisch ist. .............................................................................. 46
Abbildung 27 Aufrufparameter für die Vergleichsanalyse ...................................................... 46
Abbildung 28 Visulisierung typischer Zeitreihen des Clusterprozesses(mit 4, 8 oder 12 zu
bildenden Clustern, Datensatz 2006). Dargestellt werden zufällig ausgewählte Zeitreihen
der beiden Clustern, welche die meisten Zeitreihen enthalten. ........................................ 47
Abbildung 29 2006/2007 12 Cluster, Datensätze von Cluster 0. Wanderer von 0  5........... 49
Abbildung 30 2006/2007 12 Cluster, Datensätze von Cluster 5. Wanderer von 0  5........... 49
Abbildung 31 Auszug einer Kunde/Zeitreihe, die als verändert markiert wurde. Dargestellt
sind der Ertragsverlauf von 2006(Hauptdatensatz) und 2007(Vergleichsdatensatz) ....... 49
Abbildung 32 Auswahl zufälliger Zeitreihen aus den Clustern 8 und 0, bei der Analyse mit 12
zu bildenden Clustern im Datensatz von 2007 ................................................................. 50
Abbildung 33 Auswahl zufälliger Zeitreihen aus den Cluster 5 und 0, bei der Analyse mit 8 zu
bildenden Clustern im Datensatz von 2007 ...................................................................... 51
Abbildung 34 Auswahl zufälliger Zeitreihen aus den Cluster 2 und 3, bei der Analyse mit 8 zu
bildenden Clustern im Datensatz von 2007 ...................................................................... 51
Abbildung 35 2007/2008 12 Cluster, Datensätze von Cluster 8. Wanderer von 8  1........... 52
Abbildung 36 2007/2008 12 Cluster, Datensätze von Cluster 1. Wanderer von 8  1........... 52
Abbildung 37 Visualisierung der Zeitreihe Z1, vorher und nachher (links: Verlauf, rechts:
Frequenzen) ...................................................................................................................... 53
Abbildung 38 Gleiche, aber zeitlich verschobene Zeitreihen R1a und R1b ............................ 54
Abbildung 39 Darstellung der Schattenabstandsberechnung ................................................... 54
Abbildung 41 Zwei Verläufe, die sich im Hauptcluster der DFT-Analyse befinden ............... 56
Abbildung 42 Auswahl zufälliger Zeitreihen aus den Clustern 2 und 8, bei der
Schattenanalyse mit 12 zu bildenden Clustern im Datensatz von 2007 ........................... 57
Abbildung 43 Zwei Zeitreihen, bei der die DFT die gleichen Frequenzspektren ermittelt...... 57
Abbildung 44 2007/2008 12 Cluster, Datensätze von Cluster 2. Wanderer von 2  6........... 59
Abbildung 45 2007/2008 12 Cluster, Datensätze von Cluster 6. Wanderer von 2  6........... 59
v
Tabellenverzeichnis
Tabelle 1 Werte der Zeitreihen ZR 1 und ZR 2 ........................................................................ 25
Tabelle 2 Frequenzspektren der Zeitreihen ZR1 und ZR2 ....................................................... 25
Tabelle 3 Phasen der Softwareentwicklung (Quelle: SERD S. 21) .......................................... 28
Tabelle 4 Übergabe und Aufrufparameter des K-Means Moduls ............................................ 37
Tabelle 5 Beispiel für eine Monatsertragsliste ......................................................................... 45
Tabelle 6 Name der Datensätze und die Anzahl der enthaltenen Zeitreihen ............................ 45
Tabelle 7 Ergebnisse des k-Means-Moduls zur Clusteranalyse. Dargestellt sind die Cluster
sowie ihre absolute und relative Anzahl der zugeordneten Zeitreihen ............................. 47
Tabelle 8 Ergebnisdaten des Vergleichsprozesses 2006 mit 2007 ........................................... 48
Tabellen 9 Menge der Wechsler sortiert nach Ursprungs- und Zielcluster aus dem Vergleich
2006 mit 2007 ................................................................................................................... 48
Tabelle 10 Ergebnisse des k-Means Modul zur Clusteranalyse. Dargestellt sind die Cluster
sowie ihre absolute und relative Anzahl der zugeordneten Zeitreihen ............................. 50
Tabelle 11 Ergebnisdaten des Vergleichsprozesses 2007 mit 2008 ......................................... 51
Tabellen 12 Menge der Wechsler, sortiert nach Ursprungs- und Zielcluster aus dem Vergleich
2007 mit 2008 ................................................................................................................... 52
Tabelle 13Beispiel für einen "Kundenverlauf" vorher und nachher ........................................ 53
Tabelle 14 Frequenzen der Zeitreihen ...................................................................................... 53
Tabellen 15 Beispieldaten für die Ermittlung der Schattendistanz .......................................... 54
Tabelle 16 Aufrufparameter der Vergleichsanalyse ................................................................. 55
Tabelle 17 Ergebnisses des Clustervorgangs für die Schattendistanz und DFT ...................... 56
Tabelle 18 Werte der in Abbildung 37 ausgewählten Zeitreihen ............................................. 57
Tabelle 19 Ergebnisse der Vergleichsanalyse bei Anwendung des Schattenabstandes oder
DFT................................................................................................................................... 58
Tabelle 20 Menge der Wechsler, sortiert nach Ursprungs- und Zielcluster aus dem
Schattenvergleich 2007 mit 2008 ..................................................................................... 58
Abkürzungsverzeichnis
CRISP
Cross Industry Standard Process
DM
Data Mining
DSS
Decision Support Systems
EIS
Executive Information Systems
ERD
Entity-Relationship-Diagramm
EUS
Entscheidungssünterstützende Systeme
FIS
Führungsinformationssysteme
IIS
Internet Information Services
IPC
Inter Process Communication
MHR
MedienHaus Rostock GmbH
MIS
Management Information Systems
MS
Microsoft
MSSQL2005
Microsoft SQL Server 2005
OLAP
Online Analytical Processing
SQL
Structured Query Language
1 Einleitung
1
1.1 Motivation der Ausarbeitung
Einleitung
1.1 Motivation der Ausarbeitung
Durch die laufende Verbesserung und Entwicklung von schnellen und stabilen
Datenbanktechnologien sowie der Vergrößerung von Speichermedien in den letzten Jahren
wurde es möglich, immer mehr Daten aktiv zu halten. Ein weiterer Faktor dieser Entwicklung
ist die permanent ansteigende Rechenleistung, welche die Verarbeitung dieser Datenmengen
überhaupt erst ermöglicht.
Um diese Datenmengen effektiv nutzen zu können, mussten und müssen entsprechende
Softwaresysteme geplant und entwickelt werden. Die daraus resultierenden
Informationssysteme machen es sich zur Aufgabe, die Vielfalt von vorhandenen Daten zu
verarbeiten und nutzergeeignet zu präsentieren. Jedoch wird üblicherweise nur das bekannte
Wissen des Datenbestandes für diese Aufgaben verwendet, was jedoch nicht das gesamte
vorhandene Wissen darstellt. An genau dieser Stelle können Verfahren und Methoden des
Data Minings für einen Informationsgewinn sorgen, indem sie dem großen Datenbestand
nutzvolles Wissen entlocken. Dieser zusätzliche Gewinn von Informationen kann einen
direkten Wettbewerbsvorteil für ein Unternehmen bedeuten.
Im Rahmen eines Projektes der Hochschule Wismar, der MedienHaus Rostock GmbH und
der HypoVereinsbank AG wurde das Gebiet des Financial Engineering hinsichtlich der
Eignung im Bezug auf Data-Mining-Verfahren genauer betrachtet. In diesem Projekt wurden
Methoden und Verfahren untersucht und ausgewertet, die sich für die Untersuchung des
Kundenzahlungsverhaltens eigneten.
Ziel dieser Arbeit ist die teilweise1 Umsetzung und Implementierung der Projektergebnisse in
das vom MedienHaus Rostock entwickelte Informationssystem ROTEIRO. Zusätzlich wird
die Thematik der Informationssysteme und des Data Minings behandelt, um dem Leser ein
grundlegendes Verständnis dieser Themen zu bieten.
1
In Kapitel 5 erfolgt eine genauere Beschreibung der Umsetzung.
1
2 Informationssysteme
2
2.1 Allgemein
Informationssysteme
2.1 Allgemein
Informationssysteme finden bereits seit längerer Zeit Verwendung im Arbeitsalltag der
Unternehmen. Diese sehen heutzutage im Informationsmanagement einen Schlüsselfaktor für
den betrieblichen und somit auch wirtschaftlichen Erfolg. Durch die rasante Entwicklung der
Informatik sowie der stetige Anstieg an verfügbarer Rechenleistung in den letzten Jahren
haben sich Informationssysteme mehr als nur etabliert. Sie sind nicht mehr wegzudenken.
Der Begriff Informationssystem beinhaltet zwei Merkmalsausprägungen: Die Information und
das System.
Information ist zweckorientiertes, aus Daten gewonnenes Wissen. Informationen sind für
Unternehmen ein erfolgskritisches Attribut, strategische Stellgröße sowie Kostenfaktor.2
Ein System ist eine komplexe Einheit, welche eine Menge von miteinander verbundenen
Objekten besitzt. Dabei können diese Objekte in sich selbst wieder ein System darstellen
(Subsystem des Systems). Subsysteme besitzen eine klare Abgrenzung voneinander.
Systeme können natürlichen (Planeten, Galaxien) oder künstlichen (Internet, Fabrik)
Ursprungs sein. Ein System kann sich materiell oder abstrakt (z.B. Zahlensysteme) in seiner
Existenz darstellen. Weiterhin wird zwischen offenen und geschlossenen Systemen
differenziert. Ein geschlossenes System interagiert nicht mit seiner Umwelt, wohingegen
offene Systeme bis zu einem bestimmten Grad dazu in der Lage sind.
Das Verhalten eines Systems kann deterministisch (zu hundert Prozent vorhersehbar),
stochastisch (mind. eine Komponente verhält sich „wahrscheinlich“) oder zufällig
(Verhalten/Zustände nicht vorhersehbar) sein.3
In der Informatik versteht man unter einem Informationssystem:
„Ein System zur rechnergestützten Erfassung, Speicherung, Verarbeitung, Pflege, Analyse,
Benutzung, Verbreitung, Disposition, Übertragung und Anzeige von Information bzw. Daten.
Es besteht aus Hardware (Rechner oder Rechnerverbund), Datenbank(en), Software, Daten
und all deren Anwendungen.“4
Eine allgemeine Definition liefert [AWI08 S.28]:
„Ein Informationssystem ist ein künstliches, konkretes System, das aus maschinellen und
natürlichen Elementen besteht und seine Nutzer mit Informationen versorgt. Es ist gleichzeitig
ein Element einer Organisation oder Organisationsbeziehung.“
2.2 Historie der Informationssysteme
2
Vgl. WEC03 S. 4 ff.
Vgl. WIK_SYS
4
Siehe WIK_IS.
3
2
2 Informationssysteme
2.3 Einordnung von Informationssystemen im Betrieb
Der erstmalige Einsatz von Informationssystemen liegt mehr als dreißig Jahre zurück. Ziel
war es damals, Fach- und Führungskräfte bei ihrer Arbeit in der Entscheidungsfindung zu
unterstützen. Jedoch konnten viele der ursprünglichen Systeme die gestellten Anforderungen
nicht erfüllen. Gründe hierfür waren die Neuheit und die geringe Erfahrung mit solchen
Systemen sowie die geringen Ressourcen damaliger Rechner.
Dennoch entwickelten und etablierten sich mit der Zeit verschiedene Systemkategorien,
welche heutzutage von nahezu allen modernen Unternehmen eingesetzt werden.5
Den Anfang machten in den 60er Jahren die so genannten Management Information Systems
(MIS). Kernziele der MIS ist es, aus den verschiedenen sich im Betrieb befindlichen
funktionsorientierten
Informationssystemen
(z.B.
Personalinformationssysteme,
Marketinginformationssystem, Finanzinformationssysteme), welche über ganzheitliche
Informationen verfügen, Daten zu entnehmen und zu verarbeiten und daraus Informationen
abzuleiten, die zur Analyse und Entscheidungsfindung für das Management geeignet sind.6
Da ein MIS die Endbenutzer nur mit reinen Daten versorgt und keine Methoden zur
Unterstützung im Planungs- und Entscheidungsprozess bereithält, entstanden in den 70er
Jahren die Decision Support Systeme (DSS) bzw. Entscheidungsunterstützungssysteme
(EUS), welche das Ziel hatten, diese Lücke zu füllen. DSS sind interaktive, elektronische
Systeme, die Modelle und Methoden zur Entscheidungsunterstützung über eine
Benutzeroberfläche zur Verfügung stellen. Der Methodenvorrat besteht in der Regel aus
üblichen quantitativen (mathematischen und statistischen) Verfahren. Durch Extrahieren und
Verdichten operativer Datenbestände können Modelle zur Entscheidungsfindung für den
Endanwender generiert werden. Ein Beispiel wäre ein Modell zum Kundenaufkommen zum
Zweck der Personaleinsatzplanung.7 Diese Systeme brachten ihren Anwendern ein höheres
Maß an Autonomie. Durch die „inselartige“ Ausrichtung dieser Systeme waren diese für
unternehmensweite Konzepte des Datenmanagements ungeeignet. Die Schwäche der DSS
war, dass sie keine Voraussagen aus bestimmten Signalen oder Situationen treffen konnten.
Die Bewältigung dieser Probleme machten sich die Executive Information Systeme (EIS)
oder Führungsinformationssysteme (FIS) zur Aufgabe. Durch die voranschreitende
Vernetzung die verbesserte Infrastruktur von Datensystemen in Unternehmen und die
Entstehung von anwenderfreundlichen Benutzeroberflächen waren die Voraussetzungen für
solche Systeme Mitte der 80er Jahre gegeben. Das charakteristische Merkmal der FIS ist die
Präsentationsorientierung. EIS vereinen in der Regel unterschiedliche Datenquellen. Mittels
umfangreicher Methoden können Daten verbunden, verdichtet, aggregiert und konsolidiert
werden. Die meisten FIS verwenden eine eigene unabhängige Datenbank für die Speicherung
der generierten Daten. Anfang der 90er Jahre entstanden die ersten Data Warehouse Systeme,
welche erstmals eine globale Sicht auf heterogene und verteilte Daten im Unternehmen
ermöglichten. Mit den Data Warehouses etablierten sich auch verschiedene Verfahren zur
Datenanalyse, welche in den folgenden Abschnitten genauer beschrieben werden.
2.3 Einordnung von Informationssystemen im Betrieb
Seit einigen Jahren sind die betrieblichen Organisationsformen von unterschiedlichen
Veränderungen betroffen, welche die Reaktionsgeschwindigkeiten im Unternehmen positiv
beeinflussen. Vor allem der Übergang zu flachen Hierarchien und die Ausweitung des
5
Vgl. CGA06, S. 6 f.
Vgl. WEC03, S. 167.
7
Vgl. AWI08, S. 32.
6
3
2 Informationssysteme
2.3 Einordnung von Informationssystemen im Betrieb
persönlichen Entscheidungsspielraumes tragen zu dieser Entwicklung bei. Durch die
Einbindung von qualifizierten Fachkräften in den Entscheidungsprozess können Probleme
schneller, unbürokratischer und vor allem effektiver im Unternehmen gelöst werden. Dieses
Merkmal führt zu einer tätigkeitsbezogenen Einteilung von Informationssystemen, weshalb
die Arbeitsfelder genauer betrachtet werden müssen. So bilden Administrationssysteme den
Einsatz der Elementarfaktoren (Potenzial- und Verbrauchsfaktoren) im Leistungsprozess einer
Unternehmung ab und stellen damit Dokumentations- und Bewertungsfunktionalität bereit.8
Zusätzlich existieren Dispositionssysteme, welche die kurzfristigen dispositiven
Entscheidungen vorbereiten. Sie finden Verwendung in der Außendienststeuerung und der
Tourenplanung im Vertrieb, dem Bestellwesen im Handel, der Materialbeschaffung und der
Werkstattsteuerung in der Fertigung. Ihr Einsatzgebiet befindet sich hauptsächlich in den
unteren und mittleren Führungsebenen.9 Administrative und dispositive Informationssysteme
werden der Gruppe der operativen Systeme zugeordnet. Da die von den operativen Systemen
erfüllten Aufgaben in nahezu jedem Unternehmen gleich sind, existieren bereits einsatzbereite
und seit Jahren erprobte Systeme auf dem Markt. Wesentlich komplizierter wird es, wenn
Informationssysteme analytische Aufgaben übernehmen sollen. Die Vergangenheit hatte
gezeigt, dass viele Systeme zur Entscheidungsunterstützung noch nicht ausgereift waren
(Starrheit, keine Interaktivität, zu viele Informationen, mangelnde Datenanbindung). In den
letzten Jahren wurden vielversprechende Konzepte entwickelt, welche die Probleme der
früheren Systeme lösen können. Schlagwörter sind hier Data Warehouse, On-Line
Analytical Processing (OLAP) sowie Data Mining. Ein großer Nachteil dieser neuen
Konzepte ist die Umsetzung, da solche Konzepte sehr speziell sind und daher für jedes
Unternehmen speziell entwickelt werden müssen, was einen hohen Arbeits- und
Kostenaufwand bedeutet. Systeme, welche diese Konzepte implementieren werden als
„Analytische Informationssysteme“ bezeichnet. In der Literatur werden Systeme mit
analytischen Ansätzen oftmals als Management unterstützende Systeme bezeichnet.
Abbildung 1 Historische Einordnung von Informationssystemen (Quelle: DAB S.15)
8
9
Siehe AIS S.10.
Vgl. SH_EWI S. 328.
4
2 Informationssysteme
2.4 Data Warehouse
Abbildung 2 Betriebliche Informationspyramide (Quelle: CGA06 S. 11)
2.4 Data Warehouse
Nach [CGA06 S. 12] wird unter einem Data Warehouse ein unternehmensweites Konzept
verstanden, dessen Ziel es ist, eine logisch zentrale, einheitliche und konsistente Datenbasis
für die vielfältigen Anwendungen zur Unterstützung der analytischen Aufgaben von Fachund Führungskräften aufzubauen, die losgelöst von den operativen Datenbanken betrieben
werden. Dabei erfolgt eine strikte Trennung von entscheidungsunterstützenden, operationalen
Daten und Systemen in der Unternehmung. Der Begriff Data Warehouse wird in der Literatur
oft mit „Daten-Warenhaus“ übersetzt, was jedoch nicht korrekt ist. Die richtige Übersetzung
für den Begriff Warehouse ist Lager oder Depot. Dennoch kann die Übersetzung als
Warenhaus oder besser noch Handelshaus als durchaus passend bezeichnet werden, wenn
man den Datenfluss mit dem Warenfluss im Handel vergleicht. Die operativen Systeme im
Unternehmen und externe Quellen wären die Lieferanten dieses fiktiven Warenhauses. Datei-,
Archivierungs- und Datenbanksysteme könnten als Zwischenlager verstanden werden. Aus
diesen wird dann das Produktportfolio nach den Bedürfnissen des Endverbrauchers im
Handelshaus zusammengestellt. Damit die Waren schnell und ohne Verzögerung zu finden
sind, muss ein hoher Grad an Ordnung im Warenhaus vorhanden sein. Diese Ordnung wird
durch ein fundiertes und konzeptionelles Modell sichergestellt.10
10
In Anlehnung an MB_DWK S.35.
5
2 Informationssysteme
2.4 Data Warehouse
2.4.1 Architektur eines Data Warehouse
2.4.1.1 Allgemein
Bei einem Data Warehouse handelt es sich um ein komplexes System. Aus Sicht der
Informationssystemarchitektur befindet es sich als Schicht zwischen Anfrage- und
Analysewerkzeugen und den Datenquellen.11
Abbildung 3 Data Warehouse Architektur (Quelle: IN1)
2.4.1.2 Datenschnittstelle
Die Input-Schicht ist die Schnittstelle zwischen internen und externen Daten des Data
Warehouse. Bei Daten aus internen Datenquellen handelt es sich um Daten, die aus
unternehmenseigenen Datenquellen (meist operativen Systeme) zur Verfügung gestellt
werden. Daten aus externen Datenquellen sind alle Daten, die von unternehmensexternen
Quellen (z. B. allgemeine Daten zur Wirtschaftslage) stammen. Dabei findet die Übertragung
meist über das Internet statt. Bevor die Daten aus internen und externen Quellen in das Data
Warehouse übernommen werden können, müssen diese gründlich aufbereitet und gereinigt
werden („Data Scrubbing“). Ziel dieses Prozesses ist die Schaffung einer einheitlichen
Datenbasis für das Data Warehouse. Gegenüber Daten aus operativen Systemen lassen sich
für die Datenhaltung der Informationseinheiten in einem Data Warehouse vier typische
Merkmale festlegen:12
Themenorientierung:
Operativen Anwendungssystemen, welche für das effiziente Erledigen der Tagesaufgaben
ausgelegt sind, sind für die Entscheidungsunterstützung im Management nur geringfügig
geeignet sind. Daher steht bei der Konzeption eines Data Warehouse eine klare
datenorientierte Herangehensweise im Vordergrund, wobei Informationseinheiten auf
inhaltliche Sachverhalte fokussiert werden. Die Konzentration der Inhalte basiert vielmehr auf
Themenschwerpunkte, wie Produkte und Kunden, regionale Umsatzdaten oder die
Unternehmensstruktur
(z.B.
Geschäftsbereiche,
Subunternehmen).
Da
die
11
12
Vgl. AWI08 S. 246.
Vgl. MB_DWK S.37 ff. und CGA06 S.13 f.
6
2 Informationssysteme
2.5 Data Mart
Themenschwerpunkte für jedes Unternehmen individuell sind, sind sie nicht auf die hier
genannten Bereiche beschränkt.
Zeitraumbezug:
Eine zeitpunktexakte Betrachtung von Daten, wie es in den operativen Informationssystemen
im Unternehmen der Fall ist, ist für die Entscheidungsfindung auf Management-Ebene eher
überflüssig und kann daher vernachlässigt werden. Für die Analyse sind Zeitreihen und die
Entwicklung bestimmter unternehmensspezifischer Daten viel interessanter. Daher sind
üblicherweise in einem Data Warehouse Daten über einem Zeitraum von mehreren Jahren
vorhanden. Dabei werden die Daten abhängig von ihrem Alter in unterschiedlichen
Aggregationsstufen (Verdichtungen) gespeichert.
Struktur und Formatvereinheitlichung:
Die Vereinheitlichung der Input-Daten ist ein zentrales Merkmal des Data WarehouseKonzeptes. Ziel ist die Schaffung eines in sich konsistenten Datenbestandes, der korrekt und
akzeptabel verwertet und ausgegeben werden kann. Die Vereinheitlichung bezieht sich häufig
auf Kodierung, Namensgebung und Bemaßung verschiedener Input-Daten.
Beständigkeit:
Grundsätzlich werden korrekt importierte Daten nicht verändert und sind somit ewig im
System vorhanden. Durch diese Beständigkeit von Daten kommen in Data Warehouses
diverse Kumulationsverfahren und optimierte Speichertechniken zum Einsatz. Ziel dieser
Methoden ist es, die Zeit für einzelne Abfragen und Analysen mit wachsender Datenmenge in
einem für den Entscheidungsträger akzeptablen Zeitraum zu ermöglichen.
2.5 Data Mart
Data Marts können als kleine „spezialisierte“ Data Warehouses verstanden werden. Sie
beinhalten eine bestimmte Teilmenge der Daten aus dem Data Warehouse. Umsatzdaten
könnten zum Beispiel regionen- oder produktspezifisch aus dem Data Warehouse extrahiert
und in den Data Mart importiert werden. Die hierbei entstehende redundante Datenhaltung
wird bewusst in Kauf genommen. Mittels einer gezielten Analyse des Informationsbedarfs der
Geschäftsprozesse können Data Marts so gestaltet werden, dass sie 80% der Anfragen mit
20% der gesamten Daten abdecken können.13 Die somit gewonnnenen Performancevorteile
können beachtlich sein, da der Datenzugriff im Data Mart und nicht im Data Warehouse
stattfindet.
2.6 OLAP
Das Konzept des On Line Analytical Processing ist eine Weiterentwicklung des relationalen
Datenmodells und wurde im Jahre 1993 von E.F. Codd eingeführt.14 Mithilfe von OLAPAbfragen können die Schwächen des relationalen Datenmodells, welches keine einfachen
Ad-hoc-Analysen erlaubt, umgangen werden. Es ist zwar durchaus möglich, mit Hilfe von
komplexen SQL-Abfragen detaillierte Informationen zu erhalten. Dafür wird aber ein in SQL
13
14
Vgl. MH_DWK S.41.
Vgl. DWD Lusti S. 147.
7
2 Informationssysteme
2.6 OLAP
geschulter Anwender benötigt, der nicht immer vorausgesetzt werden kann. Vor allem
Anwender
von
Führungsund
Entscheidungsunterstützungssystemen
besitzen keine tiefgreifende Schulung in SQL, brauchen aber dennoch eine effektive
Möglichkeit zur Analyse von Was-Wäre-Wenn-Fällen sowie eine grafische Aufbereitung von
mehrdimensionalen Daten.
Abbildung 4 Mehrdimensionale Abbildung von Verkaufsdaten über Region, Produkt und Quartal.
(Quelle: IN2)
OLAP ermöglicht als Methode zur Datenabfrage eine effektive und benutzerfreundliche
Analyse von Daten aus Datamarts oder Data Warehouses. Lusti15 beschreibt die
grundsätzlichen Eigenschaften wie folgt:
benutzerfreundlich, weil Objekte durch den Benutzer veränderbar sind und Ergebnisse
übersichtlich dargestellt werden
mehrdimensional, weil es Objekte nach ihren Dimensionen analysiert werden
detaillierend und zusammenfassend, einfacheres Wechseln und Bewegen von
hierarchischen Dimension
analysierend und synthetisiernd, Hinzufügen und Entfernen von Dimensionen durch
den Benutzer, ohne dass er vorher ein komplexes Datenmodell genau kennen und
durchsuchen muss
vorberechnend, weil aufwendige Ad-hoc-Analysen, durch vordefinierte und
aggregierte Daten
schnell, weil die meisten Abfragen in kürzester Zeit beantwortet werden
Data Mart/Warehouse-orentiert, weil es in der Regel nicht auf die
Produktionsdatenbank zugreift
Der große Vorteil von OLAP-Anwendungen besteht in der Verbindung der gleichzeitigen
Abfrage und Analyse von Daten. Betriebliche Anwendungen sind zum Beispiel:
Soll-Ist-Vergleich
Bestandsanalysen
Qualitätsanaylsen
Was-Wäre-Wenn-Analysen
15
Vgl. DWD Lusti S. 147.
8
3 Data Mining
3
3.1 Einführung:
Data Mining
Dieses Kapitel ist eine grundlegende Einführung in die Thematik des Data Minings. Dazu
werden einige Methoden, Verfahren und Ziele des Data Minings aufgezeigt. Ein besonderer
Schwerpunkt dieses Kapitels ist die Darstellung des Clusteralgorithmus k-Means, da dieser
die Grundlage für die weitere Arbeit bildet. Weiterhin wird auf die Darstellung und
Beschreibung von neuronalen Netzen verzichtet, da diese nicht Gegenstand der Arbeit sind.
3.1 Einführung:
Unternehmen, Behörden, Forschungseinrichtungen und das Militär besitzen durch die
Möglichkeiten der Digitalisierung gigantische Datenbestände. Dennoch wissen viele
Organisationen nicht, was sie alles wissen könnten. Brachliegende Informationen sind
wertlos, wenn sie gar nicht oder erst zu spät entdeckt werden.
Man kann sich diesen Datenhaufen als Gebirge mit reichhaltigen Rohstoffvorkommen
vorstellen und diese Rohstoffe können mit Hilfe des Data Minings (minen „schürfen“) ans
Tageslicht befördert werden. Anhand eines Beispiels soll diese Problematik aufgezeigt
werden.
Marketing-Abteilungen stehen immer wieder vor der Frage, welchem Kunden sie welches
Angebot unterbreiten möchten. Bei Versicherungen bestimmen meistens das Alter sowie das
Einkommen die Offerte an den Kunden. Mit dieser Methode erreicht man zwar sehr viele
Menschen, aber oft wenig potentielle Kunden. Es kann durchaus sein, dass jemand stets
dasselbe Angebot erhält, das er schon die vorhergehenden Male unpassend fand. Dies würde
mit hoher Wahrscheinlichkeit zu einer Verärgerung des Empfängers führen. Weiterhin sind
die entstehenden Kosten durch den Druck und Versand von Werbeschreiben nicht zu
vernachlässigen. Mittels Data Mining besteht nun die Möglichkeit, anhand des vorhandenen
Datenbestandes zu klassifizieren. So könnten Teilgruppen von Kunden mit spezifischen
Merkmalen gebildet werden wie:
Verheiratete Kunden, die haftpflichtversichert sind, haben meist auch eine
Lebensversicherung
Ledige Kunden haben meist eine Haftpflicht-, aber meist keine Lebensversicherung
Solche Informationen sind ein klarer Kostenvorteil, da die Marketingabteilung nun weiß,
dass sie bei ledigen Kunden keine Werbung für Lebensversicherungen zu machen braucht, da
diese nur wenig Erfolg versprechen. Verheiratet Personen ohne Lebensversicherung sind
dahingegen viel besser für diese Werbung geeignet, da sie mit hoher Wahrscheinlichkeit eine
Lebensversicherung abschließen würden. Ziele des Data Minings sind das Erkennen von
Regeln und Mustern sowie statistische Besonderheiten in großen bis sehr großen
Datenmengen, wobei kleinere Datenbestände auch durchaus geeignet sein können. Je nach
Analysekontext sind verschiedene Muster von Interesse, z.B.:16
Warenmuster
Sprachmuster
Gebrauchsmuster
16
Vgl. DMP S. 10 f.
9
3 Data Mining
3.2 CRISP Data Mining Modell
Verhaltensmuster
Bildmuster
Geschmacksmuster
Kaufmuster
3.2 CRISP Data Mining Modell17
Trotz der im Detail hohen Komplexität des Data Mining Prozesses ist man seit jeher
ambitioniert die Teilschritte, welche für einen erfolgreichen Projektablauf nötig sind, zu
standardisieren. Das CRISP Modell wurde im Jahre 2000 nach vierjähriger Entwicklungszeit
von den Firmen NCR Systems Engineering (USA, Dänemark), SPSS Inc. (USA), OHRA
Verzekeringen Bank Groep B.V. (Niederlande) und der DaimlerChrysler AG (Deutschland)
vorgestellt. CRISP-DM steht für Cross Industry Standard Process for Data Mining und hat
sich mittlerweile als industrieller Standart etabliert.18
Bei der CRISP-Data-Mining-Methodologie handelt es sich um ein hierarchisches, vierstufiges Prozess-Modell. Dabei unterscheiden sich die einzelnen Level (Stufen) durch ihren
Abstrahierungsgrad (allgemein bis spezifisch) voneinander.
Auf dem ersten Level ist der Data-Mining-Prozess in abstrakten Phasen organisiert (z.B.
Datenvorverarbeitung). Jede Phase besitzt wiederum verschiedene untergeordnete LevelZwei-Prozesse.
Der zweite Level ist der generische Level (allgemein), um alle Situationen und
Applikationen, die während des Data Minings auftreten, berücksichtigen zu können (z.B.
Füllen von Datenlücken).
Der dritte Level beschreibt, wie die im zweiten Level festgelegten Situationen speziell
behandelt werden sollen. So wird zum Beispiel im dritten Level genauer beschrieben, bei
welcher Situation welches Verfahren verwendet werden soll (zum Beispiel Lückenfüllung
von Zahlen oder Zeichenketten.). Der vierte Level diskutiert die konkreten Aktionen,
Entscheidungen und Resultate, die während des Data Minings Vorgang entstanden sind.
Weiterhin enthält [CRP1] ein Referenzmodel, welches den zeitlichen Ablauf eines Data
Mining Projektes in sechs Phasen spezifiziert. Diese Abläufe sind dabei so organisiert, dass
während der Projektdurchführung zurückliegende Phasen betrachtet und gegebenenfalls
wiederholt werden können.
3.2.1 Business understanding (Verstehen der Aufgabe)
In dieser Phase versucht der Daten-Analytiker durch Gespräche und Interviews mit dem
Klienten, die Anforderungen und Ziele aus der Sicht des Auftragsgebers zu ergründen.
Zusätzlich werden auch die Kosten und Ressourcen sowie Restriktionen und Risiken
diskutiert. Ziel ist es, die für das Data Mining benötigten Kernaspekte herauszufinden und
mit Hilfe der erworbenen Informationen eine Data Mining Projektdefinition (Erfolgskriterien
und Ziele) festzulegen sowie einen anfänglichen Projektplan zu erstellen.
17
18
Vgl. CRP1.
Vgl. DMIP S.59.
10
3 Data Mining
3.2 CRISP Data Mining Modell
3.2.2 Data understanding (Datensichtung und Verständnis)
Im Teil des „Data understanding“ geht es um die erste Sichtung der Daten, um eine
grundlegende Übersicht über die vorhandenen Daten zu erhalten. Weiterhin werden die Art
und Größe der Datenquellen sowie die vorhandenen Datentypen ermittelt. Zusätzlich findet
eine grundlegende Analyse der Daten in Bezug auf zukünftige Zielattribute und
Zusammenhänge zwischen Attributen statt. Zum Schluss wird der Datenbestand hinsichtlich
Fehlerquote und Datenqualität bewertet und ein Qualitätsreport erstellt.
3.2.3 Data preparation (Datenvorverarbeitung und Transformation)
Im ersten Abschnitt dieser Phase wird eine Liste erstellt, welche die Daten für den späteren
Analyseprozess enthält. Die Daten werden anhand der relevanten Data-Mining-Ziele,
Qualität und Datentypen ausgewählt. Anschließend werden die Daten gesäubert und
aufbereitet (z.B. Lückenbefüllung). Danach werden neue, für die Analyse nützliche
Datensätze aus den vorhandenen und bereinigten Daten generiert (z.B. durch
Zusammenführung von Tabellen, „Umsatz pro Filiale zu Umsatz pro Region“). Der letzte
Schritt ist die Transformation der Daten in ein von dem „Modeling Tool“ gefordertes Format.
3.2.4 Modeling
Als erster Schritt wird die anzuwendende Analysetechnik festgelegt (z.B. Clusterbildung via
k-Means Algorithmus) und dokumentiert. Anschließend wird ein „Test Design“ erstellt und
das ausgewählte Verfahren auf die Testdaten angewendet. Unter „Test Design“ wird hier die
Aufteilung in Training-, Test- und Validationsdaten verstanden, da bestimmte Methoden
(z.B. Klassifikationsverfahren) diese voraussetzen. Während dieser Phase werden mehrere
Analysen mit unterschiedlichen Parametern bzw. Konfigurationen durchgeführt, so dass zum
Schluss mehre Ergebnisses existieren, die hinsichtlich Genauigkeit und Qualität bewertet
werden können.
3.2.5 Evaluation (Auswertung und Interpretation)
Mit Hilfe der aus Phase vier erworbenen Informationen wird das Modell ermittelt, welches
am besten die festgelegten Ziele erfüllt. Die übrigen Modelle, welche die Zielvorgaben
weniger gut erreichten, werden hinsichtlich ihrer zukünftigen Eignung bewertet. Weiterhin
wird der gesamte Prozess bis hierher sowie das erhaltene Model genauestens überprüft und
getestet, so dass Fehler (übersehene Aspekte der Aufgabenstellung), welche in früheren
Phasen eventuell entstanden sind, beseitigt werden können.
3.2.6 Deployment (Umsetzung und Auslieferung)
Die Ergebnisse des Data Minings sowie alle Teilschritte werden in einem Report
zusammengestellt, so dass die Anforderungen seitens des Auftragsgebers erfüllt sind. Das
Projekt kann mit der Präsentation abschließen oder anhand der Ergebnisse weitergeführt
werden. Ein automatisierter, kontinuierlich ablaufender Data Mining Prozess innerhalb des
Unternehmens wäre als Weiterführung denkbar.
11
3 Data Mining
3.3 Anwendungsgebiete des Data Minings
Abbildung 5 Phasen des CRISP-DM Prozessmodells (Quelle: CRP2)
3.3 Anwendungsgebiete des Data Minings
Grundsätzlich lassen sich die Problemstellungen der Wissenschaft und Wirtschaft, welche
mit Data Mining je nach Branchenbezug, Mustertyp und Data Mining-Methoden, bearbeitet
werden können, in folgende fünf Aufgabenbereiche gliedern:19
Klassifikation
Schätzungen
Vorhersage
Assoziation
Clustering
Bei den ersten drei Bereichen handelt es sich um direktes Data Mining. Ziel ist hierbei die
direkte Zuordnung eines Objektes zu einer Gruppe. Zum Beispiel gehört der Schäferhund zu
der Gruppe der Hunde. Die anderen sind nicht direktes Data Mining. Hierbei ist das Ziel das
Auffinden von bisher unbekannten Zusammenhängen innerhalb von Datensätzen. So können
z.B. Verhaltensmuster entdeckt werden, wie der Kunde, der zu seinem Bier noch zusätzlich
Chips kauft. Ein Einzelhändler könnte daraufhin sein Produktanordnung überdenken und
Bier und Chips weit auseinander platzieren, so dass der Kunde an möglichst vielen anderen
Waren vorbei gehen muss und dadurch eventuell zusätzlich zum Kauf angeregt wird.
19
Vgl. DMT Seite 8 ff.
12
3 Data Mining
3.3 Anwendungsgebiete des Data Minings
3.3.1 Klassifikation
Ziel von Klassifikations-Verfahren ist die Bildung von Gruppen durch Zusammenfassung
von Datensätzen des Datenbestandes mittels ihrer Merkmalsausprägungen durch eine konkret
vorgegebene Problemstellung. Klassifizierung ist die Zuordnung von Datensätzen anhand
ihrer Merkmale zu einer Klasse, wobei die Zielklassen bereits bekannt sind. Nicht
klassifizierte Datensätze (z.B. Neukunden) können somit fest definierten Gruppen
beziehungsweise Klassen zugeordnet werden. Mittels der zugeordneten Klasse können später
entscheidungsunterstützende Informationen abgeleitet werden.
Beispiele für die Klassifizierung von Daten sind:
Klassifizierung der Kundenbonität in schlecht, mittel und gut
Einordnung von Versicherungsnehmern in Risikogruppen
Geeignete Techniken für die Klassifizierung von Daten sind Entscheidungsbäume, sowie
sogenannte „Nearest Neighbour Verfahren“. Neuronale Netzte sind unter gewissen
Umständen ebenfalls geeignet.
3.3.2 Schätzungen
Gegenüber einer Klassifikation, welche auf einem Eingabewert eine diskrete Zuweisung
trifft, wird bei einer Schätzung eine Zuweisung oder Ergebnis vermutet. In der Praxis werden
Schätzungen häufig für Klassifizierungsaufgaben verwendet, wobei ein Klassenmodel häufig
auf Erfahrungswerte basiert. Ein Kreditkartenunternehmen könnte Werbeplatz auf ihren
Rechnungen an einen Hersteller für Wintersportartikel verkaufen. Dafür müsste ein Modell
entwickelt werden, das die Kreditkartenkunden in zwei Gruppen aufteilt (Wintersportler und
Nicht-Wintersportler) oder nach einem Punktesystem bewertet. Das Punktesystem ist hier die
bessere Methode, weil eine Sortierung der Kundeneignung erfolgen kann. Hat der
Wintersportartikel-Hersteller ein Budget von 100.000 Werbeplätzen veranschlagt, die
Kreditkartenfirma aber 10.000.000 Kunden, so können die 100.000 erfolgsversprechenden
Kunden beworben werden.20
Weitere Anwendungen sind:
Schätzen der Kinder in einem Haushalt
Schätzen des Haushaltseinkommen
Schätzen des Wertes (für das Unternehmen) eines Kunden
Regressionsanalysen und Neuronale Netze sind für Schätzungsaufgaben sehr gut geeignet.
3.3.3 Vorhersage
Vorhersage ist im Grunde genommen mit Klassifizierung und Schätzung gleichzusetzen, nur
dass hier die Datensätze nach einem zukünftig vermuteten Verhalten klassifiziert werden.
Die meisten Vorhersagemodelle basieren grundsätzlich auf Erfahrungswerten aus der
Vergangenheit. Weiterhin können solche Modelle nicht auf Richtigkeit überprüft werden, da
hier eine Überprüfung erst zu einem späteren Zeitpunkt stattfinden kann (rückblickender
Vergleich). Beispiele für Vorhersagen sind:
20
Vgl. DTM Seite 9 ff.
13
3 Data Mining
3.3 Anwendungsgebiete des Data Minings
Welcher Kunde wird voraussichtlich innerhalb der nächsten 12 Monate unser
Unternehmen verlassen?
Welches Produkt kann dem Kunden in Zukunft angeboten werden?
Viele Data-Mining-Verfahren eignen sich für Vorhersagen, wobei die geeigneten Verfahren
von der Aufgabenstellung abhängen.
3.3.4 Assoziation
Mittels einer Häufigkeitsanalyse untersuchen Assoziationsalgorithmen einen Datenbestand
hinsichtlich der Häufigkeiten des gleichzeitigen Auftretens von Objekten und Ereignissen.21
Ein typisches Anwendungsgebiet dieser Algorithmen ist die Warenkorbanalyse bezüglich der
Frage: „Was wird zusammen mit was gekauft?“. Ausgangspunkt einer solchen Analyse ist
eine Menge von Transaktionen T, die alle kaufbaren Produkte enthält. Die hierfür nötigen
Informationen werden über die Kassensysteme erfasst und in einer Datenbank abgelegt.
Mittels Assoziationsverfahren werden Regeln in der Form: XY mit der Annahme, dass mit
dem Kauf des Produktes X (Prämisse) auch das Produkt Y (Konklusion) erstanden wird.
Grundsätzlich werden zwei Maße bei Regeln definiert. Der Support einer Regel gibt an, mit
welcher Wahrscheinlichkeit eine Regel auf die Gesamtzahl der in der Menge befindlichen
Transaktionen zutrifft.
Das zweite Maß ist die Konfidenz. Sie gibt die Wahrscheinlichkeit an, mit der die
Konklusion eintritt, wenn die Prämisse erfüllt ist.
Die Relevanz der Regeln hängt maßgeblich von der Höhe des Supports und der Konfidenz
ab, wobei der Anwender bestimmen muss, ab wann eine Regel als maßgebend betrachtet
werden soll.
3.3.5 Clustering
Bei der Clusteranalyse werden die Objekte repräsentierender Datensätze zu Gruppen
(Cluster) dahingehend zusammengefasst, dass die Datensätze innerhalb eines Clusters
möglichst homogen und Datensätze aus unterschiedlichen Clustern dagegen möglichst
heterogen sind. Im Gegensatz zur Klassifikation sind die zu bildenden Gruppen vorher nicht
bekannt, sondern das Ergebnis des Clusterverfahrens. Mittels dieser Verfahren soll Wissen
über Ähnlichkeiten der Objekte einer Datenmenge entdeckt werden.22 Typische
Anwendungen für Clusteranalysen befinden sich im Marketing etwa beim Auffinden neuer
Kundengruppen oder für die Individualisierung der Kundenansprache.23 Grundsätzlich lassen
sich Clusteranalyseverfahren in zwei Verfahren gliedern:
21
Vgl. DMP S.28.
Vgl. CGA06 S. 265.
23
Vgl. CGA06 S. 266.
22
14
3 Data Mining
3.4 k-Means-Algorithmus
Erstere sind hierarchische Analyseverfahren, welche sich wiederum in agglomerative und
divisive unterteilen lassen. Zu Beginn eines divisiven Verfahrens sind alle Objekte einer
einzigen Klasse zugeordnet und werden nacheinander in jeweils zwei Unterklassen aufgeteilt
bis eine weitere Unterteilung nicht mehr möglich ist. Agglomerative Verfahren gehen den
umgekehrten Weg: Sie fassen Objekte in Klassen zusammen bis maximal nur noch zwei
Klassen existieren. Nachteile der hierarchischen Verfahren sind die nicht umkehrbare
Zuordnung von Objekten zu Klassen. Das heißt, fehlerhafte Zuordnungen sind nicht
korrigierbar.
Abbildung 6 Dendogramm (Quelle: DMP S. 28)
Bei dem zweiten Verfahrenstyp handelt es sich um partitionierende Verfahren, welche nach
optimalen Partitionen suchen, wobei von einer konkreten Partitionierung ausgegangen
wird.24 Einer der bekanntesten Vertreter dieser Verfahren ist der k-Means-Algorithmus.
3.4 k-Means-Algorithmus
Bei dem k-Means-Algorithmus handelt es sich um ein iteratives Clusteranalyseverfahren,
welches Objekte mit n-Dimensionen (Ausprägungen) einer Menge M in k-Gruppen mit
ähnlichen Objekten zusammenfasst, so dass die Entfernung innerhalb eines Clusters
minimiert ist. Zur Berechnung der Entfernung wird üblicherweise die euklidische Distanz als
Abstandsmaß verwendet.
3.4.1 Euklidischer Abstand
„Der euklidische Abstand ist ein Begriff, der den Abstand zweier Punkte der Ebene oder des
Raumes verallgemeinert. Im dreidimensionalen Raum stimmt der euklidische Abstand d(x,y)
mit dem anschaulichen Abstand überein. Im allgemeineren Fall des n-dimensionalen
24
Vgl. DMP S. 26 f.
15
3 Data Mining
3.4 k-Means-Algorithmus
euklidischen Raumes ist er für zwei Punkte oder Vektoren definiert durch die euklidische
Norm
des Differenzvektors zwischen den beiden Punkten. Sind die Punkte x und y
gegeben durch die Koordinaten
und
, so gilt:“ 25
Eine anschauliche Beschreibung des k-Means-Algorithums findet sich in [NHND S.12]:
„Der Algorithmus benötigt als Eingabe eine Matrix von M Punkten in N Dimensionen.
NC(C) bezeichnet die Anzahl der Punkte im Cluster C. D(I, Z) ist die euklidische
Entfernung zwischen dem Punkt I und das Zentrum Z vom Cluster C.
Die Hauptidee des Verfahrens ist es, nach einer k-Partition mit einer lokal optimierten
Summe der Euklidischen Entfernungen zu suchen, indem man Punkte von einem Cluster
zum anderen verschiebt.
Der Algorithmus läuft wie folgt ab:
1. Initialisiere Cluster C(j = 1, 2, ..., k) und berechne für jedes Cluster das Zentrum
Z(j = 1, 2, ..., k).
2. Für jeden Punkt I(i = 1, 2, ..., M)finde das nächstgelegene Zentrum Z(j), und
füge I dem Cluster C(j) zu:
a. Berechne D(I(i), Z(j)) für alle j=1,2...,k.
b. Bestimme Zentrum Z(j) sodass D(I(i), Z(j)) minimal ist (bei mehreren Zentren
entscheide zufällig).
c. Füge Punkt I dem Cluster C(j) zu.
3. Berechne für die Cluster C(j = 1, 2, ..., k) die neuen Zentren Z(j)
4. Wiederhole Schritte 2 und 3 bis die Endbedingung erreicht ist.
Die Endbedingung ist erreicht, wenn keine Punkte innerhalb der Cluster verschoben
werden. Der Einfachheit halber kann der Algorithmus gestoppt werden, wenn eine bestimmt Anzahl an Iterationen erreicht ist.“
3.4.2 Vorteile:
Relativ einfach zu implementieren
Lineare Komplexität O (z*n*i)
(z=Zentren, n=Objekte, i= Iterationen)
Auch auf große Datensätze anwendbar
Gute Ergebnisse
3.4.3 Nachteile:
Clusterzentren werden zufällig initialisiert
Entstehung von leeren Clustern
Ergebnis ist nicht zwangsläufig das Optimum (lokales vs. globales Optimum)
25
Siehe WIK_EK.
16
3 Data Mining
3.5 k-Means-Anwendungsbeispiel
Ergebnis abhängig von der Anzahl der Cluster
Theoretisch unendliche Laufzeit möglich
3.5 k-Means-Anwendungsbeispiel
Um ein grundlegendes Verständnis zur Arbeitsweise von k-Means zu vermitteln wird eine
kleine Clusteranalyse als Beispiel dargestellt. Es ist eine Menge M mit vier Elementen
gegeben, wobei jedes Element zwei Dimensionen hat. Bei den Elementen handelt es sich um
vier Kunden, welche als Merkmalsausprägung ihr Alter (X-Koordinate) und Einkommen in
tausend Euro (Y-Koordinate) besitzen. Mittels des k-Means Algorithmus sollen diese
Kunden in zwei Gruppen (Cluster k=2) aufgeteilt werden. Somit sind folgende Punkte
gegeben:
Kunde 1 Kunde 2 Kunde 3 Kunde 4
X-Koordinate 20
25
45
50
Y-Koordinate 10
20
60
70
Iteration 0  Schritt 1
Zunächst müssen die zwei Clusterzentren initialisiert werden. Ihre Koordinaten können
zufällig sein oder anhand von existierenden Punkten festgelegt werden. In diesem Beispiel
werden die Koordinaten für C1 die des Kunden 1, sowie C2 die des Kunden 2. Damit
ergeben sich folgende Initialkoordinaten für C1 und C2:
C1 C2
X-Koordinate 20 25
Y-Koordinate 10 20
Der aktuelle Sachverhalt sieht grafisch folgendermaßen aus:
Attribut 2 (Y): Einkommen in Tausend
80
70
60
50
Clusterzentren
40
Kundenobjekte
30
20
10
0
0
10
20
30
40
50
60
Attribut 1 (X): Alter
Abbildung 7 Initialisierung der Clusterzentren (Quelle: eigene Darstellung)
17
3 Data Mining
3.5 k-Means-Anwendungsbeispiel
Iteration 0  Schritt 2
Für jeden Punkt wird nun die Entfernung zu allen Clusterzentren berechnet. Durch
Anwendung des euklidischen Abstandes erhält man:
Kunde 1
Kunde 2
Kunde 3
Kunde 4
Distanz zu C1 0
11,1803399 55,9016994 67,0820393
Distanz zu C2 11,1803399 0
44,7213595 55,9016994
Anschließend wird jeder Punkt dem Cluster zugeordnet, zu dem der Abstand am kleinsten
ist. Daraus folgt: C1=(Kunde 1) und C2=(Kunde 2, Kunde 3, Kunde 4)
Iteration 0  Schritt 3
Nachdem die Zuordnung erfolgt ist, werden die Koordinaten der Clusterzentren neu
berechnet.
Für C1:
Für C2:
X-Koordinate
Y-Koordinate
C1
20
10
C2
40
50
Zwischenbilanz 0
Die erste Iteration des Algorithmus ist abgeschlossen. Es wurden die ersten Punkte in ihre
Cluster verschoben. Da eine Verschiebung stattfand wird der Algorithmus ab Schritt 2 erneut
durchlaufen. Die grafische Darstellung der Daten sieht im Moment wie folgt aus:
18
3 Data Mining
3.5 k-Means-Anwendungsbeispiel
Attribut 2 (Y): Einkommen in Tausend
80
70
60
50
Clusterzentren
40
Kundenobjekte
30
20
10
0
0
10
20
30
40
50
60
Attribut 1 (X): Alter
Abbildung 8 Verschiebung eines Zentrums nach der ersten Iteration (Quelle: eigene Darstellung)
Iteration 1 Schritt 2
Da sich die Koordinaten der Clusterzentren im letzten Durchlauf verändert haben, müssen
die Distanzen zu den Clusterzentren neu berechnet werden.
C1 C2
X-Koordinate 20 40
Y-Koordinate 10 50
Es ergeben sich folgende Distanzen:
Kunde 1 Kunde 2 Kunde 3 Kunde 4
Distanz zu C1 0
11,18034 55,901699 67,082039
Distanz zu C2 44,72136 33,54102 11,18034 22,36068
Anschließend wird wieder jeder Punkt dem Cluster zugeordnet, zu dem der Abstand am
geringsten ist. Daraus folgt: C1=(Kunde 1, Kunde 2) und C2=( Kunde 3, Kunde 4)
Iteration 1  Schritt 3
Nachdem die Zuordnung erfolgt ist, werden die Koordinaten der Clusterzentren wieder neu
berechnet.
C1 C2
X-Koordinate 22,5 47,5
Y-Koordinate 15 65
Zwischenbilanz 1
Die zweite Iteration des Algorithmus ist abgeschlossen. Auch hier fand eine Verschiebung
der Punkte in einen anderen Cluster statt (weitere Iteration erforderlich), da Kunde 2 sich nun
in C1 befindet. Die grafische Darstellung der Daten sieht daher wie folgt aus:
19
3 Data Mining
3.5 k-Means-Anwendungsbeispiel
Attribut 2 (Y): Einkommen in Tausend
80
70
60
50
Clusterzentren
40
Kundenobjekte
30
20
10
0
0
10
20
30
40
50
60
Attribut 1 (X): Alter
Abbildung 9 Verschiebung beider Zentren nach der zweiten Iteration (Quelle: eigene Darstellung)
Iteration 2 Schritt 2
Da sich die Koordinaten der Clusterzentren im letzten Durchlauf verändert haben, müssen
die Distanzen zu den Clusterzentren neu berechnet werden.
X-Koordinate
Y-Koordinate
C1
22,5
15
C2
47,5
65
Es ergeben sich folgende Distanzen:
Kunde 1 Kunde 2 Kunde 3 Kunde 4
Distanz zu C1 5,5901699 5,5901699 50,311529 61,491869
Distanz zu C2 61,491869 50,311529 5,5901699 5,5901699
Algorithmus Ende und Interpretation
Es wird wieder jeder Punkt dem Cluster zugeordnet, zu dem der Abstand am geringsten ist.
Daraus folgt: C1=(Kunde 1, Kunde 2) und C2=( Kunde 3, Kunde 4). Da kein einziger Punkt
verschoben wurde, ist die Abbruchbedingung des Algorithmus erfüllt. Nun liegt es am
Analysten das Ergebnis angemessen zu interpretieren. Hier ist der Zusammenhang zu
erkennen, dass Kunden mit einem höheren Alter auch über ein höheres Einkommen
verfügen.
20
4 Ausgangssituation
4
4.1 MedienHaus Rostock
Ausgangssituation
4.1 MedienHaus Rostock
Bei dem MedienHaus Rostock (MHR) handelt es sich um einen kleinen IT-Dienstleister. Der
Kerngeschäftsbereich des MedienHaus Rostock GmbH ist die Entwicklung und
Programmierung von Datenbanken und neuronalen Netzen. Weiterhin entwickelt, integriert
und betreibt das MedienHaus Rostock Informations- und Kommunikationssysteme sowie
eCommerce Applikationen speziell im Internet auf eigenen Servern.26 Das Kerngeschäft von
MHR ist die fortlaufende Entwicklung des Informationssystems ROTEIRO. Hierbei handelt
es sich um eine Eigenentwicklung, welche bereits seit über 12 Jahren im Einsatz ist.
4.2 ROTEIRO 27
Das Informationssystem ist als zentralisierte Datenbanklösung auf Basis MS SQL Server
aufgebaut. Alle Funktionen des Systems sind mittels Webbrowser einfach und intuitiv
bedienbar.
Zur Erfassung von Daten verfügt das System über Module zum automatisierten Datenimport,
so dass die Daten ständig auf dem aktuellen Stand gehalten werden können. Zusätzlich ist
eine manuelle Datenerfassung möglich.
Das Informationssystem stellt dem Anwender wichtige Informationen über Kunden schnell
und übersichtlich zur Verfügung. So beinhaltet das System u.a. folgende Kundendaten:
Adressen, Konten, Produkte, Dienstleistungen
betriebswirtschaftliche Daten
Informationen zur EDV-Ausstattung
Informationen zur Nutzung Produkten und Dienstleistungen
Informationen zum Produkt-Nutzungsverhalten
erbrachte Serviceleistungen inkl. Abrechnungen
4.3 Das Projekt „Data Mining Engineering“
Hierbei handelt es sich um ein im Jahre 2005 vom Ministerium für Bildung des Landes
Mecklenburg-Vorpommern gefördertes Projekt zur Untersuchung von Data-MiningMethoden bezüglich ihrer Eignung für die Analyse von Daten aus dem Zahlungsverkehr einer
Bank. Projektpartner waren die HypoVereinsbank AG (ehemals Vereins- und Westbank), das
MedienHaus Rostock und die Hochschule Wismar. Ziel war es, anhand der
Umsatzentwicklung der Konten eines Kunden eine Veränderung im Geschäftsumfeld zu
26
27
Siehe MHR1.
Siehe MHR2.
21
4.3 Das Projekt „Data Mining Engineering“
4 Ausgangssituation
erkennen. Auf dieser Grundlage können rechtzeitig Maßnahmen zur Sicherung des
Kundenbestandes ergriffen werden. Mögliche Szenarien sind:28
Erkennen von Verhaltensänderungen bei Kunden, eventuelles Abwandern eines
Kunden verhindern
Untersuchung der Produkteignung für einen Kunden, Ermittlung des am besten
passenden Produktes für den Kunden
Verbesserte Auswertung vorhandener Daten über Kunden, Ziel ist die Steigerung der
Kundenbetreuung und Kundenzufriedenheit
Im Projekt wurden anonymisierte Zahlungsverkehrsdaten mit unterschiedlichen Methoden
analysiert, wobei die Daten so aufbereitet wurden, dass sie eine Zeitreihe von einem Jahr
bildeten. Der aufsummierte Zahlungsverkehr eines jeden Monats repräsentiert dabei die
Datenpunkte der Zeitreihe. Ein besonderer Teil der Analyse war der Einsatz der Diskreten
Fourier Transformation, als Verfahren zur Signaltransformation. Ihre Funktion und die daraus
entstehenden Vorteile werden im folgenden Abschnitt dargestellt.
Die Experimente des Projektes zeigten, dass durch die Verwendung der Diskreten FourierTransformation ein verschiebungsinvariantes Clustering von Zeitreihen durch Data-MininAlgorithmen möglich ist. Es wurden erfolgreich Cluster gebildet, die Datensätze mit
ähnlichen Umsatzverläufen beinhalten. Grundsätzlich zeigen die Ergebnisse
vielversprechende Anwendungsmöglichkeiten für Data-Mining-Verfahren in einem
Informationssystem.
4.3.1 Grundlagen der Fourier-Transformation29
„Eine Fourier-Reihe besteht aus einer Anzahl von Sinus und Cosinusschwingungen. Durch
additive Überlagerung ist es möglich, jede stetige periodische Funktion annähernd
nachzubilden. Die Frequenzen der einzelnen Funktionen sind dabei ganzzahlige Vielfache der
Grundfrequenz
, wobei T dem Betrachtungszeitraum entspricht. Die resultierende
Schwingung ergibt sich aus:
Da eine Sinusfunktion einer phasenverschobenen Cosinusfunktion entspricht, lässt sich die
Fourier-Reihe auch als Cosinus- und Phasenspektrum darstellen:
Die Fourier-Reihe einer Schwingung oder Funktion kann durch die Fourier-Transformation
erzeugt werden. Je nach Eigenschaft der zu zerlegenden Funktion kommen dabei spezielle
Varianten der Fourier-Transformation zum Einsatz.“
4.3.2 Diskrete Fourier-Transformation30
„Die diskrete Fourier-Transformation (DFT) ist Voraussetzung für viele Anwendungen in der
digitalen Signalverarbeitung. Sie erlaubt die Transformation von Signalen, die durch
28
Siehe WDP S.4 f.
Siehe WDP S.10.
30
Siehe WDP S.10 ff.
29
22
4.3 Das Projekt „Data Mining Engineering“
4 Ausgangssituation
Abtastung als Reihe diskreter reeller Messwerte vorliegen, vom Zeitspektrum in das
Frequenzspektrum. Für die Erkennung eines Signalanteils der Frequenz n sind mindestens
2n+1 Abtastpunkte notwendig. Die Diskrete Fourier-Transformation entspricht der
komplexen Multiplikation des Signalvektors mit dem Abtastsignal, in diesem Fall der
Sinusfunktion für den Frequenzanteil und der Cosinusfunktion für den Phasenanteil. Der
Fourier-transformierte Vektor F eines gegebenen Signalvektors V der Länge N ergibt sich für
den Sinusanteil der Frequenzen f=[0,…,N-1] aus:
Analog dazu für den Cosinusanteil:
Der resultierende Vektor enthält die Sinus und Cosinusanteile als komplexe FourierKoeffizienten. Diese können leicht durch Trigonometrie in Paare [Amplitude, Phase]
überführt werden.“
Berechnung der Amplitude(Magnitude)31
„Dabei ist zu beachten, dass die Koeffizienten invers symmetrisch sind, da der Signalvektor
überabgetastet wird.
entspricht dabei einer vertikalen Verschiebung des Signals und ist
genau einmal vorhanden, während sich die Sinus- Cosinusanteile für n = [1,..,(N-1)/2] aus
+ ||
|| zusammensetzen.“
4.3.3 Algorithmus der Fourier-Transformation
Der Algorithmus wird folgend als Pseudocode wie in [WDP S.12] und als Perlcode
dargestellt. Der Perlcode enthält bereits die für die Datenanalyse nötige Überführung in die
Amplitudenanteile. Die Algorithmen führen eine Fourier-Transformation eines Signalvektors
der Länge N durch.
31
Siehe KPPT Seite 3.
23
4 Ausgangssituation
4.4 Nutzen der Fourier-Transformation
Nach [WDP S.12]:
vector S;
complex vector E;
for i=0 to N{
for j=0 to N{
angle=i*2*pi/N*j
E.real[i]=E.real[i]+S[j]*sin(angle)/N;
E.imag[i]=E.imag[i]+ S[j]*sin(angle)/N;
}
}
Perl-Code:
Die Algorithmen entsprechen der im Abschnitt 4.3.2 dargestellten formalen Beschreibung.
4.4 Nutzen der Fourier-Transformation
Die direkte Verwendung von Zeitreihen ist nicht geeignet, um Cluster mit ähnlichen
Zeitreihen zu bilden. Clusterverfahren wie k-Means verwenden Abstandsmaße, die eine
horizontale Verschiebung in Daten nicht berücksichtigen, da alle Attribute unabhängig von
einander betrachtet werden. Durch Verwendung der Fourier-Transformation kann eine
Zeitreihe der Form [Zeitpunkt, Amplitude] in die Form [Frequenz, Amplitude, Phase]
überführt werden. Durch die Eigenschaft, das jedes Element eines Fourier-Vektors ein
24
4 Ausgangssituation
4.4 Nutzen der Fourier-Transformation
Attribut der Zeitreihe über ihren gesamten Intervall beschreibt, wird die Reihenfolge der
Elemente eines Fourier-Vektors für Data Mining irrelevant.32
Die Abbildung 10 zeigt zwei Zeitreihen, die einen gleichen, aber zeitlich verschobenen
Umsatzverlauf darstellen. Abstandbasierte Verfahren wie k-Means würden diese Zeitreihen
mit einer hohen Wahrscheinlich zwei unterschiedlichen Clustern zuordnen, obwohl es sich
um einen identischen Verlauf handelt. Durch Die Fourier-Transformation und die
anschließende Berechnung der Frequenzspektren lässt sich das Problem der Verschiebung
eliminieren.
X
1 2 3 4 5 6 7 8 9 10 11 12
ZR 1: 0 0 0 50 50 50 0 25 0 0 0 0
ZR 2: 0 0 0 0 0 0 50 50 50 0 25 0
Tabelle 1 Werte der Zeitreihen ZR 1 und ZR 2
Abbildung 11 Verlauf der Zeitreihen ZR1 und ZR2
Analog dazu die Frequenzspektren:
ZR 1: 11,5726 6,2500 4,6584 2,0833 3,6937
ZR 2: 11,5726 6,2500 4,6584 2,0833 3,6937
Tabelle 2 Frequenzspektren der Zeitreihen ZR1 und ZR2
ZR1: Frequenzspektrum
14
12
10
8
6
4
2
0
14
12
10
8
6
4
2
0
1
2
3
4
5
ZR2: Frequenzspektrum
1
2
Abbildung 12 Frequenzspektren von ZR1 und ZR2
32
Vgl. WDP S.21 f.
25
3
4
5
4 Ausgangssituation
4.5 Data Mining und ROTEIRO
Durch die Transformation in die Amplitudenanteile konnten die beiden Zeitreihen so
aufbereitet werden, dass sie nun von abstandbasierten Data-Mining-Verfahren korrekt
verarbeitet werden.
4.5 Data Mining und ROTEIRO
ROTEIRO verfügt in der aktuellen Version 1.17 über keine Funktionen zur automatisierten
Datenanalyse und Aufbereitung. Die Analyse des Kundenverhaltens und eine mögliche
Bewertung oder Ableitung desselben, ist daher nur durch einen Kundenbetreuer möglich.
Aufgrund der Kundenanzahl, sowie der mit der Analyse verbundene Zeitaufwand, ist eine
nicht automatisierte Sichtung der Kunden unrealistisch, wenn nicht sogar unmöglich.
Das System besitzt jedoch die grundlegenden Komponenten und Datenschnittstellen für die
Anwendung von automatisierten Daten Mining Verfahren. Für die Automatisierung von
Prozessabläufen verwendet das System den „Prozess-Kernel“ und als Datenschnittstelle den
MS SQL Server 2005.
4.6 Prozess-Kernel
Der Prozess-Kernel ist ein Programm, welches auf einem Server einmalig als quasipermanenter Prozess gestartet ist und seinerseits bedarfsweise zur Durchführung bestimmter
Aufgaben notwendige Programme (Prozesse) startet und überwacht.
Im Unterschied zum klassischen Prozess-Handling innerhalb von Betriebssystemen und/oder
Programmiersprachen ermöglicht es der hier vorliegende Prozess-Kernel:
Prozesse über mehrere Server hinweg verteilt zu verwalten,
Betriebssystemunabhängig zu arbeiten, auch in heterogenen OS-Umgebungen
ohne dedizierte Steuerung die am Gesamtsystem beteiligten Server, auf denen dieser
Kernel läuft, selbstverwaltend arbeiten zu lassen (autonome Lastverteilung,
Eigenregistrierung der Server)
Die IPC (Inter Prozess Communication = Verwaltung der Prozesse und Austausch
diesbezüglicher Informationen) erfolgt über eine im System logisch einmalig vorhandene
SQL-Datenbank. Als SQL-Datenbank sind zur Zeit MySQL, MS-SQL und Oracle erprobt.
Weitere Datenbank-Typen können bedarfsweise ergänzt werden.33
Der Prozess-Kernel realisiert eine koordinierte Prozessablaufsteuerung. Dazu gehören die
Überwachung von aktiven Prozessen sowie deren Zustände. Prozesse können dem System
ihren aktuellen Zustand mitteilen (z.B. Alive-Tick34) und Angaben über benötigte Ressourcen
machen, z.B.:
Anzahl der Prozessoren
Verwendung spezieller Hardware
Minimal und maximal benötigte Zeit
Timout-Zeit, nach deren Ablauf der Prozess gekillt wird
33
34
Siehe MHR 3.
Mit einem Alive-Tick bestätigt ein Prozess, dass er arbeitet.
26
4 Ausgangssituation
4.7 Entwicklung eines Data Mining Moduls
Zusätzlich können sich Prozesse auch gegeneinander verriegeln, um einen korrekten Ablauf
zu realisieren. Ein Beispiel hierfür wäre, dass ein Datenanalyse-Prozess nicht gleichzeitig mit
einem Prozess laufen darf, welcher Daten aktualisiert. Weiterhin können Prozesse
intervallbasiert oder zu festen Zeitpunkten gestartet werden. Ist ein Prozessstart blockiert, weil
ein anderer Prozess bereits läuft, so wird der blockierte Prozess in einer zufälligen Zeit
(üblicherweise 0-15 Minuten) erneut gestartet. Dies geschieht so oft bis der Prozess gestartet
wurde.
Üblicherweise wird ein Prozess in ROTEIRO als ausführbares Perl-Skript35 realisiert. Ein
solches Skript wird als Modul des Prozess-Kernel bezeichnet.
4.7 Entwicklung eines Data Mining Moduls
Auf Basis der Erkenntnisse aus dem Projekt „Data Mining und Engineering“, soll ein Data
Mining Modul für das ROTEIRO-Informationssystem entwickelt werden. Ziel ist es ein
wiederverwendbares und flexibles Modul auf Basis des im Abschnitt 3.4 dargestellten kMeans Algorithmus zu entwickeln. Aufgrund der leichten Realisierbarkeit, Geschwindigkeit
und der erfolgreichen Verwendung des Algorithmus im Projekt „Data Mining Engineering“,
wurde er für die Realisierung eines Data Mining Moduls ausgewählt. Weiterhin ist es möglich
den Ablauf des Algorithmus schrittweise nach zu verfolgen, was eine nachträgliche
Auswertung und Fehlerkorrektur der Datenanalyse vereinfacht.
35
Perl ist eine plattformunabhängige, freie und interpretierte Programmiersprache (Skriptsprache).
27
5 Entwicklung
5
5.1 Einleitung
Entwicklung
5.1 Einleitung
In diesem Kapitel wird die Entwicklung einer Data Mining Anwendung für das ROTEIRO
Informationssystem beschrieben. Die Entwicklung erfolgt nach bewährten Methoden und
Verfahren der Systementwicklung und Softwaretechnik.
Software-Entwicklung läuft üblicherweise in mehreren, chronologisch aufeinander folgenden
Phasen ab. Die folgende Tabelle zeigt diese Phasen und in der Praxis geläufige
Bezeichnungen:
Entwicklungsphase
1.
Problemdefinition/ Anforderungsanalyse
2.
3.
4.
5.
6.
Andere Bezeichnung in der Praxis
Lastenheft-Pflichtenheft
Ist-Analyse/Soll-Konzeption
Grob-Konzeption, Fachliche Konzeption
Fein-Konzeption, DV-technische Konzeption
Kodierung/Test, DV-technische Realisierung
Feldtest
Wirkbetrieb, Operation
Spezifikation
Entwurf
Implementierung
Erprobung
Einführung
Tabelle 3 Phasen der Softwareentwicklung (Quelle: SERD S. 21)
Die Phase der Einführung wird in der Arbeit nicht behandelt, da die Einführung der Software
zu einem noch unbekannten Zeitraum stattfinden wird. Ziel der Arbeit ist daher die
Entwicklung eines lauffähigen Prototyps. Die in Kapitel 3 behandelten Sachverhalte sind als
Analyse des Ist-Zustandes zu verstehen. Der Ist-Zustand wird daher in diesem Kapitel nicht
erneut betrachtet.
5.2 Problemdefinition und Anforderungsanalyse
Die Problemdefinition beschreibt die Anforderungen an einer zu entwickelnden Software.
Diese Anforderungen können in folgende Teilbereiche aufgeteilt werden:36
Funktionale Anforderungen
o Grundlegende Eigenschaften, Arbeitsweise und Funktionalität der Software
Qualitative Anforderungen
o Produktqualität in Bezug auf Funktionalität, Zuverlässigkeit und Benutzbarkeit
Systembezogene Anforderungen
o Für die Entwicklung benötigte Hard- und Software
Prozessbezogene Anforderungen
o Entwicklungszeit, Kontrollpunkte, personelle und finanzielle Ressourcen
Auf die Beschreibung der prozessbezogenen Anforderungen wird verzichtet, da bei der
Entwicklung keine finanziellen oder zeitlichen Aspekte berücksichtig werden müssen, weil es
sich um eine Entwicklung im Zusammenhang einer Abschlussarbeit handelt. Weiterhin wird
36
Vgl. SERD S. 24 f.
28
5 Entwicklung
5.3 Pflichtenheft
die folgende allgemeine verbale Problemdefinition als ein Lastenheft interpretiert, aus der
anschließend ein Pflichtenheft erarbeitet wird.
5.2.1 Funktionale Anforderungen
Bei dem zu entwickelnden System handelt es sich um eine Data-Mining Komponente für das
ROTEIRO-Informationssystem. Die Anwendung besteht aus zwei in Perl implementierten
Modulen, wobei das zweite vom ersten abhängig ist. Die erste Komponente ist das k-Means
Kernmodul, darauf basierend wird dann ein Analyse-Modul entwickelt. Dieses Modul soll
unterschiedliche Datensätze via Clusteranalyse miteinander vergleichen und die Ergebnisse
zur Auswertung aufbereiten. Vorrangiges Ziel ist das Erkennen von Veränderungen im
Kundenverhalten.
5.2.2 Qualitative Anforderungen
Die Komponenten sollen so entwickelt werden, dass eine Wiederverwendung in anderen
Bereichen möglich ist. Daher wäre die Auslagerung in eine Softwarebibliothek
wünschenswert. Zusätzlich sollen die für Analyse und Auswertung erhobenen Daten so
gespeichert werden, dass sie zu einem späteren Zeitpunkt problemlos wiederverwendet
werden können. Ein weiteres Ziel ist ein hoher Automatisierungsgrad der Anwendung sowie
keine negative Beeinflussung des ROTEIRO-Informationssystems während des laufenden
Betriebes.
5.2.3 Systembezogene Anforderungen
Die Entwicklung der Anwendung erfolgt in der Programmiersprache Perl. Als
Entwicklungsumgebung wird Eclipse 3.4 (Ganymade) mit dem Perl Plugin „Epic Perl“
verwendet. Das Betriebssystem des Entwicklungs-Rechners ist Windows XP Professionell
und als Datenbank wird der Micrsoft SQL Server 2005 eingesetzt. Die Oberflächen und ihre
Integration müssen in ROTEIRO mittels ASP und HTML stattfinden. ROTEIRO verwendet
als Webserver den IIS 637 von Microsoft.
5.3 Pflichtenheft38
Ein Pflichtenheft beschreibt die im Lastenheft39 gestellten Anforderungen in einer
konkreteren Form. Es beschreibt, wie der Auftragnehmer (hier der Entwickler) die im
Lastenheft gestellten Anforderungen zu lösen gedenkt.
5.3.1 Zielbestimmungen
Die Zielbestimmungen gliedern die Entwicklungsziele in Musskriterien, Sollkriterien und
Kannkriterien. Die Musskriterien stellen die Leistungen des Produktes dar, die unbedingt
erfüllt werden müssen, wobei die Sollkreterien die Leistungen beschreiben, deren Erreichen
wünschenswert ist. Die Kannkriterien beschreiben erstrebenswerte Elemente des Produktes,
37
Internet Information Services, vormals Internet Information Server.
Vgl. WIK PH.
39
Die Problemdefinition und Anforderungsanalyse kann als Lastenheft angesehen werden.
38
29
5 Entwicklung
5.3 Pflichtenheft
falls ausreichend freie Kapazitäten während des Projektverlaufs zur Verfügung stehen. Die
Abgrenzungskriterien beschreiben Zustände, die bewusst nicht erreicht werden sollen.
5.3.1.1 Musskriterien
Implementierung eines allgemeinen k-Means Data Mining Moduls
Implementierung einer Anwendung zum Vergleich von Datensätzen, basierend auf
dem k-Means Modul
Separate Speicherung aller Daten, die während des Analyseprozesses entstehen
Automatisierte Datengenerierung, Analyse und Auswertung
Bereitstellung der Ergebnisse im ROTEIRO-Informationssystem
Keine Störung des Tagesgeschäfts von ROTEIRO
5.3.1.2 Sollkriterien
Breitstellung einer administrativen Oberfläche
Bereitstellungen einer ersten Analyse von ROTEIRO-Daten
5.3.1.3 Kannkriterien
Graphische Darstellung von Analyseergebnissen im ROTEIRO-Informationssystem
5.3.1.4 Abgrenzungskriterien
Kein Ersatz für die manuelle Sichtung von Daten durch einen Kundenbetreuer
5.3.2 Produkteinsatz
Im Produkteinsatz erfolgt eine Betrachtung der zu entwickelnden Software aus verschiedenen
Blickwinkeln. Jeder Teil stellt dabei eine weitere Spezifikation der Anwendung dar.
5.3.2.1 Anwendungsbereiche
Der Anwendungsbereich der zu entwickelnden Software befindet sich im ROTEIRO
Informationssystem.
5.3.2.2 Zielgruppen
Administrative Mitarbeiter seitens MHR und der HVB
Kundenbetreuer der HVB durch automatisierte Ergebnis-Mitteilungen
5.3.2.3 Betriebsbedingungen:
Automatisierte Analyse und Datenaufbereitung (zum Monatsanfang)
In der Regel unbeaufsichtigter Betrieb
Administrative Verwaltung
30
5 Entwicklung
5.3 Pflichtenheft
5.3.3 Produktübersicht
Die Abbildung 13 zeigt die Integration des Data Mining Moduls ins ROTEIROInformationssystem. Das Modul enthält zwei weitere Komponenten, einmal Komponente
k-Means für das Clustern von Daten, sowie die eigentliche Analysekomponente für den
Vergleich von Datensätzen. Die Datenbasis für die Module bildet die Kundendatenbank von
ROTEIRO.
Abbildung 14 Schematische Einordung der Data Mining Komponenten
5.3.4 Produktfunktionen, -leistungen und –daten
In dem folgenden Abschnitt werden die Produktdaten, -leistungen und –funktionen, die es zu
erfüllen gilt, stichpunktartig dargestellt.
5.3.4.1 Produktfunktionen
PF 10
PF 20
PF 30
PF 40
PF 50
PF 60
Auslesen und Generieren von Datensätzen
Vorverarbeitung von Datensätzen
Clustern von Punktdatensätzen mit dem k-Means Algorithmus
Vergleich von unterschiedlichen Datensätzen
Auswertung der Vergleichsanalyse
Bereitstellung der Analyse-Ergebnisse
5.3.4.2 Produktdaten
PD 10 Alle relevanten Daten für eine Vergleichsanalyse
PD 20 Ergebnisdaten der Vorverarbeitung
PD 30 Ergebnisdaten der Vergleichsanalyse
5.3.4.3 Produktleistungen
PL 10 Speichern aller relevanten Analysedaten
PL 20 Zugriff auf Analyseergebnisse in Echtzeit
31
5 Entwicklung
5.4 Spezifikation
5.3.5 Qualitätsanforderungen
Die zu entwickelnden Komponenten müssen stabil und zuverlässig funktionieren und dürfen
das ROTEIRO-Tagesgeschäft in keinster Weise stören. Dazu gehört insbesondere:
Keine Überlastung der Server
Verriegelung zu anderen Prozessen
5.4 Spezifikation
In der Phase der Spezifikation werden die Anforderungen in ein Modell umgesetzt, so dass
die Funktionalitäten der zu entwickelnden Software vollständig beschrieben werden. Durch
dieses Modell, welches als Grob-Konzeption angesehen werden kann, wird später die
softwareseitige Implementierung realisiert.40
5.4.1 k-Means-Modul
Das k-Means Modul stellt alle grundlegenden Funktionen zur Clusterung nach dem
gleichnamigen Algorithmus zur Verfügung. Hierbei handelt es sich um die im Abschnitt 3.4
beschriebenen Abläufe. Zusätzlich werden noch einige Funktionen zur Datenvorverarbeitung
bereitgestellt, wobei diese Funktionalitäten je nach Bedarf an- oder abgeschaltet werden
können. Dabei handelt es sich um Funktionen zur Normalisierung und diskreter FourierTransformation (DFT), welche auf die übergeben Daten anwendbar sind.
Der Prozessablauf ist so aufgebaut, dass zuerst alle Daten eingelesen werden, anschließend
findet eine (oder keine) Datenvorverarbeitung statt. Nach dieser beginnt der eigentliche
Clustervorgang, welcher im Abschluss die Ergebnisdaten41 zurückliefert.
Die folgende Abbildung stellt den Ablauf im k-Means Modul dar:
Abbildung 15 Ablauf der Datenverarbeitung im K-Means Modul
40
41
Vgl. SERD Seite 37 f.
Ergebnisdaten sind z.B., als auffällig markierte Datensätze.
32
5 Entwicklung
5.4 Spezifikation
5.4.2 Analyse-Modul
Das Analyse Modul stellt alle Funktionalitäten für den Vergleich von zwei Datensätzen zur
Verfügung. Ziel dieses Vergleichs ist das Ermitteln von Unterschieden innerhalb der beiden
Datensätze. Primär geht es um das Erkennen von Änderungen des Kundenverhaltens,
basierend auf geeigneten Kundendaten innerhalb des ROTEIRO Informationssystems, wobei
andere Anwendungsmöglichkeiten nicht auszuschließen sind. Der Vergleichsprozess wird
hier allgemein ohne Bezug zur Praxisanwendung beschrieben, da ein Anwendungsbeispiel in
Kapitel 6 entwickelt und beschrieben wird.
In dem Modul wird der komplette Analyseprozess von der Datensatzgenerierung bis zur
Auswertung implementiert und abgebildet. Folgende Teilschritte sind dafür nötig:
5.4.2.1 Generierung des Hauptdatensatzes
Mittels Datenbankabfragen werden die Daten aus der Datenbank extrahiert und für die
Verwendung des k-Means-Moduls aufbereitet. Die Art der Datenextraktion und Aufbereitung
hängt hierbei maßgeblich von den zu erreichenden Zielen ab, wobei die Daten letztendlich in
ein numerisches Format überführt werden müssen, das vom k-Means Algorithmus verwendet
werden kann. Die Größe und Anzahl der Dimension der Datensätze sind nicht begrenzt,
wobei die benötigte Rechenzeit berücksichtigt werden sollte. Nach der Generierung wird der
Datensatz in der Datenbank abgebildet.
5.4.2.2 Generierung des Vergleichsdatensatzes
Die Vorgehensweise ist hier ähnlich wie bei der Generierung der Daten für den
Hauptdatensatz. Es ist jedoch zu beachten, dass der Vergleichsdatensatz Daten enthält, die
auch verglichen werden können. Als Beispiel für einen Vergleich können die summierten
Umsatzdaten vom Jahr 2007 mit denen des Jahres 2008 verglichen werden. Diese Daten
können als Zeitreihen mit zwölf Dimensionen (Monaten) abgebildet werden. Nach der
Generierung wird der Datensatz in der Datenbank gespeichert.
5.4.2.3 Verarbeitung des Hauptdatensatzes mittels k-Means-Komponente
In diesem Teilprozess wird der generierte Hauptdatensatz mittels der vom k-Means
Komponente bereitgestellten Funktionalitäten verarbeitet. Es findet, sofern es gewünscht
wird, eine weitere Vorverarbeitung der Daten durch Normalisierung und/oder DFT statt.
Anschließend wird der Clusterprozess durchgeführt und die Ergebnisse in der Datenbank
abgebildet. Bei den Ergebnissen handelt es sich um die Koordinaten der Clusterzentren sowie
die Beziehungen zwischen den Datenpunkten und ihren Clusterzentren.
5.4.2.4 Anwendung der Ergebnisse von Vorgang 5.3.2.3 auf den Vergleichsdatensatz
Der Ergebnisdaten des Clusterprozesses dienen als Vorlagen für den eigentlichen Vergleich.
Zuerst wird ermittelt, welche Punkte verglichen werden können. Ein vergleichbarer Punkt
muss sowohl im Haupt- als auch im Vergleichsdatensatz existieren. Anschließend werden die
Datenpunkte aus dem Vergleichsdatensatz den Clusterzentren zugwiesen, die in Teilschritt
5.4.2.3 berechnet wurden. Zuletzt wird ermittelt, wie sich die Datenpunkte verändert haben.
Die Vergleichsergebnisse werden in der Datenbank abgebildet.
33
5 Entwicklung
5.5 Entwurf
5.4.2.5 Bereitstellung der Ergebnisse
Die Art der Ergebnisbereitstellung konnte während der Arbeit noch nicht vollständig geklärt
werden. Möglich ist die automatisierte Unterrichtung der betroffenen Kundenbetreuer durch
das interne Benachrichtigungssystem von ROTEIRO. Weiterhin ist eine Visualisierung der
Datensätze für den Kundenbetreuer denkbar, da somit der manuelle Vergleich durch den
Fachexperten erheblich beschleunigt werden kann.
In Abbildung 17 zeigt eine vereinfachte Darstellung des Vergleichsprozesses.
Abbildung 16 Vereinfachte Darstellung des Vergleichsprozesses
5.5 Entwurf
In der Entwurfsphase werden die in der Spezifikationsphase erstellten Modelle weiter
verfeinert. Ziel ist die detailierte Beschreibung der Anforderungen in einer dafür geeigneten
Form (Diagrammen, Schemata und Pseudocodes), so dass diese als Vorlage für die spätere
Implementierung verwendet werden können.42
Der folgende Abschnitt beschreibt die genauen Vorgänge innerhalb der Module sowie die
Datenbankkomponente für die Datenhaltung.
42
Vgl. SERD S.61
34
5 Entwicklung
5.5 Entwurf
5.5.1 k-Means-Modul
Aus der Beschreibung der Spezifikationsphase werden nun die benötigten Funktionen, Einund Ausgabeparameter abgeleitet und beschrieben. Es erfolgt eine Unterteilung in
Dateneingabe, Datenvorverarbeitung, Datenverarbeitung und Ergebnisausgabe.
5.5.1.1 Dateneingabe
Die Dateneingabe erfolgt über einen Verbunddatentyp, welcher als zweidimensionaler
Hasharray abgebildet wird. Die Schlüssel dieses Datentyps bilden den eindeutigen Bezeichner
eines Datenpunktes, wodurch der Zugriff auf die Punktkoordinaten realisiert wird. Die
Punktkoordinaten befinden sich in einem Array und müssen die Datentypen Integer oder
Double besitzen. Der folgende Pseudocode zeigt ein Beispiel für den beschriebenen
Verbunddatentyp:
Hasharray={
„Kunde1“=>[1,2,6,8,7,0,2,4.3,7.7]
„Kunde2“=>[2,3,8,9.3,4,3,6.2,8,5]
„Kunde3“=>[2.8,3,8,9,4,3,6,8,5.1]
43
}
5.5.1.2 Datenvorverarbeitung
Die Datenvorverarbeitung erfolgt nutzergesteuert, d.h.: Der Benutzer gibt mittels
Übergabeparameter die Art der Datenvorverarbeitung an. Die Eingabedaten können
normalisiert und Fourier-transformiert werden oder jeweils eines von beiden. Die
Normalisierung erfolgt im Bereich zwischen 0 und 1 über die Punktmenge der Eingabedaten.
Die DFT erfolgt nach dem im Abschnitt 4.3.3 dargestellten Algorithmus. Dabei ist zu
beachten, dass die Länge Arrays, welcher die Punktkoordinaten enthält auf [N/2-1] verkürzt
wird.
5.5.1.3 Datenverarbeitung
Die Datenverarbeitung basiert auf den in Kapitel 3 beschriebenen k-Means-Algorithmus.
Zuerst werden die Koordinaten der Clusterzentren auf Basis von Zufallswerten berechnet,
wobei die Anzahl der zu erzeugenden Zentren vom Benutzer festzulegen ist. Der
Wertebereich einer Koordinate liegt zwischen dem globalen Koordinatenmaximum und minimum. Die Abbildung der Clusterzentren erfolgt als zweidimensionaler Array in folgender
Form:
Zentren={
[0]=>[1,2,6,8,7,0,2,4.3,7.7]
[1]=>[2,3,8,9.3,4,3,6.2,8,5]
[2]=>[2.8,3,8,9,4,3,6,8,5.1]
}
Nach der Erzeugung der Zentren erfolgt die Zuweisung der Punkte zu dem Cluster, dessen
Zentrum er am nächsten ist. Anschließend werden die Clusterzentren neu berechnet und die
43
Beispiel für einen Punktdatensatz, wobei jeder Kunde einen Punkt darstellt
35
5 Entwicklung
5.5 Entwurf
Punktzuteilung wiederholt. Nach dem k-Means Algorithmus wiederholt sich dieser Vorgang
so lange, bis kein einziger Punkt mehr ein Cluster wechselt. Aufgrund der Möglichkeit, dass
dieser Ablauf unendlich oft eintritt, werden zusätzlich folgende Abbruchbedingungen
implementiert:
Abbruch nach einer bestimmten Anzahl von Iterationen
Abbruch, wenn die summierte Distanz der „Zentren-Verschiebung“ ein Minimum
unterschreitet
Abbruch, wenn weniger als eine festgelegte Anzahl von Punkten ihr Cluster wechseln
Nachdem eine Abbruchbedingung eingetreten ist, beginnt die Phase der Ergebnisausgabe.
5.5.1.4 Ergebnisausgabe
Der Gesamtprozess liefert die folgenden Ergebnisse zurück:
Punkt zu Cluster Zuordnung (Punkt zu Clusternummer)
PUNKT_ZU_CLUSTER={
„Kunde1“=>1
„Kunde2“=>5
„Kunde3“=>2
}
Anzahl der Punkte pro Cluster
PUNKT_ZU_CLUSTER={
[0]=>1324
[1]=>7685
[2]=>4345
}
Koordinaten der Clusterzentren zum Ende des Iterationsvorgang
Zentren={
[0]=>[1,2,6,8,7,0,2,4.3,7.7]
[1]=>[2,3,8,9.3,4,3,6.2,8,5]
[2]=>[2.8,3,8,9,4,3,6,8,5.1]
}
36
5 Entwicklung
5.5 Entwurf
5.5.1.5 Zusammenfassung
Folgende Tabelle fasst die Aufrufparameter und die Rückgabewerte des k-Means Moduls
zusammen.
AufrufÜbergabeparameter
Normalisierung
DFT
Punktdatensatz
Anzahl Cluster
Max. Iterationen
(Abbruchbedingung)
Max. Wechsler
(Abbruchbedingung)
Max. Distanz
(Abbruchbedingung)
Rückgabewerte
Clusterzuordnung
Cluster
Datentyp
Beschreibung
Integer
Integer
Hasharray
Integer
Integer
0=Aus 1= An
0=Aus 1= An
Siehe 5.5.1.1
Anzahl der Clusterzentren
Maximale Anzahl der k-Means
Durchläufe
Maximale Anzahl der Punkte, die ihr
Cluster wechseln
Summierte maximale
Bewegungsdistanz alles Clusterzentren
Integer
Double
Hasharray
Zweidimensionaler
Array
Siehe oben
Siehe oben
Tabelle 4 Übergabe und Aufrufparameter des k-Means Moduls
5.5.2 Analyse-Modul
Aus der in der Spezifikationsphase dargestellten verbalen Beschreibung wird nun die
Datenbankkomponente des Analyse-Moduls schrittweise erarbeitet. Zur Modellierung der
Tabellenbeziehungen wird das Entity-Relationship-Modell (ERM) mit Chen-Notation44
verwendet. Für die Beschreibung der Attribute und deren Eigenschaften wird eine
tabellarische Darstellungsform verwendet. Weiterhin enthält jeder Tabellenname als
Kennzeichnung das Präfix „RPE_DM_“,45 damit die Tabellen und ihre Zuordnung innerhalb
der ROTEIRO Datenbank erleichtert wird.
5.5.2.1 Datensätze
Ein Datensatz hat einen Namen und besteht aus n Punkten, welche wiederum n Koordinaten
besitzen. Um diese Eigenschaften relational abzubilden werden drei Tabellen verwendet, die
eine hierarchische Struktur aufweisen. Die Tabelle RPE_DM_Data enthält allgemeine
Informationen wie Name und Punktanzahl eines Datensatzes sowie eine Schlüsselbeziehung
zur Tabelle RPE_DM_Pkt. Die Tabelle RPE_DM_Pkt beinhaltet Datensatzpunkte. Ein Punkt
ist genau einem Datensatz zugewiesen und hat n Koordinaten. Die Punkt-zu-KoordinatenZuweisung wird ebenfalls durch eine Schlüsselbeziehung zwischen der Punkttabelle
RPE_DM_Pkt und der Koordinatentabelle RPE_DM_Pkk abgebildet.
44
45
Siehe WIK_CH.
RPE_DM steht für Report Engine Data Mining.
37
5 Entwicklung
5.5 Entwurf
Abbildung 17 Schematische Darstellung zur Speicherung von Datensätzen
Abbildung 18 ERD Datensätze
5.5.2.2 Prozessdaten k-Means
Für einen vollständigen Clusterprozess müssen alle Übergabe- und Aufrufparameter, sowie
alle Ergebnisdaten in der Datenbank abgebildet werden. Folgende Informationen sind zu
speichern:
Zu clusternder Punktdatensatz
Anwendung der Diskreten Fourier Transformation [0=OFF 1=ON]
Normalisierung der Punkte des Punktdatensatzes [0=OFF 1=ON]
Anzahl der Wechsler als Abbruchbedingung
Größe der Wanderungsdistanz der Punkte zu ihren Clusterzentren
Anzahl der zu bildenden Cluster
Maximale Anzahl der auszuführenden Iterationen
Beziehung der Punkte zum zugewiesenen Clusterzentrum
Name/Bezeichner des k-Means-Prozesses
5.5.2.2.1
Allgemein
Die primäre Tabelle zur Datenhaltung und Ableitung von Beziehungen wird als
RPE_DM_KMeans-Tabelle bezeichnet. Sie speichert den Prozessnamen, sowie
Schlüsselbeziehungen zu einem Datensatz46, Parameterset und den Clusterzentren.
Für die Speicherung der Aufruf- und Übergabeparameter werden die Tabellen Parameterset
und Parameter verwendet. Hierbei handelt es sich um bereits vorhandene Tabellen in der
ROTEIRO Datenbank, welche für Parameterübergaben verwendet werden. Aus diesem Grund
werden die Parameter für das Clustern nicht in der Tabelle RPE_DM_KMeans gespeichert,
sondern nur die Schlüsselbeziehung zum Parameterset.
46
Der Datensatz, welcher geclustert werden soll.
38
5 Entwicklung
5.5 Entwurf
Abbildung 19 Schematische Darstellung zur Speicherung von Übergabe und Aufrufparameter
Abbildung 20 ERD Parameter
5.5.2.2.2
Clusterzentren
Die Tabellen RPE_DM_CL und RPE_DM_Clk beinhalten die Clusterzentren und die Anzahl
der enthaltenden Datenpunkte eines k-Means-Prozesses sowie die Koordinaten der Zentren.
Die Verbindungen zwischen einem k-Means-Prozess und seinen Clusterzentren werden durch
Schlüsselbeziehungen realisiert.
Abbildung 21 Schematische Darstellung zur Speicherung von Clusterinformationen
Abbildung 22 ERD Cluster
5.5.2.2.3
Cluster-Punkt-Beziehung
Zuletzt muss noch die Information der Cluster-Punkt-Beziehung abgebildet werden, damit
später erkennbar ist, welcher Punkt zu welchem Cluster zugeordnet wurde. Zusätzlich wird
die Entfernung zwischen Punkte und Zentrum ermittelt. Diese Informationen werden in der
Beziehungstabelle RPE_DM_CLPkt abgebildet.
39
5 Entwicklung
5.5.2.2.4
5.5 Entwurf
Zusammenfassung
Die folgenden Abbildungen stellen den schematischen Aufbau der Tabellen zur K-Means
Datenerfassung dar.
Abbildung 23 ERD K-Means Prozess
5.5.2.3 Prozessdaten-Vergleich
Im Vergleichsprozess findet ein Vergleich zweier Datensätze statt. Wie bereits in der
Spezifikation erwähnt, wird der Hauptdatensatz mit dem K-Means Modul verarbeitet und der
Vergleichsdatensatz auf die Ergebnisse „angewendet“. Das heißt, alle Punkte des
Vergleichsdatensatzes werden anhand der im k-Means-Prozess ermittelten Clusterzentren
dem jeweiligen Cluster mit dem geringsten Abstand zum Zentrum zugeordnet. Hierbei
entsteht wieder eine Punkt-zu-Cluster-Beziehung, die in der Datenbank abgebildet wird.
Zusätzlich wird ermittelt ob ein Punkt sich innerhalb seines Clusters bewegt hat oder ein
Clusterwechsel erfolgte. Weiterhin werden die Distanzen zum Clusterzentrum im Haupt- und
Vergleichsdatensatz ermittelt, um zu erkennen, wie stark eine Veränderung des analysierten
Punktes ist. Zuletzt wird betrachtet, ob ein Punkt im Haupt- und Vergleichsdatensatz existiert,
da nur ein solcher Punkt verglichen werden kann. Diese Ermittlung erfolgt über den
vergebenen Punktnamen, welcher als Identifikationsmerkmal dient. Zusätzlich wird die
Summe der Datenpunkte berechnet, die im Haupt-, aber nicht im Vergleichsdatensatz
vorkommen. Ermittelt wird weiterhin die summierte Anzahl Clusterwechsel und
Verschiebungen (innerhalb eines Clusters) der vergleichbaren Punkte.
40
5 Entwicklung
5.5 Entwurf
Für die Abbildung der genannten Informationen sind zwei Tabellen erforderlich. Die Tabelle
RPE_DM_VGL enthält die allgemeinen Daten eines Vergleichsprozesses. Dazu gehören
Schlüsselbeziehungen zu den Tabellen RPE_DM_Data und RPE_DM_KMeans, welche die
Datensatz- und Clusterprozessinformationen enthalten. Eine weitere Schlüsselbeziehung
verweist auf die Tabelle RPE_DM_VGLData, welche die Vergleichsinformationen eines
jeden Punktes, der im Vergleichsprozess verarbeitet wurde, abbildet.
Die folgende Abbildung zeigt das vollständige ERD, inklusive der eben beschriebenen
Vergleichstabellen.
Abbildung 24 Vollständiges ERD der Data Mining Komponente
41
5 Entwicklung
5.6 Implementierung
5.6 Implementierung
Die Implementierung der beiden Module erfolgte in der Programmiersprache Perl und
weitestgehend nach den in der Spezifikations- und Entwicklungsphase entworfenen
Strukturen. Die Module sind soweit implementiert, dass aus ihnen Vergleichsszenarien
berechnet werden können. Das entwickelte Tabellenmodell wurde für die ROTEIRODatenbank umgesetzt und angepasst. Aufgrund gewisser Konventionen wurden einige
zusätzliche Attribute bzw. Spalten zu den Tabellen hinzugefügt. Eine ausführliche
Tabellenbeschreibung befindet sich im Anhang.
Weiterhin werden in diesem Abschnitt die durchgeführten Arbeiten nicht detailiert betrachtet,
da eine detailierte Betrachtung den jetzigen Kenntnistand nur geringfügig erweitern würde.
5.6.1 Tabellenkonventionen
Hierbei handelt es sich um eine Vorgabe seitens der Bank, dass zu jedem Datensatz die Zeit,
Person und Ort der Anlage oder Löschung ermittelbar sein muss. Hieraus ergeben sich sechs
zusätzliche Spalten, welche durch folgende Suffixe dargestellt werden:
_idx
_made
_mody
_op
_ip
_del
Primärschlüssel einer Tabelle
Datum der Erstellung des Datensatzes
Datum der letzten Änderung des Datensatzes
Mitarbeiter, der die letzte Änderung vorgenommen hat
IP-Adresse, von der aus die letzte Änderung vorgenommen wurde
Löschkennzeichen
5.6.2 Module
Bei der Implementierung der Module wurde großer Wert auf Wiederverwendbarkeit gelegt,
so dass die Funktionalitäten der beiden Perl-Module in anderen Perl-Skripten genutzt werden
können. Zusätzlich wurde während der Entwicklungsphase festgelegt, dass die Module nur
die Funktionalitäten für einen Vergleichsprozess bereitstellen, jedoch das Vergleichsszenario
mittels eines externen Perl-Skriptes implementiert werden muss. Durch diese Konvention
wird eine noch bessere Modularisierung erreicht, die es ermöglicht, mehrere
Vergleichsszenarios leichter parallel zu implementieren.
5.6.3 Administrative Oberfläche
Zusätzlich zu den Modulen wurde eine vorläufige Oberfläche zur Ergebnisauswertung von
Vergleichsprozessen implementiert, um die Ergebnisse auf Korrektheit und Plausibilität
überprüfen zu können. Die Oberfläche ermöglicht die Inspektion aller im Vergleichsprozess
anfallenden Informationen. Zur Visualisierung der Daten werden Tabellen, Listen und
Balkendiagramme verwendet.
Da es sich bei der Oberfläche um einen Prototyp handelt und diese auch nicht direkt ein
elementarer Bestandteil der Arbeit ist wird auf eine umfangreiche Beschreibung verzichtet.
Um dem Leser dennoch einen Eindruck vermitteln zu können, befindet sich eine kurze
Beschreibung inklusive Bildmaterial im Anhang dieser Arbeit.
42
5 Entwicklung
5.6 Implementierung
5.6.4 Zusammenfassung
Der Entwicklungsprozess konnte soweit abgeschlossen werden, dass die Implementierung
eines Vergleichsszenarios innerhalb des ROTEIRO-Informationssystems möglich ist. Die
entwickelten Module wurden jedoch bis hierher nur einfachen Funktionstests unterzogen und
hinsichtlich ihrer Laufzeitstabilität überprüft. Daher wird das im nächsten Kapitel entworfene
Vergleichsszenario als Phase der Erprobung angesehen.
43
6 Anwendungsfall
6
6.1 Business understanding
Anwendungsfall
Ziel dieses Kapitels ist die Entwicklung eines realistischen Vergleichsszenarios im ROTEIRO
Informationssystem. Aufgrund der Tatsache, dass die Tests auf dem Entwicklungssystem im
Medienhaus Rostock stattfinden, musste eine taugliche Datenbasis gefunden werden.47
Hierbei stellten sich die Ertragsdaten der Kunden als am besten geeignet heraus. Die in
systeminternen, realitätsnahen Simulationen aus den Testdaten generiert wurden.
Mittels der implementierten Data-Mining-Komponenten soll nun ein Vergleichsszenario
beziehungsweise ein Prozess-Modul entwickelt werden, welches das Kundenertragsverhalten
(Betriebsertrag) analysiert und bewertet.
„Der Betriebsertrag ist die Summe der Nettobeträge, die den Kunden für Erzeugnisse und
Dienstleistungen in Rechnung gestellt werden“48.
Anhand der im Kapitel 3 beschrieben Abläufe des CRISP Data Mining Modells wird nun das
Vergleichsszenario entwickelt werden. Da es sich aber im Kern um einen Funktionstest der
Data Mining Komponenten handelt, beschränkt sich der Inhalt nur auf die wesentlichen
Aspekte der Analyse. Es wird ausdrücklich darauf hingewiesen, dass es sich hier um
Testdaten auf einem Entwicklungssystem handelt, welche sich deutlich von denen des
Produktionssystems unterscheiden können. Für das Testen der Entwicklung sind diese
Daten jedoch mehr als ausreichend.
6.1 Business understanding
Mit Hilfe der entwickelten Data-Mining-Komponenten soll das Ertragsverhalten der im
ROTEIRO-Informationssystem ertragsrelevanten Kunden untersucht werden. Dabei werden
die Erträge eines jeden Kunden über zwei gleichlange, aber unterschiedliche Zeiträume
ermittelt und miteinander verglichen. Anschließend soll über jeden Kunden automatisiert eine
Aussage über sein Ertragsverhalten getroffen werden. Ziel dieser Untersuchung ist das
Erkennen von Veränderungen im Verhaltensmuster eines Kunden. Mögliche Abweichungen
könnten die Ertragsstärke und -verteilung innerhalb eines gewissen Zeitraumes sein. Das wäre
zum Beispiel der Fall, wenn sich die Erträge eines Kunden reduzieren oder zeitlich
verschieben. Die Analyse gilt als tauglich, wenn bei einer nachträglichen manuellen Sichtung
der verglichenen Datensätze, diese die ermittelten Unterschiede49 aufweisen.
6.2 Data understanding
Zur Ermittlung der Ertragsdaten wurde vom MedienHaus Rostock eine spezielle SQLFunktion bereitgestellt. Diese liefert alle ertragsrelevanten Daten der Kunden in einer Liste
47
Geeignete Daten sind Daten, die sich als Zeitreihen abbilden lassen. Weiterhin müssen pro Datensatz
mindestens zwei verschiedene Zeitreihen für den Vergleich gebildet werden können.
48
Siehe WIK_ER.
49
Unterschiede sind z.B. deutliche Veränderungen in den Ertragsverläufen.
44
6 Anwendungsfall
6.3 Data preparation
zurück. Dazu gehören die Kundenidentifikationsnummer (Typ: String) sowie der summierte
monatliche Ertrag (Typ: Double).
Mittels dieser SQL-Funktion können alle für die Analyse nötigen Zeitreihen gebildet werden.
Kundennummer
“000654345“
“675346778“
“099876576“
…
Ertrag
10,00
25,32
189,76
…
Tabelle 5 Beispiel für eine Monatsertragsliste
6.3 Data preparation
Die erforderliche Vorverarbeitung der Daten findet in einem dafür entwickelten Perl Skript
statt. Dabei werden die monatlichen Ertragsdaten über einen zusammenhängenden Zeitraum
aus der Datenbank gelesen und als Zeitreihen in ein Perl-Hasharray (siehe Abschnitt 5.5.1.1)
abgebildet. Hierbei erfolgt zuerst eine Nullbefüllung des Arrays, so dass der Hash keine
undef50-Werte enthält. Als Länge des Arrays wird die Anzahl der Monate des gewählten
Zeitraumes festgelegt. Der erstellte Hasharray wird anschließend einer Modul-Funktion51
übergeben, welche den übergebenen Hasharray als Datensatz in den Data-Mining-Tabellen
abbildet.
Für die Tests werden sechs Zeitreihen für die Jahre 2007 bis 2008 gebildet. Eine Reihe
enthält die monatlichen Erträge von 01. Januar bis zum 31. Dezember des Jahres. Folgende
Datensätze wurden generiert:
Datensatz #Zeitreihen
„2007“
17718
„2008“
22594
Tabelle 6 Name der Datensätze und die Anzahl der enthaltenen Zeitreihen
Ziel der Analyse ist das Finden von Unterschieden, die von einem zum anderen Jahr
eventuell aufgetreten sind. Es sollen alle Kunden herausgefiltert werden, welche signifikante
Unterschiede in ihrem Ertragsverlauf aufweisen. Ein Kunde gilt als auffällig, wenn sich sein
Ertragsverlauf im Hauptdatensatz deutlich von dem des Vergleichsdatensatz unterscheidet.
Zusätzlich wird festgelegt, dass keine Veränderung vorliegt, wenn die Ertragskurve nur
seitlich verschoben ist. Folgende Abbildung soll die beiden genannten Sachverhalte
veranschaulichen:
50
51
Vom Typ undef sind in Perl nicht definierte Variablen, ähnlich wie null bei Java/C#.
Siehe Anhang für eine genauere Funktionsbeschreibung: createRPE_DM_Data(%Punkte).
45
6 Anwendungsfall
6.4 Modeling
Abbildung 25 Kunde K1 zeigt eine auffällige Verhaltensänderung, wohingegen Kunde K2 sein Verlauf
nur eine Rechtsverschiebung der Kurve von 3 Einheiten nach rechts aufzeigt, ansonsten aber identisch ist.
(Quelle: Eigene Darstellung)
6.4 Modeling
Zur Analyse der Datensätze wird das entwickelte Vergleichsmodul eingesetzt. Hierbei
werden die zu vergleichenden Datensätze aus den Datensatztabellen geladen und automatisch
vorverarbeitet. Bei der Vorverarbeitung werden alle Eingabedaten normalisiert, Fouriertransformiert und anschließend geclustert. Danach wird der Vergleichsdatensatz geladen und
ebenfalls normiert, Fourier-transformiert und die mögliche Veränderung zum
Ursprungscluster ermittelt.
Für die Experimente werden alle Daten stets zwischen 0 und 1 normiert und Fouriertransformiert. Der einzige Variable Parameter ist die Anzahl der zu bildenden Cluster. In den
Experimenten finden Vergleiche mit 4, 8 und 12 im Vergleich zu generierenden Clustern
statt. Verglichen werden folgende Datensätze:
2006 mit 2007
2007 mit 2008
Parameter
DFT (Fourier-transformation)
Normalisierung
Clusteranzahl
Wert
1=ON
[0 bis 1] ON
4,8,12
Abbildung 26 Aufrufparameter für die Vergleichsanalyse
6.5 Evaluation (Auswertung und Interpretation)
Aufgrund der großen Menge an Testergebnisse werden folgend nur die Analyseergebnisse
für die Vergleiche 2006 mit 2007 und 2007 und 2008 ausgewertet.
6.5.1 Analyse 2006/2007
Bei dem Clustern des Hauptdatensatzes (2006) mit 4, 8 und 12 zu bildenden Clustern,
entstanden interessante Ergebnisse hinsichtlich der Clusterverteilung. So befinden sich 6646
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
73% der Datensätze, unabhängig von der zu bildenden Clusterzahl, in einem einzigen Cluster,
was auf eine hohe Homogenität der Zeitreihen schließen lässt. Weiterhin ist zu erkennen, dass
noch zwei weitere Cluster eine große Anzahl von homogenen Zeitreihen enthalten. Die
Ergebnisse der Clusteranalyse sind in der folgenden Tabelle abgebildet:
2006 Cluster: 12
Cluster
0
1
8
5
3
10
6
9
7
2
4
11
Summe:
abs.
10599
1243
1191
984
704
443
290
263
167
133
0
0
16017
2006 Cluster: 8
2006 Cluster: 4
rel. Cluster
abs.
rel. Cluster
abs.
rel.
0,6617
7 10620 0,663
1 11634 0,7264
0,0776
5 2227 0,139
3 3677 0,2296
0,0744
3 1274 0,0795
0
703 0,0439
0,0614
2
741 0,0463
2
3 0,0002
0,044
0
688 0,043
0,0277
4
260 0,0162
0,0181
6
130 0,0081
0,0164
1
77 0,0048
0,0104
0,0083
0
0
1 Summe: 16017
1 Summe: 16017
1
Tabelle 7 Ergebnisse des k-Means-Moduls zur Clusteranalyse. Dargestellt sind die Cluster sowie ihre
absolute und relative Anzahl der zugeordneten Zeitreihen
Abbildung 27 Visulisierung typischer Zeitreihen des Clusterprozesses(mit 4, 8 oder 12 zu bildenden
Clustern, Datensatz 2006). Dargestellt werden zufällig ausgewählte Zeitreihen der beiden Clustern, welche
die meisten Zeitreihen enthalten. (Quelle: Eigene Darstellung)
Während der Visualisierung und Sichtung der Zeitreihen und deren Clustern konnte eine hohe
Homogenität der Zeitreihen bestätigt werden. Wie in Abbildung 28 zu erkennen ist, zeigen
66-73% aller Zeitreihen ein ähnliches Ertragsmuster. Dieses zeichnet sich durch gleichmäßig
47
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
hohe Ertragswerte zum Jahresanfang und Jahresende sowie keine bzw. sehr geringe Erträge in
der Jahresmitte aus. Ein weiteres häufig auftretendes Muster sind Erträge nur zum Anfang
oder Ende des Jahres. Diese Muster können dadurch entstehen, dass bestimmte, häufig
genutzte Dienstleistungen seitens der Bank zum Jahresanfang bzw. Jahresende oder
quartalsweise berechnet werden. Weiterhin zeigt die Analyse die korrekte Funktion der kMeans-Implementierung.
Nachdem der Teilprozess des Clusterns abgeschlossen ist, folgt anschließend die
Vergleichsanalyse mit den Daten des Jahres 2007. Folgende Tabellen stellen
zusammenfassend die Ergebnisse dar:
Analyse:
2006/2007 Cluster: 12
2006/2007 Cluster: 8
2006/2007 Cluster: 4
Sonstige Informationen
Neue Zeitreihen:
Verschwundene Zeitreihen:
Vergleichbar:
Gewandert Verschoben
11863
883
11562
1198
6141
1785
3690
1989
14028
Tabelle 8 Ergebnisdaten des Vergleichsprozesses 2006 mit 2007 (Quelle: Eigene Darstellung)
Vergleich: 2006/2007 12 Cluster
Vergleich: 2006/2007 8 Cluster
Cl.-Vorher Cl.-Nacher Anzahl Rel.
Cl.-Vorher Cl.-Nacher Anzahl
0
5 8055 0,57421
7
5
7705
0
8 1457 0,10386
7
3
1941
8
5
497 0,03543
0
5
518
10
5
363 0,02588
3
5
491
9
5
238 0,01697
4
5
225
6
5
237 0,01689
7
0
208
…
…
…
…
…
…
…
Vergleich: 2006/2007 4 Cluster
Cl.-Vorher Cl.-Nacher Anzahl Rel.
1
3 10045 0,71607
0
3
614 0,04377
1
0
240 0,01711
3
0
31 0,00221
0
1
17 0,00121
3
1
16 0,00114
…
…
…
…
Rel.
0,5493
0,1384
0,0369
0,035
0,016
0,0148
…
Tabellen 9 Menge der Wechsler sortiert nach Ursprungs- und Zielcluster aus dem Vergleich 2006 mit
2007 (Quelle: Eigene Darstellung)
Der Vergleich zwischen beiden Datensätzen zeigt eine große Fluktuation zwischen den
Zeitreihen von 2006 und 2007. So gibt es 3690 neue Zeitreihen (Kunden), die 2006 noch
nicht existierten. Umgekehrt sind 1989 Kunden von 2006 nicht mehr im Datensatz von 2007
enthalten. Gründe hierfür können die Zu- oder Abwanderung von Kunden sein. Das muss aber
48
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
nicht zwingend der Fall sein, da Erträge häufig Dienstleistungen seitens der Bank sind. Ein
Kunde, der keine Dienstleistung bestellt, taucht somit auch nicht in der Ertragsliste auf.
Weiterhin wurde eine große Anzahl von signifikanten Kundenveränderungen ermittelt, da bei
der Analyse mit 12 bzw. 8 Clustern von 14028 vergleichbaren Kunden über 11500
Clusterwechsel aufgetreten sind. Das heißt, dass diese Kunden ihr Ertragsverhalten verändert
haben. Betrachtet man aber das Zielcluster der Veränderung, also das Cluster in dem die
Zeitreihen verschoben wurden, fällt auf, dass sehr viele Kunden aus dem Ursprungscluster in
ein und dasselbe Zielcluster gewandert sind Die Zahlen hierfür sind in den Tabellen 9
dargestellt. Zusätzlich werden in den Abbildungen 26 und 27 eine Auswahl der Wechsler
sowie deren Veränderung dargestellt. Ein ähnliches Bild zeigte sich auch bei den Vergleichen
mit 8 bzw. 4 zu bildenden Clustern.
2006/2007 nachher
2006/2007 vorher
1
1
0,5
0,5
0
0
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Abbildung 29 2006/2007 12 Cluster, Datensätze
von Cluster 5. Wanderer von 0  5
(Quelle: Eigene Darstellung)
Abbildung 28 2006/2007 12 Cluster, Datensätze
von Cluster 0. Wanderer von 0  5
(Quelle: Eigene Darstellung)
Bei der Sichtung der Ergebnisse hat sich gezeigt, dass die Vergleichsanalyse durchweg
zuverlässige Ergebnisse liefert. Alle Zeitreihen, die als verhaltensauffällig markiert wurden,
wiesen eine deutliche Veränderung auf. Für eine weitere Prüfung der Implementierung
werden im Anschluss die Daten von 2007 mit denen von 2008 verglichen.
Hauptdatensatz
Vergleichsdatensatz
1
1
0,5
0,5
0
0
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Abbildung 30 Auszug einer Kunde/Zeitreihe, die als verändert markiert wurde. Dargestellt sind der
Ertragsverlauf von 2006(Hauptdatensatz) und 2007(Vergleichsdatensatz) (Quelle: Eigene Darstellung)
49
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
6.5.2 Analyse 2007/2008
Der Vergleich der Datensätze 2007 und 2008 wird mit der gleichen Parametrisierung wie im
vorangegangen Vergleich durchgeführt. Auch in diesem Vergleich führte das Clustern des
Hauptdatensatzes (2007) zu einer ähnlichen Verteilung wie bei der vorherigen
Vergleichsanalyse. Es bildete sich wieder ein sehr homogenes Cluster, welches je nach
Anzahl der zu bildenden Cluster zwischen 63% und 71% aller Zeitreihen enthält.
2007/2008 Cluster: 12
Cluster
abs.
2007/2008 Cluster: 8
rel. Cluster
2007/2008 Cluster: 4
abs.
rel. Cluster
abs.
rel.
8
11311
0,638
5
11351
0,641
2
12593
0,7107
0
2640
0,149
0
2657
0,150
3
2689
0,1518
10
1253
0,071
3
1559
0,088
1
2246
0,1268
3
1236
0,070
6
1253
0,071
0
190
0,0107
6
580
0,033
2
722
0,041
11
351
0,020
7
176
0,010
5
140
0,008
4
0
0,000
7
109
0,006
1
0
0,000
2
95
0,005
1
2
0,000
4
1
0,000
9
0
0,000
17718
1
Summe:
17718
1 Summe:
17718
1 Summe:
Tabelle 10 Ergebnisse des k-Means Modul zur Clusteranalyse. Dargestellt sind die Cluster sowie ihre
absolute und relative Anzahl der zugeordneten Zeitreihen
Analyse mit 12 CL-Nr:8
Analyse mit 12 CL-Nr:0
1
1
0,5
0,5
0
0
1
2
3
4
5 6
7
8
1 2 3 4 5 6 7 8 9 10 11 12
9 10 11 12
Abbildung 31 Auswahl zufälliger Zeitreihen aus den Clustern 8 und 0, bei der Analyse mit 12 zu
bildenden Clustern im Datensatz von 2007 (Quelle: Eigene Darstellung)
50
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
Analyse mit 8 CL-Nr:5
Analyse mit 8 CL-Nr:0
1
1
0,5
0
0
1
2
3
4
5
6
7
8
9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Abbildung 32 Auswahl zufälliger Zeitreihen aus den Cluster 5 und 0, bei der Analyse mit 8 zu bildenden
Clustern im Datensatz von 2007
Analyse mit 4 CL-Nr:2
Analyse mit 4 CL-Nr:3
1
1
0,5
0,5
0
0
1
2
3
4
5
6
7
8
9 10 11 12
1
2
3
4
5
6
7
8
9 10 11 12
Abbildung 33 Auswahl zufälliger Zeitreihen aus den Cluster 2 und 3, bei der Analyse mit 8 zu bildenden
Clustern im Datensatz von 2007 (Quelle: Eigene Darstellung)
Die manuelle Sichtung und Visualisierung der Zeitreihen bestätigte auch in dieser Analyse
eine große Homogenität der Zeitreihen untereinander. Das am meisten auftretende Muster ist
ein kontinuierlicher und gleichmäßiger Verlauf über den gesamten Zeitraum. Dieser Verlauf
wird nur durch ein Tal im neunten Monat des Jahres unterbrochen. Aufgrund der Tatsache,
dass die Zeitreihen aus dem Datenbestand des Testsystems stammen, kann das Tal durch eine
fehlende Ertragsberechnung im neunten Monat des Jahres verursacht worden sein.
Der am zweithäufigsten auftretende Verlauf zeigt eine Spitze im vierten Monat des Jahres,
gefolgt von keinen Erträgen bis zum neunten Monat des Jahres. Vom zehnten bis zwölften
Monat verläuft die Zeitreihe dann in ihrem Maximum.
Die anschließende Vergleichsanalyse von 2007 mit 2008 brachte folgende Ergebnisse:
Analyse:
2007/2008 Cluster: 12
2007/2008 Cluster: 8
2007/2008 Cluster: 4
Sonstige Informationen
Neue Zeitreihen:
Verschwundene Zeitreihen:
Vergleichbar:
Gewandert Verschoben
11868
3666
9489
6045
8868
6632
6440
1564
16154
Tabelle 11 Ergebnisdaten des Vergleichsprozesses 2007 mit 2008 (Quelle: Eigene Darstellung)
51
6 Anwendungsfall
6.5 Evaluation (Auswertung und Interpretation)
Vergleich: 2007/2008 12 Cluster
Vergleich: 2007/2008 8 Cluster
Cl.-Vorher Cl.-Nachher Anzahl rel.
Cl.-Vorher Cl.-Nachher Anzahl
8
1 5492 0,3915
5
0 5541
0
1 2168 0,1545
5
7
748
10
8
652 0,0465
3
0
684
8
7
462 0,0329
6
5
653
3
1
457 0,0326
3
5
459
3
8
370 0,0264
2
0
317
…
…
…
…
…
…
…
Vergleich: 2007/2008 4 Cluster
Cl.-Vorher Cl.-Nachher Anzahl rel.
2
3 5622 0,4008
1
3
995 0,0709
2
0
744 0,053
1
2
648 0,0462
3
0
243 0,0173
1
0
178 0,0127
…
…
…
…
rel.
0,395
0,0533
0,0488
0,0465
0,0327
0,0226
…
Tabellen 12 Menge der Wechsler, sortiert nach Ursprungs- und Zielcluster aus dem Vergleich 2007 mit
2008 (Quelle: Eigene Darstellung)
Auch der Vergleich der Datensätze von 2007 mit denen von 2008 zeigt eine starke
Fluktuation der Zeitreihen. Von 16154 vergleichbaren Zeitreihen sind je nach Anzahl der zu
bildenden Cluster, zwischen 8868 bis 11868 als „Wechsler“ identifiziert worden. Das heißt,
das 54-73% aller Kunden eine deutliche Veränderung in ihrem Ertragsverhalten aufweisen.
Eine genauere Betrachtung der Zeitreihen bezüglich der Wanderung vom Ursprungs- ins
Zielcluster zeigte hier ebenfalls, dass viele Zeitreihen das gleiche Ursprungs- und Zielcluster
aufweisen. Die Anzahl liegt bei dem Vergleich bei ca. 5500, unabhängig von der Anzahl der
zu bildenden Cluster. Die folgenden Abbildungen zeigen diesen Sachverhalt mit zufällig
ausgewählten Zeitreihen.
2007/2008 vorher
2007/2008 nachher
1
1
0,5
0,5
0
0
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Abbildung 34 2007/2008 12 Cluster, Datensätze von
Cluster 8. Wanderer von 8  1
(Quelle: Eigene Darstellung)
Abbildung 35 2007/2008 12 Cluster, Datensätze von
Cluster 1. Wanderer von 8  1
(Quelle: Eigene Darstellung)
Die manuelle Sichtung der Ergebnisse zeigte auch in diesem Testvergleich zuverlässige
Ergebnisse.
52
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
6.6 Evaluation (Auswertung und Interpretation)
Die Tests brachten vielversprechende Ergebnisse bei dem Erkennen von
Musterveränderungen von vergleichbaren Zeitreihen. Da die Daten dem Entwicklungssystem
von ROTEIRO entnommen wurden, lässt sich eine Bewertung des Ertragverhaltens nicht
durchführen. Dennoch konnte eindeutig gezeigt werden, dass das entwickelte System
zuverlässig funktioniert und die Erwartungen erfüllt. Die gesammelten Erfahrungen zeigen
weiterhin, dass die Anzahl der zu bildenden Cluster für den Analyseprozess, je nach
gewünschter Genauigkeit, zwischen 8 und 12 liegen sollte.
Weiterhin stellte sich bei der Sichtung der Ergebnisse heraus, dass die FourierTransformation, Verläufe als gleich identifiziert, obwohl diese unterschiedlich sind. Ein
Fallbeispiel sowie eine geeignete Lösung und Alternative zur DFT werden im folgenden
Abschnitt dargestellt.
6.6.1 Schattendistanz52
Da die DFT die enthaltenen Frequenzen einer Zeitreihe ermittelt, kann es vorkommen, dass
bestimmte Veränderungen nicht erkannt werden. Als Fallbeispiel dient folgende Zeitreihe:
Z1a Vorher
Z1b Nachher
0
0
0 10
0 6
5
6
5
6
0
6
0
6
6
0
6
0
6
5
6 6
5 10
0
0
0
0
Tabelle 13Beispiel für einen "Kundenverlauf" vorher und nachher
Z1a Vorher
Z1b Nacher
0,645 1,746 0,802 0,294 0,712 0,815
0,645 1,746 0,802 0,294 0,712 0,815
Tabelle 14 Frequenzen der Zeitreihen
2
1,5
10
1
5
0,5
0
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Z1a Vorher
1
Z1b Nachher
2
3
Z1a Vorher
4
5
Z1b Nacher
6
Abbildung 36 Visualisierung der Zeitreihe Z1, vorher und nachher (links: Verlauf, rechts: Frequenzen)
(Quelle: Eigene Darstellung)
Für die beiden Verläufe ermittelt die DFT die gleichen Frequenzspektren, obwohl es sich hier
nicht um eine direkte zeitliche Verschiebung handelt. Werden die Verläufe genauer
betrachtet, so lässt sich erkennen, dass die Kurve Z1b durch eine vertikale Spiegelung in die
Kurve Z1a überführt werden kann. Aufgrund der Tatsache, dass beide Verläufe als gleich
identifiziert werden, wurde eine alternative Vergleichsmöglichkeit implementiert, welche
diese Veränderung erkennt.
52
Name vom Autor vergeben
53
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
6.6.2 Idee
Es ist bekannt, dass zwei Zeitreihen, welche zeitlich versetzt sind, durch eine entsprechende
Verschiebung sich so überlagern lassen, dass der Verlauf beider Kurven gleich ist. Durch eine
Verschiebung der beiden Zeitreihen gegeneinander und das Ermitteln der Abstände
(Schattenabstand) zwischen den einzelnen Datenpunkten kann die Ähnlichkeit zweier
Zeitreihen bestimmt werden. Zwei Zeitreihen haben in derjenigen Verschiebung ihre größte
Ähnlichkeit, bei der der summierte Schattenabstand am geringsten ist. Das heißt, eine
Zeitreihe wird gegen die andere solange verschoben bis alle möglichen Kombinationen
abgearbeitet sind. Bei jedem Verschiebungsschritt wird der summierte Abstand ermittelt. Ein
Beispiel soll den Vorgang veranschaulichen:
10
10
R1b
R1a
5
5
0
0
1
2
3
4
5
6
R1a 0
R1b 5
7
8
9
5
9 10 11 12
5
5
3
5
2
5
1
5
0
5
1
5
0
2
3
5
9
4
5
5
5
0
3
6
7
8
9 10 11 12
1
2
Abbildung 37 Gleiche, aber zeitlich verschobene Zeitreihen R1a und R1b
Abbildung 38 Darstellung der Schattenabstandsberechnung (Quelle: Eigene Darstellung)
1.
2.
R1b
5 5 5 5 5 0 1 0 9 5 3 2
R1a
0 9 5 3 2 5 5 5 5 5 0 1 ∑
3.
R1b
5 5 5 5 5 0 1 0 9 5 3 2
R1a
0 1 0 9 5 3 2 5 5 5 5 5 ∑
Abst. 5 4 0 2 3 5 4 5 4 0 3 1 36
Abst. 5 4 5 4 0 3 1 5 4 0 2 3 36
R1b
5 5 5 5 5 0 1 0 9 5 3 2
R1b
5 5 5 5 5 0 1 0 9 5 3 2
R1a
5 5 5 0 1 0 9 5 3 2 5 5 ∑
R1a
5 5 5 5 5 0 1 0 9 5 3 2 ∑
4.
Abst. 0 0 0 5 4 0 8 5 6 3 2 3 36
Abst. 0 0 0 0 0 0 0 0 0 0 0 0
Tabellen 15 Beispieldaten für die Ermittlung der Schattendistanz
54
0
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
Es sind zwei Zeitreihen, R1a und R1b, gegeben, die sich nur in ihrer zeitlichen Verschiebung
unterscheiden. Um die Schattendistanz zu ermitteln, wird der Verlauf R1a gegen die Kurve
R1b verschoben und der Abstand der Datenpunkte ermittelt und aufsummiert. Der summierte
Schattenabstand berechnet sich wie folgt:
In der Abbildung 39 werden ausgewählte Verschiebungsvorgänge sowie die einzelnen
Punktabstände dargestellt. Hierbei wird die Kurve R1a schrittweise nach rechts verschoben
und der Schattenabstand ermittelt. Wie in Punkt 4 zu erkennen ist, überlagern sich die beiden
Verläufe nach 7 Rechtsverschiebungen und der Schattenabstand wird 0. Da es sich hierbei um
das globale Minimum handelt, ist keine weitere Verschiebung erforderlich. Somit wurde
gezeigt, dass eine zeitliche Verschiebung der Zeitreihen vorliegt, da die Kurve R1a den
Verlauf von R1b nach 7 Rechtsverschiebungen annimmt.
6.6.3 Praktische Anwendung
Es sind unterschiedliche normalisierte Zeitreihen gegeben. Diese werden mittels des k-Means
Algorithmus geclustert, wobei die Anzahl der zu bildenden Cluster beliebig ist. Als Ergebnis
erhält man die Koordinaten der Zentren.53 Jetzt wird die minimale Schattendistanz jeder
Zeitreihe über alle Cluster ermittelt. Anschließend werden alle Zeitreihen so verschoben, dass
diese die Wertreihenfolge ihrer minimalen Schattendistanz annehmen. Zuletzt wird der
Clusterprozess mit diesen Zeitreihen wiederholt.
6.6.4 DFT und Schattendistanz-Analyse 2007/2008
Zum Abschluss der Tests findet eine weitere Vergleichsanalyse für die Datensätze der Jahre
2007 und 2008 statt. Hierbei wird jedoch die dargestellte Methodik der Schattendistanz zur
Datenanalyse verwendet und mit den Ergebnissen der DFT-Analyse verglichen. Zur
Vergleichsanalyse werden folgende Parameter verwendet:
Parameter
DFT (Fourier-transformation)
Schattendistanz
Normalisierung
Clusteranzahl
Wert
0=OFF
1=ON
[0 bis 1] ON
4,8,12
Tabelle 16 Aufrufparameter der Vergleichsanalyse
Folgend werden die Ergebnisse des Clustervorgangs der Schattendistanz mit denen der DFT
vergleichend dargestellt:
53
Die Anzahl der Iteration sollte aus Performancegründen gering gehalten werden
55
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
2007/2008 Cluster: 12
Cluster
2007/2008 Cluster: 8
abs.
Schatten DFT Schatten
rel.
DFT Schatten
Cluster
DFT
abs.
Schatten DFT Schatten
rel.
DFT Schatten
DFT
2
0
6828 11311
0,38537 0,6384
7
5
6368 11351
8
1
6342
2640
0,26288 0,1490
4
0
5566
2657
0,2311 0,1500
0
8
1561
1253
0,07266 0,0707
3
3
2619
1559
0,12222 0,0880
11
5
1302
1236
0,06435 0,0698
1
6
1910
1253
0,09613 0,0707
7
3
381
580
0,02006 0,0327
2
2
510
722
0,0274 0,0407
3
10
322
351
0,01748 0,0198
0
7
265
176
0,01481 0,0099
9
6
255
140
0,00867 0,0079
5
4
249
0
0,00821 0,0000
10
9
244
109
0,00764 0,0062
6
1
231
0
0,007 0,0000
6
7
222
95
0,00665 0,0054
1
2
178
2
0,00515 0,0001
4
4
81
1
0,0023 0,0001
5
11
2
0
5,6E-05 0,0000
Summe:
17718 17718
1
Summe:
0,35941 0,6406
17718 17718
1
1
2007/2008 Cluster: 4
Cluster
1
abs.
Schatten DFT Schatten
rel.
DFT Schatten
DFT
3
2
6936 12593
0,39147 0,7107
1
3
6816
2689
0,29838 0,1518
2
1
3536
2246
0,17545 0,1268
0
0
430
190
0,02401 0,0107
Summe:
17718 17718
1
1
Tabelle 17 Ergebnisses des Clustervorgangs für die Schattendistanz und DFT
Bei dem Vergleich zeigte sich, dass die Summe der enthaltenen Punkte im größten Cluster
unter Verwendung der Schattendistanz nur 50% der Summe bei der Analyse mit der DFT
entspricht. Die Verläufe im Cluster 2 bei der Schattendistanzanalyse mit 12 zu bildenden
Clustern, enthalten nahezu die gleichen Punkte wie das Hauptcluster bei der DFT. Dennoch
ist es auffällig, dass das Hauptcluster bei der Schattendistanzanalyse nur halb so groß ist. Eine
Sichtung der Unterschiede zeigte folgende Verläufe der DFT-Analyse, welche als gleich
identifiziert wurden:
2
2
Verlauf 1
0
Verlauf 2
0
1 2 3 4 5 6 7 8 9 10 11 12
Verlauf 1
0,1000
1 2 3 4 5 6 7 8 9 10 11 12
Verlauf 2
Frequenzspektren
0,0500
1 Verlauf2 1
3 Verlauf
4 2
5
Abbildung 39 Zwei Verläufe, die sich im Hauptcluster der DFT-Analyse befinden
(Quelle: Eigene Darstellung)
56
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
Normierte Werte der Zeitreihen
Verlauf 1
0
0
0
Verlauf 2
1
1
1
Frequenzspektren der Zeitreihen
Verlauf 1
0,0725
0,082 0,0837
Verlauf 2
0,0833 0,0833 0,0833
1
1
0,1
1
0,1
1
0,1
1
0,1
1
0
0
0,1
1
0,1
1
0,1
1
0,0794 0,071
0,0833 0,083
Tabelle 18 Werte der in Abbildung 37 ausgewählten Zeitreihen
Obwohl die beiden dargestellten Verläufe deutliche Unterschiede aufweisen, befinden sie sich
bei der DFT-Analyse mit 12 zu bildenden Clustern in demselben Hauptcluster. Dieses Cluster
ist mit gut 60% aller Punkte doppelt so groß wie das Hauptcluster der Schattendistanz.
Betracht man die Verläufe der Kurven der Cluster 2 und 8 bei der Schattendistanzanalyse mit
12 zu bildenden Clustern fällt auf, dass sie hauptsächlich diese beiden Verlaufstypen
beinhalten. Die folgende Abbildung zeigt eine Auswahl an Zeitreihen aus diesen beiden
Clustern:
Analyse-Schatten mit 12 CL-Nr:2
Analyse-Schatten mit 12 CL-Nr:8
1
1
0,5
0,5
0
0
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Abbildung 40 Auswahl zufälliger Zeitreihen aus den Clustern 2 und 8, bei der Schattenanalyse mit 12 zu
bildenden Clustern im Datensatz von 2007 (Quelle: Eigene Darstellung)
Die fehlerhafte Zuordnung wird wahrscheinlich dadurch verursacht, dass sich die berechneten
Frequenzspektren bei der DFT sehr ähnlich sind. Folgende Abbildung zeigt zwei sehr
unterschiedliche Verläufe, die aber ein identisches Frequenzspektrum besitzen.
1
1
0
0
1
3
5
7
9
1
11
3
5
7
9
11
Abbildung 41 Zwei Zeitreihen, bei der die DFT die gleichen Frequenzspektren ermittelt
(Quelle: Eigene Darstellung)
Die Vergleichsanalyse der beiden Datensätze zeigt beim Einsatz der Schattendistanz eine
deutliche höhere Anzahl von gewanderten Kunden gegenüber der DFT. Von 16154
vergleichbaren Kunden sind je nach Anzahl der zu bildenden Cluster zwischen 14801 und
15240 Kunden in ein anderes Cluster gewechselt. Die Ergebnisse werden in der folgenden
Tabelle dargestellt:
57
6 Anwendungsfall
Analyse:
2007/2008 Cluster: 12
2007/2008 Cluster: 8
2007/2008 Cluster: 4
Sonsitge Informationen
Neue Zeitreihen:
Verschwundene Zeitreihen:
Vergleichbar:
6.6 Evaluation (Auswertung und Interpretation)
Gewandert
Verschoben
Schatten DFT Schatten
DFT
15240
11868
345
3666
15183
9489
447
6045
14801
8868
861
6632
6440
1564
16154
Tabelle 19 Ergebnisse der Vergleichsanalyse bei Anwendung des Schattenabstandes oder DFT
Vergleich: 2007/2008 12 Cluster Schatten
Vergleich: 2007/2008 8 Cluster Schatten
Cl.-Vorher Cl.-Nachher Anzahl
rel.
Cl.-Vorher Cl.-Nachher Anzahl
rel.
2
6 5297 0,3279
4
6 3156
0,1953
8
6 2086 0,1291
7
0 2286
0,1415
8
9 1318 0,0815
3
6 2186
0,1353
8
1 1055 0,0653
7
6 2150
0,1330
8
2
872 0,0539
1
6
980
0,0606
0
6
769 0,0476
4
0
878
0,0543
…
…
…
…
…
…
…
…
Vergleich: 2007/2008 4 Cluster
Schatten
Cl.-Vorher Cl.-Nachher Anzahl rel.
3
0 5514
0,3413
1
0 2712
0,1678
1
3 2303
0,1425
1
2 1435
0,0888
2
3 1229
0,0760
2
0 1135
0,0702
…
…
…
…
Tabelle 20 Menge der Wechsler, sortiert nach Ursprungs- und Zielcluster aus dem Schattenvergleich 2007
mit 2008 (Quelle: Eigene Darstellung)
Auch bei dem Schattenvergleich fällt auf, dass viele Punkte das gleiche Ursprungs- und
Zielcluster aufweisen. Weiterhin ist erkennbar, dass sehr wenige Zielcluster sehr viele Punkte
enthalten. So enthält das Zielcluster 6 bei der Vergleichsanalyse mit 12 zu bildenden Clustern
über 50% der gewanderten Punkte. Im Vergleich zur DFT-Analyse sind bei der
Wanderungsbetrachtung nur geringe Unterschiede feststellbar.
58
6 Anwendungsfall
6.6 Evaluation (Auswertung und Interpretation)
2007/2008 vorher
2007/2008 nachher
1
1
0,5
0
0
Abbildung 42 2007/2008 12 Cluster, Datensätze von
Cluster 2. Wanderer von 2  6
(Quelle: Eigene Darstellung)
1
0
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
Abbildung 43 2007/2008 12 Cluster, Datensätze von
Cluster 6. Wanderer von 2  6
(Quelle: Eigene Darstellung)
6.6.5 Fazit
Durch Einsatz der Schattendistanz können, wie auch bei der DFT, sehr gute Ergebnisse erzielt
werden. Zusätzlich können die aufgedeckten Schwächen der DFT eliminiert werden, was sich
jedoch negativ auf die Performance des k-Means-Prozesses auswirkt, da bei Verwendung der
Schattendistanz zuerst Zentren gebildet werden müssen, an denen eine Verschiebung
vorgenommen werden kann. Erst danach kann der eigentlich Clusterprozess beginnen. Je nach
gewünschter Ergebnisgenauigkeit muss entschieden werden, ob ein Vergleich mit DFT oder
Schattendistanz durchgeführt wird. Bei den Experimenten war der zeitliche Unterschied sehr
gering, was aber mit dem homogenen Datenbestand zusammenhängen kann, welcher dem kMeans-Algorithmus nur wenige Iterationen abverlangte. Die meiste Zeit benötigte die
Anwendung beim Lesen und Schreiben der Daten aus bzw. in die Datenbank sowie beim
Generieren der Vergleichsdatensätze. Dennoch ist der Zeitaufwand für einen Vergleich mit
20-30 Minuten praxistauglich.
59
7
Schlussfolgerungen und Ausblick
Die im Laufe dieser Arbeit entwickelte Softwarelösung implementiert einen großen Teil der
im Projekt „Data Mining Engeneering“ aufgezeigten Ideen zur Analyse von Zeitreihen, in
denen Verhaltensmuster abgebildet sind. Dazu gehören die Verwendung der DFT sowie der
Einsatz des Data-Minings-Algorithmus k-Means. Zusätzlich konnte mit der Schattendistanz
eine weitere geeignete Analysemethode entwickelt werden, welche sogar weniger anfällig für
die in der Arbeit dargestellten Probleme der DFT ist.
Weiterhin ist die entwickelte Anwendung modular aufgebaut und kann somit leicht erweitert
werden. Auch bei dem Datenmodell wurde ein großer Wert auf Wiederverwendbarkeit gelegt.
Der Entwicklungsstand der Software konnte während der Arbeit soweit vorangebracht
werden, um Tests auf dem Produktionssystem der Bank zu ermöglichen. Verlaufen diese
Tests erfolgreich, ist der produktive Einsatz als nächster Schritt denkbar. Leider werden diese
Tests nicht mehr vor Fertigstellung der Arbeit stattfinden, so dass auf einen Kommentar
hierzu verzichtet werden muss.
Zur Verbesserung des Vergleichsprozesses ist eine Nachbearbeitung der Ergebnisdaten
empfehlenswert. Dazu gehört die Bewertung von Zeitreihen, welche im Vergleichsprozess als
„auffällig“ markiert werden. Es ist durchaus möglich, dass eine Musterveränderung bei einer
Zeitreihe auftritt, die unbedenklich ist. Dazu zählen Kunden, deren Umsatzverläufe
unterschiedliche Muster aufweisen, aber den gleichen Gesamtumsatz besitzen. Eine
Markierung als „auffällig“ wäre in diesem Fall nicht unbedingt nötig.
Daher ist eine weitere Aufbereitung der Daten nach der Vergleichsanalyse ratsam, aber nicht
unbedingt erforderlich, da das Vergleichsergebnis bereits eine hohe Treffsicherheit aufweist.
Als zusätzliche Erweiterung der Data-Mining-Applikation, wäre ein Modul zur Mustersuche
sehr gut geeignet. Ziel dieser Anwendung würde die Suche nach fest definierten Mustern in
den Zeitreihen des Datenbestandes sein. Meistens treten zum Beispiel bei der Abwanderung
von Kunden sehr spezielle Muster auf. Sind diese erst einmal identifiziert, könnte die
Applikation automatisiert nach diesen Mustern suchen.
Mit der Entwicklung und Konzeption der Data-Mining-Komponente konnte der
Leistungsumfang des ROTEIRO-Informationssystems um eine neue grundlegende
Funktionalität erweitert werden. Die entscheidenden Methoden und Funktionen sind soweit
entwickelt, dass ein produktiver Einsatz in naher Zukunft möglich wäre. Die in der
Ausarbeitung gesetzten Ziele sind daher durchaus als erreicht zu betrachten.
60
Literaturverzeichnis
[AWI08]
Paul Alpar, Heinz Lothar Grob, Peter Weimann, Robert Winter
Anwendungsorientierte Wirtschaftsinformatik: Strategische Planung, Entwicklung
und Nutzung von Informations- und Kommunikationssystemen,
Vieweg Friedr. + Sohn Ver; Auflage: 4., verb. u. erw. A. (Juni 2005)
[CGA06]
Peter Chamoni, Peter Gluchowski,
Analytische Informationssysteme: Business Intelligence-Technologien und –
Anwendungen,
Springer, Berlin; Auflage: 3 (16. März 2006)
[CRP1]
http://www.crisp-dm.org/CRISPWP-0800.pdf
Zugriff:20.08.2009 12:44:00
[CRP2]
http://www.crisp-dm.org/Process/index.htm
Zugriff:20.08.2009 12:44:00
[DAB]
Martin Behrndt
Erstellung eines dynamischen Reportingmoduls auf Grundlage einer operativen
Unternehmensdatenbank
Diplomarbeit, Mai 2006 Wismar
[DMIP]
Volker Kaiser, Viktor Otte, Ralf Otte
Data Mining für die industrielle Praxis
Hanser Fachbuchverlag; Auflage: 1 (2004)
[DMP]
Helge Petersohn,
Data Mining: Verfahren, Prozesse, Anwendungsarchitektur
Oldenbourg (21. September 2005)
[DMT]
Michael J. A. Berry, Gordon S. Linoff,
Data Mining Techniques: For Marketing, Sales, and Customer Relationship
Management
Wiley & Sons; Auflage: 0002 (8. April 2004)
[IN1]
http://proceedings.esri.com/library/userconf/europroc99/html/vortraege/v02/v0211/v
0211.html
Zugriff:20.08.2009 12:59:00
[IN2]
http://oraclebi.blogspot.com/2007/11/olap-workshop-basic-overview-of-olap.html
Zugriff:20.08.2009 13:01:00
[KSPPT]
www.home.hs-karlsruhe.de/~laas0002/Skripte/CV8_Fouriertransformation.ppt
Zugriff:20.08.2009 12:40:00
[LCKI]
Uwe Lämmel, Jürgen Cleve
Künstliche Intelligenz
Hanser Fachbuch; Auflage: 3., neu bearbeitete Auflage. (1. Oktober 2008)
[MB_DWK]
Harry Mucksch,Wolfgang Behme
Das Data Warehouse Konzept. Architektur - Datenmodelle – Anwendungen
Gabler, Betriebswirt.-Vlg; Auflage: 2., vollst. überarb. u. erw. A. (März 1998)
61
[MHR1]
http://www.mhr.de/home.htm
Zugriff:20.08.2009 12:37:00
[MHR2]
http://www.mhr.de/produkte/info.htm
Zugriff:20.08.2009 12:37:00
[MHR3]
http://www.mhr.de/produkte/kernel.htm
Zugriff:20.08.2009 12:37:00
[NHND]
Nabil Hichem Nouri
k-Means-Clustering für semistrukturierte Daten
Diplomarbeit am Fachbereich Informatik der Universität Dortmund
3. Mai – 3. November 2004
[SERD]
Reiner Dumke
Software Engineering; Eine Einführung für Informatiker und Ingenieure: Systeme,
Erfahrungen, Methoden, Tools
Vieweg Friedr. + Sohn Ver; Auflage: 2., erw. u. überarb. A. (Mai 2001)
[SFKM]
http://www.stat.uni-muenchen.de/institut/ag/leisch/teaching/seminar08/SteinleyFolien.pdf
Zugriff:20.08.2009 12:31:00
[SH_EWI]
Ulrich Hasenkamp,Peter Stahlknecht
Einführung in die Wirtschaftsinformatik (Taschenbuch)
Springer, Berlin; Auflage: 11 (14. September 2004)
[WDP]
Stefan Wissuwa, Jürgen Cleve, Uwe Lämmel
Analyse zeitabhängiger Daten durch Data-Mining-Verfahren
Heft 21/2005
Wismar: Hochschule Wismar 2005
[WEC03]
Reinhard J. Weck,
Informationsmanagement im globalen Wettbewerb,
Oldenbourg (2003)
[WIK_CH]
http://de.wikipedia.org/wiki/Chen-Notation
Zugriff:20.08.2009 12:53:00
[WIK_EK]
http://de.wikipedia.org/wiki/Euklidischer_Abstand
Zugriff:20.08.2009 12:31:00
[WIK_ER]
http://de.wikipedia.org/wiki/Ertrag
Zugriff:20.08.2009 12:54:00
[WIK_IS]
http://de.wikipedia.org/wiki/Informationssystem_(Informatik)#Anwendung_in_der_
Wirtschaftsinformatik
Zugriff:20.08.2009 12:49:00
[WIK_PH]
http://de.wikipedia.org/wiki/Pflichtenheft
Zugriff:20.08.2009 12:52:00
[WIK_SYS]
http://de.wikipedia.org/wiki/System
Zugriff:20.08.2009 12:53:00
62
Ehrenwörtliche Erklärung
Ich erkläre hiermit ehrenwörtlich, dass ich die vorliegende Arbeit selbständig angefertigt
habe, die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind
als solche kenntlich gemacht. Es wurden keine anderen als die angegebenen Quellen und
Hinweise verwandt. Die vorliegende Arbeit wurde bisher noch keiner anderen
Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht.
Wismar, ________________________
Unterschrift: ________________________
63
Anhang I Datenbankdiagramme und -tabellen
vii
viii
ix
x
xi
xii
xiii
Anhang II Screenshots der Weboberfläche
Ergebnisdaten eines Vergleich-Prozesses:
CH
CV
DHZ
DVZ
Dd zum
HZ
Rel. A.
Nummer Clusterzentrum
Hauptdatensatz
Nummer Clusterzentrum
Vergleichsdatensatz
Distanz zum Zentrum im
Hauptdatensatz
Distanz zum Zentrum im
Vergleichsdatensatz
Differenz der Distanz um
Hauptzentrum
Relative Abweichung der
Verlaufssumme zwischen
Vergleichs- und Hauptdatensatz
Sch. D.
Sch. V
Typ
xiv
Schattendistanz des Punktes im
Hauptdatensatz zu seinem Zentrum
Schattendistanz des Punktes im
Vergleichsdatensatz zu seinem Zentrum
Gibt den Ergebnistyp an, gleicher Punkt,
Wechsler, Wanderer, etc.
Ermöglicht eine genauere Betrachtung
der Punkte oder des k-Means-Prozesses
Filterung der Ergebnisdaten eines Vergleiches nach dem Typ des Punktes:
Beispiel für die Verläufe diverser Clusterzentren als Ergebnis des k-Means-Prozessses:
xv
Visualisierung der Ergebnisdaten einer Vergleichsanalyse mit Schattendistanz:
xvi
xvii
Anhang III Quellcodebeispiel
sub generateDataTable {
# Auslesen der Übergabeparameter
my ( $jahr_von, $jahr_bis, $monat_von, $monat_bis, $data_name ) = @_;
# Generieren eine Hasharrays, welcher die Datensätze enthält
# .....
# .....
# .....
# Hasharray generiert
# Format:
#
Hasharray={
#
„Kunde1“=>[1,2,6,8,7,0,2,4.3,7.7]
#
„Kunde2“=>[2,3,8,9.3,4,3,6.2,8,5]
#
„Kunde3“=>[2.8,3,8,9,4,3,6,8,5.1]
#
}
# Eintragen der Daten durch übergeben des Hasharrays an die vorgegebene
#Datenbankfunktion
# createRPE_DM_Data gibt den Schlüssel zu dem Datensatz zurück
my $idx = createRPE_DM_Data( \%Hasharray, $data_name );
return $idx;
}
sub Vergleichsanalyse {
# Dieser Code führt einen vollständigen Vergleichsvorgang durch
#<>_idx: Bei den "idx-Variablen" handelt es sich um die Datenbankschlüssel
# 1. Hauptdatensatz erzeugen, bei dem KMeans angewendet wird
my $data_source_idx = generateDataTable( 2003, 2003, 1, 12, "2007 1-12 ");
# 2. Vergleichsdatensatz der auf den Ergebnisdaten des K-Means #angewendet wird
my $data_vgl_idx = generateDataTable( 2004, 2004, 1, 12, "2008 1-12" );
# 3. Anlegen eines Parametersets für eine K-Means-Algorithmus
# PARAMETER:
# [1]=> 1=mit Diskrete Fourier Transformation, 0=ohne DFT
# [2]=> 1=mit Normalisierung der Punkte zwischen 0 und 1, 0=ohne #Normalisierung
# [3]=> Anzahl der zu bildenden Clusterzentren
# [4]=> Maximal Anzahl der Wechsler
# [5]=> Maximale Anzahl der Iteration
# [6]=> Maximale Distanz die gewandert werden soll
# [7]=> Hasharray mit den Daten {"Punktident"=>[8,18,132,8,...,n]}
my $km_idx = createKmeans(0, 1, 6, 0, 100, 0, $data_source_idx, 'K1-2007/2008 DFT', 106,
'172.168.1.101' );
# 4. Clustern des Hauptdatensatzes
doKmeans($km_idx);
# 5. Vergleich erzeugen, Vergleichsdatensatz wird auf dem Vorher erzeugten K-Means
#angewendet.
doVergleich( $km_idx, $data_vgl_idx,"2007/2008 DFT 12cl" );
}
xviii
Herunterladen