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: XY 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