Gesammelte Seminararbeiten

Werbung
Universität Karlsruhe (TH)
Fakultät für Informatik
Institut für Programmstrukturen und
Datenorganisation (IPD)
Hauptseminar
Imperfektion und erweiterte Konzepte im Data
Warehousing
Gesammelte Seminararbeiten
Sommersemester 2005
Inhaltsverzeichnis
Abbildungsverzeichnis
vii
1 Erweiterte Entwurfskonzepte
1.1
1.2
1.3
1.4
Einführung in DWS . . . . . . . . . . . . . . . . .
1.1.1
Denition DWS . . . . . . . . . . . . . . .
1.1.2
Anwendungsbereich . . . . . . . . . . . . .
Entwurfsgrundlagen für DWS . . . . . . . . . . . .
1.2.1
Konzeptuelle Modellierung - ME/R-Modell
1.2.2
Logische Modellierung . . . . . . . . . . . .
1.2.3
Snowake-Schema . . . . . . . . . . . . . .
1.2.4
Star-Schema . . . . . . . . . . . . . . . . .
Erweiterte Entwurfskonzepte . . . . . . . . . . . .
1.3.1
konformierte Dimensionstabelle . . . . . . .
1.3.2
Erweiterte Dimensionstabelle . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . .
2 Datenqualität
2.1
2.2
2.3
2.4
2.5
Einleitung . . . . . . . . . . . . . . . . .
Daten . . . . . . . . . . . . . . . . . . .
2.2.1
Daten - Informationen - Wissen
2.2.2
Daten im Verkehrsbereich . . . .
Datenqualität . . . . . . . . . . . . . . .
2.3.1
Denition . . . . . . . . . . . . .
2.3.2
Qualitätskriterien . . . . . . . .
2.3.3
Einuss schlechter Datenqualität
Datenqualitätsmanagement . . . . . . .
2.4.1
Systemorientierter Ansatz . . . .
2.4.2
Produktorientierter Ansatz . . .
2.4.3
Vergeich . . . . . . . . . . . . . .
Fazit . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
3.1
3.2
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DWQ-Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1
Die Struktur des DWQ . . . . . . . . . . . . . . . . . . .
1
1
1
2
3
4
6
6
7
10
10
12
16
19
19
19
19
20
21
21
22
24
24
24
26
28
28
29
30
31
31
i
Inhaltsverzeichnis
3.3
3.4
3.5
3.2.2
Schwerpunkte des DWQ-Projekts .
3.2.3
Komponenten eines Data-Warehouse
3.2.4
Bezug zur Datenqualität . . . . . .
DWQ-Rahmenarchitektur . . . . . . . . . .
3.3.1
konzeptionelle Perspektive . . . . .
3.3.2
Logische Perspektive . . . . . . . . .
3.3.3
Physikalische Perspektive . . . . . .
3.3.4
Beziehungen zwischen Perspektiven
Bestimmung Data-Warehouse Qualität . . .
3.4.1
QFD-Quality Function Deployment
3.4.2
GQM-Goal Quality Metric . . . . .
Zusammenfassung . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Einleitung . . . . . . . . . . . . . . . . . . . . . . . .
Summierbarkeit . . . . . . . . . . . . . . . . . . . .
4.2.1
Ziele . . . . . . . . . . . . . . . . . . . . . . .
4.2.2
Szenario . . . . . . . . . . . . . . . . . . . . .
4.2.3
Bedingungen . . . . . . . . . . . . . . . . . .
4.2.4
Fazit . . . . . . . . . . . . . . . . . . . . . .
Ansatz nach Pedersen, Jensen & Dyreson . . . . . .
4.3.1
Szenario . . . . . . . . . . . . . . . . . . . . .
4.3.2
Prinzip . . . . . . . . . . . . . . . . . . . . .
4.3.3
Vollständigkeit . . . . . . . . . . . . . . . . .
4.3.4
Disjunktheit . . . . . . . . . . . . . . . . . .
4.3.5
Fazit . . . . . . . . . . . . . . . . . . . . . .
Fuzzy-Summierbarkeit . . . . . . . . . . . . . . . . .
4.4.1
Szenario . . . . . . . . . . . . . . . . . . . . .
4.4.2
Benötigte Denitionen . . . . . . . . . . . . .
4.4.3
Prinzip Fuzzy-Dimensionen . . . . . . . . .
4.4.4
Fuzzy-Vollständigkeit und Fuzzy-Disjunktheit
4.4.5
Fazit . . . . . . . . . . . . . . . . . . . . . .
Vergleich . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1
Ansatz . . . . . . . . . . . . . . . . . . . . .
4.5.2
Zusammenfassung . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Fuzzy-Summierbarkeit
4.1
4.2
4.3
4.4
4.5
5 Common Warehouse Metamodel und Imperfektion
5.1
5.2
5.3
ii
Einleitung . . . . . . . . . . . . . . . . . . . . .
Metadaten und Metadatenmanagement . . . .
5.2.1
Bedeutung von Metadaten . . . . . . .
5.2.2
Metadatenmanagement . . . . . . . . .
5.2.3
Umsetzung des Metadatenmanagement
Das Common Warehouse Metamodel (CWM) .
5.3.1
Die Schichten des CWM . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
33
33
35
36
38
38
39
39
40
41
43
45
45
45
45
46
47
49
49
49
50
51
51
53
53
53
54
55
56
57
57
57
57
59
59
60
60
61
61
62
64
Inhaltsverzeichnis
5.4
5.5
5.6
5.3.2
Der Austausch von Metadaten im CWM . . . . . .
5.3.3
Erweiterungsmöglichkeiten . . . . . . . . . . . . . .
Imperfektion in Datenbanken . . . . . . . . . . . . . . . . .
5.4.1
Der Begri der Imperfektion . . . . . . . . . . . . .
5.4.2
Theorien und Modelle zur Imperfektion . . . . . . .
Erweiterung des CWM zur Modellierung imperfekter Daten
5.5.1
Erweiterung durch Stereotypes und TaggedValues .
5.5.2
Objektorientierte Erweiterung . . . . . . . . . . . .
Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Fuzzy UML
6.1
6.2
6.3
6.4
6.5
Introduction . . . . . . . . . . . . . . . . . .
Basic knowledge . . . . . . . . . . . . . . . .
6.2.1
Fuzzy Set and Possibility Distribution
6.2.2
UML Class Model . . . . . . . . . . .
Fuzzy objects and classes . . . . . . . . . . .
6.3.1
Fuzzy objects . . . . . . . . . . . . . .
6.3.2
Fuzzy classes . . . . . . . . . . . . . .
6.3.3
Fuzzy object-class relationships . . . .
Fuzzy Modeling of Fuzzy Data . . . . . . . .
6.4.1
Fuzzy Class . . . . . . . . . . . . . . .
6.4.2
Fuzzy Generalization . . . . . . . . .
6.4.3
Fuzzy Aggregation . . . . . . . . . . .
6.4.4
Fuzzy Association . . . . . . . . . . .
6.4.5
Fuzzy Dependency . . . . . . . . . . .
Conclusions . . . . . . . . . . . . . . . . . . .
7 Fortgeschrittene OLAP-Analysemodelle
7.1
7.2
7.3
7.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenmodelle und Modellierung von Systemen . . . . . . . . . .
7.2.1
Systemmodelle . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2
Datenmodelle . . . . . . . . . . . . . . . . . . . . . . . . .
Klassikation nach Codd . . . . . . . . . . . . . . . . . . . . . .
7.3.1
Kategorisches Modell . . . . . . . . . . . . . . . . . . . .
7.3.2
Exegatives Modell . . . . . . . . . . . . . . . . . . . . . .
7.3.3
Kontemplatives Modell . . . . . . . . . . . . . . . . . . .
7.3.4
Formalisiertes Modell . . . . . . . . . . . . . . . . . . . .
Datenmodelle in der Implementierung . . . . . . . . . . . . . . .
7.4.1
Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . .
7.4.2
Kategorisches Modell und OLTP-Datenmodelle . . . . . .
7.4.3
Exegatives Modell und Data Warehouses . . . . . . . . .
7.4.4
Kontemplatives Modell für fortgeschrittene Analysefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.5
Formalisiertes Modell für abstrakte Analysen . . . . . . .
66
66
68
68
68
70
71
72
75
77
77
79
79
80
82
82
82
83
84
84
84
87
88
91
91
95
95
96
96
97
97
98
98
99
101
103
103
103
104
104
105
iii
Inhaltsverzeichnis
7.5
Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8 Visualisierung der Imperfektion in multidimensionalen Daten
8.1
8.2
8.3
8.4
8.5
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.1
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.2
Begrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Visualisierung imperfekter Informationen im Straÿenverkehr . . . 110
8.2.1
Benutzergruppen im Straÿenverkehrsbereich . . . . . . . . 110
8.2.2
Visualisierungstechniken (noch ohne Imperfektion) . . . . 111
8.2.3
Erweiterung der drei vorgestellten Verfahren um Imperfektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.2.4
Skizzierung des Visualisierungswerkzeugs . . . . . . . . . 119
Datenvisualisierung und Visual Data Mining (VDM) . . . . . . . 119
8.3.1
Einordnung des VDM . . . . . . . . . . . . . . . . . . . . 120
8.3.2
Automatisiertes Data Mining und seine Schwächen . . . . 122
8.3.3
Visuelle Datenexploration . . . . . . . . . . . . . . . . . . 123
8.3.4
Beispiel-Einsatzgebiet für VDM: Kooperatives Data Mining123
8.3.5
Klassizierung visueller Data Mining Techniken . . . . . 127
Einordnung und Vergleich . . . . . . . . . . . . . . . . . . . . . . 127
Zusammenfassung und Ausblick . . . . . . . . . . . . . . . . . . 129
9 Stream Clustering
9.1
9.2
9.3
9.4
9.5
9.6
9.7
iv
109
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.1
Praktische Anwendungen . . . . . . . . . . . . . .
9.1.2
Überblick über dieses Kapitel . . . . . . . . . . . .
Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . .
Stream Clustering . . . . . . . . . . . . . . . . . . . . . .
9.3.1
Eigenschaften von Datenströmen . . . . . . . . . .
9.3.2
Aufgaben von Stream Clustering . . . . . . . . . .
9.3.3
Eignung herkömmlicher Algorithmen . . . . . . . .
9.3.4
Allgemeine Lösungsansätze . . . . . . . . . . . . .
Evolution von Datenströmen . . . . . . . . . . . . . . . .
9.4.1
Mikroclustering . . . . . . . . . . . . . . . . . . .
9.4.2
Pyramidal Time Frame . . . . . . . . . . . . . . .
9.4.3
Makroclustering . . . . . . . . . . . . . . . . . . .
Projected Clustering für hochdimensionale Datenströmen
9.5.1
Projected Clustering . . . . . . . . . . . . . . . . .
9.5.2
HPStream Algorithmus . . . . . . . . . . . . . . .
Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.1
Bewertungskriterien . . . . . . . . . . . . . . . . .
9.6.2
Bewertungsmethoden . . . . . . . . . . . . . . . .
9.6.3
Datenauswahl . . . . . . . . . . . . . . . . . . . .
9.6.4
Bewertung der vorgestellten Algorithmen . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
131
131
132
132
132
133
133
134
134
134
135
135
137
139
139
139
140
141
141
142
142
142
144
Inhaltsverzeichnis
10 Process Mining
10.1
10.2
10.3
10.4
10.5
Einleitung . . . . . . . . . . . . . .
10.1.1
Motivation . . . . . . . . .
10.1.2
Ziel . . . . . . . . . . . . .
10.1.3
Petri- und Workow-Netze
10.1.4
Ordnungsrelationen . . . .
Probleme . . . . . . . . . . . . . .
10.2.1
Versteckte Tätigkeit . . . .
10.2.2
Doppelte Tätigkeit . . . . .
10.2.3
Schleifen . . . . . . . . . .
10.2.4
Verrauschte Daten . . . . .
Algorithmen . . . . . . . . . . . .
10.3.1
α-Algorithmus . . . . . . .
Mining Prozess . . . . . . . . . . .
10.4.1
Pre-Processing . . . . . . .
10.4.2
Processing . . . . . . . . .
10.4.3
Post-Processing . . . . . .
Schluÿbemerkung . . . . . . . . .
Literaturverzeichnis
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
147
147
147
148
148
149
150
150
151
152
152
154
154
155
155
156
156
156
157
v
Abbildungsverzeichnis
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
Entwurfsprozess von Datenbanksystemen . . . . .
Grasche Notation der ME/R-Elemente . . . . . .
Kaufhaus-Szenario in ME/R-Notation . . . . . . .
Snowake-Schema . . . . . . . . . . . . . . . . . .
Snowake-Schema-Beispiel . . . . . . . . . . . . . .
Star-Schema . . . . . . . . . . . . . . . . . . . . . .
Star-Schema-Beispiel . . . . . . . . . . . . . . . . .
Speditionsszenario 1 . . . . . . . . . . . . . . . . .
Speditionsszenario 2 . . . . . . . . . . . . . . . . .
Speditionsszenario: konformierte Dimensionstabelle
Many-to-many-Dimension 1 . . . . . . . . . . . . .
Many-to-many-Dimension 2 . . . . . . . . . . . . .
Many-to-many-Dimension 3 . . . . . . . . . . . . .
Role-playing-Dimension 1 . . . . . . . . . . . . . .
Role-playing-Dimension 2 . . . . . . . . . . . . . .
Role-playing-Dimension 3 . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
6
7
8
9
9
11
11
12
13
13
14
15
16
16
2.1
2.2
2.3
2.4
Daten - Informationen - Wissen . . . . . . . . .
Qualitätskriterien . . . . . . . . . . . . . . . . .
Systemorientierter Ansatz - Informationssystem
Produktorientierter Ansatz - Qualitätszyklus .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
22
25
27
3.1
3.2
3.3
3.4
3.5
3.6
Vom OLTP- zum OLAP-Prozess . . . . . . . . . . . . . . . . . . . . .
Beispiel einer Struktur eines Data-Warehouses . . . . . . . . . . . . . .
Qualitätsfaktoren in einem Data-Warehouse . . . . . . . . . . . . . . .
Die Beziehung der Qualitätsfaktoren zu den Data-Warehouse-Aufgaben
Die drei Aspekte einer Data-Warehouse-Architektur . . . . . . . . . .
House of Quality im Quality-Function-Deployment . . . . . . . . . . .
31
34
34
36
37
41
4.1
4.2
4.3
4.4
4.5
4.6
Dimension Kundendaten nach Region . . . . .
Vollständigkeit nicht berücksichtigter Wert . .
Vollständigkeit fehlender Wert . . . . . . . . .
Disjunktheit mehrfach berücksichtigter Wert . .
Dimension eines Krankenhaus-Datenbanksystems
Transformation durch makeCovering . . . . . . .
46
47
47
48
50
51
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
vii
Abbildungsverzeichnis
4.7
4.8
4.9
4.10
4.11
4.12
Transformation durch makeOnto . . . . . . . . .
Transformation durch makeStrict (1. fuse nodes)
Transformation durch makeStrict (2. unlink) . .
vollständige Transformation durch makeStrict . .
Bauplan des Stockwerks aus Beispiel 4.4.1 . . . .
Dimension für Beispiel 4.4.1 . . . . . . . . . . . .
.
.
.
.
.
.
51
52
52
52
53
54
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
Metamodellarchitektur der OMG . . . . . . . . . . . . . . . . . . . . .
CWM-Schichtenmodell . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erweiterung des Objekt-Modells durch Stereotypes und TaggedValues .
Zugehörigkeitsfunktionen a) scharf b) fuzzy . . . . . . . . . . . . . . .
Imperfekte Stereotypes . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel eines imperfekten Table -Objekts . . . . . . . . . . . . . . . . .
Ausschnitt des Core -Pakets . . . . . . . . . . . . . . . . . . . . . . . .
Erweiterung des Core-Paketes um Möglichkeiten der Modellierung von
Imperfektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
64
67
70
71
72
73
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
Database Design Process . . . . . .
Fuzzy set to concept tall person .
The class icon . . . . . . . . . . . .
Simple aggregation relationship . .
Simple generalization relationship .
Simple association relationship . .
Simple dependency relationship . .
A fuzzy class . . . . . . . . . . . .
A fuzzy generalization relationship
A fuzzy aggregation relationship .
Fuzzy association relationships . .
Fuzzy dependency relationship . .
A fuzzy UML data model . . . . .
The denition of a fuzzy class . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
78
79
80
81
81
81
82
84
86
89
89
91
92
93
7.1
7.2
7.3
7.4
Kategorisches Modell .
Exegatives Modell . .
Kontemplatives Modell
Formalisiertes Modell .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 98
. 99
. 100
. 102
8.1
8.2
8.3
8.4
8.5
8.6
Übersicht der Visualisierungstechniken [For05] . . . . . . . . . . . . . .
Bewertungstabelle Visualisierungstechniken [For05] . . . . . . . . . . .
Beispiel ThemeRiver [SHW02] . . . . . . . . . . . . . . . . . . . . . . .
Prinzip der parallelen Koordinaten [Spe01] . . . . . . . . . . . . . . . .
Inxight Table Lens [IS] . . . . . . . . . . . . . . . . . . . . . . . . . . .
ThemeRiver ohne (li.) und mit (re.) Ergänzung um Ungenauigkeit - auf
beiden Seiten ist die Unschärfe durch linguistische Variablen visualisiert.
[For05] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
74
113
113
114
114
115
117
Abbildungsverzeichnis
8.7 Parallele Koordinaten, erweitert um Imperfektion. [For05] . . . . . . .
8.8 Table Lens, erweitert um Imperfektion. [For05] . . . . . . . . . . . . .
8.9 Bewertung der um Imperfektion erweiterten Visualisierungstechniken.
[For05] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.10 Paketstruktur im Visualisierungswerkzeug [For05] . . . . . . . . . . . .
8.11 Einordnung des VDM zwischen Data Mining und Informationsvisualisierung [Fay96] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.12 VDM im KDD-Prozess [Fay96] . . . . . . . . . . . . . . . . . . . . . .
8.13 Ansätze des visuellen Data Mining . . . . . . . . . . . . . . . . . . . .
8.14 Exemplarischer Entscheidungsbaum [Ank04] . . . . . . . . . . . . . . .
8.15 Der interaktive Mining-Prozess mit DataJewel [Ank04] . . . . . . . . .
8.16 Die Visualisierungstechnik CalendarView [Ank04] . . . . . . . . . . . .
8.17 Klassikation visueller DM-Techniken [Kei01] . . . . . . . . . . . . . .
117
118
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
9.10
136
136
137
138
138
142
143
143
144
144
Architektur des CluStream Algorithmus . . . . . . . . . .
Mikrocluster Datenstruktur . . . . . . . . . . . . . . . . .
Zustandsdiagramm zum Mikroclustering . . . . . . . . . .
Historie H17 . . . . . . . . . . . . . . . . . . . . . . . . . .
Historie H55 . . . . . . . . . . . . . . . . . . . . . . . . . .
Sum of Square Distances am Beispiel . . . . . . . . . . . .
Qualitätsvergleich (aus [AHWY03]) . . . . . . . . . . . . .
Verarbeitet Datenrate (aus [AHWY03]) . . . . . . . . . .
Qualität von HPStream und CluStream (aus [AHWY04])
Skalierbarkeit und Datenrate (aus [AHWY04]) . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
118
119
120
121
122
124
125
126
127
10.1 Beispiel für versteckte Tasks . . . . . . . . . . . . . . . . . . . . . . . . 151
10.2 Beispiel für doppelte Tasks . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3 Beispiel für problematische Schleifen . . . . . . . . . . . . . . . . . . . 152
ix
Yingzhe Liu
1
Erweiterte Entwurfskonzepte
1.1 Einführung in DWS
Aufgrund der enormen operativen Datenmenge und dem Bedarf für EchtzeitReporting bzw. für die Auswertung durch OLAP (OnLine Analytical Processing)
werden auf der Basis operativer Daten in betrieblichen Informationssystemen Data
Warehouses immer mehr eingesetzt. Die Analyse bzw. Auswertung von umfangreichen Daten aus betrieblichen Informationssystemen stellt sich als Hauptzweck des
Data Warehouse dar. In einem Data-Warehouse-System (DWS) sollen umfangreiche Datenbestände aus vielen verschiedenen Quellsystemen in passender Form zur
Verfügung gestellt werden. Eine der zentralen Themen im Data Warehousing stellt
die Modellierung der Datenstrukturen dar.
In dieser Arbeit werden die Grundlagen auf Modellierungsebene im Data Warehousing, insbesondere die erweiterte konzeptuelle und logische Modellierung, erläutert. Vollständigkeitshalber wird zuerst die Begriichkeit im Bereich von DataWarehouse-Systemen im Kapitel 1 vorgestellt. Kapitel 2 behandelt die grundlegenden Entwurfskonzepte für DWS. Anschlieÿend werden die erweiterten Entwurfskonzepte für DWS in Kapitel 3 vorgestellt. Zum Schluÿ werfen wir einen Blick auf
verwandte Forschungen.
1.1.1 Denition DWS
Data-Warehouse-Systeme repräsentieren ein analyseorientiertes Informationsystem
einer Organisation.
Eine ozielle Denition von Data Warehouse gibt es bis heute nicht. Die am
häugsten zitierte Denition nach Bill Inmon [Imm96] lautet:
1
1 Erweiterte Entwurfskonzepte
Denition 1.1.1 (Data-Warehouse-System) A data warehouse is a subject-
oriented, integrated, time-varying, non-volatile collection of data in support of the
managements decision-making process.
Ein Data Warehouse hat nach dieser Denition also vier Eigenschaften (siehe
[BG01]), die alle der Entscheidungsunterstützung dienen:
• Fachorientierung
Die Datenbasis dient also zur Modellierung eines spezischen Anwendungsziels.
• Integrierte Datenbasis
Die Datenverarbeitung ndet auf integrierten Daten aus mehreren Datenbanken statt.
• Nicht üchtige Datenbasis
Daten, die einmal in das Data Warehouse eingebracht wurden, werden kaum
entfernt oder geändert.
• Historische Daten
Die Daten werden über einen längeren Zeitraum gehalten. Der DW-Prozess,
auch Data Warehousing genannt, beschreibt den dynamischen Vorgang:
Datenbeschaungsprozess → Datenspeichern → Datenanalyse
Ein Data-Warehouse-System enthält Systemkomponenten und einzelne, riesige
Datenbanken. Ein Data Warehouse ist jedoch mehr als die Summe seiner Komponenten, d.h. erst mit dem Data-Warehouse-System kann es seine Aufgaben erfüllen.
1.1.2 Anwendungsbereich
Der Hintergrund für DWS ist die Analysierbarkeit der Daten: eine homogene und
integrierte Datenbasis, um eine eziente und zielorientierte Analyse durchzuführen.
Im Folgenden werden drei häuge Anwendungsbereiche genannt.
• Betriebswirtschaftliche Anwendungsgebiete
Die häugsten Einsatzbereiche benden sich zurzeit hier. Es gibt eigentlich
keinen Bereich eines Unternehmens, in welchem auf Daten und Informationen für eine erfolgreiche Abwicklung der Geschäftsprozesse verzichtet werden kann. In diesem Bereich gibt es die vier Untergebiete: Informationsbereitstellung, Analyse, Planung und Kampagnenmanagement (siehe: [BG01]).
Mit den dargestellten Informationen können qualizierte Anwender Analysen
durchführen und weitergehende Erkenntnisse gewinnen.
2
1.2 Entwurfsgrundlagen für DWS
• Wissenschaftliche Anwendungsgebiete
Aus diesem Bereich stammen auch die technischen Wurzeln der DW-Technologie, vor allem im Hinblick auf die datenbanktechnische Speicherung und
Verarbeitung. Bei wissenschaftlichen, empirischen Untersuchungen fallen oft
groÿe Mengen an Daten, beispielsweise Messwerte, an. Ein beispielhaftes Projekt lautet Earth Observing System [Mic91].
• Technische Anwendungsgebiete
Auch in technisch orientierten Anwendungsfeldern gibt es viele mögliche Verwendungszwecke. Wir erklären es durch ein paar Beispiele. Hier gelten die
Mechanismen, die dem Data Warehousing zugrunde liegen, entsprechend. Eine Fabrik kann beispielsweise eine Sto- oder Materialdatenbank aufbauen,
um die in Produkten verwendeten Materalien zu dokumentieren. So können
die verantwortlichen Lieferanten bei Rückfrufaktionen oder Gewährleistungsfällen festgestellt werden. (siehe auch [BG01] in Kapitel 11.5).
1.2 Entwurfsgrundlagen für DWS
Hier gehen wir zuerst auf den typischen Entwurfsprozess von Datenbanksystemen
ein. Diesen zeigt Abbildung 1.1 .
Abbildung 1.1: Entwurfsprozess von Datenbanksystemen
Im typischen Entwurfsprozess von Datenbanksystemen werden nach der Anforderungsanalyse die konzeptuelle und logische Datenbankmodellierung durchgeführt.
Dabei werden die Anforderungen an das Datenbanksystem zuerst im konzeptuellen
Schema und dann im logischen Schema abgebildet. Aus Sicht der Datenbanktheorie
wird die konzeptuelle Modellierung eher auf einer von Zieldatenmodellen unabhängigen Ebene durchgeführt. Deshalb ist das konzeptuelle Schema unabhängig vom
3
1 Erweiterte Entwurfskonzepte
konkret verwendeten Zieldatenmodell. Demgegenüber wird das logische Schema in
einem konkreten Datenmodell dargestellt. Nach der Entscheidung für ein konkretes
Datenbanksystem wird das interne Schema hergestellt (vgl. [Leh03b]).
Im klassischen relationalen Datenbankenentwurf ndet für die Erstellung des konzeptionellen Schemas meist eine Variante des Entity/Relationship-Modells (E/RModell) Anwendung. Das logische Datenschema wird dann formal im konkreten
relationalen Datenmodell speziziert. Das relationale Datenmodell stellt dazu lediglich Relationen über Attribute als Ausdrucksmittel bereit. Die Schönheit eines
logischen Schemas als Ergebnis des logischen Datenbankenentwurfs wird dabei formal quantizierbar durch den Grad der vorgenommenen Normalisierung bestimmt.
Das interne Schema wird durch die Fähigkeiten des jeweiligen Datenbanksystems
bestimmt (vgl. [BG01]).
Der Entwurf von Data-Warehouse-Systemen wird in der Praxis analog wie der
vorstehende Entwurfsprozess von klassischen Datenbanksystemen vorgehen. Die
Frage hier ist aber, wie das Datenmodell in Data-Warehouse-Systemen aussehen soll und welche konzeptuelle und logische Modellierungsmethode in DataWarehouse-Systemen eingesetzt werden sollen. In dieser Arbeit werden entsprechend folgende Fragen erklärt:
• Welche konzeptuellen Modellierungen von Data-Warehouse-Systemen existieren? Welche logischen Modellierungsschemata nden bei der Modellierung
von Data-Warehouse-Systemen Anwendung?
• Was für erweiterte Konzepte sind in welchen Anwendungsfällen geeignet?
Daraus ergibt sich als Zielsetzung dieses Kapitel, einen Überblick sowohl über die
Grundlagen der konzeptuellen und logischen Modellierung von Data-WarehouseSystemen als auch darüber hinausgehende erweiterte Konzepte zu geben.
1.2.1 Konzeptuelle Modellierung - ME/R-Modell
Die ME/R-Notation (Multidimensional Entity/Relationship, [SBHD99]) wurde
als spezielle Modellierungstechnik für multidimensionale Schemata entwickelt.
Sie stellt eine Erweiterung des bekannten E/R-Ansatzes (Entity/Relationship,
[Che76]) für relationale Schemata dar. Die Grundidee des ME/R-Ansatzes ist wie
folgt: Um eine naturgemäÿe Darstellung der multidimensionalen Semantik zu erlauben, wird das E/R-Modell entsprechend spezialisiert und geringfügig erweitert.
Zuerst sollen alle eingeführten Elemente der ME/R-Notation Spezialfälle der ursprünglichen E/R-Konstrukte sein, damit Leute, die mit dem E/R-Modell schon
erfahren sind, auch das ME/R-Modell verstehen und benutzen können. Die Semantik muss die Unterscheidung zwischen Klassikationsschema, Würfelstruktur und
die hierarchische Struktur der Klassikationen darstellen.
Aus dieser Überlegung führt die ME/R-Notation folgende spezialisierte Konstrukte zusätzlich zur ursprünglichen E/R-Notation ein (siehe Abbildung 1.2):
• Eine spezielle Entitätenmenge Klassikationsstufe
4
1.2 Entwurfsgrundlagen für DWS
• Eine spezielle Entität Fakt
• Eine spezielle binäre Klassikationbeziehung zur Verbindung von Klassikationsstufen.
• Eine aus E/R übernommene Faktbeziehung, um Fakten und Dimensionen zu
verbinden.
Die Klassikationsbeziehung verbindet eine Dimensionsstufe A mit einer Dimensionsstufe B, welche eine höherwertige Abstraktionsebene darstellt. Beispielsweise
werden Städte nach Ländern klassiziert. Aufgrund der speziellen Semantik der
Klassikationsbeziehung dürfen keine Zyklen im so genannten Klassikationsgraphen existieren (vgl. [BG01]).
Abbildung 1.2: Grasche Notation der ME/R-Elemente
Die Faktbeziehung stammt aus einer allgemeinen n-ären Beziehung im E/RModell und wird hier spezialisiert. Durch sie werden n verschiedene Entitäten von
Klassikationsstufen verbunden. Solche Beziehungen stellen ein Fakt der Dimensionalität n dar und bilden einen Würfel. Eine Beschreibung des Fakts verwenden wir
als Name der Menge. Die unmittelbar verbundenen Klassikationsstufen nennen
wir atomare Klassikationsstufen.
Die Faktbeziehung modelliert die inhärente Trennung zwischen Dimension und
Würfelzellen und somit die Struktur des Würfels. Die Attribute der Faktbeziehung
modellieren die Kenngröÿen der Fakten, wogegen die Klassikationsstufen die qualizierenden Daten darstellen (vgl. [BG01]).
Beispiel 1.2.1 Wir betrachten eine Verkaufsanalyse. Kenngröÿen können z. B.
Verkaufszahlen oder der Umsatz sein. Als Dimension dienen Produkt, Geographie
und Zeit. Innerhalb einer Dimension sind auch Alternativpfade der Klassikationsbeziehungen möglich. Abbildung 1.3 zeigt solche Alternativpfade bei der Zeitdimension. Wochen sind somit nicht mehr eindeutig zu Quartalen oder Jahren
zusammengefasst.
5
1 Erweiterte Entwurfskonzepte
Abbildung 1.3: Kaufhaus-Szenario in ME/R-Notation
1.2.2 Logische Modellierung
Nach der konzeptuellen Modellierung ist eine formale Beschreibung des multidimensionalen Datenmodells für Data-Warehouse-Systeme dringend nötig. Zunächst
müssen die verwendeten Basiskonstrukte und deren Beziehungen formal beschrieben werden. Das Pendant im relationalen Datenmodell ist die formale Denition
einer Relation, eines Relationenschemas, einer Domäne etc. Im Falle des multidimensionalen Paradigmas sind die zu formalisierenden Entitäten Datenwürfel, Dimensionen etc. ([BG01]).
In den folgenden zwei Kapiteln werden zwei verschiedene Verfahren, die das
systemunabhängige konzeptuelle Modell in ein logisch eingesetztes Modell verwandeln, vorgestellt. Die Vorgehendsweise ist etwas anders als im relationalen Modell.
Der Hauptunterschied zwischen dem multidimensionalen und relationalen Modell
ist die zusätzliche Semantik, durch die die Beziehungen zwischen den Klassikationsstufen einer Dimension untereinander, zwischen den Würfeln und den Klassikationsstufen seiner Dimensionen sowie zwischen verschiedenen Würfeln zum
Bestandteil des Modells gemacht werden.
1.2.3 Snowake-Schema
Die Klassikationen im ME/R-Modell können direkt in einer relationalen Datenbank umgesetzt werden. Dies realisiert man durch die Zuordnung einer eigenen
Tabelle für jede Klassikationsstufe. Diese Tabelle enthält neben der ID für die
Klassikationsknoten dieser Klassikationsstufe auch die beschreibenden Attribute und Fremdschlüssel der direkt benachbarten höheren Klassikationsstufen.
Abbildung 1.4 verdeutlicht das Snowake-Schema. Die Kenngröÿen eines Datenwürfels werden innerhalb einer Faktentabelle verwaltet. Diese wird nach obigem
Schema konstruiert, d.h., neben einer Spalte für jede Kenngröÿe enthält sie Fremd-
6
1.2 Entwurfsgrundlagen für DWS
schlüsselbeziehungen zu den jeweils niedrigsten Klassikationsstufen der verschiedenen Dimensionen, gemäÿ der Granularität des Datenwürfels. Die Fremdschlüssel entsprechen den Zellkoordinaten in der multidimensionalen Datensicht. Sie bilden daher den zusammengesetzten Primärschlüssel für die Faktentabelle (siehe
[Lin03]).
Abbildung 1.4: Snowake-Schema
Die hierarchischen Klassikationsstufen lassen sich am besten mit einem Beispiel
verdeutlichen. Abbildung 1.5 zeigt eine Umsetzung in einem Speditionsunternehmen nach diesem Muster.
Die Namensgeber vergleichen diese Variante mit dem Kristall einer Schneeocke.
Damit werden n:m-Beziehungen zwischen Hierarchieobjekten besser unterstürtzt,
Aggregate optimal benutzt. Redundanz verschwindet auch. Auf der Schattenseite
entsteht hier ein komplexeres Modell, welches für den Benutzer das Verständnis
erschwert und bei der Anfrage kompliziert erscheint. Wie in Abbildung 1.4 gezeigt,
sind bei Snowake-Schema alle Tabellen in Normalform. Bei einer Anfrage werden
viele Join-Operationen ausgeführt, um viele Tabellen miteinander zu verbinden.
Weil solche Verbindungen besonders zeitaufwändig sind, wird stattdessen in DataWarehouse-Systemen häug das Star-Schema benutzt.
1.2.4 Star-Schema
Im Star-Schema werden alle Dimensionsstufen, die zu einer Dimension gehören
zu einer Dimensionstabelle zusammengefügt. Dies führt zur Denormalisierung der
Dimensionstabelle, um eine schnellere Anfragebearbeitung zu erreichen. Eine Fak-
7
1 Erweiterte Entwurfskonzepte
Abbildung 1.5: Snowake-Schema-Beispiel
tentabelle wird mit N Dimensionen assoziiert. Im Modell ergibt sich dann ein Stern:
die Faktentabelle steht im Mittelpunkt des Sternes, die dazugehörigen Dimensionen
bilden die Strahlen des Sternes, daher kommt der Name Star-Schema. Innerhalb
eines Star-Schemas gibt es für jede Dimension genau eine Dimensionstabelle.
Abbildung 1.6 zeigt den prinzipiellen Aufbau eines Star-Schemas und Abbildung 1.7 repräsentiert das bereits ernannte Beispiel Spedition im Star-Schema.
In Abbildung 1.7 sind die Klassikationsschemata der Zeit-, Produkt- und Geographiedimension dargestellt. Fahrzeug, Spedition, Landkreis, Regierungsbezirk,
Bundesland und Staat werden im Star-Schema zu einer einzigen Dimensionstabelle Fahrzeug zusammengefsst. Die Fremdschlüssel der Faktentabelle sind mit der
niedrigsten Granularität bezeichnet (z. B. FahrzeugID).
In einem Star-Schema ist die Faktentabelle wie im Snowake-Schema normalisiert, demgegenüber sind die Dimensionstabellen nicht normalisiert. Demzufolge
gibt es viele Redundanzen innerhalb der Dimensionstabellen. Die funktionalen Abhängigkeiten zwischen den Klassikationsstufen werden bei dieser Abbildung nicht
sichtbar.
Die Argumentation, wann und warum ein Star-Schema trotzdem dem SnowakeSchema vorzuziehen ist, stützt sich auf folgende Heuristiken über die Charakteristika von Data-Warehouse-Systemen (siehe [Lin03]):
• Schnellere Anfragebeantwortung.
Anfragen werden auf höherer Granularitätsstufe (zum Beispiel Produktkategorie) eingeschränkt. Die aufwändigen Verbindungsopreationen zwischen verschiedenen Tabellen einer Dimension beim Snowake-Schema werden durch
die Denormalisierung gespart.
• Erträglicher Speicheraufwand für Dimensionstabellen.
8
1.2 Entwurfsgrundlagen für DWS
Abbildung 1.6: Star-Schema
Abbildung 1.7: Star-Schema-Beispiel
9
1 Erweiterte Entwurfskonzepte
Das Datenvolumen der Dimensionstabellen mit den Klassikationshierarchien ist relativ gering im Vergleich zum gesamten Volumen der Zellinhalte
(Gröÿe der Faktentabelle). Das Datenvolumen wird somit durch die Denormalisierung insgesamt nicht dramastisch erhöht.
• Wenige Änderungen im Dimensionstabellen.
Die Dimensionenstabellen werden seltener verändert als das Hinzufügen von
neuen Faktendaten. Zusammenfassend besitzt das Star-Schema also folgende
Eigenschaften, die es für Anwendungen geeignet erscheinen lassen:
Einfache Struktur:
Anfragen werden dadurch einfacher und lassen sich leichter formulieren.
Einfache und exible Darstellung von Klassikationshierarchien:
Klassikationshierarchien werden einfach innerhalb von Dimensionstabellen als Spalten angegeben.
Eziente Anfrageverarbeitung innerhalb der Dimensionen:
Die Selektionsprädikate, die höhere Dimensionsstufen zur Einschränkung verwenden, benötigen keine Verbindungsoperationen, um die Menge von Tupeln zu bestimmen, die mit der Faktentabellen verbunden
werden müssen.
Ob die Vorteile des Snowake-Schemas wie z. B. geringerer Speicherplatzbedarf
und bessere Änderungsfreundlichkeit überwiegend oder das Star-Schema besser
geeignet ist, hängt stark von den konkreten Daten- und Anfragecharakteristiken.
1.3 Erweiterte Entwurfskonzepte
Wir werden hier die für das Data Warehousing bedeutendsten erweiterten Entwurfskonzepte: konformierte Dimensionstabelle und erweiterte Dimensionstabelle
verdeutlichen.
1.3.1 konformierte Dimensionstabelle
Der Leser wird sich hier vielleicht die Frage stellen: Was ist denn eine konformierte Dimensionstabelle? Dies stammt aus einem englischen Begri (vgl. Denition 1.3.1).
Denition 1.3.1 A conformed dimension is a dimension that means the same
thing with every possible fact table to which it can be joined.[KRRT98]
Das heiÿt im Allgemeinen, dass eine konformierte Dimension mit allen benötigten Faktentabellen identisch verwendet werden kann. Das erklären wir in einem
einfachen Beispiel.
10
1.3 Erweiterte Entwurfskonzepte
Wir nehmen wieder das obige Szenario aus Abschnitt 1.2.3 in einem Speditionsunternehmen. In der Faktentabelle in Abbildung 1.8 sind die Daten enthalten,
welches Fahrzeug an welchem Tag welche Produkte transportiert hat.
Abbildung 1.8: Speditionsszenario 1
Für die Abteilung, die die Aufträge an die Mitarbeiter verteilt, fügen wir zusätzlich eine Faktentabelle hinzu (siehe Abbildung 1.9). Darin werden die Daten
gespeichert, wer welchen Auftrag mit welchem Fahrzeug ausführt.
Abbildung 1.9: Speditionsszenario 2
Dieselbe Dimension Fahrzeug hat in beiden Fällen unterschiedliche Einträge,
was aufgrund verschiedener Einsatzmöglichkeiten in verschiedenen Abteilungen gerecht ist. Soll es dann zwei Dimensionen Fahrzeug in demselben Unternehmen
geben?
11
1 Erweiterte Entwurfskonzepte
Wir wissen doch, dass die beiden Dimensionen im Unternehmen eigentlich dasselbe meinen. Somit passen wir die Dimension Fahrzeug so an, dass sie in beiden
Fällen eingesetzt werden kann. Abbildung 1.10 stellt die angepasste Dimension
Fahrzeug dar. Alle Attribute werden in einer konformierten Dimension gespeichert.
Abbildung 1.10: Speditionsszenario: konformierte Dimensionstabelle
Diese Vorgehensweise bietet reichlich Vorteile:
• Es ist nur eine einzige Dimension zu pegen und
• sie ist mit jeder Faktentabelle (bei gleicher Granularität) verwendbar.
1.3.2 Erweiterte Dimensionstabelle
In diesem Kapitel beschreiben wir zwei normale Modellierungssituationen, wo eine
spezische Dimensionsstruktur sehr ezient ist.
Many-to-many-Dimension
In vielen klassischen Modellierungssituationen sind die Existenz und die Granularität einer Faktentabelle verständlich und fundamental. Die Zuordnung der Dimensionstabellen zu Faktentabellen sind auch trivial. Aber eine Dimension kann auch
mehrere Werte haben und die Anzahl der möglichen Werte für diese Dimension ist
eventuell unbekannt, wenn die Faktentabelle erstellt wird. Solch eine Dimension
nennen wir Many-to-many-Dimension.
Patientendaten in einer Praxis liefern ein gutes Beispiel (siehe Abbildung 1.11).
Alle Patientendaten inkl. die zugehörigen Personaldaten, Diagnosen und Zeitangaben werden in einer Patient-Faktentabelle abgespeichert. Das Problem ist, was mit
der Diagnosentabelle passiert. Oft hat ein Patient mehrere Diagnosen.
Eine mögliche Lösung zeigt uns die Abbildung 1.12: für jede Diagnose eine eigene
Dimension.
Diese Lösung ist nicht realistisch. Der Grund ist:
12
1.3 Erweiterte Entwurfskonzepte
Abbildung 1.11: Many-to-many-Dimension 1
Abbildung 1.12: Many-to-many-Dimension 2
13
1 Erweiterte Entwurfskonzepte
1. Wir kennen die obere Schranke der Diagnosenanzahl nicht.
2. So ein Schema würde beim Abfragen (zum Beispiel: join) sehr langsam sein.
Eine bessere Lösung ist, zwischen der Faktentabelle und der Diagnose-Dimension
eine Brückentabelle hinzufügen (siehe Abbildung 1.13). In der Brückentabelle generieren wir die originale DiagnoseID in der Faktentabelle zu einer spezialen DiagnoseGruppeID. Die Diagnosengruppe-Tabelle, also unsere Brückentabelle, enthält eine
spezische Menge von Einträgen für jeden Patienten. Jeder Eintrag enthält wieder
die DiagnoseGruppeID, eine individuelle DiagnoseID und einen Gewichtungsfaktor.
In einer gegebenen Diagnosengruppe muss die Summe aller Gewichtungsfaktoren
1,00 sein.
Abbildung 1.13: Many-to-many-Dimension 3
Die Lösung mit einer zusätzlichen Brücktabelle ist nicht perfekt. Mit einem
Beispiel verdeutlichen wir die Schwierigkeiten bei Brückentabellen.
Beispiel 1.3.2 Annahme:
• eine Diagnosentabelle hat 1k Einträge und jeder Eintrag hat 10kByte. Speicheraufwand: 10MB
• eine Faktentabelle hat 100k Einträge und jeder Eintrag hat 1kByte. Speicheraufwand: 100MB
• in einer Brückentabelle hat jeder Eintrag 50Byte. Dann muss man bei einer zusätzlichen Brückentabelle mit folgendem zusätzlichen Speicheraufwand
(siehe Tabelle 1.1) rechnen:
Speicheraufwand = alle Fakten × Diag/Pat. × Gröÿe eines Eintrags
14
1.3 Erweiterte Entwurfskonzepte
Speicheraufwand
50MB
100MB
500MB
Diag./Pat.
10
20
100
Tabelle 1.1: Speicheraufwand der Brückentabelle
Wie gezeigt verursacht die Erhöhung der Diagnosenanzahl einen entsprechend
höheren Speicheraufwand. Deshalb ist die Lösung mit einer Brückentabelle bei
extrem gestiegener Diagnosenanzahl (was zwar selten auftritt, aber nicht ausgeschlossen werden kann) auch nicht mehr akzeptabel.
Role-Playing-Dimension
Eine role in einem Data Warehouse ist eine Situation, wo eine einzelne Dimension
mehrmals in derselben Faktentabelle auftritt. Abbildung 1.14 liefert wieder ein
Beispiel aus einer Klinik.
Abbildung 1.14: Role-playing-Dimension 1
In der Faktentabelle kann das Datum mehrfach auftauchen. Zum Beispiel hat
ein Patient ein Operationsdatum und ein Rechnungsdatum.
Anfrage:
select *
from Patient
where OpZeitID=05.04.2005 and RechZeitID=28.04.2005
Da wir nur eine Zeitdimension haben, versucht SQL in so einem Join alle Daten
gleichzustellen. Das ist aber nicht gewünscht.
Eine mögliche Lösung (siehe Abbildung 1.15) wäre, verschiedene Dimensionen
zu verwenden, da sie ja auch verschiedene Rollen spielen. Diese intuitive Lösung
hat folgende Nachteile:
15
1 Erweiterte Entwurfskonzepte
• Alle Zeitdimensionen werden zwar unterschiedlich benannt. Sie müssen aber
konsistent gehalten werden, weil sie immerhin die gleiche Domäne haben
müssen.
• In einer komplizierten Umgebung (zum Beispiel Telekommunikationsindustrie) müssen mehrere verschiedene partiell überlappende Tabellen gehalten
werden. Hier verursacht obige Lösung extrem hohen Wartungsaufwand.
Abbildung 1.15: Role-playing-Dimension 2
Durch Einsatz von Sichten auf dieselbe Dimension kann eine bessere Lösung
geliefert werden. Es ist zu beachten, dass jede Sicht auf eine Dimension eindeutige
Spaltennamen benötigt. Abbildung 1.16 verdeutlicht die Vorgehensweise.
Abbildung 1.16: Role-playing-Dimension 3
1.4 Zusammenfassung
In dieser Arbeit haben wir gemeinsam die benötigten Grundlagen beim DataWarehouse-Entwurf und anschlieÿend die passenden Techniken in vielen allgemeingültigen Fällen kennengelernt. Hier muss man betonen, dass das Star-Schema aufgrund seiner schnellen Anfragebeantwortung und einfachen Struktur zwar überwiegend verwendet wird, um eine relativ optimale Struktur zu bekommen, aber
16
1.4 Zusammenfassung
in der Praxis fast immer zusätzliche Techniken, sogenannte erweiterte Konzepte,
notwendig sind.
Konformierte Dimensionen sind eine der grundlegenden Techniken. In manchen
Fällen kann man auch analog konformierte Fakten verwenden. Bei Many-to-manyDimension oder Role-playing-Dimension benutzen wir erweiterte Dimensionstabellen. In anderen Fällen zum Beispiel Time-of-Day und Value-Band-Reporting ist der
Einsatz der sogenannten erweiterten Faktentabelle von Vorteil (siehe [KRRT98]).
17
1 Erweiterte Entwurfskonzepte
18
Ingo Beutler
2
Datenqualität
Diese Seminararbeit gibt eine Einführung in die Grundlagen der Datenqualität.
Sie ist in vier Abschnitte eingeteilt. Nach einer kurzen Einleitung wird im zweiten Kapitel auf den Begri Daten eingegangen. Das dritte beschäftigt sich mit
Datenqualität und deren Auswirkungen. Im vierten Kapitel werden zwei Ansätze
vorgestellt, wie Datenqualität erreicht und erhalten werden kann. Die Thematik
wird auf den Verkehrsbereich übertragen und anhand von Beispielen erläutert.
2.1 Einleitung
Bei der Beschreibung der heutigen Zeit besteht allgemeiner Konsens, dass sich
der Begri Informationszeitalter für diese am Besten eignet. In der heutigen Zeit
sind Daten das wichtigste Gut. Beispiele aus dem Verkehrsbereich, welche diese
Aussage unterstreichen, sind die Verkehrsplanung und die Verkehrssteuerung. Ohne
Verkehrsdaten wären diese nicht sinnvoll möglich.
2.2 Daten
2.2.1 Daten - Informationen - Wissen
Zu Beginn werden der Zusammenhang der Begrie Daten, Informationen und Wissen dargestellt. Unter Daten versteht man im allgemeinen Funktionen oder Zeichen.
Informationen sind interpretierte Daten, das heiÿt es kommt Semantik zu den Daten hinzu. Um von Informationen zu Wissen zu kommen, müssen die Informationen
zueinander in Bezug, bzw. in einen Kontext gesetzt werden [Koo04c].
Abbildung 2.1 zeigt den Zusammenhang anhand eines Beispiels. Die Daten sind
50 und MS11. Werden diese Daten interpretiert, so könnten sie zu den Infor-
19
2 Datenqualität
Wissen
Ein Fahrzeug ist mit 50 km/h über Messstelle MS11 gefahren
Kontext
Geschwindigkeit (km/h)
Messstelle
50
MS11
Information
Semantik
Daten
50
MS11
Abbildung 2.1: Daten - Informationen - Wissen
mationen Geschindigkeit 50 km/h und "Messstelle mit Namen MS11 werden.
Setzt man diese Informationen zueinander in Beziehung könnte man das Wissen
erhalten, dass ein Fahrzeug mit 50 km/h über die Messstelle MS11 gefahren ist.
Der Grund, warum die Zusammenhänge dieser Begrie veranschaulicht wurden,
ist folgender: Datenqualität bezieht sich nicht nur, wie man aufgrund des Namens
vermuten könnte, auf Daten. Da sie sich stark am Benutzer orientiert, bezieht sie
sich natürlich auch auf die für den Benutzer interessanten, sich aus den Daten
ergebenden Informationen und auf das daraus resultierende Wissen.
2.2.2 Daten im Verkehrsbereich
Im Verkehrsbereich werden hauptsächlich vier Arten von Daten unterschieden
[Här05]:
1. Verkehrsdaten
Verkehrsdaten werden mit Hilfe von Sensoren gesammelt. Hierunter fallen
beispielsweise Daten über die aktuelle Verkehrssituation.
2. Daten über Verkehrsinfrastruktur
Hier sind Daten gemeint, welche Verkehrsnetze, Parkräume oder auch den
20
2.3 Datenqualität
öentlichen Personennahverkehr beschreiben und deren Strukturen wiedergeben.
3. Daten über Ereignisse und Störungen
Diese Daten sollen Einüsse auf den Verkehrsuss und die Verkehrsinfrastruktur wiedergeben.
4. Verkehrsprognosedaten
Daten, die auf vorhandenen Verkehrsdaten basieren und Vorhersagen zum
Beispiel über zukünftige Verkehrsdaten machen, werden als Verkehrsprognosedaten bezeichnet.
2.3 Datenqualität
Je mehr Informationsverarbeitende Systeme es gibt und je mehr Daten gesammelt
werden, desto wichtiger wird die Qualität der Daten. Pisarski bringt die Problematik auf den Punkt [oPFHA02]:
..we are more and more capable of rapidly transferring and eectively
manipulating less and less accurate information...
Wir können immer besser immer schlechtere Daten verarbeiten, das trit den
Kern der Idee. Um diesen Missstand beheben zu können, muss zwischen guten
und schlechten, bzw. zwischen qualitativ hochwertigen und qualitativ niederwertigen Daten unterscheiden werden. Hier kommt der Begri der Datenqualität
ins Spiel.
2.3.1 Denition
Shawn Tuner denierte im Jahre 2002 den Begri Datenqualität [oPFHA02]:
Data quality is the tness of data for all purposes that require it. Measuring data quality requires an understanding of all intended purposes
for that data.
In dieser Denition orientiert sich die Datenqualität an den Anforderungen der
Benutzer und an der Situation, in der die Daten benutzt werden. Um Datenqualität messen zu können, müssen erst alle möglichen Einsatzmöglichkeiten von Daten
verstanden werden. Leider ist die Denition der Datenqualität sehr allgemein und
schlecht messbar, weshalb diese in verschiedene Bereiche, sogenannte Qualitätskriterien, untergliedert werden muss.
21
2 Datenqualität
2.3.2 Qualitätskriterien
Im folgenden werden zwei Mengen von Datenqualitätskriterien vorgestellt. Die
ersten Kriterien sind sehr allgemein gehalten und beschreiben jede Art von Daten.
Die zweiten Kriterien wurden als besonders relevant für Daten im Verkehrsbereich
befunden.
allgemeine Datenqualitätskriterien
Die meisten Ansätze sehen Datenqualität als multidimensionales Konzept. Im Folgenden werden eine Vielzahl von Kriterien betrachtet, welche Einuss auf die Qualität von Daten haben. Diese Qualitätskriterien sollen aus der Sicht der Benutzer
eine Gliederung der Anforderungen an die Daten wiedergeben [WW96].
Kategorie
Kriterium
intrinsische DQ
Genauigkeit, Objektivität,
Glaubwürdigkeit, Ruf
Erreichbarkeits-DQ Zugriff, Sicherheit
kontextabhängige
DQ
begriffliche DQ
Relevanz, Aktualität, Vollständigkeit,
Mehrwert
Interpretierbarkeit, Verständlichkeit,
präzise Darstellung,
Widerspruchsfreie Darstellung
Abbildung 2.2: Qualitätskriterien
Diese wurden in die folgenden vier Kategorien eingeteilt, wie in Abbildung 2.2
dargestellt. Die erste Kategorie intrinsische Datenqualität beinhaltet Kriterien,
die sich mit der Qualität der Daten an sich beschäftigen. Hier geht es um die Genauigkeit, mit der Daten einen bestimmten Sachverhalt beschreiben. Es werden
auch Objektivität und Glaubwürdigkeit der Daten betrachtet. Möglicherweise besitzen die Daten so etwas wie einen Ruf.
In der zweiten Kategorie Erreichbarkeitdatenqualität sind Kriterien, welche die
Erreichbarkeit der Daten beschreiben. Einerseits wird der Zugri auf die Daten
22
2.3 Datenqualität
betrachtet. Andererseits geht es auch um die Sicherheit der Daten.
Kontextabhängige Datenqualität beschreibt die Qualität der Daten in Bezug auf
den Kontext. Hier geht es um Fragen wie: Wie relevant sind die Daten für die
Situation? Sind die Daten aktuell genug? Sind alle notwendigen Daten vorhanden(Vollständigkeit)? Bringen die Daten einen Mehrwert?
Die vierte Kategorie begriiche Datenqualität bezieht sich auf den Benutzer.
Kann der Benutzer die Daten einfach interpretieren? Sind sie für ihn verständlich?
Ist die Darstellung präzise genug? Oder sind die dargestellten Sachverhalte gar
widersprüchlich?
Datenqualitätskriterien im Verkehrsbereich
Im Verkehrsbereich, genauer für erweiterte Reisendeninformationssysteme, werden
folgende Qualitätskriterien empfohlen [oPFHA02]:
1. Genauigkeit
Genauigkeit wird auch in anderen Bereichen als ein sehr wichtiges Kriterium angesehen. Hier geht es darum, wie genau die Daten den Sachverhalt
wiedergeben.
2. Vertrauen
Ob die Daten vertrauenswürdig sind, soll bei diesem Kriterium überprüft
werden.
3. Verfügbarkeit (Verzögerung)
Die Verfügbarkeit kann beispielsweise durch eine Verarbeitung der Daten
verzögert werden. So bekommt der Benutzer unter Umständen nicht immer
die aktuellsten Daten sofort angezeigt.
4. Verfügbarkeit (Vollständigkeit)
Die Verfügbarkeit kann eingeschränkt werden, wenn eine Messstation ausfällt.
Dann sind die Daten nicht vollständig.
5. Abdeckung (Breite)
Das Kriterium Abdeckung besitzt hauptsächlich zwei Dimensionen. Die erste
bezieht sich zum Beispiel auf die Gröÿe der Fläche, die in den Daten betrachtet wird. Beispiel: Von welchen Straÿen werden Daten gesammelt?
6. Abdeckung (Tiefe)
Die zweite Dimension der Abdeckung betrachtet die Genauigkeit. In welchem
Detail stehen Daten zur Verfügung? Wie weit sind die Messstationen voneinander entfernt?
23
2 Datenqualität
2.3.3 Einuss schlechter Datenqualität
Schlechte Datenqualität kann sich auf verschiedensten Ebenen auswirken. Betrachtet man die zeitliche Dimension lassen sich Auswirkungen auf den drei bekannten
Ebenen (operational, taktisch und strategisch) feststellen [Red98].
• operational
Im Verkehrsbereich, z.B. bei der Verkehrsanalyse, können Daten mit schlechter Datenqualität leicht dazu führen, dass bestehende Staus nicht erkannt
werden.
• taktisch
Soll eine Reiseplanung aufgrund von Daten mit schlechter Datenqualität gemacht werden, dann wird die Qualität des resultierenden Planes darunter
leiden.
• strategisch
Auf der strategischen Ebene könnte die Planung einer Autobahn als Beispiel
herangezogen werden. Basiert die Planung auf Daten mit schlechter Datenqualität, dann könnte es passieren, dass die Autobahn an der falschen Stelle
gebaut wird.
2.4 Datenqualitätsmanagement
Damit die Qualität von Daten gut ist und auch bleibt, ist eine Überwachung und
Steuerung dieser Qualität notwendig. Das heiÿt, es muss ein Management der Datenqualität durchgeführt werden. Hierzu werden im Folgenden zwei Ansätze vorgestellt.
2.4.1 Systemorientierter Ansatz
Das Ziel dieses Ansatzes ist es, dass die Daten mit der widergespiegelten Realität
übereinstimmen. Dies soll über ständige Anpassungen des Informationsystems erfolgen, damit dieses bestmöglich in die Realität und deren Abläufe und Prozesse
passt [Orr98].
Abbildung 2.3 zeigt eine schematische Darstellung eines Informationssystems.
Daten werden an einer Stelle eingegeben (Input). Danach werden sie irgendwie
verarbeitet und gespeichert. Auf der anderen Seite werden die verarbeiteten Daten ausgegeben (Output). Desweiteren ist ein Feedback vom Output zum Input
notwendig, um die Datenqualität überprüfen zu können.
Im Rahmen des Ansatzes haben sich sechs Regeln über Daten und Datenqualität
ergeben:
1. Unbenutzte Daten bleiben nicht sehr lange korrekt.
24
2.4 Datenqualitätsmanagement
Abbildung 2.3: Systemorientierter Ansatz - Informationssystem
2. Datenqualität hängt in einem Informationssystem von der Häugkeit der
Benutzung ab, nicht von der Datenmenge.
3. Datenqualität ist optimal, wenn die Daten fortlaufend genutzt werden.
4. Je älter das System, desto schlechter die Datenqualität.
5. Je geringer die Änderungswahrscheinlichkeit eines Attributs, desto schlimmer
ist es, wenn es sich ändert.
6. Diese Regeln gelten für Daten und Metadaten.
Die Idee hinter den Regeln 1 bis 3 ist, dass unbenutzte Daten wahrscheinlicher
überprüft und aktualisiert werden als unbenutzte Daten. Diese Idee spiegelt sich
auch im nächsten Abschnitt Gebrauchsabhänigige Datenqualität wieder.
Gebrauchsabhänigige Datenqualität (use based data quality)
Es wurden Empfehlungen zur Erzielung hoher Datenqualität aufgestellt und unter
dem Namen Gebrauchsabhänigige Datenqualität zusammengefasst. Diese Empfehlungen umfassen vier Bereiche [Orr98]:
• Audits
Es sollen Befragungen der Benutzer zur Bestimmung der Qualität der aktuellen Daten durchgeführt werden.
• Redesign
Werden Probleme mit der Datenqualität entdeckt, sollte ein Redesign des
Systems durchgeführt werden. Hierbei müssen die kritischen Gebiete identiziert und das System an die Benutzung angepasst werden. Möglicherweise
ist auch eine Reduktion des Datenbestandes notwendig.
25
2 Datenqualität
Eingabe
Ablauf
Ausgabe
Produktherstellung Informationsherstellung
Rohstoe
Flieÿband
Physisches Produkt
Rohdaten
Informationssystem
Informationsprodukt
Tabelle 2.1: Produktorientierter Ansatz - Vergleich Herstellungsprozess
• Training
Benutzer und Manager sollen für mögliche Probleme mit Datenqualität sensibilisiert werden. Sie sollten wissen, dass es soetwas wie Datenqualität gibt
und dass diese sich nicht von alleine verbessert, beziehungsweise auf einem
erreichten Niveau bleibt.
• Continuous Measurement
Das Informationsystem an sich sollte Mechanismen zur Verfügung stellen, die
die Datenqualität ständig überprüfen und somit sichern.
2.4.2 Produktorientierter Ansatz
Der Produktorientierte Ansatz sieht ein Informationssystem als Informationsprodukte herstellendes System. Er versucht Methoden zur Qualitätskontrolle und zur
Qualitätssicherung aus dem Produktherstellungsprozess auf den Informationsherstellungsprozess zu übertragen. Tabelle 2.1 zeigt einen Vergleich zwischen traditioneller Produktherstellung und Informationsproduktherstellung [Wan98] [WZL01].
Das Ziel diese Ansatzes ist es, qualitativ hochwertige Informationsprodukte herzustellen.
Hierfür wurde ein Qualitätszyklus entwickelt, wie er in Abbildung 2.4 dargestellt
ist. Ein Zyklus besteht aus vier Phasen:
1. Denitionsphase
In der Denitionsphase wird die Situation analysiert und deniert. Hier treten Fragen auf wie: Wer ist der Benutzer? Was will der Benutzer? Was sind
die Daten? Wie funktioniert das System?
2. Messphase
In der Messphase müssen die Anforderungen aus der Denitionsphase in
Messkriterien und Messfunktionen, welche die Kriterien überprüfen, umgesetzt werden. Anschliesend werden Messungen durchgeführt.
3. Analysephase
In der Analysephase werden die Messergebnisse analysiert. Wenn mangelhafte Qualität entdeckt wird, muss der Grund dafür gefunden werden.
4. Verbesserungsphase
In der Verbesserungphase soll nun das Problem behoben werden.
26
2.4 Datenqualitätsmanagement
Definieren
Messen
Benutzer
Messkriterien
Daten
Messfunktionen
System
InformationsProdukt
Verbessern
Analysieren
Problem beheben
Wo liegt das Problem?
Abbildung 2.4: Produktorientierter Ansatz - Qualitätszyklus
Beispiel
Der Qualitätszyklus soll an einem vereinfachten Beispiel aus dem Verkehrsbereich
verdeutlicht werden.
• Denitionsphase
Ausgangspunkt ist der Benutzer der von dem Informationsystem den Dienst
Stau melden zur Verfügung gestellt haben möchte. Das Informationsystem
bekommt als Eingabe Geschwindigkeitsmesswerte. Werden zehn Messwerte,
die kleiner als 10 km/h sind, eingelesen, meldet das System einen Stau an
der entsprechenden Stelle.
• Messphase
Das Kriterium, welches in der Messphase überprüft werden soll, ist die Korrektheit. Dafür werden als Messinstrument mobile Staumelder (Autofahrer)
angeheuert, welche an die Orte fahren, an denen das System einen Stau meldet, und somit die Ausgabe des Informationssystems überprüfen.
• Analysephase
Die Ergebnisse der Messphase werden analysiert und es wird entdeckt, dass
27
2 Datenqualität
Systemorientierter Ansatz
Empfehlungen
Anpassung des Systems an Realität
Produktorientierter Ansatz
Vorgehensweise
Sicherstellung qualitativ hochwertiger IP
Tabelle 2.2: Vergleich Ansätze
das System Staus meldet, wenn keine vorhanden sind. Der Grund, der vermutet wird, sei in diesem Beispiel die zu ungenaue Messfunktion.
• Verbesserungsphase
Es wird eine verbesserte Messfunktion im System implementiert. Jetzt sollte
der Zyklus von neuem durchlaufen werden.
2.4.3 Vergeich
Abschlieÿend werden beide Ansätze in Tabelle 2.2 verglichen. Während der Systemorientierte Ansatz allgemeine Aussagen über Daten und Datenqualität macht,
gibt der Produktorientierte Ansatz eine Vorgehensweise vor, wie Datenqualität
überwacht und verbessert werden kann. Das Ziel des Systemorientierten Ansatzes
war es, durch eine Anpassung des Systems an die Realität die Übereinstimmung
von Daten und abgebildetem Sachverhalt zu gewährleisten. Der Produktorientierte Ansatz möchte qualitativ hochwertige Informationsprodukte (IP) mit Hilfe von
Methoden aus der Qualitätssicherung der Produktherstellung liefern. Im Kern weisen beide Ansätze in die gleiche Richtung. Sie wollen ein hohe Datenqualität durch
ständige Anpassungen des Systems erreichen.
2.5 Fazit
Das Gebiet der Datenqualität ist sehr weitreichend und durchdringt sämtliche
Gebiete der Informatik. Dazu ist mangelhafte Datenqualität in fast allen in der
Praxis auftretenden Problemen mit Informationssystemen zu nden. Vereinfacht
gesagt resultiert sie aus dem Einsatzszenario, der Art des Informationssystems und
dessen Benutzung und kann unterschiedlichste Ursprünge haben. Wie alltägliche
Pannen, die aufgrund von mangelhafter Datenqualität zustande kommen, zeigen,
wird dem Problem der Datenqualität noch immer zu wenig Beachtung geschenkt.
Es gibt viele gute Ideen in diesem Bereich, welche Entwicklern und Benutzern von
Informationssystemen das Leben einfacher machen, wenn sie umgesetzt werden.
28
Guy Hermann Ngassa Happi
3
Datenqualität - Der GQM-Ansatz und
das DWQ-Projekt
DWQ ist ein kooperatives Projekt [NRI+ 99], das von der europäischen Gemeinschaft unterstützt wird. Seine Hauptaufgabe ist es die Basis von Data-WarehouseQualität festzulegen, indem ein Zusammenhang zwischen semantischem Modell
einer Data-Warehouse-Architektur mit explizitem Modell einer Datenqualität erstellt wird. Die meisten Datenbankforscher betrachten Data-Warehouses (DW) als
einen Puer der materialisierten Views, die zwischen intensiven Aktualisierungssystemen (OLTP) und intensiven Entscheidungsunterstützungssystemen (OLAP)
vermitteln
Dies vernachlässigt die organisatorische Rolle der Data-Warehouses als eine zentralisierte Informationsusssteuerung. Als Folge können viele Qualitätsaspekte, die
für ein Data-Warehouse relevant sind und nicht mehr mit den gegenwärtigen DWMetamodellen ausgedrückt werden.
Diese Seminararbeit stellt zwei Beiträge vor um diese Probleme zu lösen. Im ersten Beitrag werden die Metadaten über die DW-Architektur durch die detaillierte
Unternehmensmodelle angereichert. Im zweiten Beitrag werden viele sehr unterschiedliche mathematische Techniken für das Messen oder die Optimierung bestimmter Aspekte der DW-Qualität entwickelt. Die Anpassung des GQM (GOALQUESTION-METRIC)-Ansatzes der Software-Qualitätsverwaltung an einer Metadatenverwaltungsumgebung wird dargestellt um diese spezielle Techniken mit
einem generischen konzeptuellen Framework der DW-Qualität zu verbinden.
Der Ansatz ist vollständig auf das ConceptBased-Repository-System [PJ04] implementiert worden und hat einige Untersuchungen-Tests bestätigt, indem man ihn
zur Unterstützung der spezischen qualitätsorientierten Methoden, der Werkzeuge
und der Anwendungsprojekte für ein Data-Warehouse anwendet.
29
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
Eine Übersicht des ProjektZiele wird im Folgenden dargestellt so wie auch eine
Rahmenarchitektur.
3.1 Einleitung
Ein Data-Warehouse ist eine Kollektion von Technologien, die Fachmitarbeitern
erleichtert schneller und besser Entscheidungen zu treen. Es wird die richtige
Information am richtigen Ort zu den richtigen Kosten erwartet. Die Praxis bewies,
dass traditionelle On-Line-Transaktionsverarbeitungs-Systeme (OLTP) nicht für
die Entscheidungshilfe geeignet sind und Hochgeschwindigkeitsnetze nicht durch
sich selbst das Informationszugänglichkeitsproblem beheben können.
Die Data-Warehouse sind heute eine wichtige Strategie geworden um heterogene Informationsquellen in einer Organisationen zu integrieren und um die OLAPProzess (On-Line Analytical Prozess) zu ermöglichen.
Die DW-Bewegung ist das Resultat der Beobachtung von W. Inmon und E.F
Codd am Anfang der 1990er Jahre [Inm93], dass OLAP und OLTP aus zwei Hauptgründen in derselben Datenbankumgebung nicht ezient koexistieren können.
• Dateneigenschaften: OLTP-Datenbanken erhalten gegenwärtige Daten zu ihrem unmittelbaren betrieblichen Gebrauch aufrecht, wohingegen sich OLAP
mit einfacher und häug allgemein angegpasster historischer Daten befasst
und somit viel mehr als gerade die gegenwärtigen Daten abdeckt.Das Mischen
beider Ansatze und stellt die beiden Ursachen komplexen Kompromisse zwischen verschiedenen Graden zusammenund variert die Bedürfnisse für die
Geschichtsinformation.
• Transaktionseigenschaften: OLTP hebt Leistungsfähigkeit der kurzen Aktualisierungstransaktionen hervor, wobei jede einen kleinen Teil der Datenbank
abdeckt, wohingegen OLAP lange Anfragen gut unterstützt, die im allgemeiner einen grossen Teil der Datenbank abdeckt.
Ein DW nimmt in den Cachespeicher ausgewählte Daten von Interesse zu einer
Kundengruppe auf, so dass der Zugang schneller, preiswerter und eektiver wird.
Wegen der Langzeitpuer wird zwischen OLTP und OLAP (siehe Abbildung 3.1)
DW mit zwei wesentlichen Probleme konfrontiert: Wie man den ankommenden
Datenuss von vielfachen heterogenen Quellen in Übereinstimmung bringt? Und
wie fertigt man den abgeleiteten Datenspeicher besonders zu spezischen OLAPAnwendungen? Der Kompromiss, der die Entwurfsentscheidungen bezüglich dieser
zwei Probleme führt, ändert sich stetig mit den Geschäftsbedürfnissen.Deshalb sind
die Entwurfsunterstützung und das Änderungsmanagement von gröÿter Wichtigkeit, wenn man ein DW-Projekt nicht ine Sackgasse führen will. Das ist ein anerkanntes Problem in der Industrie, das ohne verbesserte formale Grundlage nicht
lösbar ist.
30
3.2 DWQ-Projekt
Abbildung 3.1: Vom OLTP- zum OLAP-Prozess
Das Ziel des DWQ-Projekts ist es, semantische Fundamente zu entwickeln, die
es dem Entwerfer von Data-Warehouses ermöglichen, seine Wahl mit tieferen Modellen, reicheren Datenstrukturen, und rigorosen Implementierungstechniken zu
QoS-Faktoren verbinden zu können, so dass der Entwurf, der Betrieb, und am
wichtigsten die Entwicklung von Data-Warehouse-Anwendungen sich verbessern
lassen.
Der Rest diese Seminarabeit wird wie folgt organisiert. Nach einem kurzen Überblick über die Projektziele in dem Abschnitt 2 stellt der Abschnitt 3 eine Rahmenarchitektur für das Data-Warehouse dar, die eine detaillierte Unterscheidung
hinsichtlich des Entwurfs zwischen konzeptuellen, logischen, und physikalischen
Begrien macht und folglich einige Problem verdeutlicht, die sich auf eine DataWarehouse-Qualität beziehen.
3.2 DWQ-Projekt
In diesem Abschnitt wird kurz die Struktur des DWQ-Projekts, die grundlegenden
Komponenten der Data-Warehouse-Lösungen und der Bezug zu formalen Qualitätsmodellen wiederholt.
3.2.1 Die Struktur des DWQ
Das Data-Warehouse-Quality-Projekt (DWQ) ist ein dreijähriges kooperatives Forschungsprojekt (1996-1999), das von der Europäischen Gemeinschaft unter dem
Reactive-Long-Term-Forschungsprogramms nanziert wurde. Die beteiligten Partner waren: Universität Athen, RWTH Aachen, DFKI (Deutsches Forschungszentrum für künstliche Intelligenz), INRIA (Nationales Institut für die Forschung in
Kognitiven Systemen).
Die Zahl und die Komplexität von DW-Projekten zeichnen die Schwierigkeit bei
dem Entwurf eines guten Data-Warehouses aus. Ihre erwartete Dauer verstärkt die
Notwendigkeit für die dokumentierten Qualitätsziele und für das Änderungsmanagement. Die Bewertung der Resultate hinsichlicht der Anforderungen aus einer
31
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
Auswahl von realistischen Anwendungen ist ein wichtiges Ziel von DWQ. Das Projekt arbeitet nah mit der Software AG, einem führenden europäischen Anbieter
von DW-Produkten und -Lösungen zusammen.
3.2.2 Schwerpunkte des DWQ-Projekts
Die Forschungszielsetzungen adressieren drei kritische Bereiche in denen Qualitätsfaktoren eine zentrale Bedeutung für Data-Warehouse einnehmen:
• Beschreibung des Metadaten-Repository mit Hilfe formaler Modelle zur Informationsqualität, um anpassungsfähige und quantitative Designoptimierung
des Data-Warehouses zu ermöglichen.
• Formalisierung der Beschreibung der Informationsquellenmodelle, um zusätzlicher Änderungen und Koniktauösungen zu ermöglichen.
• Erweiterung und Optimierung der Data-Warehouse-Schema, damit Entwerfer und Anfrage-Optimierer den grossen Vorteil der zeitlichen, räumlichen,
und gesamten Natur von DW-daten nutzen können.
Während des Projektes wird das vollständige Spektrum der DW-Modellierung,
des DW-Entwurfs und der DW-Entwicklung untersucht:
• das DWQ-Rahmenarchitektur- und System-Architektur
• die DW-Modellierung und die Entwurfsmethode und -sprache
• die Optimierung
Nach der Entwicklung eines initialen Referenzmodells werden die Ergebnisse
in zwei Schritten geliefert, um wirkungsvoller Projektsteuerung und -kohärenz zu
ermöglichen. Eine Gruppe beschäftigt sich mit einem angereicherten formalen Metamodell für die Beschreibung der statischen Architektur eines DW und demonstriert, wie diese angereichten Grundlagen im DW-Ansatz verwendet werden können.
Die entsprechende Methodologie und Tools umfassen die Architektur, welche die
Modellierung der Einrichtungen mit Fähigkeiten ermöglichen, um DW-spezische
Probleme wie die Auösung von vielfachen Quellen und das Management der aggregierten multidimensionalen Daten lösen zu können, sowie auf Semantik basierenden
Methoden für die Abfrageoptimierung und Datenaktualisierung.
Eine weitere Gruppe konzentriert sich auf die Verbesserung und Optimierung
dieser angereicherten Modelle mit Tools, die die Entwicklung und die Optimierung der DW-Anwendungen unter sich ändernden Qualitätszielen unterstützen. Die
entsprechenden Methodologien und Werzeug bestehen aus der Entwicklung von
Operatoren, welche die Bindung zwischen Designentscheidungen und Qualitätsfaktoren dokumentieren, intelligenten Methoden, welche die View-Denitionen mit
multi-dimensionalen aggregierten Daten analysieren und optimieren und dadurch
eine leistungsfähige Qualitätskontrolle durch Anpassung der Messdaten von den
32
3.2 DWQ-Projekt
neuen Quellen ermöglichen und quantitativen Techniken, welche die selektierten
Datenquellen, die Integrationsstrategien und überüssige View-Materialisierung in
Bezug auf gegebene Qualitätskriterien optimieren, insbesonder Leistungskriterien.
3.2.3 Komponenten eines Data-Warehouse
Das DWQ-Projekt wird eine neutrale Referenzarchitektur zur Verfügung stellen,
welche der Entwurf, die Wartung, das Rüsten, die Operationen, und die Entwicklung eines Data-Warehouse abdeckt [JLV02]. Die Abbildung 3.2 stellt die grundlegenden Komponenten und ihre Beziehungen dar, wie sie in der gegenwärtigen
Praxis existieren. Die benutzten Komponenten sind:
• Quellen: Irgendwelche Datenspeicher, deren Inhalt in einem Data-Warehouse
materialisiert werden soll.
• Das Wrapper für das Laden der Quelldaten in das Daten-Warehouse
• Der Klient: um die Daten anzuzeigen.
• Die Ziels-database: Datamart und kleines Data-Warehouse
• Repository Verwaltung
• Metadaten-Repository: Der Speicher der Information über die anderen Bestandteile, z.B. das Schema des Quelldaten.
Die ausführliche Weiterentwicklung dieser Bestandteile und ihrer Beziehungen
kann gemäÿ dessen zu vielen verschiedenen Benutzeranforderungen und modellierenden Techniken ausgefüllt werden. Die DWQ-Ergebnisse in diesem Bereich
betreen eine allgemeine Rahmenarchitektur, die das Framework modelliert. Die
einfachste Architektur besteht nur aus den Quelldatenbanken, einem zentralen
Data-Warehouse und einiger Klienten. Da die Data-Warehouse-Anwendungen komplizierter werden, lassen sich die Data-Warehouses mit Hilfe der Mehrschichten
Architekture errichten, um Leistung zu erhöhen, d. h. es gibt nicht nur ein HauptData-Warehouse sondern auch Data-marts, welche es ermöglicht, dem Endbenutzer
näheren Daten zu legen.
Das unten dargestellte Bild zeigt eine Architektur eines Data-Warehouses.
3.2.4 Bezug zur Datenqualität
DWQ leistet die Hilfe für den DW-Entwurfs indem ein Bezug der Hauptkomponente einer DW-Architektur zum formalen Modell der Datenqualität hergestellt
wird [Wa96]. Das Modell ist aus der Idee der Quality-Goal-Hierarchie entstanden, die im Buch von Wang et al. (1995) vorgeschlagen wurde und innerhalb des
DWQ-Projektes für den Gebrauch im Data-Warehouse spezialisiert worden ist. Die
Hauptunterschiede zum initialen Modell liegen in der grösseren Betonung der historischen sowie der aggregrierten Daten.
33
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
Abbildung 3.2: Beispiel einer Struktur eines Data-Warehouses
Abbildung 3.3: Qualitätsfaktoren in einem Data-Warehouse
34
3.3 DWQ-Rahmenarchitektur
Das Ziel ist eine Datenqualitätsrichtlinie so wie die Richtung einer Organisation,
die sich um die Datenqualität ihrer Produkt sorgt. Die Datenqualitätsverwaltung
ist die Verwaltungsfunktion, die die Datenqualitätsrichtlinie bestimmt und durchführt.
Die Datenqualitätskontrolle ist eine Reihe betrieblicher Techniken und Tätigkeiten, die verwendet werden, um die für ein Datenprodukt erforderliche Qualität
zu erreichen. Die Datenqualitätssicherung umfasst die ganzen geplanten, systematischen Aktionen, die für die Gewährleistung angemessener Sicherheit notwendig
sind, um zu sichern, dass ein Datenprodukt einen Satz von Qualitätsanforderungen
erfüllt.
Somit ist das Modellieren und das Messen der Qualität eines Data-Warehouses,
das häugste Problem. Da ein Data-Warehouse ein System aus mehreren Subsystemen und Prozessen zusammengesetzt ist, muss es ein Mapping zwischen den
Data-Warehouse-Komponenten und dem Qualitätsmodell geben. Ferner muss das
Ziel untersucht werden, das sich mit der Entwicklung der Manahmen für die Qualitätskennzeichen und einer Methodologie für die Entwurfsqualität für ein spezisches Data-Warehouse beschäftigt. Eine nähere Überprüfung der Hierarchie der
Qualitätsfaktor zeigt mehrere Beziehungen zwischen den Qualitätsparametern und
den Entwurfs-Aspekte eines DW. In der Abbildung 3.4 sind diese Beziehungen dargestellt. Das Ziel des DWQ-Projekts ist es, diese Beziehungen auf systematische
Weise zu untersuchen und formelle Lösungen vorzuschlagen, die im DW-Entwurf
und in der DW-Entwicklung helfen werden.
3.3 DWQ-Rahmenarchitektur
Ein ausführliches Anschauen der Data-Warehouse-Literatur zeigt, dass die Abbildungen 3.1 und 3.2 sich mindestens in drei unterschiedlichen Möglichkeiten interpretieren lassen können [KR05]. Diese werden als die konzeptionelle Perspektive,
die logische Perspektive und die physikalische Perspektive betrachtet. Alle möglichen gegebenen Data-Warehouse-Komponenten können aus allen drei Perspektiven
analysiert werden. Auÿerdem im Design, im Betrieb und insbesondere in der Entwicklung eines Data-Warehouse ist es Wünschenswerte, dass diese drei Perspektiven konsitent miteinander verbunden werden. Schlieÿlich sind die Qualitätsfaktoren
häug mit spezischen Perspektiven oder mit spezischen Verhältnissen zwischen
Perspektiven verbunden.
In der Abbildung 3.5 sieht man entsprechend, dass es 9 Datenspeicherkomponententypen gibt, die durch mindestens 12 Arten von Beziehungen verbunden sind
und durch den DW-Agenten aus dem Metamodell erhalten werden. Es wird jede Perspektive besprochen. Die Diskussion bleibt rein auf Schema-Niveau. Jeder
DW-Bestandteil ist eine Instanz aller drei Perspektiven.
35
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
Abbildung 3.4: Die Beziehung der Qualitätsfaktoren zu den Data-WarehouseAufgaben
3.3.1 konzeptionelle Perspektive
Für die strategische Verwaltung kann ein Data-Warehouse dem Zweck dienen, den
Informationsressourcen und Analyse-Aufgaben einer Organisation eine gesamte Geschäftsperspektive - ein konzeptionelles Unternehmensmodell - aufzuerlegen. Wenn
dieses Unternehmensmodell als eine Klassenstruktur angesehen wird, ist seine Instanz die Organisation, über die das Data-Warehouse Informationen hat, und nicht
ein Teil des DW selbst. Stattdessen ist die DW-Architektur ein Netz von direkten
und abgeleiteten Views (d. h., registrierte Beobachtungen) dieser Realität. Das
Schema von Informationsquellen wird als eine Kollektion von zuvor materialiserten
konzeptionellen Sichten auf dem Unternehmensmodell deniert, nicht umgekehrt!
Diese wichtige Beobachtung ist bereits im Information Manifold Projekt von AT*T
gemacht worden [LRO96].
Auf der Kundenseite können die Interessen von Benutzergruppen (wie Analytiker) auch als konzeptuelle Sichten auf den Unternehmensmodellen beschrieben
werden. Jedoch können diese Kunden-Sichten nicht durch direkte Beobachtung der
Realität befriedigt werden; stattdessen müssen sie sich auf vorhandene materialisierte Views verlassen, d. h. Informationsquellen. Demzufolge hat man das Problem
des Mappings konzeptioneller Kunden-Views auf konzeptionelle KundenquellViews.
Ferner, bei der Betrachtung der Qualitätsfaktoren Leistung und Sicherheit dürfen Kunden-Views häug nicht auf die Quellen direkt zugreifen. Eine Reihe ver-
36
3.3 DWQ-Rahmenarchitektur
Abbildung 3.5: Die drei Aspekte einer Data-Warehouse-Architektur
mittelnder konzeptueller Views auf das Unternehmensmodell wird deshalb häug
aufgebaut - das konzeptuelle Schema des DW. Diese Reihe muss die formellen Eigenschaften haben, die es allen erwarteten Kunden-Views erlauben, Antworten auf
ihre Abfragen zu bekommen, vorzugsweise dieselben, die sie bekommen würden,
wenn sie auf die Quell-Views direkt zugreifen würden [JV97].
In Bezug auf die DW-Qualität deniert das Unternehmensmodell eine Theorie
der Organisation. Aktuelle Beobachtungen (d. h. Informationsquellen) können für
Qualitätsfaktoren wie Genauigkeit, Rechtzeitigkeit und Vollständigkeit in Bezug
auf diese Theorie bewertet werden. Ferner gilt, dass die Tatsache, dass die DataWarehouse-Views zwischen den Kunden-Views und den Quell-Views liegen, sowohl
einen positiven als auch einen negativen Einuss auf der Informationsqualität haben kann. Positiver Einuss wird durch das Verwenden des Unternehmenmodells
für die Datenreinigung und die Evidenz-Integration erreicht. Wahrscheinlich die
wichtigsten einzelnen Beiträge des konzeptuellen Niveaus in der DW-Praxis.
Potenzieller negativer Einuss entsteht durch die Verzögerung im Aktualisieren der materialisierten DW-Views (Rechtzeitigkeit der Information verschlechtert
sich häug im Vergleich mit OLAP-Daten), und durch die Beschränkungen der
Ausdrucksfähigkeit in dem konzeptuellen Modell, das aus Gründen der Entscheidbarkeit beim logischem Denken und der Einfachheit beim Gebrauch nicht alle
sprachwissenschaftlichen Möglichkeiten aller Quellen umfassen sollte [JV97].
37
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
3.3.2 Logische Perspektive
Die logische Perspektive stellt sich ein DW aus der Sicht der aktuellen Datenmodelle vor. Forscher und Praktiker, die dieser Perspektive folgen, sind diejenigen,
die ein DW als eine einfache Kollektion von aufeinanderen aufbauenden Sichten,
welche auf den vorhandenen Informationsquellen basieren.
Auf der Quellseite besteht das Hauptproblem, das in dieser Perspektive adressiert wird, aus dem laden der heterogen dargestellten Datenquellen und die Integration von Daten von mehrfachen Quellen in bestimmten Ansichten.
Insbesondere zu beachten ist, das so genannte wartende Warehouse, in dem das
DW selbst genügende Informationen enthält, um alle seine Ansichten beizubehalten, damit die Änderungen in der Datenbank durchführbar wird.
Auf der Klientseite sind die auf Views basierte Optimierungsabfrage und die
Updateausbreitung die zwei zentralen Fragen. Aber das Thema verschiebt sich,
weil Benutzerdatenmodelle zu den Quelldatenmodellen unterschiedlich sind.
Insbesondere hat die Einleitung von multi-dimensionalen Datenmodellen mit
der Aggregation und der Verdichtung eine starke Auswirkung auf Algorithmen
und materialisierungsstrategien [JV97].
Die Data-Warehouse-Produkte unterscheiden sich, sobald sie die Aufgaben komplexer werden. Während MOLAP-Produkte die DW-Sichten als multi-dimensionale Datenstrukturen bereithalten, benutzen ROLAP-Produkte eine relationale
Datenbank, um die DW-Sichten zu speichern und machen die Umwandlung zu dem
multi-dimensionalen Datensmodell nur für das mapping zu den Klient-Sichten.
Qualitätsfaktoren, die sich auf die logische Perspektive auswirken, decken hauptsächlich die Datenmodelle an der Quelle und der Klientseite ab und stellen folglich einen wichtigen Faktor für die Zugänglichkeit der Informationen sowie der Interpretierbarkeit auf der Klientseite dar. Zusätzliche Logikniveauoptimierung von
Abfragen sowie Aktualisierung haben eine starke Auswirkung auf die Menge der
transportierten Daten und folglich auf die Leistung des Systems.
3.3.3 Physikalische Perspektive
Die physikalische Perspektive interpretiert die Data-Warehouse-Architektur als ein
Netz von Datenspeicher, Datentransformatoren und Nachrichtenkanäle, hinsichtlich der Qualitätsfaktoren Zuverlässigkeit und Leistung im Falle sehr groÿer Mengen sich langsam ändernder Daten.
Auf der Quellseite soll als zentrale Aufgabe die Interferenz mit OLTP-Systemen
minimiert werden und gleichzeitig einer vernünftigen Grad der Aktualität in den
Daten aufrechterhalten. Typische Forschungsfragen umfassen deshalb eine Entwurfsrichtlinie den Wiederanauf abgebrochener Datenaktualisierungen und Entscheidungen, welche Komponente verwenden, um bestimmte Funktionen zu erreichen.
Auf der Kundenseite ist eine Hauptfrage, wie man ein Netz von zuvor materialisierte konguriert für Sivht, um durchschnittliche Antwortzeiten für einen ge-
38
3.4 Bestimmung Data-Warehouse Qualität
gebenen Mix von Aktualisierungen und Abfragen zu minimieren. Wie gezeigt im
Abbildung 3.2 kann das den Gebrauch von maÿgeschneiderten Data-Marts sowie
Haupt-Data-Warehouse involvieren. Es kann auch den kundenseitigen Cachespeicher von Zwischenergebnissen involvieren, um Datenübertragung zu minimieren.
3.3.4 Beziehungen zwischen Perspektiven
Im Allgemeinen ist die physische Perspektive gröÿtenteils durch die Industrie erforscht worden, wohingegen die konzeptionelle Perspektive durch die Forschung
hauptsächlich berücksichtigt wird. Forschung und Praxis treen sich auf der logischen Ebene, aber mit verschiedener Betonung je nachdem, wo sie herkommen. In
Anbetracht der Suche nach der Qualität in einem Data-Warehouse werden diese
Strömungen aus eigenem Interesse sich verschmelzen.
Die Schritte in konzeptuellen über den logischen zum physischen Entwurf sind für
das ganze Datenbankdesign allgemeine Aufgaben, jedoch sind sie für den speziellen
Fall von Data-Warehouse noch nicht gründlich untersucht worden. Grundsätzlich,
wenn man von Konzeptionell bis Logisch geht, enstehen zwei Problemen:
• Das Voranschreiten von einem ergiebigen Begrismodell zu einem vereinfachten Datenmodell wie das relationale Datenmodell;
• Die Fragmentierung eines zusammenhängenden konzeptuellen Schemas in
individuelle logische Datenstrukturen.
In DWQ wird die Hypothese erforscht, dass die Verknüpfung zwischen logisch
und konzeptionell auf eine sehr ähnliche Weise wie die Verknüpfung zwischen
dem konzeptionellen Quellsicht und dem konzeptionelle DW-Schema deniert
werden kann, nämlich durch spezielle Arten von Views auf dem konzeptuellen
Schema.
Der Schritt von Logischen zum Physikalischen erfordert die Verteilung der gekennzeichneten Datenfragmente und der Umwandlungsaufgaben zu einem Netz der
verteilten, zusammenarbeitenden Software-Agenten.
In diesem Schritt müssen Berücksichtigungen für die Zuverlässigkeit und Leistung hinzugefügt werden, während semantische Berücksichtigungen durch Mechanismen indirekt ausgedrückt werden müssen, die sie verstärken. Zur Qualitätssteigerung eines Data-Warehouse werden einzelne Aufgaben analysiert; dabei werden
in der Regel logische, konzeptionelle und physikalische Verfahren eingesetzt.
3.4 Bestimmung Data-Warehouse Qualität
In diesem Abschnitt werden die formalen Aspekte und das Repository-Based Management von DW-Qualitätszielen betrachtet, die in den vorherigen Abschnitten
inhaltlich beschrieben wurden. Zuerst wird der Qualitätsfunktions-DeploymentAnsatz (QFD) als eine Methode für die Qualitätsplanung erläutert und deniert,
39
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
dann die Goal-Question-Metric-Ansatz (GQM) als Methode für die Qualitätseinschätzung in einem Data-Warehouse.
3.4.1 QFD-Quality Function Deployment
Eine erste Formalisierung basiert auf der qualitativen Analyse der Beziehungen
zwischen den Qualitätsfaktoren selbst, z.B, positive oder negative Beziehungen
zwischen Ziel und Subziel oder Beziehungen zwischen Ziel und Mittel. Dadurch
können die Interessenvertreter (Stakeholder) Einschätzungen sowie mögliche Gewichtungen für individuelle Ziele vornehmen und damit die Güte eines Handels
bestimmen.
Diese Vorgehensweise ist in der Industrie weit verbreitet, rmiert unter dem
Namen QFD; das ist eine spezielle Art der Matrixdarstellung und wird 'House
of Quality' genannt [Aka90] (siehe Abbildung 3.6). Das formale Denken in solch
einer Struktur ist beispielsweise in Arbeiten über den Umgang mit nichtfunktionalen Voraussetzungen in der Softwaretechnik [MCN92] untersucht worden. Visuelle
Tools haben einen hohen Beitrag zur Handelsunterstützung unter verschiedensten
Qualitätskriterien [GJS97] geleistet.
Die Methodologie für ein 'House of Quality' umfasst mehrere Schritte. Der erste
Schritt schliesst das Modellieren von Kundenbedürfnissen und Erwartungen ein. In
diesem Schritt wird eine Liste von Zielen erzeugt, oft ausgewiesen als WAS-Fragen
[BBBB95]. Es passiert sehr häug, dass eine Kundenanforderung eher allgemein
und vage formuliert ist; deshalb wird die erste Liste verfeinert und eine zweite,
ausführlichere wird erzeugt. Falls erforderlich kann dieses Verfahren beliebig oft
wiederholt werden. Der zweite Schritt umfasst Vorschläge für die technische Realisierung (WIE-Fragen) für das Problem (Kundenanforderung) aus dem vorhergehenden Schritt. Der dritte Schritt kombiniert die Ergebnisse der zwei vorherigen
Schritte. Das grundlegende Ziel dieses Prozesses ist die Beantwortung der Frage
"Wie können Kundenanforderungen und mögliche technische Lösungen miteinander verknüpft werden?". Im vierten Schritt werden die Wechselbeziehungen der
technischen Aspekte bei der Umsetzung identiziert und miteinander in der Lösung zusammengeführt.
Als nächstes muss eine Wettbewerbsanalyse gemacht werden. Sie beinhaltet ein
Paar von gewichteten Tabellen, die analytisch aufzeigen, wie man produkte von
Wettbewerbern mit den eigenen Produkten vergleicht. Die Wettbewerbsanalyse
wird in zwei Kategorien unterteilt: Kundenbewertung und technische Bewertung.
Der folgende Schritt ist die Priorisierung von Kundenanforderungen. Die priorisierten Kundenanforderungen sind ein Block von Spalten wobei jede Spalte einer
Kundenanforderung entspricht. Des Weiteren enthält der Block auch Spalten für
die Wichtigkeit, Sollwert, Faktor der Skala, Verkaufspreiz und absolutes Gewicht
für jede Kundenanforderung.
Schlieÿlich werden durch priorisierten technischen Deskriptoren deniert. Jede
der vorgeschlagenen technischen Lösungen wird mit dem Grad der technischen
Schwierigkeit, des Zielwerts und der absoluten und relativen Gewichte kommen-
40
3.4 Bestimmung Data-Warehouse Qualität
Abbildung 3.6: House of Quality im Quality-Function-Deployment
tiert.
3.4.2 GQM-Goal Quality Metric
Es gibt bestimmt kein entscheidbare Rahmenstruktur, die alle diese Aspekten in einer Sprache abdecken kann. Bei dem Entwurf der Metadatenbank-Erweiterung für
das Qualitätsmanagement muss man deshalb nach halbautomatischen Lösungen
suchen, die alle Aspekte einer Qualitätsmanagementtechniken (aus den vorherigen
Schritten) aufrechterhalten, aber auch gleichzeitig für das Einbetten spezialisierter
Techniken oen sind.
Die DWQ-Lösung zu diesem Problem baut auf den weit verwendeten GQMAnsatz für das Softwarequalitätsmanagement auf [OLV92]. Die Hauptidee von
GQM ist, dass Qualitätsabsichten gewöhnlich nicht direkt bewertet werden können,
aber ihre Bedeutung durch Fragen umschrieben wird, auf die bei der Qualitätsauswertung geantwortet werden muss. Auf solche Frage kann gewöhnlich wieder nicht
41
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
direkt geantwortet werden, sondern man verwendet Metriken, die entweder auf das
Produkt oder auf den fraglichen Prozess angewandt werden. Techniken wie statistische Prozesssteuerungskarten werden dann angewandt, um die Antwort auf die
Frage aus den Messungen abzuleiten.
Der GQM-Prozess besteht also aus den folgenden Schritten:
1. Das Identizieren der Qualitäts- und/oder Produktivitätsabsichten (Goal)
auf Unternehmens- Abteilungs- oder Projektniveau; z.B verbesserte Kundenzufriedenheit, rechtzeitige Übergabe, verbesserte Leistung
2. Von diesen Absichten und beruhend auf Modellen des untersuchten Objekts,
werden Fragen abgeleitet, die diese Absichten so vollständig wie möglich denieren.
3. Festlegen der Messungen, die gesammelt werden müssen, um diese Fragen zu
beantworten.
4. Das Entwickeln der Datenerfassungsmechanismen einschlieÿlich der Validierung und Analyse-Mechanismen.
Eine Absicht wird in Bezug auf ein Problem (z.B. Rechtzeitigkeit), ein Objekt
(z.B, die Änderungsanforderungsverarbeitung), eine Sicht (z.B.die der Projektbetriebsleiters) und einen Zweck (z.B. Verbesserung) deniert. Das Problem und der
Zweck der Absicht werden durch die Richtlinien und die Strategie der Organisation erhalten (z.B. durch die Analyse des Grundsatzprogramms des Unternehmens,
strategische Pläne und, was noch wichtiger ist, durch das Befragen über relevante Themen in der Organisation). Die Zielkoordinate wird aus einer Beschreibung
des Prozesses und der Produkte der Organisation erhalten, indem Prozess- und
Produktmodelle auf dem bestmöglichen Formalitätsniveau speziziert werden.
Es gibt drei Arten von Fragen:
1. Wie kann man das Objekt (Produkt, Prozess oder Ressourcen) in Bezug
auf die Gesamtabsicht des spezischen GQM charakterisieren? Zum Beispiel:
Was ist die gegenwärtige Geschwindigkeit, mit der Änderungsanforderungen
verarbeitet werden? Oder
Wird der Änderungsanforderungsprozess wirklich ausgeführt?
2. Wie kann man die Attribute des Objekts charakterisieren, die in Bezug auf
das Problem des spezischen GQM-Modells relevant sind? Zum Beispiel,
Wie gross ist die Abweichung der wirklichen Änderungsanforderungsverarbeitungszeit von der geschätzten? Oder
Verbessert sich die Leistung des Prozesses merklich?
3. Wie bewerten wir die Eigenschaften des Gegenstands, die in Bezug auf das
Problem des spezischen GQM-Modells relevant sind? Zum Beispiel, Ist die
gegenwärtige Leistung aus der Sicht des Projektbetriebsleiters zufriedenstellend?
42
3.5 Zusammenfassung
Bei jeder gröÿeren Data-Warehouse-Entwicklung und -Verwaltung ist die Entwicklung der Qualitätsmetrik ein kundenspezischer Prozess, der die Maximierung
des Gebrauches der vorhandenen Datenquellen, die Anwendung von objektiven
Maÿen zu ausgereifteren Messobjekten und eher subjektive Bewertungen von informellen oder instabilen Ojekten zum Ziel haben sollte.
3.5 Zusammenfassung
Zusammenzufassend kann jetzt gesagt werden, dass das DWQ-Projekt Techniken und Werkzeuge entwickelt, um das Design und die Operationen eines DataWarehouses zu unterstützen:
• basieren auf gut denierten Datenqualitätsfaktoren,
• durch einen Ansatz mit vollständiger Semantik
• realisiert bei der Verwendung geeigneter Technologien ineinander,
• demonstriert in einer Prototype-Folge von Design- und Operationen-Tools
und
• validiert in einer Kooperation mit europäischer DW-Verkäufern und Benutzern.
DWQ stellt das Framework und modellierende Formalismen für das DW-Design,
die DW-Entwicklung und Wartung zur Verfügung, die auf besondere Anwendungsgebiete und Niveaus der Qualität abgestimmt werden können. Das Potenzial solch
einer Annäherung ist bereits durch der Gebrauch des ConceptBases metamodeling Tool erfolgreich kommerziell demonstriert worden, das sich im COMPULOGProjekt entwickelt . Die DW-Entwicklungsdauer für ein gegebenes Niveau der Qualität wird bedeutsam reduziert und die Anpassung an sich ändernde Benutzeranforderungen wird erleichtert. Es gibt eine hohe Nachfrage nach dem Entwurfs-Tool
für verteilte Datenbanken, die durch gegenwärtige Produkte nicht erfüllt ist. DWQ
hat das Potenzial, diese Nachfrage für ein zunehmend wichtigeres Marktsegment
zu erfüllen. Auÿerdem, ein Menge der Qualitätsverbesserungsabfrage und Aktualisierungsdienstleistungen kann aus DWQ-Ergebnissen abgeleitet werden. Prototypen von spezischen Modellen und die im DW-Projekt entwickelten Tools werden
mit verschiedenen Industrien und öentlichen Verwaltungseinstellungen experimentiert, um Erfahrungen aus Projektergebnissen zu gewinnen. Die Ergebnisse von
DWQ werden mit einer Reihe von Prototyp-Tools demonstriert, die zusammen
verbunden werden und welche in ein bestehende Umgebung aus kommerzieller
DW-Software eingebettet werden.
Die Entwurfs-Tools sind die Mittel, durch die DW-Entwerfer und -Verwalter Inhalt des Repository modizieren. Der zu bauende Integrator wird verwendet, um
das Schema abzurufen, welches die dem DW zugrundeliegende Quelle beschreibt.
43
3 Datenqualität - Der GQM-Ansatz und das DWQ-Projekt
Es wird zusätzlich mit dem taktweise generierten Integrator gerechnet, so dass ein
DW-Schema entsteht, welches die gültigen Informationen beschreibt. Der DesignOptimierer bestimmt welche Sichten über das integrierte Schema im DW gespeichert werden, um die gebräuchlichen Informationen des Endbenutzers zu erfüllen.
Die Entwicklungsunterstützungswerkzeug ermöglicht die Überwachung von Strukturänderungen des Informationsangebotes und der -nachfrage und das Ausführen
von passenden Handlungen. Es ist sowohl im Stande direkt auf das Repository zuzugreifen, als auch den Ansicht-Integrator und den Design-Optimizer zu verwenden,
um sich optimal der DW-Struktur anzupassen.
Der Updateverbreiter beobachtet Änderungen an den Quellen der Datenebene,
überprüft ihre Konsistenz mit Hilfe von Integritätsnebenbedingungen, entscheidet,
ob sie für das DW relevant sind, und stellt eine leistungsfähige Methode dar, das
Quellupdate in ein DW-Update umwandeln. Alle Komponenten, die bis jetzt beschrieben wurden, müssen Konsistenznebenbedingungen und Abfragen berücksichtigen. Diese können im Wesentlichen auf einen Satz generischer Tasks einschlieÿlich
der Überprüfung auf Übereinstimmung, Eindämmung- und Ansichtbrauchbarkeit
verringert werden. Das DWQ-Projekt produziert auch ein Argumentationsmodul
für eine mächtige Beschreibungslogik, durch die die verschiedenen Arten von Beschreibungen in den Schemata, in den Abfragen und in den Sichten erfasst werden
können. Das Modul macht seine Dienste allen anderen Komponenten zugänglich.
44
Benjamin Hohl
4
Fuzzy-Summierbarkeit
Summierbarkeit erlaubt es uns in einem Informationssystem Aggregationsdaten
weiterzuverwenden. Die dafür notwendigen Kriterien sind aber in modernen Systemen nicht immer erfüllbar. Diese Seminararbeit beschäftigt sich mit Ansätzen, um
in solchen Systemen dennoch eine Form von Summierbarkeit zu ermöglichen.
4.1 Einleitung
Aggregtionsdaten bieten Einblicke in Zusammenhänge, die für den Nutzer nur
anhand der Basisdaten oft nicht ersichtlich wären. Die steigende Menge an verfügbaren Basisdaten in heutigen Datenbanken erhöht den Bedarf an umfassenden
und aktuellen Aggregationsdaten, vergröÿert aber auch deren Berechnungsaufwand.
Summierbarkeit bietet Kriterien für die korrekte und eziente Berechnung dieser
Aggregationsdaten.
Abschnitt 4.2 dieser Seminararbeit behandelt Summierbarkeit im klassischen
Sinn nach [LS97]. In den Abschnitten 4.3 und 4.4 werden zwei Ansätze vogestellt,
um das Konzept von Summierbarkeit zu erweitern. Abschnitt 4.5 stellt abschlieÿend beide Ansätze vergleichend gegenüber.
4.2 Summierbarkeit
4.2.1 Ziele
Bei der Summierbarkeit im Data Warehousing geht es um die Aggregation von Daten entlang einer Dimensionshierarchie. Dabei sind folgende Ziele von Bedeutung:
45
4 Fuzzy-Summierbarkeit
Wiederverwendbarkeit von Zwischenergebnissen
Bei der Menge an Daten, die
heute in vielen Datenbanksystemen verarbeitet wird, ist eine vollständige Neuberechnung bei jeder Änderung oft nicht mehr praktikabel. Wiederverwendung von
Zwischenergebnissen erlaubt es, bei einer Änderung der Quelldaten mit minimalem Aufwand die Aggregationsdaten zu aktualisieren. Zwingend erforderlich wird
die Verwendung von Zwischenergebnissen, wenn die Quelldaten gar nicht für die
Berechnung zur Verfügung stehen, beispielsweise aus Datenschutzgründen.
Konsistenz und Nachvollziehbarkeit
Berechnungen unter Verwendung von Zwischenergebnissen sollen immer die gleichen Ergebnisse liefern wie Berechnungen
auf Basis der Ursprungsdaten, und ein Ergebniss soll unabhängig vom Rechenweg
sein. Zusätzlich ist es wünschenswert, dass die Ergebnisse für einen Nutzer des
Informationssystems nachvollziehbar sind.
4.2.2 Szenario
Der Bedarf an Aggregationsdaten in Datenbanksystemen sei hier kurz anhand eines
Beispiels vorgestellt:
Beispiel 4.2.1 (Kundendaten nach Region) Eine europaweit tätige Firma
verwaltet Kundendaten pro Filiale. Zusätzlich zu Anfragen auf den Basisdaten (wie
Anzahl der Kunden pro Filiale) sind für Marktforschungszwecke auch Aggregationsdaten auf der Ebene der Städte und Bundesländern von Interesse (Anzahl der
Kunden pro Region, Durschnitt der Kunden pro Region, . . . ). Gemeinsam bilden
diese Klassikationen eine Dimension (Abbildung 4.1).
Abbildung 4.1: Dimension Kundendaten nach Region
Da die Basisdaten hier sehr umfangreich sein können, und sich andererseits oft
ändern, ist eine Neuberechnung aller Aggregationsdaten bei jeder Änderung sehr
aufwändig, und eine Wiedervendung von Zwischenergebnissen daher wünschenswert.
Standard-Aggregationsoperatoren
sloppyDie üblicherweise verwendeten Aggregationsopperatoren sind Summe, Anzahl (oder Kardinalität), Durchschnitt, Minimum und Maximum (in SQL reprä-
46
4.2 Summierbarkeit
sentiert durch sum, count, avg, min und max). Weitere Operatoren sind möglich,
im Rahmen dieser Arbeit aber nicht von Bedeutung.
4.2.3 Bedingungen
Um die oben genannten Ziele für Summierbarkeit zu gewährleisten sind nach [LS97]
die folgenden drei Bedingungen hinreichend. Diese sind
• Vollständigkeit (completeness)
• Disjunktheit (disjointness)
• Typverträglichkeit (type compatibility)
Vollständigkeit (completeness)
Unter Vollständigkeit versteht [LS97], dass sich Aggregationsdaten einer Ebene
komplett aus den Daten der darunterliegenden Ebene beziehungsweise aus den
Elementardaten berechnen lassen.
Dies wäre in unserem Beispiel dann verletzt, wenn Kunden einer Filiale auÿerhalb Europas nicht berücksichtigt würden (Abbildung 4.2), oder wenn für Kunden
von Filialen auÿerhalb einer Stadt eine Kategorie auf der Ebene der Städte fehlen
würde (Abbildung 4.3).
Abbildung 4.2: Vollständigkeit nicht berücksichtigter Wert
Abbildung 4.3: Vollständigkeit fehlender Wert
Disjunkheit (disjointness)
Disjunktheit erfordert nach [LS97], dass Daten auf keiner Aggregationsebene mehrfach in die Berechnung eingehen, dass sich die Kategorien einer ebene also nicht
überschneiden.
47
4 Fuzzy-Summierbarkeit
Dies wäre in unserem Beispiel dann verletzt, wenn der gleiche Kunde sowohl
in der Filiale Karlsruhe, als auch in der Filiale Stuttgart aufgeführt wird, in der
Summe aber nur einfach gezählt werden soll (Tabelle 4.1, Abbildung 4.4).
Tabelle 4.1: Kunden pro Stadt
Karlsruhe Stuttgart
Gesamt
3 Kunden 2 Kunden 4 Kunden
Abbildung 4.4: Disjunktheit mehrfach berücksichtigter Wert
Typverträglichkeit (type compatibility)
Auch wenn eine Dimension vollständig und disjunkt ist, ist Summierbarkeit in
Abhängigkeit von den Ausgangsdaten und der Aggregatfunktion nicht immer gewährleistet. Dies wird deutlich in folgendem Beispiel, in dem Lagerbestand und
Verkäufe der Filialen einer Region im Verlauf eines Quartals erfasst werden:
Tabelle 4.2: Lagerbestand und Verkäufe pro Monat
Lagerbestand Verkauf
Januar
30 Stück
5 Verkäufe
Februar 25 Stück
10 Verkäufe
März
15 Stück
5 Verkäufe
Quartal sum = ?
sum = 20
max = 30
max = 10
Wie man in Tabelle 4.2 sieht, wäre es zwar möglich eine Summe der Waren über
die einzelnen Monate zu bilden, aber nicht sinnvoll, da der Warenbestand von
einem Monat sich mit dem Warenbestand aus anderen Monaten überschneiden
kann. Keine Probleme ergeben sich dagegen beim Maximum des Lagerbestands,
oder bei Summe und Maximum der Verkäufe.
Man unterscheidet deswegen die folgenden Arten von Kennzahlen:
• Stock (Zustand zum Zeitpunkt T): Einwohnerzahlen, Lagerbestände, . . .
• Flow (Ereignis zum Zeitpunkt T): Geburten, Verkäufe, . . .
• Value-per-Unit (Eigenschaft zum Zeitpunkt T): Preise, Aktienkurse, . . .
48
4.3 Ansatz nach Pedersen, Jensen & Dyreson
Über Daten vom Typ Value-per-Unit lassen sich grundsätzlich keine Summen
bilden, wärend Daten vom Typ Stock nur entlang einer Zeitdimension (wie im
Beispiel) nicht addiert werden können (siehe Tabelle 4.3, Quelle [Leh03a], mit
Abweichungen gemäÿ [LS97] ).
Tabelle 4.3: Kompatibilität von Datentyp
stock
ow
min
ja
ja
max
ja
ja
sum
nicht zeitlich ja
avg
ja
ja
count ja
ja
und Aggregationsopperator
value-per-unit
ja
ja
nein
ja
ja
Typverträglichkeit lässt sich ohne Meta-Information nicht automatisch erzwingen, in diesem Fall läge die Last beim Nutzer, keine die Typverträgichkeit verletzenden Anfragen zu stellen. Die im Folgenden vorgestellten Ansätze behandeln
Verletzungen der Typverträglichkeit nicht gesondert.
4.2.4 Fazit
Wenn eine Dimension allen Bedingungen für Summierbarkeit (Vollständigkeit, Disjunktheit und Typverträglichkeit) genügt, lassen sich Aggregationsdaten für weitere Berechungen wiederverwenden und es ist gewährleistet, dass alle Ergebnisse konsistent und nachvollziehbar bleiben. In heutigen Informationssystemen sind diese
Bedingungen aber nicht immer erfüllbar. Im folgenden werden zwei Ansätze vorgestellt, die in diesen Fällen dennoch eine Form von Summierbarkeit ermöglichen.
4.3 Ansatz nach Pedersen, Jensen & Dyreson
In [PJD99] befassen sich die Autoren mit Möglichkeiten, die Vorteile von Summierbarkeit auch für Informationssysteme zu nutzen, die nicht den Bedingungen
für Summierbarkeit genügen.
4.3.1 Szenario
Als Beispiel für ein derartiges System sei hier die Datenbank eines Krankenhauses
vorgestellt.
Beispiel 4.3.1 (Krankenhaus) Das Krankenhaus verwaltet eine Datenbank al-
ler Patienten und ihrer Diagnosen. Für einen Arzt oder die Verwaltung sind nun
mehrere Aggregationsebenen von Interesse, wir beschränken uns hier auf die folgenden drei (mit steigender Granularität):
• Patient
49
4 Fuzzy-Summierbarkeit
• Diagnose
• Diagnosegruppe
Abbildung 4.5: Dimension eines Krankenhaus-Datenbanksystems
Auf der Ebene der Patienten haben wir beispielsweise die Patienten Müller, Maier und Schmidt, auf der Ebene der Diagnosen die an den Patienten diagnostizierten Krankheiten wie Armbruch, Beinbruch oder die (erfundene) Grippe Typ
C, die wiederum auf der nächsthöheren Ebene in Gruppen wie Knochenbrüche
oder Grippen aufgeteilt werden.
Wie in Abbildung 4.5 zu sehen ist, ist dieses System weder disjunkt noch vollständig. Die Disjunktheit wird zum Beispiel dadurch verletzt, dass für einen Patienten
mehrere Diagnosen existieren können. Vollständigkeit ist nicht gegeben, da einem
Patienten sowohl eine Diagnosegruppe aber keine Diagnose zugeordnet sein können (Wenn die genaue Diagnose nicht bekannt ist) als auch eine Diagnose aber
keine Diagnosegruppe (Wenn für eine Diagnose keine Diagnosegruppe im System
vorhanden ist).
4.3.2 Prinzip
Die Idee hinter diesem Ansatz besteht darin, eine Dimension, die nicht die Vorraussetzungen für Vollständigkeit und Disjunktheit erfüllt, durch das Einfügen neuer
Kategorien zu transformieren. Die resultierende transformierte Dimension ist sowohl vollständig wie auch disjunkt, enthält aber weiterhin alle Kategorien und
Beziehungen der ursprünglichen Dimension. Um dies zu gewährleisten werden drei
Algorithmen nacheinander angewandt:
• makeCovering (für Vollständigkeit)
• makeOnto (für Vollständigkeit)
50
4.3 Ansatz nach Pedersen, Jensen & Dyreson
• makeStrict (für Disjunktheit)
Für eine genauere Beschreibung dieser Algorithmen sowie den Beweis ihrer Korrektheit siehe [PJD99].
4.3.3 Vollständigkeit
MakeCovering und makeOnto erzeugen aus einem nicht vollständigen Dimensionsgraph einen vollständigen Graphen, der zusätzlich zu allen Knoten des Ursprungsgraphen einige neu generierte enthält (Abbildungen 4.6, 4.7). Im resultierenden
Graph haben alle Pfade von > zu ⊥ die gleiche Länge.
Abbildung 4.6: Transformation durch makeCovering
Abbildung 4.7: Transformation durch makeOnto
4.3.4 Disjunktheit
makeStrict
Der Algorithmus makeStrict erzeugt einen disjunkten und vollständigen Dimensionsgraphen aus einem bereits vollständigen, er setzt also die vorherige Ausführung
von makeCovering und makeOnto voraus.
Die zugrundeliegende Idee ist es, jeweils mehrere Knoten, die gemeinsame KindKnoten besitzen zu verschmelzen (fuse nodes) und die so erzeugten neuen Knoten in die Hierarchie einzufügen (Abbildung 4.8). Die so erzeugten verschmolzenen Kategorien können problemlos zur Berechnung von weiteren Aggregationsdaten verwendet werden, da jeder ihrer Kindknoten genau einen verschmolzenen
Elternknoten besitzt.
Die verschmolzenen Knoten werden auch mit den ursprünglichen Knoten verbunden. Diese Verbindung ist nicht disjunkt, was aber für die Summierbarkeit kein
51
4 Fuzzy-Summierbarkeit
Abbildung 4.8: Transformation durch makeStrict (1. fuse nodes)
Problem darstellt, da verhindert wird dass diese Knoten zur weiteren Berechnung
verwendet werden. Dies wird gewährleistet indem diese Knoten von der Hierarchie
entkoppelt (unlinked) werden (Abbildung 4.9), dass heiÿt diese Knoten werden
nur noch für Benutzeranfragen gebraucht, nicht mehr für die interne Berechnung.
Die verschmolzenen Knoten bleiben dagegen für den Benutzer verborgen.
Abbildung 4.9: Transformation durch makeStrict (2. unlink)
Zu beachten ist, dass der Algorithmus keine neuen Ebenen in der Hierarchie
erzeugt, nur neue Kategorien, und die in jeder Ebene sichtbaren Kategorien den
ursprünglichen Kategorien entsprechen (Abbildung 4.10).
Abbildung 4.10: vollständige Transformation durch makeStrict
52
4.4 Fuzzy-Summierbarkeit
4.3.5 Fazit
Durch Anwendung der drei Algorithmen makeCovering, makeOnto, und makeStrict
kann aus einer nicht summierbaren Dimension eine summierbare erzeugt werden,
die dennoch die wichtigsten Charakteristiken der ursprünglichen Dimension beibehält. Ein Nachteil ist allerdings, dass die Ergebnisse ohne Kenntniss der von
makeStrict errzeugten verborgenen Knoten für einen Nutzer nur bedingt nachvollziehbar sind.
4.4 Fuzzy-Summierbarkeit
Im vorigen Ansatz konnten Kategorien zwar mehrere Elternkategorien besitzen,
jedoch immer nur mit der Zugehörigkeit eins oder null. Wie in Beispiel 4.4.1 gezeigt wird, gibt es Hierarchien in denen Kategorien nur zu einem gewissen Grad
Elternkategorien zugeordnet werden können. Um auch in diesen Fällen eine Wiederverwendung von Zwischenergebnissen zu ermöglichen erweitern die Autoren in
[SBML] (aufbauend auf [SMH04]) das Konzept der Summierbarkeit zur FuzzySummierbarkeit (Fuzzy-Summarizability).
4.4.1 Szenario
In diesem Szenario teilen sich mehrere Firmen (A, B und C) die Räumlichkeiten
auf einem Stockwerk. Das folgende Beispiel befasst sich mit der Messung und
Berechnung des Stromverbrauchs innerhalb dieser Firmen.
account.
A
account.
A
acc.B
logistics B
cust. care
C
cust. care
C
reception
area
log.
Abbildung 4.11: Bauplan des Stockwerks aus Beispiel 4.4.1
Beispiel 4.4.1 (Stromverbrauch) Abbildung 4.11 zeigt den Bauplan des Stockwerks mit den einzelnen Räumen sowie den Abteilungen denen sie zugeordnet sind.
Für uns von Interesse sind hier der Stromverbrauch sowie die daraus resultierenden Kosten innerhalb des Stockwerks auf der Ebene der Stromzähler, Räumen
und Firmen. Die Situation kann mit der Hierarchie in Abbildung 4.12 beschrieben
werden.
53
4 Fuzzy-Summierbarkeit
Aus Kostengründen ist für das ganze Stockwerk nur ein Stromzähler vorhanden.
Dessen gemessener Wert für den Stromverbrauch wird den einzelnen Räumen anteilsmäÿig entsprechend ihrer Grundäche zugeordnet. So nimmt der Empfangsbereich die Hälfte der Fläche des Stockwerks ein, daher hat die Verbindung ziwschen
dem Stromzähler und dem Empfangsbereich den Wert 0,5.
Auf der nächsten Ebene wird der Stromverbrauch dieser Räume den verschiedenen Firmen zugeordnet. Für Räume, die ausschlieÿlich von einer Firma genutzt
werden ist diese Zuordnung eindeutig. Für gemeinsam genutzte Räume wie den
Empfangsbereich wird wieder anteilsmäÿig abgerechnet, wobei die Firmen sich auf
eine Aufteilung von 40% für Firma A und B und 20% für Firma C geeinigt haben.
Die hier gegebene Dimension mit anteilsmäÿigen Zuordnungen kann bereits zur
korrekten Berechnung des Stromverbrauches für die einzelnen Räume und Firmen
verwendet werden. Die Frage ist nun, ob auch hier eine Wiederverwendung von
Zwischenergebnissen möglich ist.
Company A
0.4
Company B
Companies
Company C
0.2
0.4
accounting A reception area accounting B logistics B customer care C
0.15
…
0.5
0.06
Meter 378
0.11
Departments
0.18
…
Meters
Abbildung 4.12: Dimension für Beispiel 4.4.1
4.4.2 Benötigte Denitionen
Fuzzy-Summierbarkeit verwendet Konzepte aus dem Bereich der unscharfen oder
Fuzzy-Mengenlehre. Hier werden die für uns wichtigen Begrie kurz deniert, ausführlichere Erläuterungen bietet unter anderem [Zim91].
Denition 4.4.2 (Fuzzy-Menge) Gegeben sei eine scharfe Menge (Universum)
U , dann sei eine Fuzzy-Menge M U oder kurz M deniert als
M := {(x, µM (x))|x ∈ U }
Mit µM (x) : U → I wobei I ⊂ IR und sup(I) endlich ist. µM (x) wird membership
function oder grade of membership genannt [Zim91].
Im Folgenden wird immer I := [0, 1] verwendet, d.h., I ist das geschlossene
Intervall zwischen 0 and 1 und sup(I) = 1.
54
4.4 Fuzzy-Summierbarkeit
f geschrieben werden mit
Jede scharfe Menge M kann auch als Fuzzy-Menge M
f := (x, µ f(x))|x ∈ U ∧ µ f(x) = 1 wenn x ∈ M
M
M
M
0 sonst
f wird die der scharfen Menge M entsprechende Fuzzy-Menge bezeichnet.
Mit M
Es gibt mehrere Denitionen für Vereinigungs- und Disjunktionsoperatoren von
Fuzzy-Mengen. Für die hier verwendete Version von Fuzzy-Klassikationen wurde
aber ausschlieÿlich die bounded sum für die Vereinigung und die bounded dierence
für die Disjunktion verwendet (siehe [Zim91]).
Denition 4.4.3 c1 und c2 sind unscharfe Mengen. Dann sind die bounded sum
∪ und die bounded dierence ∩ deniert als:
c1 ∪ c2 := {(x, µc1 ∪c2 (x))|x ∈ U ∧ µc1 ∪c2 (x) = min{1, µc1 (x) + µc2 (x)}}
c1 ∩ c2 := {(x, µc1 ∩c2 (x))|x ∈ U ∧ µc1 ∪c2 (x) = max{0, µc1 (x) + µc2 (x) − 1}}
Für die Denition der Fuzzy-Dimension wird auÿerdem die λ-Fuzzy-Menge oder
gewichtete Fuzzy-Menge benötigt.
Denition 4.4.4 Sei λ ∈ [0, 1] und S eine Fuzzy-Menge. Dann ist das Produkt
der Gewichte λ und der Fuzzy-Menge S
λS := {(x, λ · µS (x))|x ∈ U }
wieder eine Fuzzy-Menge (λ-gewichtete Fuzzy-Menge).
4.4.3 Prinzip Fuzzy-Dimensionen
Mit Hilfe dieser Denitionen wird nun in [SBML] der Klassikations- und Dimensionsbegri erweitert, um auch nichtganzahlige Zugehörigkeiten zu ermöglichen:
Denition 4.4.5 Eine Fuzzy-Klassikation oder Dimensionsebene C B
=
{c1 , . . . , cn } ∈ C oder kurz C der Basisdaten B ist eine scharfe Menge von Fuzzye = B)
e .
Mengen c1 , . . . , cn mit ci ∈ C ∧ (ci ∪ B
Denition 4.4.6 Gegeben seien die Fuzzy-Klassikationen C = {c1 , c2 , . . . , cn },
C 0 = {c01 , c02 , . . . , c0m } und die Matrix

λc1 c01 . . . . . .
 ..
..
 .
.
ΛCC 0 = 
 ..
..
 .
.
0
λ c1 cm . . . . . .
λcn c01
..
.
..
.
λcn c0m



 mit λc c0 ∈ [0, 1].
i j


Dann lässt sich C → C 0 als Beziehung zwischen Fuzzy-Klassikationen denieren:
X
C → C 0 ⇔ ∀c ∈ C∀c0 ∈ C 0 ∀x ∈ U : µc0 (x) =
λcc0 µc (x)
c∈C
55
4 Fuzzy-Summierbarkeit
Mit der Beziehung → kann nun eine Fuzzy-Dimension deniert werden.
Denition 4.4.7 Eine Fuzzy-Dimension D besteht aus einer Menge von FuzzyKlassikationen C einschlieÿlich einer Fuzzy-Klassikation C⊥ , und der Beziehung
∗
∗
→ mit ∀C ∈ C : C⊥ → C (wobei → die transitive Hülle von → ist)
D := {C, C⊥ , →}
4.4.4 Fuzzy-Vollständigkeit und Fuzzy-Disjunktheit
Da für Zugehörigkeiten auÿer null und eins die Bedingungen Vollständigkeit und
Disjunktheit nicht anwendbar sind, werden stattdessen die erweiterten Bedingungen Fuzzy-Vollständigkeit und Fuzzy-Disjunktheit eingeführt.
Diese sind für Klassikationen und Dimensionen wie folgt deniert:
Denition 4.4.8 Eine Klassikation C ∈ C ist fuzzy-vollständig genau dann,
wenn
∀x ∈ B :
X
µc (x) ≥ 1.
c∈C
Eine Klassikation C ∈ C ist fuzzy-disjunkt genau dann, wenn
X
∀x ∈ B :
µc (x) ≤ 1.
c∈C
Fuzzy-Disjunktheit and Fuzzy-Vollständigkeit für Klassikationen kann zusammengefasst werden zu
X
∀x ∈ B :
µc (x) = 1.
c∈C
Denition 4.4.9 Eine Dimension D = {C, C⊥ , →} ist fuzzy-vollständig genau
dann, wenn
C⊥ fuzzy-vollständig ist und ∀(C → C 0 ) ∀c ∈ C :
X
λcc0 ≥ 1.
c0 ∈C 0
Eine Dimension D = {C, C⊥ , →} ist fuzzy-disjunkt genau dann, wenn
X
C⊥ fuzzy-disjunkt ist und ∀(C → C 0 ) ∀c ∈ C :
λcc0 ≤ 1.
c0 ∈C 0
Fuzzy-Disjunktheit and Fuzzy-Vollständigkeit für Dimensionen kann zusammengefasst werden zu
X
C⊥ ist fuzzy-disjunkt und fuzzy-vollständig und ∀(C → C 0 ) ∀c ∈ C :
λcc0 = 1.
c0 ∈C 0
Mit Fuzzy-Vollständigkeit und Fuzzy-Disjunktheit kann nun eine der Summierbarkeit aus [LS97] entsprechende Fuzzy-Summierbarkeit deniert werden:
56
4.5 Vergleich
Denition 4.4.10 Eine Dimension ist fuzzy-summierbar, wenn sie fuzzy-vollstän-
dig, fuzzy-disjunkt und in Verbindung mit den verwendeten Aggregatfunktionen typverträglich ist.
Zu beachten ist, dass aus Fuzzy-Sumierbarkeit Summierbarkeit folgt, das heiÿt
eine scharfe Dimension die die Kriterien für Fuzzy-Summierbarkeit erfüllt, ist auch
summierbar nach [LS97] (siehe [SBML]).
4.4.5 Fazit
Fuzzy-Summierbarkeit erweitert das Konzept der Summierbarkeit, so dass auch
für Hierarchien mit nichtganzzahligen Zugehörigkeiten die Wiederverwendung von
Zwischenergebnissen möglich wird. Sofern die Bedingungen Fuzzy-Vollständigkeit,
Fuzzy-Disjunkheit und Typverträglichkeit erfüllt sind, ist auch in diesen Fällen
Konsistenz und Nachvollziehbarkeit gewährleistet.
4.5 Vergleich
4.5.1 Ansatz
Fuzzy-Summierbarkeit erweitert die Bedingungen für Summierbarkeit, um auch in
nicht-summierbaren Informationssystemen eine Wiederverwendung von Zwischenergebnissen in einer Dimension zu ermöglichen. Im Ansatz von Pedersen, Jensen
& Dyreson wird im Gegensatz dazu eine Dimension durch das Einfügen neuer
(teilweise verborgener) Kategorien transformiert, so dass das resultierende System den klassischen Bedingungen für Summierbarkeit nach [LS97] genügt. Die
verwendeten Algorithen setzen dabei in der Ursprungsdimension ganzzahlige Zugehörigkeiten zwischen den Kategorien im Bereich von 0 bis ∞ vorraus, während
Fuzzy-Summierbarkeit reelle Zugehörigkeiten zwischen 0 und 1 verlangt.
4.5.2 Zusammenfassung
Wie gezeigt wurde, erlauben beide Ansätze die konsistente Wiederverwendung von
Zwischenergebnissen auch für nach [LS97] nicht summierbare Informationsysteme.
Unterschiede gibt es dabei aber sowohl im Ergebnis wie auch in den Anforderungen
an das Informationssystem. Die Vor- und Nachteile der Ansätze sind daher von Fall
zu Fall unterschiedlich zu bewerten.
So ist der Stromverbrauch in Beispiel 4.4.1 eine Gröÿe, die sich nachvollziehbar auch anteilsmäÿig den einzelnen Räumen und Firmen zuordnen lässt. Bei den
Patienten des Krankenhauses aus Beispiel 4.3.1 wäre eine derartige anteilsmäÿige Zuordnung zu Diagnosen dagegen nur bedingt nachvollziehbar, was gegen eine
Verwendung von Fuzzy-Summierbarkeit in diesem Fall spricht. Denn da FuzzySummierbarkeit für die Summe der Zuordnungen einer Kategorie den Wert 1 fordert (Denition 4.4.8), ergäben sich für einen Patienten mit mehreren Diagnosen
pro Diagnose Werte kleiner als 1.
57
4 Fuzzy-Summierbarkeit
Der Ansatz von Pedersen, Jensen & Dyreson löst dieses Problem durch die Einführung sichtbarer und nicht-sichbarer Kategorien, wobei die Summe der Zuordnungen der sichtbaren Kategorien auch Werte gröÿer als 1 annehmen kann. Dadurch
wird allerdings auch die Nachvollziehbarkeit eingeschränkt, da dem Nutzer nur
die Werte der sichtbaren Kategorien zur Verfügung stehen, mit diesen aber keine
weitere Aggregatbildung mehr möglich ist.
Fuzzy-Summiebakeit liefert zwar überprüfbare Kriterien, die für die Einhaltung
dieser Kriterien unter Umständen notwendigen Änderungen an einer Dimension
werden aber nicht vorgegeben. Die Algorithmen von Pedersen, Jensen & Dyreson dagegen erforderern keine Entscheidung des Benutzers, um aus einer nichtsummmierbaren Dimension eine summierbare zu erzeugen, dies bietet aber auch
weniger Einussmöglichkeiten auf das Ergebnis.
In vielen Fällen entscheidet schon die Frage, ob nichtganzzahlige Zuordnungen
im betreenden System zulässig oder gar gefordert sind, über den besser geigneteren Ansatz.
Themen für zukünftige Studien gibt es nach [PJD99] und [SBML] viele, beispielsweise ob sich beide Ansätze kombinieren oder jeweils nur auf Teilen einer Hierarchie
anwenden lieÿen, oder ob für einzelne Aggregatsfunktionen wie Minimum und Maximum umfassendere Erweiterungen der Summierbarkeit möglich sind.
58
Christoph Goebel
5
Common Warehouse Metamodel und
Imperfektion
Die vorliegende Arbeit gibt einen Überblick über das Metadatenmanagement im
Data Warehousing und stellt das von der Object Management Group (OMG) propagierte Common Warehouse Metamodel (CWM) vor. Ferner wird am Beispiel
der Modellierung imperfekter Daten im Rahmen des OVID-Projektes der Universität Karlsruhe (TH) konkrekt demonstriert, inwieweit das CWM an neue Anforderungen angepasst werden kann. Dabei wird auf der Grundlage vorangegangener
Arbeiten aufgebaut.
5.1 Einleitung
Für alle Bereiche der Information Supply Chain (ISC) sind Metadaten von herausragender Bedeutung. Durch das Common Warehouse Model (CWM) der Object
Management Group (OMG) ist ein neuer Standard für die Modellierung von Metadaten im Data Warehousing geschaen worden, der das Potential hat, die produktund herstellerübergreifende Integration der ISC entscheidend voranzubringen.
In bestimmten Fällen reichen die grundsätzlichen Modellierungsmöglichkeiten
des CWM jedoch nicht aus, um Metadaten hinreichend genau zu charakterisieren.
Ein Beispiel hierfür ist die Modellierung imperfekter Daten, wie sie im Rahmen des
OVID-Projektes der Universität Karlsruhe (TH) vorliegen. Imperfekte Daten sind
unscharfe, unsichere oder ungenaue Daten, die im konventionellen Datawarehouseprozess gewöhnlich bereits durch die Extraktions-, Transformations- und LadeProzesse (ETL-Prozesse) bereinigt werden. In manchen Anwendungen ist jedoch
der Erhalt der Imperfektion wünschenswert. Daher muss das CWM diesen Anforderungen entsprechend angepasst und erweitert werden.
59
5 Common Warehouse Metamodel und Imperfektion
5.2 Metadaten und Metadatenmanagement
5.2.1 Bedeutung von Metadaten
Der Prozess der Informationsgewinnung aus operativen, transaktionsorientierten
Daten wird oft als Information Supply Chain (ISC) bezeichnet [PCTM03]. Dieser
Begri stellt eine Analogie zum klassischen Forschungsbereich des Supply Chain
Management her, der sich mit einer ezienten Organisation der Lieferkette, die
der Produktion materieller Güter zugrunde liegt, befasst. Diese Analogie ist auch
durchaus berechtigt, denn durch stete Verfeinerung und kontextbezogene Erweiterungen der ursprünglichen Rohdaten entstehen unter anderem durch die ETLProzesse und die gegebenenfalls später durchgeführten Data Mining-Prozesse und
OLAP-Analysen Informationsgüter in Form von strategischen Geschäftsinformationen.
Genau wie im Fall der klassischen Supply Chain ist eine reibungslose Erzeugung
des Endprodukts nur dann möglich, wenn die unterschiedlichen Produktionsstufen
miteinander kommunizieren können. Man stelle sich eine Endmontagelinie für Automobile vor: Es ist ein heiÿer Sommer und das Management beschlieÿt, fortan
nur noch Cabriolets zu produzieren. Das Faltdach kann preiswert von einem polnischen Zulieferer bezogen werden, die polnischen Arbeiter können aber mit den
Computerausdrucken, welche die Faltdachtechnik beschreiben, nicht viel anfangen.
Beim letzten Faltdach-Zulieferer gab es diesbezüglich keine Probleme, da dieser
die gleiche Entwurfssoftware einsetzte. In der Information Supply Chain kann es
zu analogen Problemen kommen.
Typischerweise werden für die verschiedenen Prozesse der ISC Werkzeuge verschiedener Hersteller verwendet. Die verschiedenen Reporting-Tools des einen Herstellers können aber eine vollkommen andere Sprache sprechen als der OLAPServer eines anderen Herstellers. Alle Software-Tools, die Teil der ISC sein sollen,
müssen demnach zunächst auf der Ebene der Metadaten integriert werden, bevor
eine Integration auf Datenebene stattnden kann.
Um die Struktur und semantische Bedeutung von Daten auf verschiedenen Stufen der ISC zu beschreiben, werden Metadaten verwendet. Metadaten sind bekanntlich Daten über Daten, in diesem Fall also jede Art von Information, die
für den Entwurf, die Konstruktion und die Benutzung eines Informationssystems
benötigt wird [BG04]. Sie können grundsätzlich auf drei unterschiedliche Arten
genutzt werden:
• Passiv als konsistente Dokumentation aller Komponenten der Architektur
des Data Warehouse für Anwender, Administratoren und Anwendungsentwickler.
• Aktiv, indem beispielsweise Transformationsregeln gespeichert werden, die
von entsprechenden Werkzeugen interpretiert und ausgeführt werden.
• Semiaktiv, indem Metadaten beispielsweise zur Überprüfung von Strukturmerkmalen wie etwa Tabellendenitionen verwendet werden.
60
5.2 Metadaten und Metadatenmanagement
Hierzu ein sehr einfaches Beispiel aus dem Bereich der relationalen Datenbanken:
Eine Anwender möchte mit Hilfe eines OLAP-Tools die Umsatzentwicklung seines
Unternehmens visualisieren und dazu auf eine relationale Datenbank zugreifen,
in der er die Umsatzdaten der letzte Jahre vermutet. Er weiÿ aber nicht, ob die
Daten wirklich vorhanden sind und wenn ja, wie sie strukturiert sind, insbesondere
Bezeichnung der Relationen und Attribute sowie Datentypen. Zudem hat bereits
ein Kollege vor ihm Berechnungsschemata für einige Umsatzkennzahlen erstellt,
welche er wiederverwenden möchte. Solche Informationen können durch Metadaten
beschrieben und über eine geeignete Kommunikationsinfrastruktur ausgetauscht
werden.
5.2.2 Metadatenmanagement
Das Metadatenmanagement beschäftigt sich mit der Frage, wie Metadaten sinnvoll
beschrieben, gespeichert und verfügbar gemacht werden können. Durch die Integration nicht nur auf der Datenebene, sondern auch auf der Ebene der Metadaten soll
letzlich der Entwicklungs- und Verwaltungsaufwand der ISC reduziert werden.1
Dies kann durch kürzere Entwicklungszeiträume und die verbesserten Möglichkeiten zur Automatisierung von Prozessen erreicht werden. Ein weiterer potentiell
positiver Aspekt eines konsequenten Metadatenmanagements kann die Erhöhung
der Akzeptanz auch der Endanwender sein, da Transparenz und Qualität der Daten
erhöht werden können. In [BG04] wird ferner der immer mehr an Bedeutung gewinnende Sicherheitsaspekt genannt: Benutzerrechte können ebenfalls als Metadaten
abgelegt werden und zentral verwaltet werden. 2
5.2.3 Umsetzung des Metadatenmanagement
Die verschiedenen Werkzeuge, die in der ISC Anwendung nden können, verwenden in der Regel bezüglich Syntax und Semantik heterogene Metadaten, schon
aufgrund der Befürchtungen ihrer Hersteller, durch die Standardisierung Marktanteile zu verlieren [PCTM03]. In der Praxis werden daher oft sogenannte Meta
Data Bridges konstruiert, die eine Art Übersetzungsmechanismus für Metadaten
bei der Kommunikation zwischen jeweils zwei Anwendungen darstellt. Diese Form
der Integration ist sehr aufwendig, da einerseits jede mögliche Kombination zweier
Tools einer solchen Brücke bedarf und andererseits die Übersetzung der Metadaten bidirektional möglich sein muss. Um eine Standardisierung der Metadaten und
deren eektive Verwaltung zu erreichen, muss zunächst die Modellierung von Metadaten vereinheitlicht werden, das heiÿt, für den Austausch von regelmäÿig vorkommenden Metadaten wie etwa Tabellendenitionen relationaler Datenbanken muss
ein anwendungsübergreifendes Konstruktionsschema vorgegeben werden. Ein sol1
2
Betriebswirtschaftlich wird also eine Maximierung des Return on Investment (ROI) angestrebt.
Dieser Aspekt ist auch deshalb bedeutend, da ein Data Warehouse durchaus auch schützenswerte Einzeldaten enthalten kann, deren Aggregat allerdings wieder einem breiteren Publikum
zur Verfügung gestellt werden soll.
61
5 Common Warehouse Metamodel und Imperfektion
cher Standard ist das von der OMG propagierte Common Warehouse Meta Model
(CWM), auf das in Abschnitt 5.3 näher eingegangen werden soll. Ferner ist auch
die Architektur der Speicherung und Verwaltung von Metadaten von Bedeutung.
Weitgehend Einigkeit besteht dahingehend, dass eine physikalische Abtrennung
der Metadaten von den Daten in Form eines Metadaten-Repository Sinn macht.
Für die Gewährleistung des Zugris der verschiedenen Warehouse-Anwendungen
und die Sicherstellung der Konsistenz der vorgehaltenen Metadaten ist ein sogennanter Metadatenmanager verantwortlich. Die Zusammenfassung aller Metadaten
einer ISC in einem einzigen Metadaten-Repository ist allerdings - obgleich häug
vorgeschlagen - aus folgenden Gründen mit Vorsicht zu genieÿen:
• Die verschiedenen Data Warehouse-Komponenten werden in hohem Maÿe
vom einwandfreien Funktionieren der zentralen Schnittstelle abhängig.
• Es wird gleichsam ein künstlicher Flaschenhals bei der Metadaten-Kommunikation geschaen.
• Die Realisierung des zentralen Metadaten-Repository und der entsprechenden Schnittstellen ist sehr aufwändig. 3
Eine komplett dezentralen Lösung, in der jedem Data Warehouse-Werkzeug sein
eigenes Metadaten-Repository zugeordnet wird, birgt dagegen ein hohes Risiko
bezüglich Inkonsistenzen. Zudem sind die einzelnen Repositorys zwar leichter zu
realisieren, jedoch wird die Ausgestaltung der benötigten Kommunikationsinfrastruktur wiederum ungleich schwieriger. Zusammenfassend zeichnet sich also ein
Tradeo zwischen beiden Modellen ab. In der Praxis ist daher oft die sogenannte
föderierte Metadaten-Verwaltung anzutreen: Mehrere Metadatenspeicher werden
unabhängig voneinander betrieben und verwaltet, jeweils auf der Grundlage eines
allgemein gültigen Metadatenmodells wie dem CWM. Diese werden dann direkt
miteinander verbunden. Basieren die Metadatenspeicher auf unterschiedlichen Metadatenmodellen, so stellen diese Verbindungen wiederum Meta Data Bridges dar.
5.3 Das Common Warehouse Metamodel (CWM)
Das CWM stellt den Versuch dar, ein umfassendes Metamodell zur Beschreibung
von Metadaten im Data Warehousing bereitzustellen. Bei der Spezikation des
CWM hat sich die OMG an folgenden Richtlinien orientiert:
• Vollständigkeit
• Unabhängigkeit
• Kompatibilität
3
Insbesondere stellt jede ISC unterschiedliche Anforderungen an eine zentrale MetadatenSpeicherung, das heisst dass diese jeweils individuell konzipiert werden muss. Standardlösungen sind daher oft nicht einsetzbar.
62
5.3 Das Common Warehouse Metamodel (CWM)
• Erweiterbarkeit
• Verfügbarkeit
• Verständlichkeit
Als abstraktes Modell ist das CWM vollkommen plattformunabhängig und kann
so gleichsam als Übersetzungsreferenz für proprietäre Metadatenmodelle dienen
(Unabhängigkeit, Kompatibilität): Sollen also Metadaten zwischen zwei Anwendungen innerhalb der ISC ausgetauscht werden, so kann Anwendung A ihre internen Metadaten in das durch das CWM vorgeschriebene Format übersetzen und
Anwendung B die auf diese Weise standardisierten Metadaten wieder in ihr proprietäres Format rückübersetzen. Diese Übersetzung geschieht auf Anwendungsebene,
das heiÿt die Metadaten-Kommunikation ndet direkt zwischen den verschiedenen
CWM-kompatiblen Anwendungen oder gegebenenfalls durch den Umweg über ein
Metadaten-Repository statt. Dies impliziert einerseits, dass das CWM eine hinreichend groÿe Menge von Konzepten, die im anwendungsübergreifenden Bereich
vorkommen, beschreibt, und andererseits, dass ausreichende Erweiterungsmöglichkeiten bestehen, um semantische Lücken in einer ebenfalls standardisierten Art
und Weise zu schlieÿen (Erweiterbarkeit).
Um eine gewisse Übersichtlichkeit einerseits und auch eine Modularisierung 4
andererseits zu gewährleisten, ist das CWM je nach Art der zu beschreibenden
konzeptuellen Domäne in verschiedene Pakete (die oftmals selbst als Metamodell
bezeichnet werden) unterteilt worden, wobei die Anzahl der Verbindungen eines
Pakets zu den anderen auf ein Minimum reduziert wurde. Jedes dieser Pakete enthält demnach ein Modell für ein Modell (Metamodell), welches zur Beschreibung
von in bestimmten Bereichen der ISC auftretenden Daten verwendet werden kann.
Beispielsweise ist ein Paket Relational entwickelt worden, welches Metakonzepte
wie Table und Column deniert. Um einer Verwirrung ob der vielen Abstraktionsebenen vorzubeugen, sind diese noch einmal in übersichtlicher Art und Weise in
Abbildung 5.1 dargestellt. Wie man sieht, existiert in der Terminologie der OMG
oberhalb des UML- und CWM-Metamodells (M2) noch eine weitere Abstraktionsebene (M3). Auf dieser obersten Abstraktionsebene ist die Meta Object Facility
(MOF) angesiedelt, welche eine gemeinsame abstrakte Sprache zur Spezikation
von Metamodellen deniert. Die MOF ist sowohl Grundlage der UML als auch des
CWM. Alle Metadaten-Modelle nutzen die durch die UML vorgegebenen Notationen (Syntax), wenn auch im Fall der MOF in sehr restriktiver Form. Die Aufteilung
der Modelle auf verschiedene Abstraktionsebenen bezieht sich lediglich auf ihre Semantik. In Abschnitt 5.1 ist auch der Bereich des Datenaustauschs erfasst. Man
sieht, dass sich die Beschreibung der serialisierten Metadaten auf ähnliche Weise
4
Diese Aufteilung kann unter anderem zur Optimierung der Architektur der Metadatenspeicher
nützlich sein. Auf derselben Ebene einer hierarchischen Metadaten-Architektur kann so die
Kommunikation auf bestimmte Pakete des CWM beschränkt werden. Näheres hierzu ndet
sich in [PCTM03].
63
5 Common Warehouse Metamodel und Imperfektion
Abbildung 5.1: Metamodellarchitektur der OMG
Abbildung 5.2: CWM-Schichtenmodell
vollzieht wie die Beschreibung ihrer internen Repräsentation. Auch hier können die
verwendeten Modelle den verschiedenen Abstraktionsebenen zugeordnet werden.
Die Pakete des CWM sind in insgesamt fünf Schichten angeordnet, wobei die
oberen Schichten auf den unteren aufbauen und deren Konzepte gegebenenfalls
erweitern. Eine Modularisierung wird insofern erreicht, als dass der Entwickler einer
ISC nur diejenigen Pakete des CWM benutzen muss, die auch wirklich benötigt
werden. Abbildung 5.2 gibt einen Überblick über die verschiedenen Pakete.
5.3.1 Die Schichten des CWM
Auf der untersten Ebene (Object Model ) werden die grundlegenden Elemente, auf
denen alle Konzepte der höheren Schichten aufbauen, festgelegt. Es ist aus den vier
Paketen Core, Behavioral, Relationships und Instance aufgebaut. Das Core -Paket
enthält die statischen Grundbausteine der UML, beispielsweise die Objekte Ele-
64
5.3 Das Common Warehouse Metamodel (CWM)
ment, Attribute etc. Das Behavioral -Paket ergänzt diese statischen Elemente durch
verhaltensbezogene Elemente wie etwa Methoden. Im Paket Relationships werden
verschiedene Arten von Beziehungen modelliert, die Objekte des CWM eingehen
können, beispielsweise Assoziationen und Generalisierungen. Das Instance -Paket
schlieÿlich enthält Modellelemente, die dazu benutzt werden können, Instanzen
bestimmter Klassen zu repräsentieren. Dieses Paket ist auch deshalb interessant,
weil es später dazu verwendet werden kann, ausnahmsweise auch echte Daten
im CWM zu transportieren. Ein typisches Beispiel für solche Daten wären feste
Wertebereiche der Spalte einer Tabelle.
Auf der nächsten Schicht (Foundation ), die aus den sechs Paketen Business
Information, Data Types, Expressions, Keys and Indexes, Software Deployment
und Type Mapping besteht, werden aufbauend auf den einfacheren Elementen des
Object Model allgemeine Konzepte deniert, die ebenfalls in allen Bereichen des
CWM von Bedeutung sind. Das Paket Business Information bildet die Grundlage
zur Einbeziehung beschreibender Informationen und Ansprechpartner. Durch das
Data Types -Paket werden Elemente im Object Model so erweitert, dass gegebenenfalls neue Datentypen deniert werden können. Das Paket Expressions bietet
die Möglichkeit, Ausdrücke wie sie zum Beispiel auch in Programmiersprachen vorkommen, auf der Modellebene zu beschreiben. Indizes und Schlüssel, die vor allem
im relationalen, aber auch im multidimensionalen Modell eine entscheidende Rolle
spielen, werden im Paket Keys and Indexes beschrieben. Das Paket Software Deployment ermöglicht die Beschreibung von Software aus Komponenten und deren
Betrieb. Das Type Mapping -Paket gibt schlieÿlich die Mittel her, um Mappings
zwischen unterschiedlichen Datentypen zu modellieren. Dies ist oensichtlich sehr
wichtig, da ja gerade die Kompatibilität unterschiedlicher Software-Tools gewährleistet werden soll.
Die nächsthöhere Schicht des CWM (Resource ) enthält Modelle, die typische
Datenquellen einer ISC beschreiben. Das Relational -, Record -, Multidimensional und XML-Paket erweitern jeweils Konzepte der beiden darunterliegenden Schichten und modellieren Metadaten, die unter anderem relationale Datenbanken, multidimensionale Datenbanken und XML-basierte Datenquellen beschreiben. Das Object -Paket ist nur der Vollständigkeit halber in die Resource -Schicht des CWM
aufgenommen worden, denn alle Konzepte, die für die Modellierung einer objektorientierten Datenquelle benötigt werden, sind bereits in den Schichten Foundation
und Object Model vorhanden.
Auf der Analysis -Schicht sind diejenigen Konzepte modelliert worden, die im
OLAP-Bereich und Data Mining Verwendung nden (OLAP, Data Mining, Information Visualization, Business Nomenclature ). Auÿerdem ist hier auch das Paket
Transformation angesiedelt, welches dazu benutzt werden kann, um Quell- und
Zielmappings zu modellieren und entsprechende Transformationsvorschriften zu
beschreiben. Diese Transformationen können sowohl zwischen unterschiedlichen
Datenquellen der darunterliegenden Schicht als auch zwischen der Resource - und
der Analysis -Schicht stattnden. Ein typischer Anwendungsbereich ist die Verschiebung von Datenbeständen von einem Speicherbereich der ISC in einen anderen, bei-
65
5 Common Warehouse Metamodel und Imperfektion
spielsweise das Laden von Daten aus dem Arbeitsbereich in das eigentliche Data
Warehouse.
Die Management -Schicht des CWM beschreibt Möglichkeiten zur Modellierung
von Metadaten, welche die ISC als Ganzes betreen, insbesondere Servicefunktionen des Data-Warehouse-Systems zur Steuerung und Kontrolle des Analyseprozesses. Mit Hilfe des Warehouse Process -Pakets können zum Beispiel die Metadaten
eines typischen ETL-Prozess modelliert werden. Im Paket Warehouse Operation
benden sich Konstrukte zur Dokumentation von Ereignissen im Data WarehouseProzess.
5.3.2 Der Austausch von Metadaten im CWM
Mit diesem gemeinsamen Gerüst zur Beschreibung der in der ISC kursierenden
Metadaten ist der erste Schritt hin zu mehr Eektivität und Ezienz bei der
Datenverarbeitung im Data-Warehouse-Prozess getan. Es muss jedoch auch die
entsprechende Infrastruktur zur Verfügung gestellt werden, die einen tatsächlichen
Austausch der gemäÿ den verschiedenen Metamodell-Paketen konstruierten Metadaten ermöglicht. Hierzu sind im CWM zwei Varianten vorgesehen.
Einerseits können die Metadaten über eine spezielle durch die Interface Denition Language (IDL) denierte Schnittstelle ausgetauscht werden, das heiÿt eine an
der ISC beteiligte Software greift auf die zentral verwalteten Metadaten des CWM
über eine Programmier-Schnittstelle zu. Diese IDL-Schnittstellen beschreiben den
Zugri auf die in den verschiedenen CWM-Paketen enthaltenen Metadatenobjekte.
Andererseits besteht auch die Möglichkeit, Metadaten in Form von XML-Dateien
auszutauschen. Hierzu bietet die OMG ein spezielles XML-basiertes Format zum
Austausch von Metadaten in und zwischen Software-Systemen an, das XML Metadata Interchange (XMI). Dieses Format ist in entsprechenden Document Type Denitions (DTD) bzw. XML-Schemata festgelegt, das heiÿt es wird eine regelbasierte
Erzeugung und Validierung von XMI-Dokumenten ermöglicht. Dabei werden die
Metadaten derart serialisiert, dass jede Metadaten-Instanz als XML-Elementinhalt
innerhalb eines entsprechenden Metamodel-Tags gespeichert wird (siehe auch Abbildung 5.1).
5.3.3 Erweiterungsmöglichkeiten
Das CWM erhebt den Anspruch, einen exiblen Rahmen für Spezikation und
Austausch von Metadaten im Data Warehousing bereitzustellen. Daher sind auch
standardisierte Formen der Erweiterung vorgegeben worden, die es ermöglichen,
das CWM an die Anforderungen bestimmter Anwendungen anzupassen. Das CWM
sieht zwei grundsätzlich verschiedene Erweiterungskonzepte vor: Den Einsatz von
Stereotypes und TaggedValues sowie die objekt-orientierte Erweiterung.
Stereotypes und TaggedValues
Stereotypes sind spezielle Labels, die gleichsam
an Klassen angehängt werden können, um deren Verwendung näher zu beschreiben.
66
5.3 Das Common Warehouse Metamodel (CWM)
Abbildung 5.3: Erweiterung des Objekt-Modells durch Stereotypes und TaggedValues
Ihre Klasse ist in der Vererbungshierarchie des Core -Pakets direkt unterhalb der
zentralen Klasse ModelElement angesiedelt, das heiÿt, alle Klassen des CWM erben
die Eigenschaft, als Anhängsel Stereotype -Objekte haben zu können. Abbildung 5.3
zeigt die Beziehungen zwischen ModelElement, Stereotype und TaggedValue.
TaggedValues sind Name-Wert-Paare, die in beliebiger Anzahl mit einem Stereotype assoziiert werden können. Sie können dazu benutzt werden, anwendungsspezische Attribute zu speichern. Ein gewichtiger Nachteil der TaggedValues ist,
dass sie die in ihnen gespeicherten Werte nur das String -Format besitzen können.
Das bedeutet, dass speziellere Datenformate bei der Metadatenübertragung im
Warehouse-Prozess ohne zusätzliche Kommunikation der Komponenten verloren
gehen.
Objektorientierte Erweiterung Grundsätzlich stehen zur Erweiterung des CWM
auch alle OO-Techniken wie Vererbung, Spezialisierung, das Hinzufügen von Attributen und Assoziationen zur Verfügung. Ein typisches Beispiel hierzu wäre die Modellierung einer eigenen Metaklasse, die von einer Standard-Metaklasse des CWM
erbt. Diese neue Metaklasse kann dann beliebig durch spezielle Attribute erweitert
und mit anderen neuen Metaklassen assoziiert werden.
Dieser Erweiterungsmechanismus erscheint auf den ersten Blick sehr mächtig.
In der Tat kann man das CWM dadurch auf beliebige Art und Weise erweitern,
ohne dabei dessen ursprüngliche Struktur, welche Grundlage des standardisierten
Austauschs von Metadaten ist, zu verändern. Trotzdem sollte man sich vergegenwärtigen, dass alle Metadaten einer Anwendung, die auf einer objekt-orientierten
Erweiterung des CWM basiert, von anderen Anwendungen, auch wenn diese den
CWM-Standard unterstützen, nicht verstanden werden können. Echte Kompatibilität kann dann nur dann erreicht werden, wenn all diese Anwendungen dieselbe
Erweiterung einsetzen. Natürlich reicht es in den Fällen, in denen das erweiterte
Metamodell nur anwendungsintern genutzt wird aus, wenn zum Beispiel Speziali67
5 Common Warehouse Metamodel und Imperfektion
sierungen rückgängig gemacht werden (Upcasting ), also nur das CWM-kompatible
Eltern-Objekt an andere Anwendungen übertragen wird.
Es kann davon ausgegangen werden, dass im Zuge der Umstellung von UML 1.3
auf UML 2.0 auch die Konzeption des CWM angepasst werden wird. Insbesondere
werden davon auch die Erweiterungsmechanismen betroen sein. In UML 2.0 können anwendungsspezische Konstrukte durch das neu eingeführte UML-Proling
modelliert werden. Details hierzu können der Studienarbeit von Nils Hilt [Hil05]
entnommen werden.
5.4 Imperfektion in Datenbanken
Dieser Abschnitt führt kurz in die Problematik von imperfekten Daten deren
Speicherung in Datenbanken ein. Er ist gröÿenteils den Arbeiten von Erik Koop
[Koo04a], Andreas Merkel [Mer04], Alexander Haag [Haa04] und Nils Hilt [Hil05]
entnommen.
5.4.1 Der Begri der Imperfektion
Imperfekte Information ist Information, die einen Sachverhalt nur unvollständig
oder unvollendet beschreibt. In [Koo04a] wird imperfekte Information in drei Kategorien wie folgt eingeteilt.
Unsichere Information
Eine Information ist unsicher, wenn aufgrund der verfügbaren Daten nicht festgestellt werden kann, ob sie wahr oder falsch ist.
Unscharfe Information
Eine Information wird als unscharf bezeichnet, wenn sie
nicht eindeutig klassiziert werden kann. Dies setzt voraus, dass der Übergang
zwischen den denierten Klassen ieÿend sein kann.
Ungenaue Imformation
Eine Information ist ungenau, wenn sie nur mittels eines
Intervalls oder ähnlich grober Klassizierungsarten angegeben werden kann.
5.4.2 Theorien und Modelle zur Imperfektion
Zur Darstellung imperfekter Informationen existieren zwei grundsätzlich verschiedene formale Ansätze: Die klassische Wahrscheinlichkeitstheorie und die etwas
neuere Fuzzy-Theorie.
Wahrscheinlichkeitstheorie Die Wahrscheinlichkeitstheorie hat die Aussagenlogik zur Grundlage, derzufolge eine Aussage nur entweder wahr oder falsch sein
kann bzw. ein bestimmtes Ereignis nur entweder vollständig oder gar nicht eintreten kann, das heiÿt, an der grundsätzlichen Qualität eines Ereignisses wird nicht
gerüttelt. Wirft man eine Münze, so kann man, nachdem die Münze liegengeblieben ist, mit Sicherheit sagen, ob die Aussage Münze zeigt Kopf wahr oder falsch
68
5.4 Imperfektion in Datenbanken
ist. Allerdings wird die Wahrscheinlichkeit des Eintritts eines Ereignisses bzw. der
Grad der Überzeugung, dass eine bestimmte Aussage zutrit, gleichsam separat
durch das sogenannte Wahrscheinlichkeitsmaÿ gemessen. Im Fall der Münze kann
man normalerweise annehmen, dass die Wahrscheinlichkeit für das Ereignis Münze zeigt Kopf bei 50% liegt. Die Wahrscheinlichkeitstheorie eignet sich somit ideal
für die Modellierung von unsicherer Information: Es genügt die Angabe der möglichen Aussagen bzw. Ereignisse und des zugehörigen Wahrscheinlichkeitsmaÿes, um
die unsichere Information hinreichend genau zu charakterisieren.
Fuzzy-Theorie
Die Fuzzy-Theorie setzt in ihrer Charakterisierung einer Aussage
bereits auf der Stufe der tatsächlichen Ausprägung an. Sie erweitert die Aussagenlogik um Zwischenstufen zu wahr und falsch beziehungsweise teilt Ereignisse in
unscharfe Mengen, die sogenannten Fuzzy-Mengen ein [Hil05].
In der klassischen Mengenlehre wird eine Menge durch eine ihr zugeordnete
charakteristische Funktion beschrieben. Für ein beliebiges Element gibt diese gewöhnlich an, ob es zur beschriebenen Menge gehört oder nicht.5 Die Bildmenge der
klassischen charakteristischen Funktion ist also binär. Der Fuzzy-Theorie zufolge
ist die Bildmenge einer normalisierten charakteristischen Funktion zur Denition
einer Fuzzy-Menge das gesamte kontinuierliche Einheisintervall [0,1]. Die FuzzyMenge gibt demnach den Zugehörigkeitsgrad eines Elements zu einer Menge an
[Hil05].
Beispiel:
Bekanntlich kann man aus den drei Primärfarben Gelb, Rot und Blau
alle anderen Farben durch Mischen herstellen. Angenommen wir wollen die Farbächen eines Bildes (farblich) klassizieren, aber wegen der groÿen Anzahl der
möglichen Farben nicht eine Klasse für jeden Farbton bereithalten. Hier könnte
man einfach die drei Primärfarben als Klassen angeben und die ihnen zugeordneten Mengen von Farbächen als Fuzzy-Mengen mit entsprechenden Zugehörigkeitsfunktionen beschreiben. Für eine reine grüne Farbäche würde dann sowohl
die Zugehörigkeitsfunktion der Fuzzy-Menge Gelb als auch die der Fuzzy-Menge
Blau eine Zugehörigkeit von 0,5 ergeben, da sich ein reines Grün aus jeweils gleichen Anteilen der Primärfarben Gelb und Blau zusammensetzt.
Vergleicht man den Begri der unscharfen Information mit den Aussagen der
Fuzzy-Theorie, so kann man sehen, dass sich unscharfe Informationen gut durch
die charakteristische Funktion von Fuzzy-Mengen beschreiben lassen.
Linguistische Variable
Eine linguistische Variable hat als Wertebereich verbale Begrie, sogenannte Terme. Bezeichnet x eine linguistische Variable, T (x) die
Menge der möglichen Ausprägungen von x und e ein bestimmtes Ereignis aus der
Grundmenge U , so kann für jedes Element e ∈ U und jeden Term t ∈ T (x) der
Zugehörigkeitsgrad von e zu t bestimmt werden.
5
Diese Beziehung entspricht dem Begri des Enthaltenseins aus der klassischen Mengenlehre
69
5 Common Warehouse Metamodel und Imperfektion
Abbildung 5.4: Zugehörigkeitsfunktionen a) scharf b) fuzzy
scharf
Äquivalenzklasse
scharfe Klasse
Enthaltensein
scharfe Zugehörigkeitsfunktion
unscharf
Term
unscharfe Klasse
Zugehörigkeit
unscharfe Zugehörigkeitsfunktion
Tabelle 5.1: Gegenüberstellung der korrespondierenden Begrie für scharfe und unscharfe Einteilungen
Bei der Modellierung von ungenauen Informationen mit Hilfe von linguistischen
Variablen kann es grundsätzlich zu zwei Fällen kommmen. Entweder kann man
einen Wert immer genau einem Term zuordnen, d. h. der normalisierte Zugehörigkeitsgrad dieses einen Terms ergibt für diesen Wert 1 und der aller anderen Terme
0. In diesem Fall spricht man auch von scharfen Klassen. Oder der Wert wird
jeweils zu einem gewissen Grad mehreren Termen zugeordnet, das heiÿt die Zuordnung ist unscharf oder fuzzy (unscharfe Klassen ). Die aus [Haa04] entnommene
Abbildung 5.4 zeigt in a) den Fall einer scharfen Zugehörigkeitsfunktion und in b)
eine einfache Fuzzy-Zugehörigkeitsfunktion, die graphisch durch einen Trapezoiden
dargestellt werden kann.
In Tabelle 5.1 werden die in diesem Abschnitt eingeführten Begrie der Übersichtlichkeit zuliebe einander noch einmal direkt gegenübergestellt.
5.5 Erweiterung des CWM zur Modellierung
imperfekter Daten
In diesem Abschnitt sollen kurz die Ergebnisse der Arbeiten von Alexander Haag
[Haa04] und Nils Hilt [Hil05] bezüglich Erweiterungsmöglichkeiten des CWM zur
Modellierung imperfekter Daten zusammengefasst werden. Bezüglich der objektorientierten Erweiterung wird ein auf UML 1.3 basierender Ansatz vorgestellt, der
eine möglichst einfache Modellierung der Imperfektion für alle relevanten Konzepte
70
5.5 Erweiterung des CWM zur Modellierung imperfekter Daten
Abbildung 5.5: Imperfekte Stereotypes
des CWM beschreibt.
5.5.1 Erweiterung durch Stereotypes und TaggedValues
Die Erweiterung durch Stereotypes und TaggedValues hat wie oben beschrieben
den Vorteil, dass sie auch dann erhalten bleibt, wenn bestimmte Anwendungen der
ISC nicht explizit an die Erweiterung angepasst worden sind.
Alexander Haag hat in seiner Arbeit beispielhaft die Klasse Table des Relational -Pakets des CWM als Ansatzpunkt für die Erweiterung herausgegrien. Wie
aus Abbildung 5.3 ersichtlich, müssen neue Stereotypes und TaggedValues im Core Paket modelliert werden. Zunächst wird eine Klasse ImperfectionStereotype erstellt,
von der alle Klassen erben, die im Rahmen der Erweiterung durch imperfekte Daten hinzugefügt werden. Um anzuzeigen, dass eine Tabelle imperfekte Daten erhält
wird sie mit dem Stereotype Imperfect Table gekennzeichnet. Die entsprechende Klasse ist ImperfectTableStereotype. Jede Form der Imperfektion wird jeweils
durch eine Klasse modelliert: die Klassen UncertainStereotype, FuzzyStereotype und
ImpreciseStereotype erben von der Klasse ImperfectionStereotype. Abbildung 5.5
stellt diese Beziehungen graphisch dar.
Abbildung 5.6 zeigt ein Table -Objekt der Relation Verkehrsmeldung, die im Rahmen des OVID-Projekts verwendet werden soll. Die Spalten Start - und Endkilometer sowie Fluss und Störungstyp sind jeweils mit einem Stereotype versehen,
um anzuzeigen, dass die in ihnen abgelegten Daten imperfekt sind. In den angehängten TaggedValues wird auf die jeweiligs anzuwendende Zugehörigkeits- oder
71
5 Common Warehouse Metamodel und Imperfektion
Abbildung 5.6: Beispiel eines imperfekten Table -Objekts
Wahrscheinlichkeitsfunktion verwiesen.
Der Nachteil dieser Methode zur Modellierung von imperfekten Daten liegt auf
der Hand: Die jeweilige Qualität der Imperfektion kann nur in textueller Form
durch die TaggedValues beschrieben werden, eine explizite Modellierung, die auch
eine automatisierte Verarbeitung imperfekter Daten ermöglichen würde, kann mit
diesem Ansatz nicht erreicht werden.
Im folgenden Abschnitt wird daher die Möglichkeit der expliziten Erweiterung
des CWM zur Modellierung von imperfekten Daten untersucht.
5.5.2 Objektorientierte Erweiterung
Erster Schritt in Richtung einer objektorientierten Erweiterung des CWM muss
immer die Spezikation der an die Erweiterung gestellten Anforderungen sein. Die
Modellierung imperfekter Daten soll im gesamten Warehouse-Prozess möglich sein,
da die Imperfektion durchgängig von der Erhebung der Daten bis zur analytischen Auswertung durch OLAP-Tools erhalten bleiben soll. Würde man wie in
[Haa04] als Ansatzpunkt das Relational -Paket wählen, so könnte man Imperfektion
nur im Umfeld relationaler Datenquellen beschreiben. Informationen sind jedoch
imperfekt unabhängig davon, durch welches Datenmodell sie beschrieben werden
[Hil05]. Sucht man nun ausgehend von der Resource -Schicht des CWM nach dem
nächsthöheren Ansatzpunkt zur Beschreibung von Imperfektion, so stöÿt man
durchgängig auf die (Meta-)Klasse Attribute aus dem Core -Paket, welches in Abbildung 5.7 dargestellt ist.
Dies hängt auch mit der systematischen Konstruktion der Resource -Schicht zu-
72
5.5 Erweiterung des CWM zur Modellierung imperfekter Daten
Abbildung 5.7: Ausschnitt des Core -Pakets
sammen: Alle grundlegenden Klassen eines Pakets auf dieser Ebene haben eine
korresondierende Klasse in einem anderen Paket.6
Eine spezielle Anforderung bei der Modellierung von Unsicherheit ist, dass Unsicherheit auf unterschiedlichen Granularitätsstufen auftreten kann. Beispielsweise
kann im Fall einer Staumeldung der Meldung pauschal misstraut werden oder nur
einer einzelnen in ihr enthaltenen Information wie etwa der Staulänge.7 Daher muss
eine objekt-orientierte Erweiterung ausreichend hoch in der Vererbungshierarchie
des Core -Pakets ansetzen, um insbesondere unsichere Daten auf allen Granularitätsstufen der Informationsmodellierung beschreiben zu können. In [Hil05] wird
zunächst die Classier -Klasse des Core -Pakets als höchster Ansatzpunkt für die
Modellierung von Unsicherheit verwendet. Damit soll erreicht werden, dass auch
ganze Tabellen als unsicher eingestuft werden können. Es ist jedoch fraglich, ob dieser Fall in der Realität überhaupt vorkommt, da eine relationale Tabelle lediglich
ein Konstrukt zur Datenhaltung ist und keine Entsprechung in der realen Welt
ndet. Weiter wird die Klasse Datatype des Core -Pakets erweitert, um spezielle
Datentypen zu spezizieren, welche die Speicherung imperfekter Daten ermöglicht.
Beispielsweise korrespondiert die Klasse Table des Relational -Pakets mit der Klasse Dimension
des Multidimensional -Pakets
7
Übertragen auf das relationale Modell bedeutet dies, dass sowohl eine ganzes Tupel als auch
einzelne Attributwerte einer Relation als unsicher angesehen werden können.
6
73
5 Common Warehouse Metamodel und Imperfektion
Abbildung 5.8: Erweiterung des Core-Paketes um Möglichkeiten der Modellierung
von Imperfektion
Es ist beispielsweise denkbar, ungenau Daten gleich in Form von Intervallen zu
speichern. Obgleich dieser Ansatz natürlich sehr interessant ist, unterscheidet er
sich grundsätzlich von dem in [Haa04] dargestellten Vorgehen, wo Daten in herkömmlicher Form abgespeichert werden und gleichsam nachträglich einem semantischen Kontext zugeordnet werden. Der jeweilige Ansatz sollte einer einheitlichen
Modellierung zuliebe konsequent verfolgt werden. In dieser Arbeit soll der von
[Haa04] vorgeschlagene Ansatz weitergeführt werden: Ziel dabei ist es, nicht nur
das Relational -Paket, sondern alle Pakete der Resource -Schicht durch Imperfektion
erweiterbar zu machen. Als allgemeiner Anknüpfungspunkt kommt die Attribute Klasse in Betracht. Im Falle der Unsicherheit beispielsweise eines ganzen Tupels
kann dies durch ein zusätzliches Attribut modelliert werden.
Wie in [Haa04] vorgestellt, kann die Konkretisierung der verschiedenen Formen
der Imperfektion durch die Assoziierung der entsprechenden Klassen (beispielsweise der Column -Klasse im relationalen Datenmodell) mit Funktionen erfolgen. Die
verschiedenen zur Beschreibung imperfekter Daten geeigneten Funktionen müssen
ebenfalls in Form von Klassen modelliert und dem CWM hinzugefügt werden. Es
ergibt sich wiederum eine Hierarchie, die als Ursprung die Klasse ModelElement
des Core -Pakets hat.
Durch die Erweiterung der Attribute -Klasse des Core -Pakets und eine entsprechende Assoziierung mit beschreibenden Funktionen könnte Imperfektion in die
Modellierung aller relevanten Konzepte des CWM miteinbezogen werden. Abbildung 5.8 fasst diese Ideen zusammen. Natürlich müsste die Assoziation DenedByFunction noch mit geeigneten Restriktionen versehen werden, die sicherstellen,
dass beispielsweise ein UncertainAttribute nur durch eine ProbabilityFunction be-
74
5.6 Fazit
schrieben werden kann.
5.6 Fazit
Der Nutzen einer semantischen Integration der Information Supply Chain ist durch
obige Ausführungen umrissen worden. Die OMG propagiert mit dem Common
Warehouse Metamodel und entsprechenden Vorschlägen für die Systemarchitektur
einen potentiell mächtigen Standard für das Metadatenmanagement. Aus obigen
Ausführungen lassen sich jedoch bereits einige Schwachstellen des Entwurfs erkennen. So legt die OMG explizit wert auf die Vollständigkeit der Modellierung. Dieses
Kriterium erscheint deshalb so wichtig, da ein einheitlicher Standard zum Metadatenaustausch erst dann interessant wird, wenn auch möglichst viele Konzepte
durch diesen Standard beschrieben werden können. Eine vollständige und ausgewogene Berücksichtigung aller Konzepte im Data Warehousing ist jedoch äuÿerst
schwierig, da die Anforderungen in diesem Bereich sehr stark variieren und sich
ständig weiterentwickeln. Von Experten wird beispielsweise bemängelt, dass wichtige Bereiche wie Berechtigungen, Semantik von Inhalten, Qualitätsmanagement, Berichtswesen und Unterstützung organisatorischer Prozesse ausspart werden. Auch
im Hinblick auf das Kriterium der Erweiterbarkeit ergeben sich Probleme. Wie
bereits dargestellt ist der einfache Erweiterungsmechanismus basierend auf Stereotypes und TaggedValues nur sehr eingeschränkt einsetzbar. Die objekt-orientierte
Erweiterung dagegen muss von allen an dem entsprechenden Metadatenaustausch
beteiligten Anwendungen implementiert werden. Dies ist insbesondere in solchen
Fällen problematisch, in denen eine bestimmte Semantik den gesamten WarehouseProzess hindurch erhalten bleiben soll, wie beispielsweise die Imperfektion von
Daten. Die im Rahmen des OVID-Projektes der Universität Karlsruhe (TH) thematisierte Imperfektion von Daten ist durch beide Erweiterungsmöglichkeiten des
CWM darstellbar, allerdings erönet lediglich die objekt-orientierte Erweiterung
die Möglichkeit, mit imperfekten Daten zu rechnen, also beispielsweise Aggregationen über Fuzzy-Attributwerte durchzuführen.
75
5 Common Warehouse Metamodel und Imperfektion
76
Wang Lu
6
Fuzzy UML
The UML (Unied Modeling Language) is a set of object-oriented modeling notations and is a standard of the Object Data Management Group (ODMG). It
can be applied in many areas of software engineering and knowledge engineering.
Increasingly, the UML is being applied to data modeling. However, information
in real-world applications is often vague or ambiguous. In this chapter, dierent
levels of fuzziness are introduced into the class of the UML and the corresponding
graphical representations are given. The class diagrams of the UML can hereby
model fuzzy information.
6.1 Introduction
The objective of database design is to capture the essential aspects of some realworld enterprise for which one wishes to construct a database. Figure 6.1 shows a
simplied description of the database design process. Then four major steps are
applied for the database design process, which are the requirements collection &
analysis, conceptual data modeling, logical database model, and physical database
model, respectively [Ma05a].
In the rst step, the database designers collect and analyze the data requirements
from prospective database users.
In the second step, the conceptual data models (e.g., UML) are used to create a
conceptual schema for the database.
In the third step, the logical database model is designed through mapping the
conceptual schema represented by the conceptual data model. The result of this
step is perhaps a relational or object-oriented database model.
Finally, in the fourth step, the physical database model is design.
77
6 Fuzzy UML
Requirements
Collection & Analysis
Conceptual Data
Modeling
Logical Database
Model
Physical Database
Model
Abbildung 6.1: Database Design Process
In real-world applications, information is often imperfect. There have been
some attempts at classifying various possible kinds of imperfect information.
Inconsistency, imprecision, vagueness uncertainty, and ambiguity are ve basic
kinds of imperfect information in database systems.
Inconsistency is a kind of semantic conict when one aspect of the real world
is irreconcilably represented more than once in a database or several dierent
databases. For example, one has married value and single value for Tom's
marital status.
Intuitively, imprecision and vagueness are relevant to the content of an attribute
value, and it means that a choice must be made from a given range of values but
it is not known exactly which one to choose at present. For example, between
20 and 30 years old and young for the attribute Age are imprecise and vague
values, respectively.
Uncertainty is related to the degree of truth of its attribute value, and it means
that one can apportion some, but not all, of our belief to a given value or a
group of values. For example, the sentence that I am 95 percent sure that Tom is
married represents information uncertainty.
The ambiguity means that some elements of the model lack complete semantics,
leading to several possible interpretations.
Vagueness and uncertainty are generally modeled with fuzzy sets and possibility
theory. Many of the existing approaches dealing with imprecision and uncertainty
are based on the theory of fuzzy sets.
The remainder of this chapter is organized as follows. The second section gives the
basic knowledge about fuzzy data and semantic measure as well as knowledge of
78
6.2 Basic knowledge
„Tall Person“
1.0
0.5
1.0
1.5
2.0
Dimension
in m
Abbildung 6.2: Fuzzy set to concept tall person
the UML class model. The fuzzy objects, fuzzy classes and fuzzy object-class relationships are described in the third section. The fuzzy extension to class model in
the UML is presented in the fourth section. The last section concludes this chapter.
6.2 Basic knowledge
6.2.1 Fuzzy Set and Possibility Distribution
The concept of fuzzy sets was originally introduced by Zadeh. Let U be a universe
of discourse. A fuzzy value on U can be characterised by a fuzzy set F in U . A
membership function µF : U → [0, 1] is dened for the fuzzy set F , where µF (u),
for each u ∈ U , denotes the degree of membership of u in the fuzzy set F . Thus,
the fuzzy set F is described as follows [Ma05b]:
F = {µ(u1 )/u1 , µ(u2 )/u2 , . . . , µ(un )/un }
where the pair µ(ui )/ui represents the value ui and its membership degree µ(ui ).
The membership function µF (u) can be interpreted as a measure of the possibility
that the value of variable X is u. A fuzzy set is equivalently represented by its
associated possibility distribution πX :
π = {πX (u1 )/u1 , πX (u2 )/u2 , . . . , πX (un )/un }
Here, πX (ui ), ui ∈ U , denotes the possibility that ui is true. Let πX and F be
the possibility distribution representation and the fuzzy set representation for a
fuzzy value, respectively. It is apparent that πX = F is true.
Beispiel 6.2.1 In the case of the "tall personït concerns a vague concept. This
concept can be elegantly represented by means of a Fuzzy set, as Figure 6.2 shows.
Semantic measure of fuzzy data [MZM04]
Let U = {ui , u2 , . . . , un { be the
universe of discourse. Let πA and πB be two fuzzy data on U based on possibility
79
6 Fuzzy UML
Class name
Attributes
Operations
Abbildung 6.3: The class icon
distribution and πA (ui ), ui ∈ U , denote the possibility that ui is true. Let Res be
a resemblance relation on domain U , α for 0 ≤ α ≤ 1 be a threshold corresponding
to Res. SID(πA , πB ) is then dened by
, n
n
X
X
SID(πA , πB ) =
min (πB (ui ), πA (ui ))
πB (ui ).
i=1
ui ,uj ∈D
i=1
The notion of the semantic equivalence degree of attribute values can by extended to the semantic equivalence degree of tuples. Let ti = hai1 , ai2 , . . . , ain i and
tj = haj1 , aj2 , . . . , ajn i be two tuples in fuzzy relational instance r over schema
R(A1 , A2 , . . . , An ). The semantic equivalence degree of tuples ti and tj is denoted
SE(ti , tj ) = min{SE(ti [A1 ], tj [A1 ]), SE(ti [A2 ], tj [A2 ]), . . . , SE(ti [An ], tj [An ])}.
6.2.2 UML Class Model
UML provides a collection of models to capture the many aspects of a software
system. From the database modeling point of view, the most relevant model is
the class model. The building blocks in this class model are those of classes and
relationships. We briey review these building blocks.
Classes
Being the descriptor for a set of objects with similar structure, behavior,
and relationships, a class represents a concept within the system being modeled.
Classes have data structure and behavior and relationships to other elements. Figure 6.3 shows a class.
Relationships
Another main structural component in the class diagram of the
UML is relationships for the representation of relationship between classes or class
instances. UML supports a variety of relationships:
1. Aggregation and composition: An aggregation captures a whole-part relationship between an aggregate, a class that represent the whole, and a constituent
part.
Figure 6.4 shows an aggregation relationship.
80
6.2 Basic knowledge
Car
Engine
Interior
Chassis
Abbildung 6.4: Simple aggregation relationship
Vehicle
Car
Truck
Abbildung 6.5: Simple generalization relationship
2. Generalization: Generalization is used to dene a relationship between classes
to build taxonomy of classes: one class is a more general description of a set
of other classes.
Figure 6.5 shows a generalization relationship.
3. Association: Associations are relationships that describe connections among
class instances. A role may be assigned to each class taking part in an association, making the association a directed link.
Figure 6.6 shows an association relationship.
4. Dependency: A dependency indicates a semantic relationship between two
installing
CD Player
Car
Abbildung 6.6: Simple association relationship
81
6 Fuzzy UML
Dependent
Employee
Abbildung 6.7: Simple dependency relationship
classes. It indicates a situation in which a change to the target class may
require a change to the source class in the dependency.
Figure 6.7 shows a dependency relationship.
6.3 Fuzzy objects and classes
6.3.1 Fuzzy objects
An objects is fuzzy because of a lack of information. For example, an object representing a part in preliminary design for certain will also be made of stainless steel,
moulded steel, or alloy steel (each of them may be connected with a possibility, say,
0.7, 0.5 and 0.9, respectively). Formally, objects that have at least one attribute
whose value is a fuzzy set are fuzzy objects.
6.3.2 Fuzzy classes
Theoretically, a class can be considered form two dierent viewpoints:
1. an extensional class, where the class is dened by the list of its object instances, and
2. an intensional class, where the class is dened by a set of attributes and their
admissible values.
In addition, a subclass dened from its superclass by means of inheritance mechanism in the OODB can by seen as the special case of (b) above.
Therefore, a class is fuzzy because of the following several reasons. First, some
objects are fuzzy ones, which have similar properties. A class dened by these
objects may be fuzzy. These objects belong to the class with membership degree
of [0, 1]. Second, when a class is intensionally dened, the domain of an attribute
may be fuzzy and a fuzzy class is formed. Third, the subclass produced by a fuzzy
class by means of specialization and the superclass produced by some classes (in
which there is at least one class who is fuzzy) by means of generalization are also
fuzzy.
82
6.3 Fuzzy objects and classes
6.3.3 Fuzzy object-class relationships
In the fuzzy OODB, the following four situations can by distinguished for objectclass relationships.
1. Crisp class and crisp object : the object belongs or not to the class certainly.
2. Crisp class and fuzzy object : the object may be related to the class with the
special degree in [0, 1].
3. Fuzzy class and crisp object : the object may belong to the class with the
membership degree in [0, 1].
4. Fuzzy class and fuzzy object : the object belongs to the class with the membership degree in [0, 1].
The object-class relationships in (b)(d) above are called fuzzy object-class relationships. In fact, the situation in (a) can be seen as the special case of fuzzy
object-class relationships, where the membership degree of the object to the class
is one.
In order to calculate the membership degree of an object to the class in a fuzzy
object-class relationship, it is necessary to evaluate the degrees that the attribute
domains of the class include the attribute values of the object. The attributes play
dierent role in the denition and identication of a class, therefore, a weight w
is assigned to each attribute of the class according to its importance by designer.
Then the membership degree of an object to the class in a fuzzy object-class relationship should be calculated using the inclusion degree of object values with
respect to the class domains and the weight of attributes.
Let C be a class with attributes {A1 , A2 , . . . , An }, o be an object on attribute set
{A1 , A2 , . . . , An }, and let o(Ai ) denote the attribute value of o on Ai (1 ≤ i ≤ n).
In C , each attribute Ai is denoted ID(dom(Ai ), o(Ai )). In the following, we investigate the evaluation of ID(dom(Ai ), o(Ai )).
Let f dom(Ai ) = {f1 , f2 , . . . , fm }, where fj (1 ≤ j ≤ m) is a fuzzy value, and
cdom(Ai ) = {c1 , c2 , . . . , ck }, where cl (1 ≤ l ≤ k) is a crisp value. Then
ID(dom(Ai ), o(Ai )) = max(ID(cdom(Ai ), o(Ai )), ID(f dom(Ai ), o(Ai )))
= max(SID({1.0/ci , 1.0/c2 , . . . , 1.0/ck }, o(Ai )),
max(SID(fj , o(Ai )))),
j
Now,we dene the formula to calculate the membership degree of the object o to
the class C as follows, where w(Ai (C)) denotes the weight of attribute Ai to class
C:
Pn
ID(dom(Ai ), o(Ai )) × w(Ai (C))
Pn
µC (o) = i=1
(6.1)
i=1 w(Ai (C))
83
6 Fuzzy UML
Ph.D. student
ID
Name
FUZZY Age
Office WITH 0.8 DEGREE
µ
Abbildung 6.8: A fuzzy class
6.4 Fuzzy Modeling of Fuzzy Data
We dene three levels of fuzziness:
1. Fuzziness in the extent to which the class belongs in the data model as well
as fuzziness on the content (in terms of attributes) of the class
2. Fuzziness related to whether some instances are instances of a class
3. The third level of fuzziness is on attribute values of the instances of the
class; an attribute in a class denes a value domain, and when this domain
is a fuzzy subset or a set of fuzzy subset, the fuzziness of an attribute value
appears
6.4.1 Fuzzy Class
In order to model the rst level of fuzziness, i.e., an attribute or a class with degree
of membership, the attribute or class name should be followed by a pair of words
WITH mem DEGREE, where 0 ≤ mem ≤ 1. In order to model the third level of
fuzziness, a keyword FUZZY is placed in front of the attribute. In the second level
of fuzziness, an additional attribute (µ) is introduced into the class to represent
instance membership degree to the class, with an attribute domain that is [0, 1]. In
order to dierentiate the class with the second level of fuzziness, we use a dashedoutline rectangle to denote such class. Figure 6.8 shows a fuzzy class Ph.D.student.
6.4.2 Fuzzy Generalization
A new class, called subclass, is produced form another class, called superclass.
• Based on the extensional viewpoint of class :
We can assess fuzzy subclass-superclass relationship by utilizing the inclusion
degree of objects to the class.
Because a subclass is the specialization of the superclass, any one object belonging to the subclass must belong to the superclass. This characteristic can
84
6.4 Fuzzy Modeling of Fuzzy Data
by used to determine if two classes have a subclass-superclass relationship.
A subclass produced from a fuzzy superclass must be fuzzy, the subclasssuperclass relationship is fuzzy too. In other words, a class is a subclass of
another class with membership degree of [0, 1] at this moment. Correspondingly, we have the following method for determining a subclass-superclass
relationship:
We assume that the classes can only have the second level of fuzziness.
1. For an (fuzzy) object, if the membership degree that it belongs to
the subclass is less than or equal to the membership degree, then
it belongs to the superclass.
2. The membership degree that it belongs to the subclass is greater
than or equal to the given threshold.
Formally, let A and B be (fuzzy) classes and β be a given threshold. We
say B is a subclass of A if
(∀e)(β ≤ µB (e) ≤ µA (e))
The membership degree that is a B subclass of A should be
minµB (e)≥β (µB (e)). Here, e is the object instance of A and B in the
universe of discourse, and µA (e) and µB (e) are membership degrees of
e to A and B , respectively.
We consider the situation that classes A or B are the classes with membership degree, namely, with the rst level of fuzziness.
A WITH degree_A DEGREE
B WITH degree_B DEGREE
Then B is a subclass of A if
(∀e)(β ≤ µB (e) ≤ µA (e)) ∧ (β ≤ degree_B ≤ degree_A)
The membership degrees of A and B must be greater than or equal to
the given threshold, and the membership degree of A must be greater
than or equal to the membership degree of B .
Consider a fuzzy superclass A and its fuzzy subclasses B 1, B 2,
. . . , B n with instance membership degrees µA , µB1 , µB2 , . . . ,
and µBn , respectively, which may have the degrees of membership
degree_A, degree_B1, degree_B2, . . . , and degree_Bn, respectively.
Then the following relationship is true:
(∀e)(max(µB1 (e), µB2 (e), . . . , µBn (e)) ≤ µA (e)) ∧ (max(degree_B1,
degree_B2, . . . , degree_Bn) ≤ degree_A)
85
6 Fuzzy UML
Youth
Young Student
Young Faculty
Abbildung 6.9: A fuzzy generalization relationship
• Based on the intensional viewpoint of class :
We can use the inclusion degree of a class with respect to another class to
determine the relationships between fuzzy subclass and superclass.
We assume that classes A and B can only have the second level of
fuzziness.
Formally, let A and B be (fuzzy) classes and the degree that B is the
subclass of A be denoted by µ(A, B). For a given threshold β , we say
B is a subclass of A if
µ(A, B) ≥ β
We consider the situation that classes A or B are the classes with membership degree, namely, with the rst level of fuzziness:
A WITH degree_A DEGREE
B WITH degree_B DEGREE
Then B is a subclass of A if
(µ(A, B) ≥ β) ∧ (β ≤ degree_B ≤ degree_A)
The inclusion degree of a (fuzzy) subclass with respect to the (fuzzy) superclass can be calculated according to the inclusion degree of the attribute
domains of the subclass with respect to the attribute domains of the superclass as well as the weight of attributes(s.formel 6.1 on page 83).
In order to represent a fuzzy generalization relation, a dashed peculiar triangular
arrowhead is applied. Figure 6.9 shows a fuzzy generalization relationship. Classes
young Student and Young Faculty are all classes with the second level of fuzziness.
These classes may have some instances that belong to the classes with membership
degree. These two classes can be generalized into class Youth, a class with the
second level of fuzziness.
86
6.4 Fuzzy Modeling of Fuzzy Data
6.4.3 Fuzzy Aggregation
An aggregation captures a whole-part relationship between an aggregate and a
constituent part.
• Based on the extensional viewpoint of class : Every instance of an aggregate
can be projected into a set of instances of constituent parts. Let A be an
aggregation of constituent parts B1, B2, . . .,and Bn. For e ∈ A, the projection of e to Bi is denoted by e ↓Bi . Then we have (e ↓B1 ) ∈ B1, (e ↓B2 ) ∈
B2, . . . , (e ↓Bn ) ∈ Bn.
A class aggregated form fuzzy constituent parts must be fuzzy, the aggregation is fuzzy too. At this point, a class is an aggregation of constituent parts
with membership degree of [0, 1]. Correspondingly, we have the following
method for determining a fuzzy aggregation relationship:
We assume that the classes can only have the second level of fuzziness.
1. For any (fuzzy) object, if the membership degree to which it belongs
to the aggregate is less than or equal to the membership degree to
which its projection to each constituent part belongs to the corresponding constituent part.
2. The membership degree to which it belongs to the aggregate is
greater than or equal to the given threshold.
The aggregate is then an aggregation of the constituent parts with the
membership degree, which is the minimum in the membership degrees to
which the projections of these objects to these constituent parts belong
to the corresponding constituent parts.
Let A be a fuzzy aggregation of fuzzy class sets B1, B2, . . . , and Bn,
with instance membership degrees that are µA , µB1 , µB2 , . . . , and µBn ,
respectively. Let β be a given threshold. Then,
(∀e)(e ∈ A∧β ≤ µA (e) ≤ min(µB1 (e ↓B1 ), µB2 (e ↓B2 ), . . . , µBn (e ↓Bn )))
The membership degree that A is an aggregation of class sets
B1, B2, . . . , and Bn should be minµBi (e↓Bi )≥β (µBi (e ↓Bi ))(1 ≤ i ≤ n).
Here, e is object instance of A.
We consider the rst level of fuzziness in the classes A, B1, B2, . . . , and
Bn, namely,they are the fuzzy classes with membership degrees.
A WITH degree_A DEGREE,
B1 WITH degree_B1 DEGREE,
B2 WITH degree_B2 DEGREE,
......
Bn WITH degree_Bn DEGREE.
87
6 Fuzzy UML
Then A is an aggregate of B1, B2, . . . , and Bn if
(∀e)(e ∈ A ∧ β ≤ µA (e) ≤ min(µB1 (e ↓B1 ), µB2 (e ↓B2 ), . . . , µBn (e ↓Bn )) ∧
degree_A ≤ min(degree_B1, degree_B2, . . . , degree_Bn)).
• Based on the intensional viewpoint of class :
Let A be a fuzzy aggregation of fuzzy class sets B1, B2, . . . , and Bn, and β
be a given threshold. Also let the projection of A to Bi be denoted by A ↓Bi .
Then,
We assume that the classes A, B1, B2, . . . , and Bn can only have the
second level of fuzziness.
min(µ(B1, A ↓B1 ), µ(B2, A ↓B2 ), . . . , µ(Bn, A ↓Bn )) ≥ β
Here µ(Bi, A ↓Bi )(1 ≤ i ≤ n) is the degree to which Bi semantically includes A ↓Bi . The membership degree to which A is an aggregation of B1, B2, . . . , and Bn is min(µ(B1, A ↓B1 ), µ(B2, A ↓B2
), . . . , µ(Bn, A ↓Bn )).
We consider the rst level of fuzziness in the classes A, B1, B2, . . . , and
Bn, namely, they are the fuzzy classes with membership degrees.
A WITH degree_A DEGREE,
B1 WITH degree_B1 DEGREE,
B2 WITH degree_B2 DEGREE,
......
Bn WITH degree_Bn DEGREE.
Then A is an aggregate of B1, B2, . . . , and Bn if
min(µ(B1, A ↓B1 ), µ(B2, A ↓B2 ), . . . , µ(Bn, A ↓Bn )) ≥ β ∧
degree_A ≤ min(degree_B1, degree_B2, . . . , degree_Bn))
A dashed open diamond is used to denote a fuzzy aggregate relationship. A fuzzy
aggregation relationship is shown in Figure 6.10. A car is aggregated by engine,
interior and chassis. The engine is old, and we have a fuzzy class Old Engine with
the second level of fuzziness. Class Old Car aggregated by classes interior and
chassis and fuzzy class old engine is a fuzzy one with the second level of fuzziness.
6.4.4 Fuzzy Association
Two levels of fuzziness can be identied in the association relationship. The rst
level of fuzziness means that an association relationship fuzzily exists in two associated classes, namely, this association relationship occurs with a degree of possibility.
88
6.4 Fuzzy Modeling of Fuzzy Data
Old Car
Old Engine
Interior
Chassis
Abbildung 6.10: A fuzzy aggregation relationship
CD Player
installing WITH 0.8 DEGREE
Car
(a)
CD Player
installing
Car
(b)
CD Player
installing WITH 0.8 DEGREE
Car
(C)
Abbildung 6.11: Fuzzy association relationships
Also, it is possible that it is unknown for certain if two class instances respectively belonging to the associated classes have the given association relationship,
although this association relationship must occur in these two classes. This is the
second level of fuzziness in the association relationship and is caused because an
instance belongs to a given class with membership degree. It is possible that the
two levels of fuzziness mentioned above may occur in an association relationship
simultaneously.
We can place a pair of words WITH mem DEGREE (0 ≤ mem ≤ 1) after the
role name of an association relationship to represent the rst level of fuzziness in
89
6 Fuzzy UML
the association relationship. We use a double line with an arrowhead to denote
the second level of fuzziness in the association relationship. Figure 6.11 shows two
levels of fuzziness in fuzzy association relationships. In part (a), it is uncertain if
the CD player is installed in the car, and the possibility is 0.8. In part (b), it is
certain that the CD player is installed in the car, and the possibility is 1.0. But
at the level of instances, there exists the possibility that the instances of classes
CD Player and Car may or may not have the association relationship installing.
In part (c), two kinds of fuzzy association relationships in parts (a) and (b) arise
simultaneously.
It has been shown above that three levels of fuzziness can occur in classes.
• Classes with the second level of fuzziness generally result in the second level
of fuzziness in the association, if this association denitely exists.
Let A and B be two classes with the second level of fuzziness. Then, the
instance e of A is one with membership degrees µA (e), and the instance f
of B is one with membership degrees µB (f ). Assume that the association
relationship between A and B , denoted ass(A, B), is one without the rst
level of fuzziness. It is clear that the association relationship between e and f ,
denoted ass(e, f ), is one with the second level of fuzziness, the membership
degree can be calculated by the following:
µ(ass(e, f )) = min(µA (e), µB (f ))
• The classes with the rst level of fuzziness generally result in the rst level
of fuzziness of the association, if this association is not indicated explicitly.
Let A and B be two classes only with the rst level of fuzziness, denoted A
WITH degree_A DEGREE and B WITH degree_B DEGREE, respectively.
Then the association relationship between A and B , denoted ass(A, B), is
one with the rst level of fuzziness, namely, ass(A, B) WITH degree_ass
DEGREE. For the instance e of A and the instance f of B , in which µA (e) =
1.0 and µB (f ) = 1.0, we have:
µ(ass(e, f )) = degree_ass = min(degree_A, degree_B)
• Let us focus on a situation in which the classes are the rst level and the
second level of fuzziness.
Let A and B be two classes with the rst level of fuzziness, denoted A
WITH degree_A DEGREE and B WITH degree_B DEGREE, respectively.
Let ass(A, B) be the association relationship with the rst level of fuzziness
between A and B , which is explicitly indicated with WITH degree_ass DEGREE. Also, let the instance e of A with membership degree µA (e),and the
instance f of B be with membership degrees µB (f ). Then we have:
µ(ass(e, f )) = min(µA (e), µB (f ), degree_A, degree_B, degree_ass)
90
6.5 Conclusions
Dependent WITH 0.5 DEGREE
Employee WITH 0.5 DEGREE
Abbildung 6.12: Fuzzy dependency relationship
6.4.5 Fuzzy Dependency
The dependency relationship is only related to the classes and does not require
a set of instances for its meaning. Therefore, the second-level fuzziness and the
third-level fuzziness in class do not aect the dependency relationship.
Fuzzy dependency relationship is a dependency relationship with a degree of possibility. Assume that the source class is fuzzy, with the rst level of fuzziness. The
target class must be fuzzy, with the rst level of fuzziness. The degrees of possibility
that the target class is decided by the source class are the same as the membership
degrees of source classes. For source class Employee W IT H0.85DEGREE , for
example in gure 6.12, the target class Employee Dependent should be Employee
Dependent W IT H0.85DEGREE . The dependency relationship between Employee and Employee Dependent should be fuzzy, with an 0.85 degree of possibility.
6.5 Conclusions
We present a fuzzy extended UML to cope with fuzzy as well as complex objects in
the real world at a conceptual level. Dierent levels of fuzziness are introduced into
the class diagram of the UML, and the corresponding graphical representations are
developed. In Figure 6.13, we give a simple fuzzy UML data model utilizing some
notations introduced in this chapter. The gure 6.14 shows a simple example for
the denition of a fuzzy class.
91
6 Fuzzy UML
Dependent
Employee
Middle
Employee
Old
Employee
Young
Employee
Car
using
Old Car
New Car
Liking WITH 0.9 DEGREE
Interior
Engine
ID
ID
Turbo
Dashboard
FUZZY Size
Seat
Abbildung 6.13: A fuzzy UML data model
92
Chassis
ID
6.5 Conclusions
CLASS Young Students WITH DEGREE OF 1.0
INHERITS Students WITH DEGREE OF 1.0
ATTRIBUTES
ID: TYPE OF string WITH DEGREE OF 1.0
Name: TYPE OF string WITH DEGREE OF 1.0
Age: FUZZY DOMAIN {very Young, young, old, very old}: TYPE OF integer
WITH DEGREE
OF 1.0
Height: DOMAIN [60, 210]: TYPE OF real WITH DEGREE OF 1.0
Membership_Attribute name
WEIGHT
w(ID) = 0.1
w(Name) = 0.1
w(Age) = 0.9
w(Height) = 0.2
METHODS
...
END
Abbildung 6.14: The denition of a fuzzy class
93
6 Fuzzy UML
94
Jens Kübler
7
Fortgeschrittene
OLAP-Analysemodelle
In dieser Seminararbeit werden die von Codd spezizierten OLAP Datenmodellklassen für unterschiedliche Analysebedürfnisse vorgestellt und mit formalen
Grundlagen in Verbindung gebracht. Hierzu werden Systeme und deren Modellierung herangezogen, um abzugrenzen, welches Informationsbedürfnis der Analyst
befriedigen will. Basierend auf diesen Denitionen wird eine marktübliche Datenbank analysiert und die vorhandenen Operationen den einzelnen Klassen zugeordnet. Abschlieÿend wird eine Bewertung der Operationen vorgenommen, inwiefern
diese die vorangegangenen Denitionen erfüllen.
7.1 Einleitung
Nachdem in den vergangenen Dekaden die performante Speicherung und Abfrage
von Daten in der Forschung groÿe Beachtung fand, entstand darauf aufbauend
der Bedarf, die kumulierten Daten nicht nur für den aktuellen Betrieb zu verwenden, sondern die Datenbestände temporär zu analysieren. Die Begrie Online
Transactional Processing (OLTP) und Online Analytical Processing (OLAP)
identizieren diese Themenbereiche, deren Datentypen, Algebren und respektive
Anfragesprachen durch so genannte Datenmodelle repräsentiert werden.
So hat sich für OLTP überwiegend ein relationales also tabellenbasiertes Modell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so
genannter Data Cube durchgesetzt hat, der Daten in beliebig vielen endlichen Dimensionen speichert.
Aufgrund des inhärenten Datenumfangs der Data Cubes, ist der Bedarf entstanden, nicht nur Einblick in diese Cubes zu gewinnen, sondern automatisch Informa-
95
7 Fortgeschrittene OLAP-Analysemodelle
tionen aus dem Datenbestand zu extrahieren und für den Benutzer aufzubereiten.
Dieser Vorgang wird als Data Mining bezeichnet, der Ähnlichkeiten mit dem Forschungsgebiet des maschinellen Lernens aufweist, jedoch eine andere Zielsetzung
hat. Aufgrund der automatischen Synthetisierung von Daten zu Informationen
lässt sich Data Mining klar zu OLAP abgrenzen, da bei OLAP bereits Basisinformationen vorhanden sind, die der Analytiker konkretisieren will, während bei
Data Mining keine Informationen, sondern lediglich Daten als Basis vorliegen.
Nachfolgend wird darauf eingegangen, welche Basisinformationen dem Analytiker
bereits vorliegen und welche Informationen er zu extrahieren wünscht.
Die folgende Ausarbeitung beschäftigt sich in Kapitel 7.2 mit der formalen Modellierung von Systemen, die hilft, die in Kapitel 7.3 vorgestellten Analysemodelle,
zu dierenzieren. Weiterhin werden in diesem Kapitel Datenmodelle kurz eingeführt und deren Komponenten erläutert. Kapitel 7.3 stellt die Codd'schen Datenmodellklassen vor und erläutert die unterschiedlichen Anforderungen bezüglich
möglicher Analysen. In Kapitel 7.4 wird ein aktuelles Datenbanksystem hinsichtlich der vorgestellten Datenmodellklassen analysiert. Abschlieÿend wird in Kapitel
7.5 eine Bewertung der vorgestellten Implementierung bezüglich der Denitionen
eingegangen.
7.2 Datenmodelle und Modellierung von Systemen
Die nach [CCS] spezizierten Datenmodellklassen haben keine formale Grundlage,
weshalb im folgenden erst auf Systeme und dann auf Datenmodelle eingegangen
wird. Die folgende Denitionen bezüglich Systemen sind aus [Han05] entnommen.
7.2.1 Systemmodelle
Ein System besteht aus einer Eingabe, einem Modell und einer Ausgabe. Die Eingabe uk ist im Allgemeinen mehrdimensional, wobei k der Zeitpunkt der Eingabe
ist und im Kontext von Datenbanken diskret ist. Das Modell besteht aus der Systemgleichung,
xk = ak (xk−1 , uk , ωk )
(7.1)
die den aktuellen Zustand des Systems aus den vorangegangenen Zustand xk−1 ,
den aktuellen Eingaben uk und den Systemstörungen ωk berechnet. Ist der Zustand eines Systems von auÿen nicht zugänglich, wird eine Messung einer Gröÿe
durchgeführt, die im Allgemeinen nichtlinear von dem Systemzustand abhängt. Die
Messung ist durch
yk = hk (xk , vk )
(7.2)
gegeben, wobei yk das Ergebnis der Messung, xk den aktuellen Systemzustand und
vk die Messstörung beschreibt . Ein Schätzer erhält als Eingaben uk und yk und
rekonstruiert aus diesen den geschätzten Systemzustand xˆk , wobei die Schätzung
sich allgemein nicht auf zukünftige Zustände xk+t , t > 0 beschränkt, sondern auch
vergangene Zustände xk−t , t > 0 als Schätzergebnis haben kann.
96
7.3 Klassikation nach Codd
Von dieser allgemeinen Denition lassen sich einige Spezialfälle ableiten. Die
funktionale Abhängigkeit kann generell in lineare und nicht-lineare Abhängigkeiten unterteilt werden, von denen ein groÿer Teil in Tabelle 7.1 zu nden ist. Des
weiteren kann die Systemgleichung unabhängig von dem letzten Systemzustand
sein wie auch Beispiel 7.3.3 illustriert.
ak (xk−1 , uk , ωk ) = ak (uk , ωk ).
(7.3)
Dies ist als statisches System deniert im Gegensatz zu dynamischen Systemen, bei
denen der aktuelle Systemzustand xk von vergangenen Zuständen xk−t , t > 0 abhängt. Weitere mögliche Spezialfälle sind beispielsweise das Fehlen von Störungen,
die ebenfalls in Beispiel 7.3.3 dargestellt wird.
7.2.2 Datenmodelle
Datenmodelle bestehen aus Datentypen und Operationen. Die Operationen werden über die Datentypen ausgeführt. Datentypen reektieren die mathematische
Struktur eines Datums. Datenoperationen lassen sich zum einen nach ihrem Verwendungszweck in Datendenitionssprache (DDL: CREATE), Datenanfragesprache (DQL: SELECT), Datenmodikationssprache (DML: INSERT, UPDATE, DELETE) und Datenkontrollsprache (DCL: COMMIT, ROLLBACK, SAVEPOINT)
und zum anderen mathematisch in arithmetische, ordnende, mengenbezogene, logische und vergleichende Operationen einteilen. Durch die Denition der einzelnen
Datensprachen ergibt sich die logische Struktur der Speicherung und des Zugris
auf das Datenmodell. Bekannte logische Datenmodelle sind beispielsweise das relationale Datenmodell oder das objektorientierte Datenmodell. Die darunter liegende
physikalische Speicherung der logischen Datenstruktur ist im Rahmen dieser Arbeit
nicht von Bedeutung.
7.3 Klassikation nach Codd
Nach [CCS] wird nach der Synthese von Daten zur Information, die Information
wiederum analysiert. Es existiert eine statische und eine dynamische Analyse, wobei statische Analysen auf historischen Daten beruhen, die keiner Veränderung
bedürfen, während dynamische Analysen Veränderungen und Modellierungen ermöglichen. Grundlage für Analysen in Datenbanken sind nach [CCS] Datenmodelle,
die sich in vier unterschiedliche Kategorien einteilen lassen. Diese Modelle werden
nachfolgend eingehend erläutert und der Bezug zu Systemen wird hergestellt. Weiterhin wird zur Verdeutlichung der Modellklassen eine Zinsrechnung als Beispiel
angeführt. Bei den folgenden Diagrammen wird darauf hingewiesen, dass diese
im Kontext von Datenbanken zu sehen sind, das heiÿt, dass die Eingaben sowie
die Ausgaben, soweit in der jeweiligen Klasse vorhanden, üblicherweise aus einer
Datenbank entstammen oder dort gespeichert werden.
97
7 Fortgeschrittene OLAP-Analysemodelle
7.3.1 Kategorisches Modell
Das kategorische Modell dient der Extraktion eines Datums aus der Datenbank zu
einem bestimmten Zeitpunkt k . Bezogen auf Systemmodelle besteht also das Informationsbedürfnis in Ausgaben yk oder Eingaben uk mit unterschiedlichem aber
festem Zeitschritt k und festen Ein- und Ausgaben. Die Ergebnisse der Anfrage
lassen sich aufgrund ihrer einfachen Dimensionalität als Tabellen darstellen wie die
Abbildung 7.1 verdeutlicht.
Abbildung 7.1: Kategorisches Modell
Anfragen, bei denen einzelnen Eingaben einzelne Ausgaben zugeordnet sind. Für
jedes Tupel der Eingabe, erhält der Analyst ein Tupel der Ausgabe, ohne
Möglichkeit das Systemverhalten aus der Datenbank zu extrahieren.
Beispiel 7.3.1 Gegeben seien als Eingaben uk ein Zinssatz uk1 und ein Startkapital uk2 sowie der resultierende Endbetrag dieser Zinsrechnung als Ausgabe yk . Der
Analytiker ist in diesem Datenmodell nur an den beiden Systemkomponenten Eingaben und Ausgaben interessiert. Eine Denition des zugrunde liegenden Systemmodells ist im Beispiel 7.3.3 zu nden. Die Abfragen gestalten sich in der Form,
das der Analyst einzelne uk und yk aus der Datenbasis extrahiert, was sich im relationalen Modell üblicherweise durch Selektion einzelner Attributwerte realisieren
lässt.
7.3.2 Exegatives Modell
Das exegative Modell erweitert das kategorische Modell um Detaillierungsgrade,
wie in Abbildung 7.2 dargestellt. Diese umfassen einerseits die zeitliche Auösung,
sowie andererseits die Datengranularität. Der Analytiker erhält durch das Datenmodell die Möglichkeit, die Dimensionalität der Eingaben uk sowie der Ausgaben
yk zu erhöhen oder zu reduzieren und dadurch Einsicht in Vorgänge zu erlangen.
Auÿerdem können die zeitlichen Einteilungsschritte k aufgespalten oder zusammengefasst werden, so dass zeitliche Abläufe und Abhängigkeiten in einem höheren
Maÿe nachvollzogen werden können. Dies ist in der Literatur[HK01] unter dem
Begri der Hierarchieebenen bekannt. Operationen, die multidimensionale Sichten aufgrund von einem inhärenten Datenbankschemata dynamisch erzeugen und
98
7.3 Klassikation nach Codd
Hierarchieebenenwechsel durchführen, sind Bestandteil dieses Datenmodells und
erlauben dem Analytiker neue Datenassoziationen zu knüpfen und zu untersuchen.
Diese Operationen grenzen das exegative Modell von dem kategorischen Modell ab.
Die Anfragen zielen dementsprechend auf multidimensionale Mengen von Ein- und
Ausgaben, anstatt auf einzelne Werte im Datenbestand, wie dies im kategorischen
Modell der Fall ist. Die dem System zugrunde liegende Gleichung ak ist in diesem
Datenmodell wie auch im kategorischen Modell nicht Ziel der Anfrage.
Abbildung 7.2: Exegatives Modell
Multidimensionale Abfrage von Ein- und Ausgaben, die auch hier nicht
dargestellte Zerlegungsoperationen und Aggregationen beinhaltet.
Beispiel 7.3.2 Das Beispiel 7.3.1 lässt sich durch marginale Änderungen an die
exegativen Anforderungen anpassen. Die Einführung einer Hierarchieebene für die
Zeit in Form von Tag, Monat und Jahr ermöglicht es dem Analysten zusammen
mit den entsprechenden Hierarchie-Operatoren die Zeitschritte für die Eingaben uk
und die Ausgaben yk dierenziert oder aggregiert darzustellen und so beispielsweise
Einsicht in Zinsveränderungen und resultierende Ergebnisänderungen zu erlangen.
Existieren im Datenbestand mehrere Banken mit unterschiedlichen Zinssätzen, so
lässt sich eine neue Dimension Banken einführen und deren unterschiedliche Zinsentwicklung nachvollziehen. Diese Daten sind im kategorischen Modell nicht gleichzeitig visualisierbar, können im exegativen Modell jedoch dynamisch erzeugt und bei
Bedarf auch materialisiert werden.
7.3.3 Kontemplatives Modell
Das kontemplative Modell besteht aus zwei Kernkomponenten. Dem Analytiker
wird die Möglichkeit gegeben ein System durch Systemgleichungen zu beschreiben
und Modikationen am Eingabevektor vorzunehmen.
Eingabevektor
Dem Eingabevektor können im kontemplativen Modell Varianzen hinzugefügt werden. Für numerische Werte lassen sich beispielsweise Standardabweichungen und
Schwerpunkte denieren, für kategorische Werte kann dies durch Unscharfe Mengen realisiert werden.
99
7 Fortgeschrittene OLAP-Analysemodelle
Systemgleichung
Die Systemfunktion ak (xk−1 , uk , ωk ) unterliegt allgemein zeitlichen Änderungen
(k ) und erzeugt daher zeitlich unterschiedliche Systemverhalten. Weiterhin kann
der Analyst Störungen ωk in der Systemfunktion spezizieren, die beschrieben
durch k ebenfalls zeitlichen Änderungen unterliegen. Die Möglichkeit zur Angabe
multipler Systemfunktionen ak zur Evaluation unterschiedlicher Modelle ist dem
Analysten in diesem Datenmodell zusätzlich gegeben (s. Abbildung 7.3). Der Zustand xk , den die Systemfunktion ak berechnet, ist im Allgemeinen mehrdimensional und beschreibt durch einen Vektor von Zuständen den Systemzustand [Han05].
Ausgaben
Die Ausgaben können Varianzen aufweisen, die durch die Systemgleichungen, den
Eingabevektor oder einer Kombination aus beiden Gröÿen rühren. Im Zentrum der
Analyse stehen somit die Ausgaben, die das gegebene Modell bei gegebenen Eingaben erzeugt. Dieses Datenmodell eignet sich daher insbesondere zur Denition
und Anfrage an Schätzer, die zukünftige Zeitschritte k prädizieren.
Abbildung 7.3: Kontemplatives Modell
Mehrere Modelle werden mit unterschiedlichen Eingaben evaluiert. Die
resultierenden Ergebnisse stehen dem Analysten zur Verfügung.
Beispiel 7.3.3 Das den Beispielen 7.3.1 und 7.3.2 zugrunde liegende Systemmodell ist für feste k durch folgende Systemfunktion (siehe Gleichung 7.1) gegeben.
ak (xk−1 , uk , ωk ) = u1k ∗ u2k + u1k
100
(7.4)
7.3 Klassikation nach Codd
Das Startkapital wird mit dem Zinssatz multipliziert, das Startkapital nochmals addiert und der Endbetrag als neuer Systemzustand xk gesetzt. Da in diesem Beispiel
unterstellt wird, dass das Zinsergebnis nicht von vorangegangen Zinsrechnungen, repräsentiert durch xk−1 , abhängt, kommt dieser Term nicht auf der rechten Seite der
Gleichung vor, da dieser 0 ist. Da weiterhin das System als ungestört angenommen
werden kann, sind die Systemstörungen ωk = 0, wie auch die Messungsstörungen
vk = 0 sind, was in der folgenden Messfunktion (siehe Gleichung 7.1) resultiert.
hk (xk , vk ) = xk
(7.5)
Dadurch entspricht die Ausgabe yk dem Systemzustand xk .
7.3.4 Formalisiertes Modell
Das formalisierte Modell dient der Suche nach möglichen Systemverhalten oder
Eingaben. Die Spezikation nach [CCS] liefert keine exakte Beschreibung dieser
Modellklasse. Die Namensgebung legt nahe, dass das Systemmodell ak formal beschrieben wird und eine mögliche Implementierung gesucht wird. Die Denition
nach [CCS] beschreibt eine Ausgabe y und einen Startpunkt, wodurch der Analytiker Einsicht in Eingaben u und Verhaltensweisen a des Modells gewinnen soll,
jedoch ist der Startpunkt nicht näher deniert. Da sowohl die Eingaben als auch das
Modellverhalten gesucht werden, ist nicht exakt zu schlieÿen, ob der Startpunkt ein
initialer Eingabevektor oder ein initiales Systemverhalten darstellt. Unvollständige
Eingabevektoren oder Systemgleichungen könnten übergeben werden und würden
eine Suche nach möglichen Ergänzungen zur Folge haben, um die spezizierte Ausgabe zu erreichen.
Ohne dass diese explizit in [CCS] genannt werden, erfüllen Regressionsanalysen
[reg] diese Forderungen. Das Ziel von Regressionsanalysen ist es, eine Approximationsfunktion a˜k einer Funktion ak zu nden, die optimal bezüglich eines Gütemaÿes
ist, wobei häug die Methode der kleinsten Quadrate als Gütemaÿ verwendet wird
[reg].
ak = a˜k + R
(7.6)
Die Parameter, die die funktionalen Abhängigkeiten zwischen den Ausgaben yk
und den Eingaben uk konditionieren und als Ergebnis der Regressionsanalyse zur
Verfügung stehen, können als die fehlende Eingaben interpretiert werden, nach
denen der Analytiker unter anderem sucht. Da die funktionalen Abhängigkeiten
der Eingaben und Ausgaben beispielsweise linear, exponentiell, polynominiell oder
logarithmisch sein können, gilt es auch unter der Klasse der möglichen Abhängigkeiten eine optimale Approximation zu nden, was wiederum durch die Minimierung
des Fehlers zu erreichen ist (s. Abbildung 7.4).
Beispiel 7.3.4 Bei der Zinsrechnung aus den Beispielen 7.3.1 und 7.3.2 reduzieren wir den Eingabevektor um den Zinssatz, so dass lediglich unser Startkapital
uk1 und unser Endbetrag yk zur Verfügung stehen. Gegeben seien nun zwei Mengen
101
7 Fortgeschrittene OLAP-Analysemodelle
Abbildung 7.4: Formalisiertes Modell
Vorhandene Ein- und Ausgaben werden verwendet, mehrere Modelle zu
evaluieren aus denen ein optimales Modell bezüglich eines Gütemaÿes hervorgeht.
Ein- und Ausgaben sind beliebig dimensioniert.
von uk1 und yk , die gleich mächtig sind und zwischen denen bei unserem Zinsmodell oensichtlich nur eine Abhängigkeit zwischen gleichen Zeitschritten k besteht.
Wenden wir auf dieses Modell die Regressionsanalyse an, sollte sich im Fall von
gleichbleibenden Zinssätzen eine lineare Approximation der Form
yk = a · uk1 + b
(7.7)
als optimal erweisen, wobei a der fehlende Zinssatz ist und b = 0. . Die Approximation würde sich in diesem Fall auch als tatsächliche Systemfunktion herausstellen,
was einem Fehler in Gleichung 7.6 von R = 0 entspricht.
Das vorangegangene Beispiel oenbart, das aufbauend auf dem gewonnenen Systemverhalten ein Schätzer beschrieben durch die Parameter a und b konstruiert
werden kann, der wiederum im Kontext des kontemplativen Modells zur Anwendung kommt und Ausgaben yk berechnet.
102
7.4 Datenmodelle in der Implementierung
7.4 Datenmodelle in der Implementierung
7.4.1 Vorbemerkungen
Von Codd'schen Modellklassen zur Implementierung
Die Codd'schen Modellklassen sind in der Implementierung nicht exakt voneinander zu trennen, da aus Benutzersicht eine Konvergenz oder sogar eine Inklusion
der Modellklassen zwecks Bedienungskomfort wünschenswert ist. Das Erlernen unterschiedlicher Datentypen mit zugehörigen Anfragesprachen ist für den Benutzer
zu aufwändig, wie auch die Kosten für die Entwicklung klassenkonformer Datenmodelle in keinem Verhältnis stehen.
Implementierungsbeispiel Oracle
Neben Microsoft SQL Server, IBM DB2 oder Informix und Sybase ist Oracle eines der groÿen Enterprise Datenbank Management Systeme (DMBS), das wie die
anderen DBMS mit einem reichhaltigen Angebot an Funktionen aufwartet. Alle
Datenbanksysteme hier bezüglich der implementierten Operationen vorzustellen
übersteigt den Rahmen dieser Ausarbeitung, weshalb lediglich Oracle als Beispielimplementierung nicht zuletzt wegen der umfangreichen einfach zugänglichen Dokumentation näher betrachtet wird. Aufgrund der groÿen Verbreitung des relationalen Modells und produktabhängigen Erweiterungen werden andere Datenmodelle, wie zum Beispiel das objektorientierte, hier nicht nähergehend bezüglich deren
Analyseoperationen betrachtet.
Neben der Datenbank bietet Oracle ein zusätzliches OLAP-Modul, welches auf
der bestehenden Datenbankengine aufsetzt, jedoch zusätzlich ein eigenes Datenmodell implementiert, welches den speziellen Anforderungen für Analysen gerecht
wird. Für die nachfolgenden Abgrenzungen werden soweit nötig nur die Funktionen
der Kern-Datenbankengine nähergehend erläutert, da diese in den Hauptfunktionen quantitativ denen des OLAP-Moduls entsprechen und sich die Komplexität
der Parameter und Optionen nicht so hoch darstellt, wie das im OLAP-Modul
der Fall ist. Lediglich im formalisierten Modell werden Funktionalitäten aus dem
OLAP-Modul vorgestellt, die in der Kerndatenbank nicht zur Verfügung stehen.
Für eine detaillierte Beschreibung des OLAP-Moduls konsultiere man die verschiedenen Oracle OLAP Referenzbücher [Orad].
7.4.2 Kategorisches Modell und OLTP-Datenmodelle
Aufgrund der niedrigen Anforderungen an die Analyse ist dieses Datenmodell inhärent durch bestehende OLTP-Systeme gegeben. ORACLE bietet gängige SQL99 Datentypen wie zum Beispiel INT, DOUBLE und CHAR an und erweitert diese um
einige Spezialdatentypen, wie XMLType, die für Spezialeinsatzgebiete des Transaktionsmodells interessant sind. Die Datenstrukturen sind auf logischer Ebene durch
Tabellen repräsentiert auf denen die DML-Operationen ausgeführt werden. Die zen-
103
7 Fortgeschrittene OLAP-Analysemodelle
tralen Modikationsoperatoren sind INSERT, UPDATE, SELECT und DELETE, die zusammen mit Funktionen und Ausdrücken neben Transaktionsfunktionalitäten auch
kategorischen Analyseansprüchen genügen. Im Kontext dieser Modellklasse bietet
ORACLE Funktionen für Ränge und Perzentile, gleitende Berechnungsfenster sowie Führungs- und Rückstandsanalysen, die ergänzend zu den in SQL üblichen
analytischen Funktionen, wie zum Beispiel Aggregationen (SUM,COUNT,STDDEV), zur
Verfügung stehen. Da die detaillierte Erläuterung dieser Funktionen den Rahmen
dieser Ausarbeitung übersteigt, wird hier nur auf die entsprechende Oracle Dokumentation [Oraa] verwiesen.
7.4.3 Exegatives Modell und Data Warehouses
Die Implementierung des exegativen Modells ist durch Data Warehouses als zugrunde liegendes Datenmodell realisiert. ORACLE setzt hier aufgrund des bestehenden
Datenbanksystem auf ROLAP [HK01], welches die multidimensionale Speicherung
mit Hilfe von Tabellen durchführt. Star- und Snowake-Schemata ermöglichen dem
Analytiker mit den gleichen DML-Operatoren wie im kategorischen Modell, multidimensionale Datenbestände zu erforschen. Die Funktionen ROLLUP und CUBE erlauben dem Analytiker entsprechend über Hierarchieebenen oder über Dimensionen
Aggregationen durchzuführen. Die Sicht auf den multidimensionalen Datenbestand
kann dynamisch erzeugt oder materialisiert werden, wofür die Operation CREATE
MATERIALIZED VIEW zur Verfügung steht [Orab].
7.4.4 Kontemplatives Modell für fortgeschrittene Analysefunktionen
Eingaben und Ausgaben
Da im relationalen Modell die Eingaben sowie die Ausgaben in Relationen abgelegt
sind, lassen sich diese wie bei den anderen Modellklassen über gewöhnliche SQLSELECT -Ausdrücke anfragen. Ist der Wertebereich eines Attributs kontinuierlich,
so lassen sich mit der WHERE-Klausel und entsprechenden Konjunktionen von
Gröÿenvergleichen für Ausgaben Bereichsanfragen stellen. Eine weitere Möglichkeit besteht beispielsweise mit Subqueries Standardabweichungen in der Domäne
des Attributs zu berechnen und das Ergebnis als Bedingung der WHERE-Klausel
zu übergeben. Die Eingaben können im kontinuierlichen Fall durch berechnete
Attributwerte in der Selektion mit Varianzen versehen werden. Diese Funktionalitäten sind in jeder gröÿeren SQL-Datenbank vorhanden, jedoch mangelt es der
ORACLE -Datenbankengine an Anfragemöglichkeiten für unscharfe kategorische
Attribute. Diese Funktionalität wurde für ältere ORACLE -Versionen durch [Gal]
bereitgestellt, was jedoch keine ozielle Erweiterung der Datenbank darstellt. Nach
Angaben des Autors besteht auch die Möglichkeit, die Unschärfe in den einzelnen
Tabellen zu hinterlegen.
104
7.4 Datenmodelle in der Implementierung
Systemmodelle
ORACLE realisiert Systemmodelle neben einer umfassenderen Erweiterung im
OLAP-Modul über den SQL-Befehl MODEL, der auf multidimensionalen Daten operiert und einer SELECT-FROM-WHERE-Klausel folgt. Auf den ausgewählten Daten
können beliebig viele so genannte Regeln angewendet werden, die durch Gleichungen angegeben werden. Dabei können neben den umfangreichen Rechenoperationen
auf den selektierten Daten auch Aggregationen ausgeführt werden. Die Erzeugung
neuer Werte erfolgt wie bei vielen Programmiersprachen durch Zuweisung an eine
entsprechend benannte Variable auf der linken Seite der Gleichung. Weiterhin besteht die Möglichkeit mittels den Zusätzen UPSERT und UPDATE die Erzeugung von
Werten entsprechend zu erzwingen oder nur zu aktualisieren, wenn diese tatsächlich vorhanden sind.
Beispiel 7.4.1 SELECT SUBSTR(country, 1, 20) country,
SUBSTR(product, 1, 15) product, year, sales
FROM sales_view
WHERE country IN ('Italy', 'Japan')
MODEL
PARTITION BY (country) DIMENSION BY (product, year)
MEASURES (sales sales)
RULES
(sales['Bounce', 2002] = sales['Bounce', 2001]
+ sales['Bounce', 2000],
sales['Y Box', 2002] = sales['Y Box', 2001],
sales['All_Products', 2002] = sales['Bounce', 2002]
+ sales['Y Box', 2002])
ORDER BY country, product, year;
Das aus [Orac] entnommene Beispiel illustriert die Verwendung der SQLMODEL-Klausel und berechnet aus den Jahren 2000 und 2001 unterschiedliche
neue Werte für das Jahr 2002 durch einfache Zuweisung.
7.4.5 Formalisiertes Modell für abstrakte Analysen
Das formalisierte Modell ist in der Kerndatenbank von ORACLE nur in Form
einer linearen Regression implementiert. Erweiterte Funktionalitäten wie das automatisierte Suchen von vorliegenden Systemverhalten ak sind jedoch im zusätzlich
verfügbarem OLAP-Modul, welches eine Ergänzung der bestehenden Datenbank
darstellt, in Form von Vorhersagen vorhanden. Die Basis von Vorhersagen sind
Zeitreihenanalysen, denen multidimensionale Regressionsanalysen zugrunde liegen.
ORACLE OLAP unterstützt folgende Regressionsmethoden im Zusammenhang
mit Vorhersagen [Orae]:
Es besteht weiterhin die Möglichkeit, die Anwendung automatisch das beste
Regressionsmodell nden zu lassen.
105
7 Fortgeschrittene OLAP-Analysemodelle
Regressionsmethode
linear
polynominiell
exponentiell
logarithmisch
asymptotisch
mathematische Beschreibung
y =a·x+b
y = c · xa
y = c · eax
y = a · log(x) + b
x
y = a+bx
exponentiell asymptotisch
einfache exponentielle Glättung
doppelte exponentielle Glättung
Holt / Winters Methode
y = cKe (1+cea x)
ax
Tabelle 7.1: Verfügbare Regressionsmethoden in Oracle
Dem Vorhersagemodell von ORACLE können Periodengröÿen übergeben werden, die im Fall der Periodengröÿe p = 1 der einfachen Regressionsanalyse entspricht und in den Fällen von p > 1 eine multidimensionalen Regressionsanalyse
über der Zeit ist. Durch die Angabe der Anzahl zurückliegender Perioden werden
die Eingaben und Ausgaben der Zeitschritte k deniert, aufgrund derer das Systemmodell approximiert wird. Der Schätzer ist direkter Bestandteil von Vorhersagen
und liefert basierend auf der ermittelten funktionalen Abhängigkeiten konkrete
Schätzergebnisse. Ein zusätzliches Kommando erlaubt die ermittelten Systemparameter (im Beispiel 7.3.4 a und b) zu extrahieren.
7.5 Fazit
In Kapitel 7.2 wurde grundlegend auf die einzelnen Bestandteile von Systemen und
Datenmodellen eingegangen. Die in [CCS] nicht formal umschriebenen Datenmodelle wurden in Kapitel 7.3 mit Systemen in Zusammenhang gebracht und anhand
von Beispielen wurden die unterschiedlichen Analysebedürfnisse illustriert. Die verfügbaren Funktionen des Datenbankprodukts ORACLE wurden hinsichtlich dieser
Modellklassen eingeordnet. Die Zusammenhänge zwischen kategorischen, exegativen, kontemplativen und formalisierten Datenmodellen und den entsprechenden
Implementierungen des relationalen Modells, des Data Cubes, der Systemmodellierung und der Regressionsanalyse wurden in Kapitel 7.4 hergestellt.
Zum Zeitpunkt der Veröentlichung von [CCS] existierten laut Autor zwar viele
Datenbankprodukte, die den kategorischen Anforderungen genügten, jedoch waren
nur wenige oder gar keine Produkte am Markt verfügbar, die den gehobenen Modellklassen genügten. Diese Darstellung entspricht nicht mehr den heutigen Gegebenheiten. Es wurde anhand eines marktüblichen Datenbanksystems gezeigt, dass
exegative, kontemplative und formale Anforderungen umfassend erfüllt werden. Die
MODEL-Klausel für kontemplative Analysen ist im Zusammenhang mit der umfangreichen DML eine mächtige SQL-Erweiterung, mit der eine Vielfalt von Analysen
möglich ist. Lediglich die Modellierung und Speicherung von Unschärfe ist nicht in
106
7.5 Fazit
vollem Umfang gegeben. Die Vorhersagefunktion des OLAP-Moduls stellt wichtige
Regressionsverfahren zur Verfügung, die es erlauben Systemparameter zu extrahieren sowie Schätzungen durchzuführen.
107
7 Fortgeschrittene OLAP-Analysemodelle
108
Horst Fortner
8
Visualisierung der Imperfektion in
multidimensionalen Daten
8.1 Einführung
8.1.1 Motivation
Die Visualisierung multidimensionaler Daten verbessert typische Data Mining Anwendungen sowie OLAP-Anwendungen (Online Analytical Processing ) und ermöglicht kooperatives Data Mining, bei dem der Benutzer interaktiv die Datenanalyse
steuert. In dieser Seminararbeit werden zunächst bestehende Visualisierungstechniken daraufhin untersucht, wie sie sich um imperfekte Informationen erweitern
lassen und anschlieÿend bewertet. Weiterhin wird auf die Bedeutung des Visual
Data Mining (VDM) eingegangen und erläutert, welche Rolle die Visualisierung
im VDM spielt. Anschlieÿend werden die vorgestellten Visualisierungstechniken
sowie die VDM-Techniken mittels eines orthogonalen Klassikationsschemas eingeordnet. Das letzte Kapitel fasst die Ergebnisse zusammen und gibt einen Ausblick
auf interessante zukünftige Forschungszweige.
8.1.2 Begrie
Imperfekte Informationen: Es lässt sich eine Grobeinteilung imperfekter Informationen in drei Kategorien durchführen [Koo04b], nämlich in unsichere, unscharfe
und ungenaue Informationen. Unsicher ist eine Information, wenn nicht entschieden werden kann, ob sie wahr oder falsch ist. Unsichere Informationen treten z. B.
in Wettervorhersagen auf, da diese Prognosen nur wahrscheinlich sind, nicht aber
sicher.
109
8 Visualisierung der Imperfektion in multidimensionalen Daten
Unscharf ist eine Information, wenn bei Verwendung von Kategorien für gewisse
Eigenschaften keine eindeutige Grenze gezogen werden kann (linguistische Variablen), z.B. ist nicht scharf abgrenzbar, ob ein Mensch groÿ oder ein Produkt
teuer ist. Ungenau ist eine Information, wenn sie durch Intervalle angegeben wird,
die nicht beliebig genau (bzw. kurz) sein können, z. B. spricht man bei Messungen
in der Physik von Messungenauigkeit.
Visualisierung:
Laut Wikipedia bedeutet Visualisierung, abstrakte Daten in eine angebrachte, verstehbare Form zu bringen. Dabei können Details weggelassen
werden, die im Kontext vernachlässigbar sind. Visualisierte Daten müssen daher
korrekt interpretiert werden. Diese Denition weist schon darauf hin, dass bei
der Visualisierung Imperfektion implizit vorhanden sein kann, da Informationen
(Details) weggelassen werden können. Im Rahmen dieser Seminararbeit bedeutet Visualisierung insbesondere die grasche Darstellung von multidimensionalen
Datenmengen.
Multidimensionale Daten: Dies bedeutet, dass es sich um Daten mit vielen Attributwerten handelt, die sich zu orthogonalen Dimensionen zusammenfassen lassen
und als Ausgangsbasis für Analyseanwendungen dienen.
8.2 Visualisierung imperfekter Informationen im
Straÿenverkehr1
Im Straÿenverkehr treten imperfekte Informationen z.B. bei unsicheren Angaben
von Staulängen, bei ungenauen Baustellenlängenangaben oder auch bei Berechnungen von Radiosendern, die den erwarteten Zeitverlust angeben. All diesen Beispielen ist gemein, dass sie dem Benutzer aber immerhin das ungefähre Ausmaÿ
der zu erwartenden Verspätung aufzeigen. In diesem Kapitel werden zunächst die
Benutzergruppen im Straÿenverkehrsbereich identiziert. Danach werden drei Visualisierungstechniken eingeführt und eine Einschätzung gegeben, wie gut diese
für die Benutzergruppen geeignet sind. Anchlieÿend werden diese Verfahren um
Imperfektion erweitert und schlieÿlich wird das Visualisierungswerkzeug aus der
Studienarbeit [For05] skizziert.
8.2.1 Benutzergruppen im Straÿenverkehrsbereich
Verkehrsteilnehmer On-Trip:
Für den Verkehrsteilnehmer On-Trip sind seine
aktuelle Position und Geschwindigkeit sowie Informationen zum Verkehrsuss besonders wichtig. Wird z. B. eine Straÿe gesperrt, benötigt er zwei Nachrichten: Eine
beim Inkrafttreten der Sperrung und eine bei deren Aufhebung. Des Weiteren sind
das Wetter sowie Baustellen ebenfalls von Interesse für diesen Verkehrsteilnehmer,
1
Die Ausführungen dieses Kapitels basieren auf der Studienarbeit [For05] von Oliver Forster
110
8.2 Visualisierung imperfekter Informationen im Straÿenverkehr
insbesondere wenn sie Einuss auf den Verkehrsuss haben (Eis, Nebel, nur einspurig befahrbare Baustellen etc.).
Verkehrsteilnehmer Pre-Trip:
Dieser Benutzertyp plant seine Route im Vorfeld
und braucht dazu Informationen zum Verkehrsnetz. Im Vorfeld bekannte Störgröÿen für den Verkehrsuss, etwa Langzeitbaustellen oder auch gesperrte Straÿen,
sind für ihn wichtig. Auch das zu erwartende Verkehrsaufkommen (z. B. ein hohes
Aufkommen zur Urlaubszeit) ist ein wichtiger Faktor bei seiner Planung. Das Wetter spielt, insbesondere bei früher Routenplanung, eine ungeordnete Rolle, da z.B.
über eine Woche hinausgehende Wettervorhersagen zu unsicher sind, als dass sie
als Entscheidungskriterium herhalten könnten.
Verkehrsingenieur: Der Ingenieur benötigt alle Arten von Informationen zum
Verkehrsnetz, damit er einen Überblick hat, wenn z.B. Umleitungen empfohlen
werden sollen. Zudem ist der aktuelle Verkehrsuss auf seinem Zuständigkeitsgebiet
(und nicht etwa nur auf einer geplanten Route) von groÿer Bedeutung, da er auf
Störfaktoren z. B. mit Umleitungen und Temporegulierungen reagieren kann und
somit möglichst frühzeitig informiert werden sollte.
Verkehrswissenschaftler:
Für den Wissenschaftler sind vor allem aggregierte und
statistisch nutzbare Daten interessant statt Einzeldaten wie ein Unfall. Je nach
Art der Untersuchung, die er anstellt, können für ihn bestimmte Daten wichtig
und andere irrelevant sein (das gesamte Verkehrsnetz spielt keine Rolle, wenn nur
eine Strecke untersucht wird).
Zusammenfassend lässt sich feststellen, dass verschiedene Informationen für die
besprochenen Benutzergruppen von Bedeutung sind und jede Gruppe daher andere
Anforderungen an die Visualisierung stellt.
8.2.2 Visualisierungstechniken (noch ohne Imperfektion)
Nach der Identikation der beteiligten Benutzergruppen und deren Anforderungen
werden in diesem Abschnitt drei Visualisierungstechniken vorgestellt.
Bewertungskriterien für Visualisierungstechniken im Hinblick auf die
Benutzergruppen
Um die drei vorzustellenden Visualisierungstechniken bewerten zu können, werden in diesem Abschnitt zunächst vier Bewertungskriterien eingeführt, welche eine
qualitative Einordnung der Techniken ermöglichen und Aufschluss darüber geben,
inwieweit sie für die zuvor vorgestellten Benutzergruppen geeignet sind.
Übersichtlichkeit
Dieses Kriterium bringt zum Ausdruck, wie schnell sich der Betrachter einer visualisierten Datenmenge die für ihn interessanten Informationen
herauslesen kann und wie deutlich es erkennbar ist (z. B. auch ohne Expertenwissen,
111
8 Visualisierung der Imperfektion in multidimensionalen Daten
denn deutlich erkennbar ist natürlich subjektiv). Negativ auf die Übersichtlichkeit
wirkt sich eine zu groÿe Detailtreue aus - insofern besteht hier Koniktpotential
bezüglich des Kriteriums der Vollständigkeit. Insbesondere für den Verkehrsteilnehmer ist dieses Kriterium hoch zu bewerten, die anderen Gruppen arbeiten beruich
damit, weshalb ihr Blick geschulter ist beim Erkennen wichtiger Informationen.
Vollständigkeit Um die Vollständigkeit zu erfüllen, muss eine Visualisierungstechnik alle vorhandenen Daten mit in die Darstellung einbeziehen. Fehlen wichtige
Informationen, etwa hohe Windgeschwindigkeiten bei in die Darstellung mit einbezogenem Glatteis, so ist die Darstellung nicht mehr vollständig zu nennen. Vor
allem der Verkehrsingenieur und der Verkehrswissenschaftler fordern die Erfüllung
dieses Kriteriums.
Möglichkeit zur Interaktion
Da der Benutzer nur eine begrenzte Zahl von Daten verarbeiten kann, sollte ihm die Möglichkeit gegeben werden, die Darstellung
interaktiv zu verändern, z.B. durch das Weglassen von Informationen, deren andere Gewichtung oder auch durch die Navigation in Hierarchien. In [Spe01] wird
als Beispiel für sog. Fokus + Kontext-Techniken der Fisheyeview genannt, der
das Hauptaugenmerk auf einen Ausschnitt der Informationen lenkt und den Rest
unscharf erscheinen lässt. Prinzipiell ist die Interaktionsmöglichkeit für alle Benutzergruppen von Interesse.
Anwendbarkeit auf ein Verkehrsszenario
Dieses nur auf den Verkehr bezogene
Kriterium spielt in der Studienarbeit von Oliver Forster eine besondere Rolle, tritt
hier aber in den Hintergrund. Dieses Kriterium bewertet, wie gut eine Technik sich
im Verkehr einsetzen lässt unabhängig von den anderen drei Kriterien.
Kategorien und Verfahren
In Oliver Forsters Studienarbeit werden 18 Verfahren vorgestellt (siehe Abbildung
8.1) und sieben davon um Imperfektion erweitert. An dieser Stelle werde ich drei
dieser Verfahren beschreiben, und zwar ThemeRiver aus der Kategorie Dokumente und Table Lens und Parallele Koordinaten aus der Kategorie Hochdimensionale Daten.
Die restlichen Visualisierungsarten nden sich in Abbildung 8.2, und zwar jeweils
mit Bewertung. Da diese Techniken in [For05] näher vorgestellt werden, verzichte
ich hier auf die genaue Beschreibung aller 18 Verfahren.
ThemeRiver
Der ThemeRiver ist eine Visualisierungstechnik für Dokumente,
die Veränderungen des thematischen Schwerpunkts innerhalb einer Menge Dokumente visualisiert. Der Themenuss wird über die Zeitachse dargestellt, die Themenschwerpunkte werden farblich voneinander abgegrenzt, wobei die Dicke einer
Schicht proportional zur Bedeutung des Themas ist. Von einem Fluss spricht man,
112
8.2 Visualisierung imperfekter Informationen im Straÿenverkehr
Abbildung 8.1: Übersicht der Visualisierungstechniken [For05]
Abbildung 8.2: Bewertungstabelle Visualisierungstechniken [For05]
da zwischen diskreten Zeitpunkten z.B. mittels Splines interpoliert wird. Beim
ThemeRiver sind Interaktion und das Zoomen auf der Zeitachse möglich. Diese
relativ einfache und leicht verständliche Darstellung ermöglicht auch Laien einen
einfachen Zugang. Der Verkehrsteilnehmer On-Trip und Pre-Trip sollte die Schaubilder daher gut verstehen können. In Abbildung 8.3 ist die Häugkeit von Texten
Fidel Castros im Zeitraum von November 1959 bis Juni 1961 dargestellt.
Parallele Koordinaten
Mittels paralleler Koordinaten lässt sich eine Vielzahl von
Dimensionen auf zweidimensionalen Medien wie Papier oder Monitor ausgeben.
Dazu werden alle Achsen (bzw. Variablen oder Attribute) des multidimensionalen Raums nebeneinander parallel angeordnet. Die Länge der parallelen Strecken
113
8 Visualisierung der Imperfektion in multidimensionalen Daten
Abbildung 8.3: Beispiel ThemeRiver [SHW02]
spiegelt dabei den Wertebereich jedes Attributs wider, wobei die eingezeichneten
Attributwerte als Punkte eingezeichnet und schlieÿlich mit einer Linie verbunden
werden (siehe Abbildung 8.4. Eine solche zur besseren Erkennbarkeit oft eingefärbte Linie stellt bei n Attributen ein einzelnes n-Tupel dar. Ein groÿer Vorteil der
parallelen Koordinaten ist, dass die beliebig vielen Attribute alle gleich behandelt
werden.
Interaktion ist dadurch gegeben, dass der Benutzer die Achsen anders anordnen kann, was dem besseren Verständnis der Beziehung zwischen zwei Attributen
dienen kann. Zudem können Attribute (bzw. deren Achsen) auch ausgeblendet werden, was für eine gelterte Darstellung sorgt und dieses Verfahren exibel macht.
Auch Vollständigkeit wird gewährleistet, da alle Attributwerte durch die Verwendung einer eigenen Achse visualisiert werden. Allerdings wird die Darstellung bei
Einbeziehung aller Attribute schnell unübersichtlich, insbesondere wenn viele Tupel vorliegen und sich die Verbindungslinien der Tupel oft überkreuzen oder nah
beieinander liegen.
Experten der Interpretation von parallelen Koordinaten können dieser Visualisierung viele Informationen entnehmen, gerade auch durch die exible Anordnung
der Achsen. Während dem Verkehrsingenieur durch die aggregierte Darstellung der
Blick auf einzelne Teilstrecken erschwert wird, eignet sich diese Technik sehr gut
für den Verkehrswissenschaftler. Für den Pre-Trip Verkehrsteilnehmer erfordert
diese Technik zu viel Einarbeitungszeit auf Grund der ungewohnten Darstellung
mehrerer Achsen nebeneinander und überfordert den On-Trip Verkehrsteilnehmer
völlig.
Abbildung 8.4: Prinzip der parallelen Koordinaten [Spe01]
114
8.2 Visualisierung imperfekter Informationen im Straÿenverkehr
Table Lens
Die Table Lens Technik dient der Daten-Analyse durch den Benutzer,
der diese interaktiv steuern kann. Wie in Abbildung 8.5 zu sehen ist, ist die Ausgabe
tabellarisch aufgebaut. Interessante Bereiche werden mittels der Fokus + KontextTechnik in den Vordergrund gerückt (ähnlich der Fisheye-Sicht), wodurch man
auch in groÿen Datenmengen gezielt Informationen hervorheben kann.
Für On-Trip Verkehrsteilnehmer eignet sich diese Darstellung auf Grund ihrer
Komplexität nicht, ebenso wenig für den Pre-Trip. Für die beiden anderen Gruppen,
Wissenschaftler und Ingenieur, ist die Technik hingegen gut geeignet eben durch
ihre vollständige Darstellung mit Fokussierungsmöglichkeit.
Abbildung 8.5: Inxight Table Lens [IS]
8.2.3 Erweiterung der Verfahren um Imperfektion2
Die Visualisierung der drei Aspekte der Imperfektion (Unsicherheit, Unschärfe,
Ungenauigkeit) ist unterschiedlich einfach zu realisieren. Zudem lassen sich die
drei vorgestellten Techniken nicht immer um alle Aspekte sinnvoll erweitern.
Der ThemeRiver eignet sich für eine Erweiterung um Unschärfe, indem Linienstärke proportional zu einer linguistischen Variablen eingezeichnet wird (z.B.
kein, wenig, viel beim Niederschlag in Abbildung 8.6). Unsicherheit lässt sich
z.B. durch Musterungen wie im rechten Bild in Abbildung 8.6 darstellen, wobei der
schraerte Bereich ein Ungenauigkeitsintervall darstellt, in dem keine eindeutige
Aussage darüber möglich ist, ob die Strecke z.B. frei ist oder ob Staugefahr
herrscht. Ich denke, dass man die schraerten Bereiche auch einfach durch eine
weitere Farbe visualisieren könnte und dieser dann eine neue linguistische Variable
zuweisen könnte, z.B. könnte man Frei/Staugefahr braun einfärben und Staugefahr/Stau orange, wodurch dann fünf statt drei Variablen vorhanden wären. Die in
der Abbildung verwendete Schraur verdeutlicht aber besser den Zusammenhang
2
Vgl. [For05].
115
8 Visualisierung der Imperfektion in multidimensionalen Daten
zwischen sicherer und unsicherer Information, da die voll ausgefüllten Linien einen
sicheren Mindestwert darstellen und die Unsicherheit durch die Schraur schnell
als solche erkennbar ist.
Bei den parallelen Koordinaten in Abbildung 8.7 ist die Unsicherheit im linken
Bild durch den Graustufenwert visualisiert, wobei eine Linie einem Streckabschnitt
der A5 entspricht und die Graustufe der Sicherheit des Datensatzes gemäÿ gewählt
ist. An dieser Stelle möchte ich anmerken, dass man durch diese Darstellung etwas eingeschränkt ist, da man zum Beispiel nicht visualisieren kann, dass auf einem
Streckenabschnitt ganz sicher kein Nebel vorhanden ist, man aber gleichzeitig über
die Rutschgefahr keine Aussage treen kann. Um unterschiedlichen Attributen wie
Nebel und Rutschgefahr verschiedene Sicherheitsgrade zuzuweisen, würde ich hier
eine kleine Erweiterung vorschlagen, und zwar wäre ein Wechsel der Graustufe
innerhalb des Streckenzuges sinnvoll, sodass eine Linie beim Übergang von einem
Attribut zum anderen in der Graustufe (und damit der Sicherheit der Information)
veränderbar ist. Die Ungenauigkeit wird dadurch visualisiert, dass eine Linie vor
einem mit Ungenauigkeit behafteten Attribut aufgespaltet und danach wieder zusammengeführt wird. Dies ist im Beispiel beim Attribut Niederschlag in der Mitte
von Abbildung 8.7 zu sehen. Unschärfe lässt sich bei dieser Visualisierungstechnik
schwieriger visualisieren. Im rechten Bild von Abbildung 8.7 sind die Werte der
Zugehörigkeitsfunktion zu den linguistischen Variablen des Niederschlags, nämlich kein, schwach und stark um 90◦ gedreht zur Zeichenebene angetragen.
Die Linie, die den Streckenabschnitt A5/73 repräsentiert, bedeutet nun, dass die
Zugehörigkeitsfunktion viele Werte der linguistischen Variable kein zuordnet, wohingegen schwach und stark nur wenige Werte auf sich vereinen können, d.h.
insgesamt kann man wohl zu Recht von keinem Niederschlag auf diesem Streckenabschnitt sprechen.
Bei der Table Lens Technik lässt sich die Unsicherheit wie in Abbildung 8.8 auf
der linken Seite zu sehen mittels Graustufen visualisieren, wobei dunklere Graustufen eine gröÿere Sicherheit darstellen. Die Unschärfe wird durch einen für jede
linguistische Variable jeweils anders gefärbten Balken dargestellt, dessen Länge
proportional zu den Werten der Terme eingezeichnet wird. Die rechte Seite von
Abbildung 8.8 kombiniert schlieÿlich Unsicherheit und Ungenaugikeit, indem zur
Graustufen-Färbung der Balken noch ein gepunktetes Segment ans Ende der Balken angehängt wird, welches das Ungenauigkeitsintervall darstellt, d.h. der Anfang
dieses Segments markiert die untere Intervallgrenze, während das Ende des gesamten Balkens die obere Intervallgrenze markiert.
116
8.2 Visualisierung imperfekter Informationen im Straÿenverkehr
Abbildung 8.6: ThemeRiver ohne (li.) und mit (re.) Ergänzung um Ungenauigkeit
- auf beiden Seiten ist die Unschärfe durch linguistische Variablen
visualisiert. [For05]
Abbildung 8.7: Parallele Koordinaten, erweitert um Imperfektion. [For05]
Bewertungskriterien bei der Erweiterung einer Technik um Imperfektion
Bei der Erweiterung von Verfahren um Imperfektion sollten nach [For05] folgende
vier Punkte beachtet werden:
1. Verhältnismäÿigkeit: Die Imperfektion sollte keinen gröÿeren Stellenwert in
der Visualisierung bekommen als die eigentliche Information, d.h. die Imperfektion soll die Hauptinformation nur ergänzen.
2. Imperfektionsabgrenzung: Imperfekte Informationen sollten in der Visualsierung klar von perfekten Informationen unterschieden werden können.
3. Unterscheidbarkeit: Mehrere dargestellte Imperfektionsarten sollten innerhalb einer Visualisierung voneinander unterscheidbar sein.
117
8 Visualisierung der Imperfektion in multidimensionalen Daten
Abbildung 8.8: Table Lens, erweitert um Imperfektion. [For05]
4. Mächtigkeitserhaltung: Die Möglichkeiten einer Visualisierungstechnik sollten durch die Erweiterung um Imperfektion nicht beschnitten werden, insbesondere sollte die erweiterte Technik nicht unübersichtlicher werden.
Bewertung der erweiterten Verfahren
In der Tabelle in Abbildung 8.9 sind alle in der Studienarbeit [For05] um Imperfektion erweiterten Visualisierungstechniken an Hand der vier eingeführten Kriterien
bewertet. Die beiden Techniken für hochdimensionale Daten, Table Lens und Parallele Koordinaten, schneiden in dieser Bewertung in allen Kategorien gut bis sehr
gut ab, womit sie sich für die Imperfektionserweiterung sehr gut eignen.
Abbildung 8.9: Bewertung der um Imperfektion erweiterten Visualisierungstechniken. [For05]
118
8.3 Datenvisualisierung und Visual Data Mining (VDM)
8.2.4 Skizzierung des Visualisierungswerkzeugs
Das von Oliver Forster mit Java-Swing implementierte Visualisierungswerkzeug
"Visualizer"lässt den Benutzer den Typ der zu visualisierenden Information mit
verschiedenen Visualisierungstechniken darstellen. Er implementierte exemplarisch
zwei Techniken, nämlich die erweiterten Balkendiagramme (Teil der Table Lens
Technik) und ThemeRiver. Das Paket Visualizer enthält vier Hauptklassen (siehe
Abbildung 8.10: Paketstruktur im Visualisierungswerkzeug [For05]
Abbildung 8.10 und jeweils in einem gesonderten Paket Klassen, die das Laden
von Information bzw. das Layout betreen. Die Kopplung des Werkzeuges mit
den Visualisierungstechniken erfolgt über die Pakete fuzzyThemeRiver und impChart2d, welche jeweils die Erweiterung einer bereits vorhandenen Software und
deren Anbindung an den Visualizer übernehmen.
Vorhandene Informationen müssen zur Darstellung im Visualizer zunächst über
den DataLoader in ein festgelegtes zentrales Format gebracht werden und werden
danach vom TechniqueLoader in das technikspezische Format für eine Visualisierung umgewandelt. Für neue Informationsarten reicht es aus, eine Klasse zur Erzeugung des festgelegten zentralen Formats zu erstellen; es muss also nicht für jede
Technik eine neue Klasse zur Umwandlung in deren Format geschrieben werden
beim Hinzufügen neuer Informationsarten, wodurch eine einfache Erweiterbarkeit
sichergestellt ist. Das Visualisierungswerkzeug eignet sich für den Verkehrsteilnehmer Pre-Trip und für Teilaufgaben des Verkehrsingenieurs/-wissenschaftlers. Nähere Details zum Visualizer nden sich in [For05].
8.3 Datenvisualisierung und Visual Data Mining (VDM)
Nachdem im letzten Kapitel die Erweiterung von Visualisierungstechniken um Imperfektion auf dem Sektor Straÿenverkehr behandelt wurden, beschäftigt sich dieses
119
8 Visualisierung der Imperfektion in multidimensionalen Daten
Kapitel mit dem in der Literatur beim Thema Visualisierung auftauchenden Begri
des Visual Data Mining (VDM), einem mit der Visualisierung von multidimensionalen Daten in Beziehung stehenden Teilbereich des Data Mining. Zunächst gebe
ich eine Einführung in verschiedene VDM-Ansätze, danach werden das automatisierte Data Mining und seine Schwächen behandelt, die zum Ansatz der Visuellen
Datenexploration geführt haben. Anschlieÿend werden Beispiel-Einsatzgebiete des
Kooperativen Data Mining vorgestellt, nämlich die Kooperative Klassikation und
das Interaktive Temporale Data Mining. Bei jeder vorgestellten Technik werde ich
darauf eingehen, in wie weit bereits Imperfektion in der Technik bereits vorhanden ist und wie sie dargestellt wird, sofern sie überhaupt berücksichtigt wurde.
Schlieÿlich wird noch eine Klassikationsmöglichkeit vorgestellt, an Hand derer
VDM-Techniken entlang orthogonaler Achsen eingeordnet werden können.
8.3.1 Einordnung des VDM
Wie in Abbildung 8.11 zu sehen, bendet sich das Visual Data Mining (VDM)
in der Schnittmenge von Data Mining und Information Visualization, d.h. dass
im VDM Algorithmen aus dem Mining-Bereich eingesetzt werden und Visualisierungstechniken aus dem Bereich des Informationsvisualisierung. Eine Denition
Abbildung 8.11: Einordnung des VDM zwischen Data Mining und Informationsvisualisierung [Fay96]
des VDM gibt Mihael Ankerst in seiner Dissertation: Visuelles Data Mining ist
ein Teil des KDD-Prozesses, der Visualisierung als Kommunikationsmittel zwischen
Mensch und Computer nutzt, um neue und interpretierbare Muster zu erkennen
und Wissen zu generieren. [Ank01]
Ein Überblick darüber, in welchem Bereich das VDM im KDD-Prozess (Knowledge Discovery in Databases) angesiedelt ist, wird im Schema in Abbildung 8.12
gegeben. Das Schema basiert auf der allgemein anerkannten Denition des KDDBegris von Fayyad: Wissensentdeckung in Datenbanken ist der nichttriviale Prozess der Identizierung gültiger, neuartiger, potentiell nützlicher und verständlicher
Muster in (groÿen) Datenbeständen. [Fay96]
Im Grunde geht es beim VDM darum, den Data Mining Schritt und den Interpretationsschritt im ständigen Wechsel durchzuführen und den Menschen bei der
Klassikation oder Mustersuche zu unterstützen bzw. seine Intuition miteinzubeziehen, um schneller zu Ergebnissen zu kommen und redundante Muster zu entfernen.
120
8.3 Datenvisualisierung und Visual Data Mining (VDM)
Damit kombiniert das VDM die letzten beiden Schritte des KDD-Prozesses zu einer
neuen Einheit.
Abbildung 8.12: VDM im KDD-Prozess [Fay96]
Im VDM lassen sich mehrere Ansätze unterscheiden (siehe Abbildung 8.13). Ansatz a) setzt auf klassischen Data Mining Algorithmen auf, deren Ergebnisse (z.B.
erkannte Muster) visualisiert werden. Nachdem die Ergebnisse der Visualisierung
vorliegen, entscheidet der Benutzer, ob der Data Mining-Prozess erfolgreich war
oder ob der Prozess rekursiv beginnend beim Algorithmus mit geänderten Parametern neu gestartet wird. In der Literatur werden auf diesem Ansatz aufbauende
Visualisierungsmethoden auch als Visual Data Mining Tools bezeichnet. Ansatz
b) visualisiert die Zwischenergebnisse; dadurch wird der Benutzer stärker in den
DM-Prozess einbezogen. Es werden Algorithmen verwendet, die nur präprozessierte Zwischenergebnisse liefern, in denen der Benutzer durch Einsatz von Visualisierungstechniken nach aussagekräftigen Mustern sucht. Der Hauptvorteil dieses
Ansatzes ist, dass DM-Algorithmen losgelöst von der Problemstellung verwendet
werden (zur Berechnung der Zwischenergebnisse). Allerdings ist hier im Gegensatz
zu Ansatz a) keinerlei Rekursion integriert, was für mich die Frage aufwirft, wie
mit unzufrieden stellenden Ergebnissen umgegangen wird. Schlieÿlich ist nicht jeder
Versuch, Wissen aus Daten zu gewinnen, von Erfolg gekrönt. Ansatz c) schlieÿlich
visualisiert Rohdaten und verwendet keine klassischen DM-Algorithmen. Es ndet
eine Rekursion zwischen den Benutzereingaben und der Visualisierung statt, wodurch die Interaktionsmöglichkeit hier am gröÿten ist, was auch durch die sofortige
Aktualisierung der Darstellung (durch interaktive Werkzeuge wie z.B. dynamische
Abfragetechniken) unterstrichen wird. Bei diesem Ansatz sprechen Soukup und
Davidson in [TS03] auch von Data Visualization-Techniken.
Besonders Ansatz c) kommt dem Online Analytical Processing (OLAP) sehr nahe, denn einige der zwölf von Edgar F. Codd in [Cod93] aufgestellten Regeln bzw.
Anforderungen an ein OLAP-System werden auch von Ansatz c) erfüllt, darunter
vor allem die zehnte Regel (Intuitive Datenanalyse), aber auch die elfte Regel (Flexibles Berichtswesen, Ergebnisse im Report frei anordbar) und die zwölfte (Unbegrenzte Anzahl von Dimensionen und Konsolidierungsebenen) können von Ansatz
c) erfüllt werden. Andere Regeln von Codd, wie etwa Regel fünf (Client-Server
Archtitektur) oder acht (Mehrbenutzerunterstützung) sind hingegen nicht in dem
VDM-Ansatz c) festgeschrieben, wodurch aus meiner Sicht auch ein OLAP-System
121
8 Visualisierung der Imperfektion in multidimensionalen Daten
Abbildung 8.13: Ansätze des visuellen Data Mining
mit diesem Ansatz beschrieben könnte, allerdings mit der Einschränkung, dass in
Ansatz c) keine so präzisen Regeln wie die von Codd formuliert sind (d.h. Ansatz
c) ist etwas abstrakter gehalten als OLAP).
8.3.2 Automatisiertes Data Mining und seine Schwächen
Data Mining ist ein iterativer Prozess, dessen Ergebnisse im Rahmen der Datenanalyse die Voraussetzung für eine spätere Evaluierung sind. Beim Data Mining,
das auf vorverarbeiteten Daten operiert, soll mittels ezienter Verfahren potentiell
nützliches Wissen in groÿen Datenmengen aufgefunden werden [Ank04] d.h. es sollen Informationen aus Datenmengen gewonnen werden. Heutzutage sind das Data
Mining sowie die gesamte Datenanalyse weitgehend automatisiert, was dazu führt,
dass einige Probleme auftreten, die durch die Automatisierung nur unzureichend
gelöst werden. Erstens ieÿt vorhandenes Wissen in den Köpfen der Menschen
nur schwer oder gar nicht in die Datenanalyse mit ein. Zweitens lassen sich die
Erkenntnisse einer Iteration oft nur schwer in eine verbesserte weitere Iteration
transferieren, sodass letztlich weiter zurückgegangen wird zum Vorverarbeitungsschritt und eine andere Vorverarbeitung der Daten erfolgt, die bessere Ergebnisse
verspricht. Drittens wenden sich heutige Produkte an Experten auf dem Gebiet des
Data Mining, weshalb die Fähigkeit dieser Experten, die gewonnenen Ergebnisse
zu kommunizieren, von zentraler Bedeutung ist - mit anderen Worten ist es denkbar, dass ein Data Mining Projekt auf Grund der (Un-)Fähigkeit des Experten
scheitert, gewonnene Informationen an den oder die Auftraggeber zu vermitteln.
122
8.3 Datenvisualisierung und Visual Data Mining (VDM)
8.3.3 Visuelle Datenexploration
Auf Grund der Schwächen des automatisierten Data Mining schlägt Ankerst in
[Ank04] einen benutzerorientierten Ansatz vor, bei dem der Mensch die Datenanalyse steuert. Bei der visuellen Datenexploration (vgl. [Kei02]) sollen die Kreativität
und das Verständnis des Menschen verbunden werden mit der der hohen Speicherkapazität und Rechenleistung des Computers. Durch die Visualisierung der Daten
kann der Mensch die Struktur der Daten verstehen, Hypothesen aufstellen und diese interaktiv verizieren bzw. falsizieren. Dadurch muss der Benutzer nicht auf
die oft lange dauernden automatischen Berechnungen warten, sondern er bekommt
Zwischenschritte angezeigt und kann den weiteren Verlauf der Exploration damit
in eine neue Richtung lenken. Infolgedessen kann auch ein Rechenlauf frühzeitig
abgebrochen werden, wenn sich bereits bei den Zwischenschritten abzeichnet, dass
mit den gewählten Data-Mining-Parametern keine sinnvollen Ergebnisse zu erwarten sind. Vorteile bietet VDM insbesondere dann, wenn die Explorationsziele nicht
genau speziziert sind und wenn stark inhomogene und verrauschte Daten vorliegen. Da die visuelle Datenxploration einfacher ist (eine Kenntnis von komplexen
Algorithmen ist nicht erforderlich), kann sie auch von Nicht-Spezialisten durchgeführt werden. Weiterhin ist vorteilhaft, dass der Nutzer besser versteht, wie die
gewonnen Informationen zu Stande kamen, da der Nutzer den Explorationsvorgang schlieÿlich mitgelenkt hat. Im Endeekt sind so häug bessere Ergebnissen
erzielbar, gerade in Szenarien, in denen die Automatisierung versagt.
Die visuelle Datenexploration lässt sich gemäÿ dem Information Seeking Mantra [Shn96] in drei Schritte untergliedern: Der Overview-Schritt soll dem Benutzer
einen Überblick über die Daten verschaen. Beim Zoom and Filter-Schritt kann der
Benutzer erkannte Muster selektieren (ltern) und genauer betrachten (zoomen).
Schlieÿlich bietet der Details-on-Demand-Schritt dem Nutzer die Möglichkeit, auf
Details der Daten zuzugreifen.
8.3.4 Beispiel-Einsatzgebiet für VDM: Kooperatives Data Mining
Beim kooperativen Data Mining [Ank04] werden Data Mining Algorithmen und Visualisierungstechniken integriert, sodass bestehende automatisierte Verfahren um
die Möglichkeit bereichert werden, den Benutzer interaktiv am Mining Prozess teilnehmen zu lassen. Das Wort kooperativ wird hier synonym zu interaktiv verwendet. An dieser Stelle sollen zwei konkrete Data-Mining-Verfahren vorgestellt
werden, die kooperative Klassikation und das interaktive temporale Data Mining.
Ein weiteres Verfahren [Hin99], welches hier jedoch nicht näher behandelt wird,
wendet die Idee des kooperativen Data Mining auf hochdimensionale ClusteringAlgorithmen an.
Kooperative Klassikation
Die Klassikation ist eines der zentralen Verfahren des Data Mining. Im ersten
der zwei Schritte der Klassikation werden bereits klassizierte Daten (sog. Trai-
123
8 Visualisierung der Imperfektion in multidimensionalen Daten
ningsdaten) analysiert, sodass ein Modell mit charakteristischen Attributwerten
erstellt werden kann, um im zweiten Schritt der Klassikation neue Daten gemäÿ
diesem Modell in Klassen einzuteilen. Zur Erstellung eines Klassikationsmodells
wird häug ein Entscheidungsbaum-Klassikator verwendet.
Aus den Trainingsdaten wird von der Wurzel beginnend ein Entscheidungsbaum
konstruiert, wobei Knoten eine Teilmenge der Trainingsdaten, Kanten einen Test
auf das Attribut des Vaterknotens und Blätter die Zugehörigkeit zu einer Klasse
bedeuten. Die Sensoren im abgebildeten Baum 8.14 bestimmen das Ausfallrisiko
eines Heizkörpers. Bei der Konstruktion des Baumes wird zuerst derjenige Sensor
gesucht, der die Trainingsdaten am besten in zwei Klassen einteilt. Dies tut Sensor
1, weshalb er zur Wurzel wird. Für die Kinder und deren Kinder wird rekursiv
ebenso solch ein am besten separierender Sensor gesucht, bis alle Knoten einen
ausreichenden Anteil an einer einzigen Klasse haben, was sie zu Blättern werden
lässt. In diesem ausreichenden Anteil steckt bereits ein gewisses Maÿ an Imper-
Abbildung 8.14: Exemplarischer Entscheidungsbaum [Ank04]
fektion, nämlich die Unsicherheit, dass nicht alle Daten, die beim Verfolgen der
Kanten zu einem Blatt (= Risikoklasse) führen, auch berechtigterweise in diese
Risikoklasse eingeordnet werden können, z.B. wenn man den ausreichenden Anteil
auf 95% festlegt, liegen 5% der Daten mit negativem Wert bei Sensor 1 und positivem Wert bei Sensor 5 in der hohen Risikoklasse statt in der niedrigen. Weiterhin
ist die Abgrenzung in positive und negative Messwerte der Sensoren zwar scharf,
doch ist das Ziehen einer Grenze, ab der man Trainingsdaten in eine andere Klasse
einteilt, nicht immer einfach. Es kann nämlich eine Rolle spielen, wie dicht die
Trainingsdaten an der Grenze beieinander liegen, denn viele nur ganz knapp die
Grenze über-/unterschreitende Daten könnten einen Hinweis darauf liefern, dass
die Grenze falsch gezogen wurde. Im Wesentlichen gibt es drei Kritikpunkte der automatischen Entscheidungsbaum-Klassikatoren: Erstens kann der Benutzer sein
vorhandenes Wissen in das Verfahren kaum einieÿen lassen, zweitens wird zur
Laufzeitverkürzung ein Greedy-Verfahren verwendet und drittens werden nicht im
Entscheidungsbaum verwendete Attribute einfach weggelassen. Kritikpunkt zwei
124
8.3 Datenvisualisierung und Visual Data Mining (VDM)
und drei lassen wieder Imperfektion erahnen. So kann das Greedy-Verfahren suboptimale Ergebnisse produzieren und die unterschlagenen Informationen aus Punkt
3 sind zwar nicht imperfekt im Sinne der drei Arten der Imperfektion aus Denition 1.2, jedoch ist der Baum damit unvollständig im Bezug auf die Verwendung
aller über die Daten zur Verfügung stehenden Informationen.
Interaktives temporales Data Mining
Beim interaktiven temporalen Data Mining haben die zu analysierenden Daten
für jeden Datensatz eine zeitliche Information, etwa einen Messzeitpunkt bei einer
Messreihe. Hier soll die Architektur sowohl von DM-Experten als auch von Fachexperten (die aber im DM unerfahren sind) benutzbar sein. Auch bei dieser Variante
hat der Besucher die volle Palette der Zoom-and-Filter Möglichkeiten. Beispielhaft soll hier auf das Mining-System DataJewel und dessen Visualisierungstechnik
CalenderView verwiesen werden. Wie DataJewel arbeitet und welche Interaktionsmöglichkeiten dem Benutzer zur Verfügung stehen, ist in Abbildung 8.15 ersichtlich.
CalendarView in Abbildung 8.16 visualisiert die zeitliche Verteilung von Ereignis-
Abbildung 8.15: Der interaktive Mining-Prozess mit DataJewel [Ank04]
häugkeiten in Kalenderform, was den Vorteil hat, dass die Darstellung zum einen
den meisten Personen schon vertraut ist und zum anderen, dass z.B. Wochenenden oder wöchentliche Wiederholungen von Ereignissen leichter wahrgenommen
werden können. Zudem werden verschiedene Ereignisse auf mit verschiedenen Farben dargestellt, was für Menschen allerdings nur bei einer kleinen Anzahl von
Ereignissen übersichtlich bleibt, da bei einer gröÿeren Anzahl die Ereignisse nicht
mehr unterscheidbar sind. Bei einer gröÿeren Zahl von Ereignissen können daher
125
8 Visualisierung der Imperfektion in multidimensionalen Daten
DM-Algorithmen aufgerufen werden, die in Sekunden zeitliche Muster nden.
Für diese Form des Data Mining müssen bestehende Algorithmen dahingehend
modiziert werden, dass bereits nach einem linearen Durchlauf der Daten ein Zwischenergebnis vorliegt, was interaktives Arbeiten mit der Software ermöglicht. Die
berechneten Ergebnisse der Algorithmen haben dann eine veränderte Farbzuweisung zur Folge, wobei der Benutzer auch alternativ die Farbzuweisung nach seinen
Vorstellungen interaktiv verändern kann und so Teilsysteme, etwa die Triebwerke
eines Flugzeugs betreende Teilsyssteme anders einfärben als solche, die für die
Klimatisierung des Flugzeuginneren zuständig sind.
Abbildung 8.16: Die Visualisierungstechnik CalendarView [Ank04]
Imperfektion im VDM:
Sowohl die kooperative Klassikation als auch das interaktive temporale Data Ming sind inhärent unvollkommen. Denn wie schon oben
erwähnt, ist beim Entscheidungsbaum-Klassikator die Festlegung der Grenze, ab
der bestimmte Daten einer Klasse angehören, teilweise recht schwierig, vor allem
bei diusen, verrauschten Daten. Auÿerdem steckt in der Klasseneinteilung die Unsicherheit, dass nicht alle Daten korrekterweise zu einer Klasse zusammengefasst
werden, sondern dass eben eine festgelegte Schwelle erreicht wurde, sodass ein geringer Prozentsatz in der Klasse eigentlich nicht in diese gehört. Nach auÿen hin
wird diese Art der Imperfektion allerdings nicht repräsentiert, auÿer vielleicht in
einem Bericht, welcher einer Analyse beiliegt und Meta-Informationen enthält,
etwa eben warum gewisse Schwellwerte gewählt wurden, ob die Daten schwer in
Klassen einteilbar waren oder auch ob andere Schwierigkeiten im Zusammenhang
mit Imperfektion auftraten.
Bei der Visualisierungstechnik CalenderView ist die Beschränkung auf einen Tag
als kleinste Einheit grobkörnig gewählt, denn es könnte z.B. eine Rolle spielen, zu
welcher Uhrzeit innerhalb eines Tages ein Wartungsintervall stattndet, etwa bei
Zügen und deren Radreifen. Die Reaktion auf Fehler wäre schneller, wenn die
126
8.4 Einordnung und Vergleich
Routine-Kontrolle früh am Tag erfolgt als Nachts - dieser Unterschied wird aber
nicht visualisiert.
8.3.5 Klassizierung visueller Data Mining Techniken
Die Klassikation in Abbildung 8.17 wurde in [Kei01] eingeführt und ermöglicht
eine orthogonale Einordnung von VDM-Techniken. Damit lassen sich die Visualisierungstechniken, die in dieser Arbeit vorgestellt wurden, in folgendem Koordinatensystem einzeichnen. Der zu visualisierende Datentyp umfasst die verschiede-
Abbildung 8.17: Klassikation visueller DM-Techniken [Kei01]
nen Arten von vorliegenden Daten, von eindimensionalen Daten, wie z.B. mit dem
ThemeRiver visualisierte temporale Daten über multidimensionale Daten etwa aus
relationalen Datenbanken bis hin zu Graphen der Internetstruktur (z.B. SkitterGraph). Die Visualisierungstechniken fangen bei bekannten Techniken wie Säulenoder Kreisdiagrammen an und gehen bis hin zu geschachtelten Visualisierungen,
etwa bei Treemaps.
Mit Interaktions- und Verzerrungstechniken lässt sich das visuelle Data-Mining
vom Benutzer in eine bestimmte Richtung lenken. Hier soll eine Aufzählung von
Verfahren genügen: GrandTour-System (interaktive Projektion), Polaris-System
(interaktive Selektion), spotre-System (interaktives Zooming), Hyperbolic Tree
(interaktive Verzerrung), XGobi System (interakives Linkging and brushing).
8.4 Einordnung und Vergleich
Will man die im zweiten Kapitel vorgestellten Visualisierungstechniken im Verkehrsbereich an Hand der im letzten Kapitel vorgestellten orthogonalen Klassikation einordnen, lassen sich meiner Ansicht nach nur die beiden Achsen zu
visualisierender Datentyp und Visualisierungstechnik genauer eingrenzen, in der
Richtung Interaktions- und Verzerrungstechniken gebe ich nur eine persönliche
127
8 Visualisierung der Imperfektion in multidimensionalen Daten
Einschätzung über nötige und wünschenswerte Interaktionstechniken, da mir diese
Dimension vom Verfahren her nicht eindeutig festgelegt erscheint.
ThemeRiver würde ich in Sachen Interaktions- und Verzerrungstechnik unter
Zoom, bei Datentyp unter eindimensional und bei Visualisierungstechnik unter
Standard 2D/3D Visualisierung einordnen, wobei die Möglichkeit der Interaktion
nicht auf das Zoomen beschränkt sein muss und auch eine Verzerrung nicht ausgeschlossen ist. Zoomen ist aber deshalb wichtig, da es bei groÿen Sammlungen von
Texten erforderlich sein kann, auf der Zeitachse zu zoomen, um damit z.B. kürzere Abschnitte der Schaensphasen eines Schriftstellers oder Politikers genauer zu
analysieren.
Die parallelen Koordinaten müssen mindestens die interaktive Selektion unterstützen, damit die gewünschten Dimensionen ein- und ausgeblendet werden können.
Der Datentyp ist multidimensional und die Visualisierungstechnik ist eine geometrische Transformation. Projektion und Zoom sind bei dieser Technik sinnvolle
Interaktionstechniken - je nach Anwendungszweck und Datenbasis.
Die Table Lens-Technik ist vom Datentyp her multidimensional und als Visualisierungstechnik eine Standard 2D/3D Visualisierung. Als Interaktionstechnik
sollte dem Benutzer auf jeden Fall eine Filter-Möglichkeit an die Hand gegeben
werden, damit er sich z.B. bei sehr vielen Autobahnabschnitts-Daten von verschiedenen Autobahnen nur diejenigen anzeigen lassen kann, die zu der von ihm betrachteten Autobahn gehören. Wie oben schon erwähnt, muss das aber nicht die
einzige Interaktionsmöglichkeit sein; für die Selektion und die Verzerrung sind auch
sinnvolle Anwendungen denkbar, etwa die Auswahl von Strecken, die von Glatteis
betroen sind oder die verzerrte Darstellung z.B. von sehr windigen Streckabschnitten in der Visualisierung, damit sie in der Flut von Streckabschnitten auallen, die
ein Verkehrsingenieur visualisieren lässt.
Die beiden in Kapitel 8.3 vorgestellten VDM-Techniken Kooperative Klassikation und Interaktives temporales Data Mining verwenden beide pixel-basierte
Visualierungstechniken und arbeiten vom Datentyp her mit multidimensionalen
Daten. Die Möglichkeiten zur Interaktion im DataJewel-System (vgl. [Ank04])
sind vielfältig und übersteigen die im Koordinatensystem eingezeichneten Interaktionstechniken sogar. Für beide ist meiner Meinung nach auch eine Anwendung
im Verkehr denkbar. Mit Hilfe der kooperativen Klassikation kann z.B. ein Verkehrswissenschafter Modelle entwickeln an Hand von Daten, die ihm DurchfahrtsMessstellen geliefert haben, um damit bestimmte Stausituationen besser vorhersagen zu können. Auch die Modellierung von sinnvollen Verkehrsregulierungsmaÿnahmen wäre so möglich, z.B. folgendermaÿen: Wenn an einer Messstelle wenige Autos
durchfahren und ihre Geschwindigkeit nahe an der auf diesem Streckenabschnitt
zugelassenen Maximalgeschwindigkeit liegt, könnte man die Geschwindigkeitsbegrenzung aufheben. Wenn allerdings eine bestimmte Schwelle von durchfahrenden
Autos überschritten wird oder auf einem folgenden Abschnitt ein Stau oder ein
Unfall registriert ist, sollte dieses Aufheben unterlassen werden.
Auch das interaktive temporale Data Mining hat meiner Ansicht nach interessante Anwendungsgebiete im Verkehr. Neben der Flugzeugwartung, die bei der
128
8.5 Zusammenfassung und Ausblick
Vorstellung als Beispiel diente, wäre ein solches System auch bei der Auto-Wartung
denkbar, da heutige Fahrzeuge zunehmend komplexer werden und eine Fülle von
Elektronik enthalten, was die Fehlerdiagnose komplexer, durch Einsatz von Computern aber auch automatisierbar macht. Wenn z.B. in der Werkstatt bei einem
Systemcheck bestimmte Fehler aufgedeckt werden, können diese sogleich in einer
Datenbank aufgenommen werden, damit man temporales Data-Mining interaktiv
darauf betreiben kann, um z.B. bestimmte Vermutungen bezüglich des Auftretens
von Störungen oder Pannen zu verizieren oder zu falsizieren. Wenn man etwa den
Verdacht hat, dass eine bestimmte produzierte Serie von Fahrzeugen zu Fehlern
an der Lenksäule neigt, lässt sich durch das interaktive temporale DM feststellen,
ob die Werkstattdaten aller Werkstätten in Deutschland diesen Verdacht erhärten
können, indem der Data-Mining-Benutzer geschickt Modell-Reihe, Serie und betrachtetes Zeitintervall eingrenzt und so eine aussagekräftige Visualisierung erhält,
die Aufschluss über auällige Reparaturhäugkeiten gibt.
8.5 Zusammenfassung und Ausblick
In dieser Seminararbeit wurden zunächst Visualisierungstechniken aus dem Straÿenverkehrsbereich sowie Kriterien für deren Klassikation vorgestellt, mit denen
die Techniken bewertet wurden. Anschlieÿend wurden die um Imperfektion erweiterten Techniken und deren Bewertung vorgestellt. Das dritte Kapitel umfasst die
Einführung in das Visual Data Mining und dessen drei verschiedene Ansätze sowie
die Vorstellung zweier konkreter Techniken des Visual Data Mining und gibt eine
Klassikationsmöglichkeit an, die auf alle in dieser Arbeit besprochenen fünf Techniken angewendet wird, nämlich ThemeRiver, Parallele Koordinaten, Table Lens,
Kooperative Klassikation und Interaktives Temporales Data Mining. Ferner wurde gezeigt, dass den beiden letztgenannten, zum kooperativen Data Mining zählenden VDM-Verfahren, ein gewisses Maÿ an Imperfektion bereits im Verfahren
innewohnt, ohne dass die Imperfektion bewusst in die Verfahren integriert worden
wäre. Spätestens da, wo klare Grenzen werden müssen, die letztlich willkürlich sind,
ndet keine perfekte Abbildung der Wirklichkeit mehr statt, sodass man es mit
unsicheren, unscharfen oder ungenauen Modellen zu tun hat wie beispielsweise mit
der Unschärfe im Falle des Entscheidungsbaumklassikators oder der Ungenauigkeit bei CalendarView. Allerdings erscheint es wiederum notwendig, dass bei der
Abstraktion von den Einzeldaten, wie sie bei der Klassikation durchgeführt wird,
eine Reduktion von Klassen stattndet, welche fast immer mit einem Informationsverlust einhergeht und damit mit Imperfektion. Diesen Preis ist man aber häug
bereit zu zahlen, um Informationen überhaupt erst beherrschbar und überschaubar
zu machen. Den Lerneekt in diesem Seminarthema sehe ich vor allem darin, dass
der Blick darauf geschärft wird, was bei Visualisierungen weggelassen wird und was
in den Vordergrund gerückt wird. Letztendlich ist jede Form der Visualisierung nur
ein Modell, ein Ausschnitt desssen, was an Informationen in einem (multidimensionalen) Datensatz vorhanden ist. Die Erweiterung von bestehenden Techniken um
129
8 Visualisierung der Imperfektion in multidimensionalen Daten
Imperfektion ist daher vor allem sinnvoll, um dem Betrachter von Visualisierungen
vor Augen zu führen, an welchen Stellen bekanntermaÿen unsichere, unscharfe oder
ungenaue Daten visualisiert werden, damit er sich ein fundierteres Bild über den
Informationsgehalt der visualisierten Daten machen kann. Lässt man die Imperfektion bei der Darstellung nämlich auÿer Acht, so kann es den Anschein machen, als
beruhte die Visualisierung auf sicheren Daten, was zu falschen Erkenntnissen beim
Betrachter führen kann.
Die Integration von Data-Mining-Algorithmen und Visualisierungstechniken
beim interaktiven bzw. kooperativen Data Mining lässt auch in Zukunft noch genug Raum für Forschungen, da für interaktive Anwendungen die bestehenden Data
Mining Algorithmen dahingehend umgeformt werden müssen, dass sie in wenigen
Sekunden Zwischenergebnisse liefern, damit für den Benutzer die Verzögerungen
beim Arbeiten akzeptabel bleiben. Diese Verkürzung der Laufzeiten auf der einen
Seite und das Ausloten der Möglichkeiten (und Grenzen) des kooperativen Data
Mining auf der anderen Seiten sind zwei interessante Forschungsfelder auf Gebiet
der Informationsgewinnung.
Das kooperative Data Mining ist heutzutage vor allem deshalb interessant, weil
der menschliche Intellekt beim Aunden von Mustern dem Computer noch einiges voraus hat bzw. weil der Mensch weiÿ, in welche Richtung er die Suche
nach Informationen in einer Unmenge von Daten lenken will. Spannend ist daher
auch die Frage, inwieweit dem Computer diese Zielstrebigkeit beigebracht werden
kann, damit er selbst Informationen in groÿen Datenmengen zu erkennen und zu
verknüpfen vermag - ganz ohne Benutzerinteraktion.
130
Matthias Biehl
9
Stream Clustering
Zahlreiche Anwendungen erzeugen oder verarbeiten groÿe Datenmengen, die in
Form von Datenströmen anfallen. In den meisten Datenströmen gibt es innere
Zusammenhänge zwischen den enthaltenen Daten, die auf den ersten Blick nicht
ersichtlich sind. Analysten haben Interesse daran, solche Zusammenhänge aufzudecken, um diese zur Bewertung und Entscheidungsndung heranzuziehen. So können beispielsweise Finanz-Analysten ihr Kauf- und Verkaufsentscheidungen treen,
nachdem siedie Zusammenhänge in den Transaktionsströmen von Finanzmärkten
analysiert haben.
Stream Clustering Algorithmen können solche Zusammenhänge in Datenströmen erkennen. Zu jedem Zeitpunkt nden sie aktuelle Zusammenhänge der Daten
und bewahren diese für spätere Analysen in einer Historie auf. In diesem Kapitel
beschäftigen wir uns im Detail mit Stream Clustering Algorithmen.
9.1 Einleitung
Wenn wir in Datenströmen nach wertvollen Zusammenhängen zwischen Datenpunkten suchen, setzen wir Clustering als Technik ein. Durch die identizierten
Zusammenhänge können die Daten zu jedem Zeitpunkt in Gruppen von ähnlichen
Datenpunkten partitioniert werden.
Unter den Randbedingungen der Datenströme entstehen neue Herausforderungen für das bekannte Clustering Problem. Die Datenpunkte müssen ezient verarbeitet werden, um jederzeit eine vollständige Gruppierung zur Verfügung zu stellen.
Eine Unterscheidung der Daten nach ihrem Alter ist unabdingbar, um die Aktualität der Gruppierung zu erhalten. Stream Clustering Algorithmen nden auch unter
den Randbedingungen der Datenströme qualitativ hochwertige Gruppen.
131
9 Stream Clustering
9.1.1 Praktische Anwendungen
Das Finden von Zusammenhängen in Datenströmen ist ein Problem aus der Praxis. Es gibt zahlreiche Anwendungen, welche die praktische Relevanz des Problems
verdeutlichen. Wenn sehr viele Daten analysiert werden müssen, die über die Zeit
hinweg anfallen, handelt es sich um eine potentielle Anwendung von Stream Clustering.
Bei der Intrusion Detection werden Muster von Netzwerkverbindungen auf feindseliges Verhalten untersucht. Auf Stream Clustering basierte Intrusion Detection
Systeme sind bereits implementiert [AHWY03]. Eine andere Anwendung wird in
[DH00] vorgestellt: Ein Stream Clustering System zur Analyse von Webseitenzugrien. Weitere Anwendungen liegen in der Analyse von Finanzmarktdaten, im
Marketing, der Astronomie und Medizin.
9.1.2 Überblick über dieses Kapitel
In Abschnitt 9.2 beschreiben wir kurz die Grundlagen für herkömmliches Clustering. Wir analysieren die Eigenschaften von Datenströmen und leiten daraus in
Abschnitt 9.3 allgemeine Lösungsansätze ab. Diese konkretisieren wir in den nächsten Abschnitten 9.4 und 9.5, wenn wir uns beispielhaft mit zwei Stream Clustering
Algorithmen beschäftigen, die ihre Stärken im Umgang mit der Evolution in Datenströmen und in der Verarbeitung von hochdimensionalen Daten haben. Wir
stellen in Abschnitt 9.6 zuerst Bewertungsmethoden vor, führen eine Bewertung
durch und schlieÿen mit einer Zusammenfassung in Abschnitt 9.7.
9.2 Grundlagen
In diesem Abschnitt führen wir einige grundlegende Begrie für herkömmlichen
Clustering ein.
Datenpunkte sind die Vektoren, die wir mit einem Clustering Algorithmus analysieren. Sei K = {K1 , ..., Kn } eine Menge von Datenpunkten. Als Clustering
bezeichnen wir eine Menge von k Teilmengen C = {C1 , ..., Ck } von K mit den
Eigenschaften Konsistenz (9.1) und Vollständigkeit (9.2). Dabei ist jedes Ci ein
Cluster.
∀i, j mit i 6= j, 1 ≤ i ≤ k, 1 ≤ j ≤ k : Ci ∩ Cj = ∅
k
[
Ci = K
(9.1)
(9.2)
i=1
Im Raum der Datenpunkte können wir ein Abstandsmaÿ denieren, durch das
der Abstand d(Ki , Kj ) zweier Punkte Ki und Kj berechnet werden kann. Ein
Beispiel für ein Abstandsmaÿ ist die euklidische Distanz.
132
9.3 Stream Clustering
Das Ziel von Clustering Algorithmen ist es, ein Clustering mit möglichst hoher
Qualität zu nden. Die Qualität wird anwendungsspezisch festgelegt, üblich ist
ein abstandsbasiertes Qualitätsmaÿ. Es deniert hohe Qualität durch minimalen
Abstand der Datenpunkte innerhalb eines Clusters und maximalen Abstand der
Datenpunkte zu anderen Clustern.
Mithilfe einer Turing Reduktion lässt sich beweisen, dass herkömmliches Clustering ein NP-hartes Problem ist [GJ79, S. 281]. Praktisch verwendbare Clustering
Algorithmen garantieren daher keine optimale Lösung, sondern sind Heuristiken.
Es gibt zahlreiche Algorithmen für das herkömmliche Clustering Problem, bekannt
ist etwa der K-Means Algorithmus. Eine Übersicht über weitere Algorithmen ndet
man in [KR90] [Har75] und [JD88].
Eingesetzt werden Clustering Algorithmen, wenn man eine Zerlegung der Datenmenge in Gruppen ähnlicher Datenpunkten erstellen möchte, bzw. Datenpunkte
zu Gruppen zusammenfassen möchte. Die Ziele und Anforderungen der herkömmlichen Clustering Algorithmen gelten auch für Stream Clustering Algorithmen. Letztere werden jedoch wie im nächsten Kapitel beschrieben um weitere Anforderungen ergänzt.
9.3 Stream Clustering
In diesem Abschnitt betrachten wir das Stream Clustering Problem näher und stellen einfache Lösungsansätze vor. Zunächst analysieren wir die Eigenschaften von
Datenströmen, um daraus die Anforderungen an Stream Clustering Algorithmen
zu erarbeiten. Anhand abstrakter Lösungsansätze präsentieren wir die Konzepte,
die Stream Clustering Algorithmen einsetzen, um den Anforderungen unter den
gegebenen Randbedingungen zu genügen.
9.3.1 Eigenschaften von Datenströmen
Datenströmen zeichnen sich vor allem durch ihre zeitliche Dynamik aus. Zu beliebigen Zeitpunkten kann der Datenstrom neue Daten liefern und dadurch das Bild
der gesamten bisher angefallenen Daten verändern. Diese Veränderung der Daten
über die Zeit wird als Evolution bezeichnet. Während die Evolution sich mit der
gegenwärtigen Entwicklung der Daten befasst, ist die Historie ein Rückblick auf
die bisher angefallenen Daten. Man kann dabei sowohl die Historie der Streamdaten als auch die Historie der Cluster betrachten. Analysten verwenden beide
Arten, um die Entwicklung des Datenstroms über einen gewissen Zeithorizont zu
untersuchen.
Da Streamdaten zu einem gewissen Zeitpunkt anfallen, ist der Verarbeitungszeitpunkt der Daten durch den Datenstrom vorgegeben. Auf Streamdaten können
wir nicht wahlfrei zugreifen, sondern nur in der vom Datenstrom vorgegebenen
Reihenfolge.
Die hier betrachteten Datenströme enden nicht in absehbarer Zeit, vielmehr
müssen wir davon ausgehen, dass sie für eine beliebig lange Zeit zu analysierende
133
9 Stream Clustering
Daten liefern. Sammeln wir die anfallenden Daten über die Zeit, um etwa die
Historie abzuspeichern, so erhalten wir groÿe Datenmengen. Die Datenrate des
Stroms bestimmt die Wachstumsgeschwindigkeit der aggregierten Datenmenge.
Die Haupteigenschaft von Streamdaten ist die zeitliche Komponente, verbunden
mit der eingeschränkten Zugfrismöglichkeit und der Kontinuität [OMM+ 02].
9.3.2 Aufgaben von Stream Clustering
Stream Clustering Algorithmen haben zwei Aufgaben zu bewältigen: Zum Einen
müssen sie zu jedem Zeitpunkt ein aktuelles Clustering zur Verfügung zu stellen.
Auÿerdem müssen sie Analysen über die Historie des Datenstroms für einen gegebenen Zeitrahmen unterstützen [AHWY03]. Dazu muss der Stream Clustering
Algorithmus eine sinnvolle Menge historischer Daten speichern.
9.3.3 Eignung herkömmlicher Algorithmen
Würden wir für unsere Aufgaben herkömmliche Algorithmen einsetzen, müssten
alle zu analysierenden Daten zu Beginn des Clustering Vorgangs feststehen, d.h. die
Daten müssten statisch sein. Auÿerdem bestehen die herkömmlichen Algorithmen
oft aus mehreren Iterationen und benötigen wahlfreien Zugri auf die Daten. Die
Speicher und Zeitkomplexität herkömmlicher Algorithmen ist in O(n2 ) und damit
für schnelle Datenströme zu hoch.
All diese Eigenschaften sind für die Verarbeitung von Streamdaten ungeeignet
uns verbieten den Einsatz herkömmlicher Clustering Algorithmen für Datenströme. Somit kann das Stream Clustering Problem nicht durch eine Variante der
herkömmlichen Clustering Algorithmen gelöst werden, sondern erfordert neue Lösungsansätze. [OMM+ 02]
9.3.4 Allgemeine Lösungsansätze
Aus den Eigenschaften der Streamdaten ergeben sich einige allgemeine Lösungsansätze. Diese kann man in unterschiedlicher Ausprägung in vielen Stream Clustering
Algorithmen nden.
Um kontinuierlich ein aktuelles Clustering bereitstellen zu können, muss ein neu
eintreender Datenpunkt ezient verarbeitet werden. Die zur Verfügung stehende
Bearbeitungszeit für das Clustering ist durch die Zeitspanne begrenzt, die zwischen
dem Eintreen aufeinander folgender Datenpunkte liegt, durchschnittlich ist diese
Zeit umgekehrt proportional zur Datenrate des Stroms. Während der naive Ansatz
zu jedem Zeitpunkt ein komplett neues Clustering erstellt, fügen Stream Clustering
Algorithmen den neuen Datenpunkt nur zu einem bestehenden Cluster hinzu. So
kann das Cluster zum Zeitpunkt t durch einfache Operationen und mit geringem
Zeitaufwand aus dem Cluster zum Zeitpunkt t − 1 gebildet werden.
Für die meisten Algorithmen gilt die Annahme, dass nur ein begrenzter Speicher für die aktuellen Cluster zur Verfügung steht. Um Platz für neue Daten zu
134
9.4 Evolution von Datenströmen
schaen, müssen alte Daten aus dem begrenzten Speicher verdrängt werden. Dadurch werden zwei Ziele umgesetzt: Der Bestand an vorhandenen Clustern wird
durch die Verdrängung stets aktuell gehalten, gleichzeitig ist die Speicherkomplexität der beim Clustering berücksichtigten aktuellen Daten konstant. Somit ist auch
die Laufzeit des Einfügens durch eine Konstante beschränkt.
Neben den aktuellen Daten müssen auch die historischen Daten verwaltet werden.
Obwohl die Laufzeit nicht von deren Datenmenge abhängt, muss ihr Wachstum
kontrolliert und auf ein sinnvolles Maÿ beschränkt werden. Dazu werden selektiv
alte Daten aus der Historie vergessen, während die Historie periodisch durch
jeweils aktuelle Einträge fortgeschrieben wird. Ein solches Konzept zum selektiven
Vergessen betrachten wir in Abschnitt 9.4.2 beispielhaft anhand der Pyramidal
Time Frame.
9.4 Evolution von Datenströmen
In diesem Abschnitt beschreiben wir den CluStream Algorithmus, einen Stream
Clustering Algorithmus, der besonders dazu geeignet ist, die Evolution von Datenströmen zu erfassen [AHWY03]. Wir beschreiben im Folgenden zunächst die
Architektur von CluStream wie sie in Abbildung 9.1 dargestellt ist, später gehen
wir auf die Bestandteile im Detail ein.
Die Architektur orientiert sich an den Aufgaben von Stream Clustering (siehe
Abschnitt 9.3.2), und zerlegt den Algorithmus in zwei Komponenten: Eine Online Komponente fasst die Stromdaten kontinuierlich zusammen und bildet kleine
Cluster, sogenannten Mikrocluster. Alle aktuellen Mikrocluster des Systems werden
periodisch als Zwischenergebnisse abgespeichert. Dazu wird der Zustand des Systems in einem Bild festgehalten und als Snapshot gespeichert. Stellt der Analyst
Anfragen an das System, so nutzt er die Oine Komponente mit dem Makroclustering Algorithmus. Dieser verwendet die Snapshots und ist somit vom Datenstrom
entkoppelt.
9.4.1 Mikroclustering
Beim Mikroclustering verarbeiten wir die Daten des Stroms vor, indem wir sie auf
feingranularer Ebene zu Mikroclustern zusammenfassen. Die maximale Anzahl von
Mikroclustern ist beschränkt und wird durch eine Verdrängungsstrategie auf gleich
bleibendem Niveau gehalten.
In der Datenstruktur, die jedes Mikrocluster beschreibt, speichern wir neben
einer ID lediglich statistische Daten des Clusters, die einzelnen Datenpunkte jedoch
nicht (siehe Abbildung 9.2). Für jede Dimension speichern wir die Summe der
entsprechenden Werte der Datenpunkte, ebenso die Summe der Quadrate. Soweit
entspricht die Datenstruktur dem Cluster Feature Vector des BIRCH Algorithmus
[ZRL96]. Zusätzlich nehmen wir im Mikrocluster die Summe der Zeitstempel und
die Summe der Quadrate der Zeitstempel auf.
135
9 Stream Clustering
Abbildung 9.1: Architektur des CluStream Algorithmus
Abbildung 9.2: Mikrocluster Datenstruktur
Durch diesen Aufbau sind die Mikrocluster subtraktiv. Diese Eigenschaft ermöglicht es uns, Änderungen in einem Mikrocluster ausndig machen, indem wir die
Dierenz aus zwei Mikroclustern berechnen.
Die Datenstruktur erlaubt inkrementelle Updates, da ein neuer Datenpunkt mit
einfachen Operationen zu einem bestehenden Mikrocluster hinzugefügt werden
kann. Die Werte des neuen Datenpunktes addieren wir zu den Summen entsprechender Dimension im Mikrocluster.
In Abbildung 9.3 stellen wir den im folgenden beschriebene Algorithmus visuell
dar. Das Mikroclustering ordnet ein neu angekommenes Datum aus den Strom
entweder einem bestehenden Cluster zu oder erstellt ein neues Cluster, abhängig
vom Abstand zwischen Cluster und neuem Datum. Da die Anzahl der Cluster
nach oben begrenzt ist, muss beim Erstellen eines neuen Clusters möglicherweise
ein altes Cluster verdrängt werden. Die Verdrängung wird abhängig von Mittelwert
und Varianz der Zeitangaben im ältesten Cluster durch zwei Arten realisiert: Ist das
136
9.4 Evolution von Datenströmen
Abbildung 9.3: Zustandsdiagramm zum Mikroclustering
durchschnittliche Alter innerhalb gewisser Grenzen, wird das älteste Cluster mit
dem nächsten Cluster verschmolzen, andernfalls wird das älteste Cluster gelöscht.
9.4.2 Pyramidal Time Frame
Es ist Aufgabe des Stream Clustering Algorithmus, eine sinnvolle Menge historischer Daten zu speichern. Dazu erstellen wir periodisch einen Snapshot und reihen
ihn in eine Historie ein.
Würden wir alle historischen Daten abspeichern, könnten wir eine hohe Präzision
erreichen, jedoch würde die Datenmenge linear d.h. zu schnell anwachsen. Würden
wir andererseits nur wenige Daten abspeichern, so würde dies in einer langsamen
Anpassung des Clusterings an einen sich schnell ändernden Datenstrom resultieren.
Die Anpassung des Clusterings erfolgt in diesem Fall verzögert, da historische
Daten das Clustering dominieren.
CluStream löst dieses Problem, indem er nur die Snapshots ausgewählter Zeitpunkte speichert und alle übrigen eliminiert. Die Pyramidal Time Frame bestimmt
für jeden aktuellen Zeitpunkt ti die Menge der historischen Zeitpunkte, deren Daten zum Zeitpunkt ti gespeichert sein sollen. Diese Menge von historischen Zeitpunkten bezwichnen wir als Historie Hti . Sie ist unabhängig von den Daten. An der
beispielhaften Historie H55 in Abbildung 9.5 erkennt man, dass die berechneten
Zeitpunkte in der jeweils jüngsten Vergangenheit sehr dicht und mit zunehmendem
Alter weiter auseinander liegen.
Die Pyramidal Time Frame sorgt dafür, dass die Historie Hti durch Filtern der
Historie Hti−1 entstehen kann. Beim Übergang vom Zeitpunkt ti zu ti+1 werden
keine zusätzlichen Daten aus der Vergangenheit benötigt. Dies kann man anhand
137
9 Stream Clustering
Abbildung 9.4: Historie H17
Abbildung 9.5: Historie H55
der Abbildungen 9.4 und 9.5 nachvollziehen: Die Historie H55 hat im Intervall
[1, 17] nur noch eine Teilmenge der Zeitpunkte ihrer früheren Historie H17 und
keine zusätzlichen Zeitpunkte.
Eine wichtige Eigenschaft der Pyramidal Time Frame ist ihr logarithmisches
Wachstum. Für die Anzahl n der Daten aus dem letzten a + 1 Zeitpunkten gilt
n = |loga (t)| ∗ (a + 1) ∈ O(log(t))
(9.3)
wobei a eine Konstante des Systems ist. Wichtig ist, dass die Historie lediglich
logarithmisch wächst. Verwaltungstechnisch teilen wir die Zeitpunkte der Historie
138
9.5 Projected Clustering für hochdimensionale Datenströmen
in verschiedene Ordnungen o(t) ein. Es gilt
o(t) = maxi (i|(t mod ai ) = 0)
(9.4)
Je höher die Ordnung ist, desto länger bleibt der Zeitpunkt in der Historie.
9.4.3 Makroclustering
Die Snapshots bilden die Schnittstelle zwischen Mikroclustering und Makroclustering. Während sie beim Mikroclustering erstellt werden, können sie beim Makroclustering als Zwischenergebnisse verwendet werden, um ein benutzerdeniertes
Clustering zu erstellen. Für ein benutzerdeniertes Clustering gibt der Anwender
lediglich die Anzahl der Cluster sowie den zu untersuchenden Zeithorizont vor.
Bei einer solchen Anfrage ermitteln wir in einem ersten Schritt die vorhandenen
Snapshots, die möglichst nahe am Anfang und Ende des angefragten Zeithorizonts
liegen. Dabei garantiert die Pyramidal Time Frame, dass eine gute Approximation von Snapshots für das gegebene Zeitintervall gefunden werden kann. Durch
die Subtraktivität der in den Snapshots enthaltenen Mikrocluster und durch die
konsistente Benennung können wir für den angegebenen Zeithorizont sowohl neue
Mikrocluster, als auch Änderungen an bestehenden Mikroclustern ermitteln. Auf
diesen Daten wenden wir ein herkömmliches Clustering Verfahren an, etwa ein KMeans Algorithmus. Dabei erstellen wir aus den feingranularen Mikroclustern ein
Clustering mit benutzerdenierter Granularität.
9.5 Projected Clustering für hochdimensionale
Datenströmen
Der in Kapitel 9.4 vorgestellte CluStream Algorithmus liefert bei hochdimensionalen Daten i.A. nur unzureichende Ergebnisse. Wir stellen im Folgenden den
HPStream Algorithmus, eine Erweiterung von CluStream vor, der auch mit hochdimensionale Datenströmen umgehen kann [AHWY04].
9.5.1 Projected Clustering
Ausgangspunkt der Stream Clustering Algorithmen sind die Datenpunkte des
Stroms. Als Vektoren besitzen die Datenpunkte Werte in mehreren Dimensionen.
Bei einer groÿen Anzahl von Dimensionen kann der Algorithmus die Charakteristika einzelner Datengruppen nicht erkennen, wenn er alle Dimensionen gleichermaÿen berücksichtigt.
Beim Projected Clustering Ansatz [APW+ 99] für statische Daten, wird für jedes
Cluster nur eine Teilmenge aller Dimensionen betrachtet. Die geeigneten Dimensionen werden fortlaufend für jedes Cluster ermittelt, wobei die durchschnittliche
Anzahl der Dimensionen konstant ist.
139
9 Stream Clustering
Der Algorithmus verwendet ein projiziertes Abstandsmaÿ, die Manhattan Segmental Distance MSD. Sie berechnet den Abstand eines Datenpunktes x vom Mittelpunkt m eines Clusters, indem der Abstand für jede der Dimensionen aus der
Menge D separat berücksichtigt wird.
P
(xd − md )
M SD = d∈D
(9.5)
|D|
Der Projected Clustering Ansatz löst zwei Probleme: Das Finden von Clustern
und das Bestimmen der Dimensionen, auf denen die Cluster deniert sind. Im
Folgenden stellen wir einen Projected Clustering Algorithmus für Streamdaten
vor.
9.5.2 HPStream Algorithmus
Das vorgestellte Konzept des Projected Clusterings ist im HPStream Algorithmus
[AHWY04] umgesetzt, der eine Erweiterung des CluStream Algorithmus aus Abschnitt 9.4 ist.
Im Folgenden beschreiben wir detaillierter zwei wichtige Phasen des Algorithmus:
Die Initialisierungsphase und die Schritte bei der Ankunft eines neuen Datenpunktes.
Initialisierungsphase
Im Verlauf des Algorithmus werden Werte unterschiedlicher Dimensionen verglichen. Um den Skalen der unterschiedlichen Dimensionen gerecht zu werden, normiert der Algorithmus die Werte der unterschiedlichen Dimensionen mit Hilfe der
Standardabweichung der jeweiligen Dimension. Diese Normierung wird periodisch
wiederholt, um an die aktuellen Datenpunkte angepasst zu sein.
Schritte bei der Ankunft eines neuen Datenpunktes
Bei der Ankunft eines neuen Datenpunktes aus dem Stream durchläuft der Algorithmus drei Schritte:
1. Bestimme die Dimensionen für jedes Cluster:
Wir fügen den neuen Datenpunkt probeweise zu jedem bestehenden Cluster
hinzu. Für jedes Cluster wählen wir die Dimensionen aus, durch die alle Datenpunkte des Clusters beschrieben werden können und den kleinsten Radius
ermöglichen.
2. Finde das nächste Cluster:
Das nächste Cluster ist dadurch bestimmt, dass der Abstand des Datenpunktes vom Mittelpunkt aller Datenpunkte des Clusters am geringsten ist. Zur
Abstandsberechnung wird die Manhattan Segmental Distance genutzt. Um
den Mittelpunkt zu berechnen, sind die Daten des Mikroclusters ausreichend.
140
9.6 Bewertung
3. Füge zum Cluster hinzu oder erstelle ein neues Cluster:
Nachdem das potentielle Cluster des neuen Datenpunktes feststeht, entschieden wir, ob der Datenpunkt dem Cluster zugeordnet wird oder ein neues
Cluster bildet. Mit Hilfe der statistischen Daten aus dem Mikrocluster berechnen wir den Radius des Clusters mit dem neuen Datenpunkt. Ist der
Radius unterhalb einer Schwelle, fügen wirke den Datenpunkt zum Cluster
hinzu, ansonsten ist der neue Datenpunkt zu weit von den restlichen Datenpunkten entfernt und wir erstellen ein neues Cluster für ihn.
Beim Erstellen eines neuen Clusters müssen wir beachten, dass die Anzahl
der Cluster beschränkt ist. Daher verdrängen wir entweder ein altes Cluster
oder verschmelzen zwei benachbarte Cluster. Entscheidend ist wie weit die
letzten Änderungen ám Cluster zurückliegen; sind sie gröÿer einer Schwelle,
wird verdrängt, ansonsten verschmolzen.
Zusätzlich ersetzen wir die Pyramidal Time Frame durch ein verallgemeinertes
Modell, die Fading Cluster Structure. Sie ordnet jedem Datenpunkt eine über die
Zeit hinweg exponentiell fallende Gewichtungsfunktion zu. In diesem Algorithmus
verwenden wir wie in CluStream die Mikrocluster-Datenstruktur, jedoch ersetzen wir die einfachen Summen durch gewichtete Summen. Die Gewichte bestimmen
wir mit Hilfe der Fading Cluster Structure. Zusätzlich enthält das Mikrocluster
einen Bitvektor, der die projizierten Dimensionen des Clusters angibt.
9.6 Bewertung
Als Heuristiken liefern Stream Clustering Algorithmen eine Näherung an das theoretisch erreichbare, optimale Ergebnis. Es gibt einen Tradeo zwischen der Güte
des Ergebnis und der benötigten Rechenzeit. Beide Gröÿen können wir anhand verschiedener Kriterien messen, zu einander in Beziehung setzen und bewerten. Auf
diese Weise können wir sowohl verschiedene Algorithmen vergleichen, als auch den
selben Algorithmus mit unterschiedlichen Parametern.
In diesem Abschnitt stellen wir zunächst die Infrastruktur zur Bewertung vor:
Bewertungskriterien und gängige Bewertungsmethoden für Stream Clustering. Anschlieÿend zeigen wir beispielhaft eine Bewertungen der in Abschnitt 9.4 und 9.5
vorgestellten Algorithmen CluStream und HPStream.
9.6.1 Bewertungskriterien
Die Bewertung von Stream Clustering Algorithmen erfolgt anhand der Kriterien
Ezienz, Skalierbarkeit und Qualität. Die Ezienzbewertung setzt sich aus der
Bewertung von Speicherplatz und Rechenzeit zusammen. Bei der Skalierbarkeit
betrachtet man die Anzahl der verarbeiteten Datensätze pro Zeiteinheit, um so
die maximal verarbeitbare Datenrate zu ermitteln. Die Qualität des Clusterings
ist das wichtigste und gleichwohl am schwersten zu bewertende Kriterium.
141
9 Stream Clustering
Abbildung 9.6: Sum of Square Distances am Beispiel
9.6.2 Bewertungsmethoden
Für die Qualitätsbewertung stehen zwei grundsätzlich verschiedene Methoden zur
Verfügung: Die Bewertung der Cluster anhand von Maÿen und die manuelle Ergebnisbewertung aus Anwendersicht. Aus Anwendersicht steht die Nützlichkeit der
Cluster im Mittelpunkt. Hier wertet ein Experte die Ergebnisse manuell aus, interpretiert sie und bewertet sie mit Hilfe seines Kontextwissens. Dem gegenüber
bieten Maÿzahlen eine objektive Vergleichsmöglichkeit, da sie berechnet werden.
Die Formeln der Maÿzahlen verwenden Abstandsmaÿe, so z.B. die Sum of Square
Distances (SSQ). Sie bewertet die Dichte der Datenpunkte innerhalb eines Clusters.
Angestrebt wird eine hohe Datendichte im Cluster bzw. eine geringen SSQ.
SSQ =
k X
X
d2 (x, Ki )
(9.6)
i=1 x∈Ni
mit Ni = {x ∈ K|∀j : d(Kj , x) ≤ d(Ki , x)}1
(9.7)
9.6.3 Datenauswahl
Angestrebt wird eine Objektivität der Bewertung. Dafür ist die Auswahl und Breite der untersuchten Daten entscheidend. Man dierenziert zwischen synthetische
Daten und natürlichen Daten. Synthetische Daten werden generiert und können
dadurch steuerbare Eigenschaften haben. So ist es möglich, das korrekte Clustering
der Daten zu kennen und das Ergebnis des Algorithmus mit dieser autoritativen
Referenz zu vergleichen. Ferner werden natürliche Daten verwendet, die aus realen
Anwendungsszenarien stammen. Standardisierte natürliche Daten erlauben einen
Vergleich unterschiedlicher Algorithmen. Für Stream Clustering hat sich ein Datensatz für Intrusion Detection des KDD-CUP'99 [clu] als Quasi-Standard etabliert.
9.6.4 Bewertung der vorgestellten Algorithmen
CluStream
Im Folgenden betrachten wir beispielhaft zwei Bewertungen für den CluStream
Algorithmus.
1
Siehe Variablendeklarationen in 9.2
142
9.6 Bewertung
Abbildung 9.7: Qualitätsvergleich (aus [AHWY03])
Abbildung 9.8: Verarbeitet Datenrate (aus [AHWY03])
In Abbildung 9.7 zeigen wir eine relative Qualitätsbewertung. Hier vergleichen
wir anhand der SSQ Maÿzahl die Ergebnisse von CluStream mit denen des Algorithmus STREAM über unterschiedliche Zeithorizonte. Der vergleichsweise niedrige SSQ Wert von CluStream deutet auf höherwertige Clusteringergebnisse hin.
Die nächsten Bewertung behandelt die Skalierbarkeit. Wir zeigen in Abbildung
9.8 die verarbeitet Datenrate in Abhängigkeit von der Zeit, wiederum im Vergleich
zum STREAM Algorithmus. Die verarbeitete Datenrate des Streams ist nicht konstant, sondern steigt anfangs bis die initialen Mikrocluster erstellt sind und ist
danach nahezu konstant.
Die Autoren von [AHWY03] haben weitere vergleichende Messungen durchgeführt und kommen zu dem Schluss, dass CluStream eine vergleichsweise hohe Clusterqualität liefert, eektiv arbeitet und linear skalierbar ist.
143
9 Stream Clustering
HPStream
Ähnliche Untersuchungen wurden für den HPStream Algorithmus auf den gleichen
Daten durchgeführt.
In Abbildung 9.9 zeigen wir durch einen Vergleich der SSQ Maÿzahl, dass die
Qualität von CluStream durch die von HPStream übertroen wird.
Bei steigender Dimensionalität der Daten, steigt auch der Aufwand des Projected Clusterings. Die in Abbildung 9.10 dargestellte Untersuchung zeigt, dass die
Laufzeit linear von der Dimensionalität abhängt. Der HPStream Algorithmus ist
linear skalierbar in der Anzahl der Dimensionen. Andere Untersuchungen ergaben
auch eine lineare Skalierbarkeit in der Anzahl der Cluster im System.
Abbildung 9.9: Qualität von HPStream und CluStream (aus [AHWY04])
Abbildung 9.10: Skalierbarkeit und Datenrate (aus [AHWY04])
9.7 Zusammenfassung
Stream Clustering ist eine Technik mit der wir Zusammenhänge in schnellen Datenströmen erkennen können. Wir lösen damit zum Einen die Aufgabe, zu jedem
144
9.7 Zusammenfassung
Zeitpunkt ein Clustering zur Verfügung zu stellen, das die Zusammenhänge der
aktuellen Datenpunkte beschreibt. Zum Anderen verwalten wir die historischen
Zusammenhänge für Analysen. In diesem Kapitel haben wir sowohl allgemeine
Lösungsansätze entwickelt, als auch konkrete Stream Clustering Algorithmen vorgestellt und bewertet. Durch diese Algorithmen können wir interessante, neue Anwendungen zur Analyse von Datenströmen realisieren.
145
9 Stream Clustering
146
10
Process Mining
Process Mining (auch: Workow Mining) wird das Verfahren genannt, aus Aufzeichnungen von Arbeitsabläufen (Workow Logs/Process Log) ein Modell des zu
Grunde liegenden Arbeitsprozesses zu erstellen. Das Modell des Arbeitsprozesses
kann unter anderem zur Analyse und Optimierung der Arbeitsprozesse genutzt
werden. Thematisch gehört Process Mining in den Beriech der Business Process
Intelligence (BPI) [vdAvDH+ 03].
10.1 Einleitung
10.1.1 Motivation
In vielen Bereichen der Wirtschaft sind heute viele Personen an einem einzigen Prozess beteiligt. Das Wissen über den Prozess ist auf die vielen Beteiligten verteilt
und daher kann die Prozessstruktur nur aufwendig bestimmt werden. Bisher war
es zum Erstellen von Workow-Netzen üblich die dazu notwendigen Informationen
durch Mitarbeiterbefragungen zu erhalten. Dies ist eine zeitraubende und damit
auch teure Vorgehensweise. Process Mining ist hier ein Hilfmittel, diese Arbeit weitgehend zu automatisieren. Es unterstützt sowohl die Prozessmodellierung als auch
die Prozessanalyse. Auch Process Mining ist noch aufwendig, aber gerade wenn
in regelmäÿigen Abständen aus der gleichen Datenbasis die aktuellen Daten zu einem Workow-Netz verarbeitet werden sollen, um zum Beispiel die Auswirkungen
organisatorischer Maÿnahmen auf die Arbeitsprozesse zu kontrollieren, bietet das
Process Mining einen groÿen Vorteil.
147
10 Process Mining
case id task id
case
case
case
case
case
case
case
1
2
2
1
2
2
1
task
task
task
task
task
task
task
A
A
B
C
B
D
D
Tabelle 10.1: Beispiel eines einfachen Ablaufprotokolls
10.1.2 Ziel
Das Ziel des Process Mining ist ein Modell des Arbeitsprozesses zu erstellen, dass
die Aktivitäten und ihre Abhängigkeiten darstellt. Ausgehend von einem Ablaufprotokoll (Process Log), werden die darin gespeicherten Aktivitäten (Tasks) in
kausale Zusammenhänge gebracht und letztendlich in einem Petri-Netz dargestellt.
Tabelle 10.1 stellt die Minimalform eines Process Log dar. Das Ablaufprotokoll
muss mindestens die Arbeitsschritte samt des dazugehörigen Arbeitsfalls (Case)
speichern. Je nach Mining Algorithmus können weitere Informationen von Interesse sein. Zeitstempel und Informationen über Beginn, Ende, Unterbrechung, Wiederaufnahme oder Abbruch eines Case können zu besseren Mining Ergebnissen
führen. Teilweise werden diese Informationen nicht im Mining Algorithmus selber
verwenden, sondern in einer Pre-Processing-Phase (siehe 10.4.1).
10.1.3 Petri- und Workow-Netze
Wie zuvor angesprochen sollen als Ergebnis des Process-Minings eine Netzdarstellung der Arbeitsabläufe geliefert werden. Van der Aalst benutzt zur Darstellung
eines Workows ein Workow-Netz [vdAWM04], einer Sonderform der Petri-Netze.
Daher folgt nun eine kurze Einführung in die zur Darstellung von Workows verwendeten Strukturen.
Denition Petri-Netz
Ein Petri-Netz ist ein Tripel N = (S,T,F) mit
1. S ist eine endliche Menge von Stellen
2. T ist eine endliche Menge von Transitionen
3. S ∩ T = ∅ und
4. F ⊆ (S × T ) ∪ (T × S) ist die Menge der Verbindungen zwischen Stellen und
Transitionen
148
10.1 Einleitung
Petrinetze, die die Kontrollussdimensionen eines Arbeitsablaufs modellieren,
werden Workow-Netze genannt. Sie sind eine Teilmenge der Petri-Netze und haben genau einen dedizierten Startplatz und genau einen dedizierten Endplatz.
Denition Workow-Netz
wenn gilt
Ein Petri-Netz N=(S,T,F) heisst Workow-Netz,
1. es gibt einen Startplatz s ∈ S mit •s = ∅
2. es gibt einen Endplatz e ∈ S mit e• = ∅
3. für alle anderen Elemente x ∈ T ∪ (P \{s, e}) ist •x 6= ∅ und x• =
6 ∅
Ein Korrektheitskriterium für Workownetze ist die Soundness-Eigenschaft. Erfüllt ein Workow-Netz diese Eigenschat, dann terminiert es immer korrekt. Das
heisst, dass nach einer beliebige Reihenfolge von feuernden Transitionen immer der
Endzustand erreicht werden kann.
Soundness-Eigenschaft
Sei N =(P,T,F) ein Workow-Netz mit der Input-Stelle
i und der Output-Stelle o. N ist genau dann sound, wenn gilt:
• (N,[i]) ist sicher
Ein Petri-Netz ist genau dann sicher, wenn alle Stellen sicher sind.
• für alle Markierungen s∈ [N, [i]i, o ∈ s =⇒ s = [o]
• für jede Markierung s ∈ [N, [i]i, o ∈ [N, si (Abschluss möglich)
• (N,[i]) enthält keine toten Transitionen
Eine Transition heisst tot, wenn sie bei keiner Markierung der Erreichbarkeitsmenge aktiviert ist.
10.1.4 Ordnungsrelationen
Der später näher beschriebene α-Algorithmus arbeitet wie auch andere Algorithmen nicht direkt mit den Einträgen aus dem Process Log, sondern setzt vorraus,
dass in einem ersten Verarbeitungschritt aus dem Process-Log bestimmte Ordnungsrelationen zwischen den einzelnen Tasks extrahiert werden. Diese Ordnungsrelationen sollen nun vorgestellt werden.
Denition Log-basierte Ordnungsrelation
Sei T eine Menge von Tasks, W ein
Workow Log über T, d.h. W ∈ P (T ∗), und a, b ∈ T . Dann sind die vier relevanten
Ordnungsrelationen für Log-basierte Daten wie folgt deniert [vdAWM04].
149
10 Process Mining
1. direkter Nachfolger: a >w b ⇐⇒ ∃σ = t1 t2 t3 ...tn−1 ∃i ∈ {1, ..., n − 2} : σ ∈
W ∧ ti = a ∧ ti+1 = b
2. Kausalität: a →w b ⇐⇒ a >w b ∧ b 6>w a
3. Auswahl: a#w b ⇐⇒ a 6>w b ∧ b 6>w a
4. Parallel: a||w b ⇐⇒ a >w b ∧ b >w a
Die erste Relation gibt an, dass ein Task a in irgendeinem der Log Traces vor dem
Task b vorkommt. Dies ist die grundlegenste Relation, da alle anderen Relationen
auf ihr aufbauen. Die Kausalitätsrelation gibt an, dass wenn Task a und Task b direkt aufeinander folgen immer zuerst Task a kommt. Dies soll garantieren, dass die
Reihenfolge von Task a und Task b nicht beliebig ist. Es bedeutet nicht, dass zwingend nach Task a der Task b ausgeführt wird. Die Auswahl-Relation zeigt an, dass
von zwei Tasks immer nur einer gewählt werden kann, also eine OR-Verzweigung
stattndet. Bei der Parallel-Relation hingegen werden beide Tasks ausgeführt, die
Reihenfolge ist jedoch beliebig. Dies entspricht einer AND-Verzweigung.
10.2 Probleme
Bevor im nächsten Abschnitt ein konkreter Algorithmus zum Erstellen eines Workow-Netzes aus den Daten eines Ablaufprotokolls vorgestellt wird, sollen zunächst
die Probleme dieser Aufghabe vorgstellt werden. Unterschiedliche Algorithmen bietet Lösungen für Teilmengen dieser Probleme. Bislang konnte noch kein Algorithmus entwickelt werden, der für alle Probleme eine Lösung bietet.
Bevor im folgenden auf die Probleme bei der Auswertung der Daten eingegangen
wird, soll zunächst noch auf ein inhärentes Problem des Process Mining hingewiesen werden. Dieses Problem ist die Basierung auf empirischen Daten. Angenommen
10 verschiedene Tasks können parallel ausgeführt werden. Daraus ergibt sich eine
Gesamtzahl von 10! = 3628800 möglichen Alternativen für die zeitliche Abfolge
der Ausführung der Tasks [vdAW04]. Das alle möglichen Alternativen auch ausgeführt wurden und damit deren Aufzeichnung in einem Process Log zur Auswertung verfügbar ist, ist extrem unwahrscheinlich. Insgesamt dürften bei komplexeren
Prozessen sehr viele Pfade des Workow-Netzes unbenutzt geblieben sein, so dass
zahlreiche Abhängigkeiten zwischen Arbeitsschritten nicht erkannt werden können.
Dieses Problem kann auch durch sehr viel aufgezeichnetes Datenmaterial nur im
begrenztem Umfang abgemildert werden.
10.2.1 Versteckte Tätigkeit
Manche Tasks nden sich nicht in den Log-Dateien wieder, da sie zum Beispiel
nur sehr selten ausgeführt werden. In diesem Fall gibt es insbesondere keine Informationen über den Task und seine Abhängigkeiten. Es kann jedoch auch sein,
dass für einen Task keine Aufzeichnungen in den Log-Dateien verzeichnet sind, der
150
10.2 Probleme
Abbildung 10.1: Beispiel für versteckte Tasks
Task aber sehrwohl ausgeführt wurde. Da die verwendeten Process Logs zumeist
nicht für die Verwendung zum Process Mining erstellt wurden, sondern für andere
Funktionen der aufzeichnenden Software gedacht sind, werden die speziellen Anforderungen des Process Minings auch nicht erfüllt. Versteckte Task lassen sich
dann auch nur unter Umständen wiederentdecken. Diese Möglichkeit besteht unter anderem dann, wenn an diesem Task eine AND-Verzweigung oder -Vereinigung
stattndet.
10.2.2 Doppelte Tätigkeit
Dieses Problem ergibt sich, wenn Tätigkeiten auÿerhalb von Schleifen in einem
Arbeitsprozess mehrfach verwendet werden.
Abbildung 10.2: Beispiel für doppelte Tasks
Wenn beispielweise in einem Kreditvergabeprozess einer Bank die Tätigkeit
Stammdaten
prüfendirekt
zu Beginn des Prozesses und kurz vor dem Prozessende
nochmal durchgeführt wird, dann lassen sich die wahren Abhängigkeiten zwischen
mehreren Tasks nur schwer ermitteln.
151
10 Process Mining
10.2.3 Schleifen
Kurze Schleifen der Länge eins oder zwei können nicht oder nur schlecht wiederentdeckt werden. Bei Algorithmen, die auf Basis der Relationen zwischen Tasks
arbeiten, liegt dies an derer grundlegender Arbeitsweise.
Abbildung 10.3: Beispiel für problematische Schleifen
Der α-Algorithmus basiert beispielweise auf der Verarbietung von kausalen Beziehungen. Für eine Schleife der Länge eins müsste also die Relation a →w a
gefunden werden. Dies ist aber nicht möglich, da dies nach der Denition der Kausalität (10.1.4) die beiden Beziehungen a >w a und a 6> a vorraussetzen würde.
Diese beiden Relationen können aber gleichzeitig nicht existieren. Damit fehlt dem
Algorithmus die Grundlage für das Wiederentdecken der Schleife.
10.2.4 Verrauschte Daten
Im Idealfall sind in den Log-Daten keine Fehler enthalten. Die meisten Algorithmen setzen es auch vorraus, dass die Log-Datei fehlerfrei erstellt wurde. In der
Praxis trit dies aber leider oft nicht zu. Für fehlerhafte Aufzeichnungen gibt es
vielfältige Ursachen. Bei der manuellen Erstellung der Aufzeichnungen ist leicht
einzusehen, dass Fehler mit hoher Wahrscheinlichkeit auftreten. Aber auch bei der
automatischen Generierung von Protokollen können Aufzeichnungsfehler geschehen. Dies kann zum Beispiel an Programmierfehlern liegen. Wenn die Fehler in
den Arbeitsaufzeichnungen nicht berücksichtig werden, führt dies dazu, dass auch
das aus den fehlerhaften Daten ermittelte Workow-Netz unkorrekt ist.
Deshalb schlägt van der Wals einen heuristischen Ansatz vor, um bei Nutzung
des α-Algorithmus mit diesen Fehler in den Process Logs umgehen zu können
[vdAvDH+ 03]. Die Idee ist, nicht direkt mit den aus den Logdaten ermittelten Abhängigkeiten zu arbeiten, sondern in einem Zwischenschritt eine neue Abhängigkeitstabelle zu erstellen. Die ursprünglich Abhängigkeitstablle wird um einige Kennzahlen ergänzt und D/F-Tabelle (dependency/frequency-Tabelle) genannt. Aus dieser
Tabelle wird dann die R-Tabelle (relations-Tabelle) erzeugt, die zur Erstellung des
152
10.2 Probleme
Workow-Netzes verwendet wird. Durch das auslagern der Heuristik in einen PreProcessing-Schritt können die vorhandenen Algorithmen weiterverwendet werden.
D/F-Tabelle
Es wird davon ausgegangen, dass die Log-Daten wie in Tabelle 10.1 aus einer
Menge von (Case,Task)-Tupel bestehen. Aus dieser Tabelle werden die Ablauisten
erzeugt. Für das Beispiel aus Tabelle 10.1 würde sich (ACD,ABBD) ergeben. Dabei
wird die Aktivitätsfolge eines Cases (z.B. ACD) Workow Trace genannt. In der
D/F-Tabelle werden nun für jeden Task Einträge mit den folgenden Informationen
abgelegt:
1. #A: Häugkeit von Task a
2. #B<A: Häugkeit von Task a direkt nach Task b
3. #A>B: Häugkeit von Task a direkt gefolgt von Task b
4. #B <<< A: Häugkeit von Task a direkt oder indirekt nach Task b
5. #A >>> B : Häugkeit von Task a direkt oder indirekt gefolgt von Task b
6. #A → B : Maÿ der kausalen Beziehung zwischen Task a und Task b
Die Aussagen der ersten fünf Metriken bedürfen keiner Erklärung. Die Idee der
sechsten Metrik ist, dass wenn kurz nach einem Task a ein Task b folgt, es wahrscheinlich ist, dass Task a das Auftreten von Task b verursacht hat. Gleichzeitig
ist es unwahrscheinlich, dass bei dieser Abfolge Task a die Folge von Task b ist
[vdAvDH+ 03]. Mit der Anzahl der zwischen a und b liegenden Tasks wird die
Wahrscheinlichkeit, dass ein Task den anderen Task kausal bedingt, gewichtet. Insgesamt ergibt sich damit ein Maÿ für die kausale Beziehung zwischen Task a und
Task b.
R-Tabelle
Aus den Daten der D/F-Tabelle kann nun die R-Tabelle berechnet werden. Eine
Relation der Art a →w b wird angenommen, wenn #A → B ≥ N , (#A > B) ≥ θ
und (#B < A) ≤ θ gilt. Dabei gibt N den Rauschfaktor und θ den Schwellwert
×#L)
an, wobei für θ gilt θ = 1 + Round(N
(mit #L = Anzahl der Zeilen in der
#T
Log-Datei und #T = Anazahl unterschiedlicher Tasks).
In die R-Tabelle wurden durch diesen Schritt nur Kausalitäten übernommen, die
der Wahrscheinlichkeit nach nicht auf Protokollierungsfehler beruhen. Sie dient
nun als Datenbasis für den α-Algorithmus.
153
10 Process Mining
10.3 Algorithmen
10.3.1 α-Algorithmus
Zum Erstellen eines Workows-Netzes aus Log-Daten entwickelte van der Aalst
einen Algorithmus [vdAWM04], der ausgehend von Ordnungsrelationen des letzten
Abschnittes, die Stellen, Transitionen des Workow-Netzes und ihre Verbindungen
untereinander nacheinander berechnet.
Die Idee des α-Algorithmus ist es nacheinander die Transitionen, Stellen und
schluÿendlich die Verbindungen zwischen ihnen zu berechnen. Dabei liegt das Problem bei dem korrekten Einfügen der Stellen zwsichen den Transitionen, dass sich
dadurch ergibt, dass manche Stellen mehrere Eingangs- oder Ausgangskanten haben.
Denition α-Algorithmus
Sei T eine Menge von Tasks und W ein Workow-Log
über T. Dann ist α(W ) deniert als:
1. TW = {t ∈ T |∃σ ∈ W : t ∈ σ}
2. TI = {t ∈ T |∃σ ∈ W : t = f irst(σ)}
3. TO = {t ∈ T |∃σ ∈ W : t = last(σ)}
4. XW = {(A, B)|A ⊆ TW ∧ B ⊆ TW ∧ ∀a ∈ A∀b ∈ B : a →W b ∧ ∀a1 , a2 ∈
A : a1 #a2 ∧ ∀b1 , b2 ∈ A : b1 #b2 }
5. YW = {(A, B) ∈ XW |∀(A0 ,B 0 )∈XW A ⊂ A0 ∧ B ⊂ B 0 ⇒ (A, B) = (A0 , B 0 )}
6. PW = {p(A,B) |(A, B) ∈ YW } ∪ {iW , oW }
7. FW = {(a, p(A,B) )|(A, B) ∈ YW ∧ a ∈ A} ∪ {(p(A,B) , b}|(A, B) ∈ YW ∪ b ∈
B} ∪ {(iW , t)|t ∈ TI } ∪ {(t, oW )|t ∈ TO }
8. α(W ) = (PW , TW , FW )
Die Menge TW kann leicht aus dem Process Log extrahiert werden. Ebenso ist
die Berechnung von TI und TO ohne Probleme aus den Log Traces möglich. Hierzu
sind ersten bzw. letzten Elemente eines jeden Traces zu betrachten. Die Elemente
aus TI können dann einfach mit der Start-Stelle iW verbunden werden. Analog
werden die Elemente aus TO mitder Endstelle oW verbunden.
Das Berechnen aller weiteren Stellen und Transitionen gestaltetsich etwas schwieriger. Direkt aus den Abhängigkeiten zwischen den Transitionen (sie repräsentieren
die Tasks) lassen sich nicht die benötigten Stellen ableiten, denn so lieÿen sich keine OR-Verzweigungen bzw. OR-Zusammenführungen erstellen. Daher müssen die
Stellen nicht auf Basis der Abhängigkeiten einzelner Transitionen ermittelt werden,
sondern auf Basis von Mengen zusammengehöriger Transitionen. Dies wird durch
die Berechnung der Mengen XW und YW erledigt. Während XW noch für jedes
154
10.4 Mining Prozess
Element aus XW die Potenzmenge beinhaltet, ist in YW nur noch die gröÿte Menge
enthalten. Das bedeutet, wenn XW ((a), d), ((b), d), ((c), d), ((a, b), d), ((b, c), d),
((a, c), d) und ((a, b, c), d) enthält, dann ist in YW nur noch ((a, b, c), d) enthalten.
Der Sinn dieser Berechnung ist es, dass für eine Auswahl a#w b#w c, der eine Transition d kausal folgt, nur eine einzige Stelle erstellt werden soll, in die a, b und c
münden und die dann in d übergeht.
Eigenschaften
Wenn ein Workow-Netz aus einem Process Log mittels des α-Algorithmus erzeugtwurde, dann existiert ein Task im erzeugten Workow-Netz genau dann, wenn er
in mindestens einem Log Trace vorkommt [dMvdAW03]. Ein Task hat genau dann
eine eingehende Kante, wenn er der erste Task in einem Log 111Trace ist oder wenn
er auf einen anderen Task kausal folgt. Analog dazu hat ein Task genau dann eine
ausgehende Kante, wenn er der letzte Task in einem Log Trace ist oder wenn ein
anderer Task auf ihn kausal folgt. Da für manche Tasks keine kausalen Abhängigkeiten aus den Log Daten ermittelt werden können, kann es sein, dass ein Task zu
keiner Stelle eine Verbindung hat. Dieser Task ist dann mit dem eigentlichen Netz
nicht verbunden.
oene Probleme
Durch geeignete Vorverarbeitungsschritte kann trotz verrauschter Daten mit dem
α-Algorithmus eine gute Lösung gefunden werden (siehe 10.2.4). Auch Netze
mit kurzen Schleifen können durch geschickte Vorverarbeitung mittels des αAlgorithmus entdeckt werden. Es verbleiben jedoch einige der unter 10.2 genannten Probleme ungelöst. Kurze Schleifen und doppelte Tätigkeiten sind ebenso wie
versteckte Tätigkeiten und Nicht-freie Wahl für den α-Algorithmus nicht zu endeckcen.
Für versteckte Tätigkeiten gibt es keine Einträge im Process Log, daher ndet
sich dieser Task dann auch nicht in Tw und wird nicht ins erstellte Workow-Netz
aufgenommen.
10.4 Mining Prozess
Das Process Mining ist ein komplexer Vorgang und vollzieht sich üblicherweise in
mehreren Phasen. Der genaue Ablauf ist für jedes Process Ming Tool unterschiedlich, aber grob lassen sich die folgenden Phasen unterscheiden, wie es zum Beispiel
beim Tool EMiT möglichist ist [vDvdA04].
10.4.1 Pre-Processing
Die Pre-Processing Phase dient zum einen der Auswahl der Daten für die eigentliche Processing Phase. Nicht alle aufgezeichneten Datensätze entsprechen den
155
10 Process Mining
Anforderungen der Algorithmus der Processing Phase. Deshalb ndet in der PreProcessing Phase eine Auswahl der Daten statt. Der α-Algorithmus benötig beispielsweise komplette Aufzeichnungen von Cases. Das heisst alle Aktivitäten von
Beginn bis zum Ende eines Arbeitsfalls müssen aufgezeichnet worden sein. Wurde ein Case abgebrochen bevor er beendet wurde, dann sind die entsprechenden
(Case,Task)-Tupel für den α-Algorithmus unbrauchbar, da sie zu falschen Ergebnissen führen würden.
Zum anderen werden in der Pre-Processing Phase bereits die für den Algorithmus
der Processing-Phase benötigten Daten aus dem Process Log extrahiert. Für den
α-Algorithmus werden aus den Log-Daten die Ordnungsrelationen zwischen den
Tasks ermittelt [vDvdA04].
10.4.2 Processing
Die Processing Phase ist der aufwendigste Teil des Mining Prozesses, denn hier
kommt der eigentliche Mining-Algorithmus zum Einsatz. Dies könnte der αAlgorithmus sein, es existieren aber mehrere Process Mining Tools mit eigenen
Algorithmen.
10.4.3 Post-Processing
Nachdem das Workow-Netz generiert wurde, können aus diesem Netz zusammen
mit dem ursprünglichen Process Log weitere Informationen gewonnen werden. Zum
Beispiel können den einzelnen Kanten Werte zugeordnet werden, die angeben, mit
welcher Wahrscheinlichkeit die Kante genutzt wird. Dazu wird für jeden Arbeitsfall
sein Durchlauf durch das Workow-Netz simuliert und für die benutzten Kanten
werden Zähler inkrementiert. Anschlieÿend kann die Wahrscheinlichkeit für die
Nutzung einer Kante aus den Quotienten von gemessenen Kantennutzungen durch
die Summe dieser Werte für alle ausgehenden Kanten dieses Knotens berechnet
werden.
10.5 Schluÿbemerkung
Es existieren bereits mehrere Process-Mining Tools. Unter anderem sind dies EMiT,
Little Thumb, InWoLvE und Process Miner. Jedes dieser Tools kann mit einer anderen Klasse von Problemen umgehen. Wobei jedoch kein einziges mit versteckten
Tasks und nicht-freier Wahl umgehen kann. Auch haben alle Probleme mit parallelen Aktivitäten und Schleifen. Die Tools können jeweils immer nur bestimmte
Klassen dieser beiden Probleme korrekt verarbeiten.
Das Process Mining hat zwar mittlerweile eine anwendungsfähige Stufe erreicht,
doch es gibt noch viele Probleme zu lösen, bis es ein Standardverfahren in der
Prozessanalyse werden kann.
156
Literaturverzeichnis
[AHWY03]
Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu.
A framework for clustering evolving data streams. In Johann Christoph Freytag, Peter C. Lockemann, Serge Abiteboul, Michael J.
Carey, Patricia G. Selinger, and Andreas Heuer, editors, VLDB
2003: Proceedings of 29th International Conference on Very Large
Data Bases, September 912, 2003, Berlin, Germany, pages 8192,
Los Altos, CA 94022, USA, 2003. Morgan Kaufmann Publishers.
[AHWY04]
Charu C. Aggarwal, Jiawei Han, Jianyong Wang, and Philip S. Yu.
A framework for projected clustering of high dimensional data streams. In VLDB, pages 852863, 2004.
[Aka90]
Y. Akao. Quality function deployment: Integrating customer Requirements into Product-Design. Productivity Press, 1990.
[Ank01]
Mihael Ankerst. Visual Data Mining. Dissertation, Ludwig Maximilian Universität München, 2001.
[Ank04]
Mihael Ankerst. Kooperatives data mining: Eine integration von
data-mining-algorithmen und visualisierungstechniken. DatenbankSpektrum, 9, 2004.
[APW+ 99]
Charu C. Aggarwal, Cecilia Procopiuc, Joel L. Wolf, Philip S. Yu,
and Jong Soo Park. Fast algorithms for projected clustering. SIGMOD Record (ACM Special Interest Group on Management of Data), 28(2):61??, 1999.
[BG01]
Andreas Bauer and Holger Günzel.
dpunkt, Heidelberg, 2001.
[BG04]
A. Bauer and H. Günzel. Data Warehouse Systeme. dpunkt.verlag,
2004.
[CCS]
E. F. Codd, S. B. Codd, and C. T. Salley. Providing OLAP to UserAnalysts: An IT Mandate. http://dev.hyperion.com/resource_
library/white_papers/providing_olap_to_user_analysts.pdf
Letzter Zugri: 5. Juni 2005.
Data-Warehouse-Systeme.
157
Literaturverzeichnis
[Che76]
Peter Pin-Shan Chen. The Entity-Relationship ModelToward a
Unied View of Data. ACM Trans. Database Syst., 1(1):936, 1976.
[clu]
Datensatz für Intrusion Detection des KDD-CUP'99 http://kdd.
ics.uci.edu/databases/kddcup99/kddcup99.html.
[Cod93]
S. B.; Salley C. T. Codd, Edgar F.; Codd. Providing olap to useranalysts: An it mandate. Codd & Associates, 1993.
[DH00]
P. Domingos and G. Hulten. Mining high-speed data streams. In
Knowledge Discovery and Data Mining, pages 7180, 2000.
[dMvdAW03] A. de Medeiros, W. van der Aalst, and A. Weijters. Workow mining: Current status and future directions, 2003.
[Fay96]
G.; Smyth P. Fayyad, U. M.; Piatetski-Shapiro. The kdd process
for extracting useful knowledge from volumes of data. Comm. of
the ACM, 39(11):27 34, 1996.
[For05]
Oliver Forster. Visualisierung imperfekter informationen in einem
analyse-werkzeug. Studienarbeit, Universität Karlsruhe (TH), 2005.
[Gal]
J. Galindo. Fuzzy SQL - A Fuzzy Query Language. http://www.
lcc.uma.es/~ppgg/FSQL.html Letzter Zugri: 5. Juni 2005.
[GJ79]
M.R. Garey and D.S. Johnson. Computers and Intractability. W.H.
Freeman, 1979.
[GJS97]
M. Gebhardt, M. Jarke, and S.Jackob. A Toolkit for negotiation
support on multidimensional data. ACM Press New York, NY, USA,
1997.
[Haa04]
A. Haag. Konzeption und Umsetzung einer Erweiterung des Common Warehouse Metamodels (CWM) zur Beschreibung von imperfekten Daten. Studienarbeit, IPD, Universität Karlsruhe (TH).
http://www.ipd.uka.de/~ovid/Public/, 2004.
[Han05]
Uwe D. Hanebeck. Skriptum zur Vorlesung Stochastische Informationsverarbeitung. 2005.
[Har75]
John A. Hartigan. Clustering Algorithms. Wiley, New York, 1975.
[Hil05]
N. Hilt. Anpassung eines Metamodells zur Beschreibung imperfekter Informationen in einem Data-Warehouse-System. Studienarbeit, IPD, Universität Karlsruhe (TH). http://www.ipd.uka.de/
~ovid/Public/, 2005.
[Hin99]
D.A.; Wawryniuk M. Hinneburg, A.; Keim. Hd-eye: Visual mining
of high dimensional data. IEEE Computer Graphics and Applications, 19(5):2231, 1999.
158
Literaturverzeichnis
[HK01]
Jiawei Han and Micheline Kamber. Data Mining: Concepts and
Techniques. Morgan Kaufmann, 2001.
[Här05]
Daniel Härder. Anpassung von data-warehouse-techniken für den
einsatz unsicherer verkehrsdaten. Diplomarbeit, Universität Karlsruhe (TH), Fakultät für Informatik, März 2005.
[Imm96]
W. H. Immon. Building the Data Warehouse. Second Edition. John
Wiley & Sons, New York, 1996.
[Inm93]
W.H. Inmon. Building the Data Warehouse. New York: John Wiley
and Sons, 1993.
[IS]
Inc. Inxight Software. Inxight table lens - the fastest way to put
data into decision.
[JD88]
Anil K. Jain and Richard C. Dubes. Algorithms for Clustering Data.
Prentice Hall, 1988.
[JLV02]
Matthias Jarke, Maurizio Lenzerini, and Yannis Vassiliou. Fundamentals of Data Warehouse. Springer, 2002.
[JV97]
M. Jarke and Y. Vassiliou. Foundations of Data Warehouse Quality:
A Review of the DWQ Project. Massachusetts Institute of Technology, Cambridge, 1997.
[Kei01]
Daniel A. Keim. Visual exploration of large databases. Communications of the ACM, 44(8):3844, 2001.
[Kei02]
Daniel A. Keim. Datenvisualisierung und data mining. DatenbankSpektrum, 2, 2002.
[Koo04a]
E. Koop.
Datenbankunterstützung für imperfekte Daten im
Verkehrsumfeld. Diplomarbeit, IPD, Universität Karlsruhe (TH).
http://www.ipd.uka.de/~ovid/Public/, 2004.
[Koo04b]
Erik Koop. Datenbankunterstützung für imperfekte Daten im Verkehrsumfeld. Diplomarbeit, Universität Karlsruhe (TH), 2004.
[Koo04c]
Erik Koop. Datenbankunterstützung für imperfekte Daten im Verkehrsumfeld. Diplomarbeit, Universität Karlsruhe (TH), Fakultät
für Informatik, Juni 2004.
[KR90]
L. Kaufman and P.J. Rousseeuw. Finding Groups in Data: An
Introduction to Cluster Analysis. Wiley, New York, 1990.
[KR05]
Raphael Kimball and Laura Reever. Le Data Warehouse guide de
conduite. Eyrolle, 2005.
159
Literaturverzeichnis
[KRRT98]
R. Kimball, L. Reeves, M. Ross, and W. Thornthwaite. The Data
Warehause Lifecycle Toolkit. John Wiley & Sons, 1998.
[Leh03a]
Wolfgang Lehner.
Datenbanktechnologie für Data-WarehouseSysteme. dpunkt-Verlag, 2003.
[Leh03b]
Wolfgang Lehner.
Datenbanktechnologie für Data-WarehouseSysteme, Konzepte und Methoden. dpunkt, 2003.
[Lin03]
Kong Ling. Konzeptuelle und logische Modellierung eines DataWarehouse-Systems. Seminararbeit, Seminar: Data Warehousing im
Verkehrsbereich, IPD, Fakultät für Informatik, Universität Karlsruhe (TH), 2003.
[LRO96]
Alon Y. Levy, Anand Rajaraman, and Joann J. Ordille. Querying heterogeneous information sources using source descriptions. In
Proceedings of the Twenty-second International Conference on Very Large Databases, pages 251262, Bombay, India, 1996. VLDB
Endowment, Saratoga, Calif.
[LS97]
Hans-Joachim Lenz and Arie Shoshani. Summarizability in OLAP
and Statistical Data Bases. In Yannis E. Ioannidis and David M.
Hansen, editors, Ninth International Conference on Scientic and
Statistical Database Management, Proceedings, August 11-13, 1997,
Olympia, Washington, USA, pages 132143. IEEE Computer Society, 1997.
[Ma05a]
Zongmin Ma. Fuzzy Database Modeling with XML. Springer, 2005.
[Ma05b]
Zongmin Ma. Fuzzy Information Modeling with the UML. Idea,
2005.
[MCN92]
J. Mylopoulos, L. Chung, and B. Nixon. Representing and using
nonfunctional requirements: a process-centered approach. Software
Engineering, 1992.
[Mer04]
A. Merkel. Konzeption und Umsetzung einer Schemaerweiterung
durch Kontexte unter Berücksichtigung von Aggregierungsanfragen.
Studienarbeit, IPD, Universität Karlsruhe (TH). http://www.ipd.
uka.de/~ovid/Public/, 2004.
[Mic91]
Z. Michalewicz. Statistical and scientic databases. In Series in
Computers and Their Applications. Ellis Horwood, 1991.
[MZM04]
Z. M. Ma, W. J. Zhang, and W. Y. Ma. Extending object-oriented
databases for fuzzy information modeling. Information Systems,
29(5):421435, 2004.
160
Literaturverzeichnis
[NRI+ 99]
NTUA, RWTH, INRIA, DFKI, Uniroma, IRST, and Uman. Dwq foundations of data warehouse quality. nom-journal, 1999.
[OLV92]
M. Oivo, V. Basilli Lenzerini, and Yannis Vassiliou. Representing
software engineering modells:The TAME goal-oriented approach.
Springer, 1992.
[OMM+ 02]
L. O'Callaghan, N. Mishra, A. Meyerson, S. Guha, and R. Motwani. Streaming-data algorithms for high-quality clustering. In Proceedings of IEEE International Conference on Data Engineering, 2002.
[oPFHA02]
Oce of Policy Federal Highway Administration. Dening and Measuring Trac data quality. http://www.itsdocs.fhwa.dot.gov/
JPODOCS/REPTS_TE/13767.html, 2002. Trac Data Quality Workshop - Work Order Number BAT-02-006.
[Oraa]
R Database Data Warehousing Guide,
Oracle Corporation. Oracle
10g release 1 (10.1) edition. Chapter 21: SQL for Analysis.
[Orab]
R Database Data Warehousing Guide,
Oracle Corporation. Oracle
10g release 1 (10.1) edition. Chapter 8: Basic Materialized Views.
[Orac]
R Database Data Warehousing Guide,
Oracle Corporation. Oracle
10g release 1 (10.1) edition. Chapter 22: SQL for Modelling.
[Orad]
R Documentation Library - Books, 10g
Oracle Corporation. Oracle
Release 1 (10.1) edition.
[Orae]
R OLAP DML Reference, 10g Release
Oracle Corporation. Oracle
1 (10.1) edition. Chapter 1.4.5: Forecasting Programs.
[Orr98]
Ken Orr. Data quality and systems theory. Communications of the
ACM, 41(2):6671, 1998.
[PCTM03]
J. Poole, D. Chang, D. Tolbert, and D. Mellor. Common Warehouse
Metamodel, Developer's Guide. OMG Press, 2003.
[PJ04]
Ilia Petrov and Stefan Jablonski. An omg mof based repository
system with querying capability - the irm project. In iiWAS, 2004.
[PJD99]
Torben Bach Pedersen, Christian S. Jensen, and Curtis E. Dyreson. Extending Practical Pre-Aggregation in On-Line Analytical
Processing. Technical Report TR R-99-5004, Computer Science Department, Aalborg University, 1999.
[Red98]
Thomas C. Redman. The impact of poor data quality on the typical
enterprise. Communications of the ACM, 41(2):7982, 1998.
161
Literaturverzeichnis
[reg]
Wikipedia: Regressionsanalyse. http://de.wikipedia.org/wiki/
Regressionsanalyse Letzter Zugri: 5. Juni 2005.
[SBHD99]
C. Sapia, M. Blaschka, G. Höing, and B. Dinter. Extending the
e/r model for the multidimensional paradigm. In Kambayashi Y. et.
Al., editor, Advances in Database Technologies, volume 1552. LNCS
Springer, 1999.
[SBML]
Heiko Schepperle, Philipp Bender, Jutta A. Mülle, and Peter C.
Lockemann. Fuzzy Summarizability for Multi-Dimensional Data
Models. Noch nicht veröentlicht.
[Shn96]
Ben Shneiderman. The eye have it: A task by date type taxonomy
for information visualizations. Visual Languages, 1996.
[SHW02]
L. Nowell S. Havre, B. Hetzler and P. Whitney. Themeriver: Visualizing thematic changes in large document collections. 2002.
[SMH04]
Heiko Schepperle, Andreas Merkel, and Alexander Haag. Erhalt von
Imperfektion in einem Data Warehouse. In Andreas Bauer, Michael
Böhnlein, Olaf Herden, and Wolfgang Lehner, editors, Internationales Symposium: Data-Warehouse-Systeme und Knowledge Discovery,
pages 3342. Shaker, 2004.
[Spe01]
Robert Spence. Information Visualization. Addison-Wesley, 2001.
[TS03]
Ian Davidson Tom Soukup. Visual Data Mining. Wiley, 2003.
[vdAvDH+ 03] W. M. P. van der Aalst, B. F. van Dongen, J. Herbst, L. Maruster,
G. Schimm, and A. J. M. M. Weijters. Workow mining: a survey
of issues and approaches. Data Knowl. Eng., 47(2):237267, 2003.
[vdAW04]
W. M. P. van der Aalst and A. J. M. M. Weijters. Process mining:
a research agenda. Comput. Ind., 53(3):231244, 2004.
[vdAWM04]
W. M. P. van der Aalst, Ton Weijters, and Laura Maruster. Workow mining: Discovering process models from event logs. IEEE
Transactions on Knowledge and Data Engineering, 16(9):11281142,
2004.
[vDvdA04]
B.F. van Dongen and W.M.P. van der Aalst. Emit: A process mining
tool. 25th International Conference on Applications and Theory of
Petri Nets (ICATPN 2004) (to appear), 2004.
[Wa96]
Wang and al. What Data Quality Means to Data Consumers. Journal of Management Information Systems (JMIS), 12(4), 1996.
[Wan98]
Richard Y. Wang. A product perspective on total data quality
management. Communications of the ACM, 41(2):5865, 1998.
162
Literaturverzeichnis
[WW96]
Yair Wand and Richard Y. Wang. Anchoring data quality dimensions in ontological foundations. Communications of the ACM,
39(11):8695, 1996.
[WZL01]
Richard Y. Wang, Mostapha Ziad, and Yang W. Lee. Data quality.
Kluwer, 2001.
[Zim91]
H.-J. Zimmermann. Fuzzy Set Theory and Its Applications. Kluwer
Academic Publishers, 1991.
[ZRL96]
Tian Zhang, Raghu Ramakrishnan, and Miron Livny. Birch: An
ecient clustering method for very large databases. In ACM SIGMOD Workshop on Research Issues on Data Mining and Knowledge
Discovery, pages 103114, Montreal, Canada, 1996.
163
Herunterladen