Bedarfsgesteuerte Datenakquisition für Computermodelle Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Doktorgrades Dr.-Ing. vorgelegt von Philipp Georg Baumgärtel aus Lichtenfels Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der mündlichen Prüfung: Vorsitzender des Promotionsorgans: Gutachter: 11.12.2015 Prof. Dr. Peter Greil Prof. Dr.-Ing. Richard Lenz Prof. Dr.-Ing. Elmar Nöth Zusammenfassung Die steigende Komplexität von Simulationsvorhaben und die Notwendigkeit, neue Simulationsmodelle effizient entwickeln zu können, erfordern flexible Lösungen für das Verwalten von Simulationseingabedaten. Die strukturierte Verwaltung der Eingabedaten von Simulationen erzeugt jedoch einen hohen initialen Aufwand für Schemaentwurf und semantische Datenintegration. Aufgrund dieses initialen Aufwands wird in vielen Simulationsprojekten auf die Verwendung eines DBMS (Database Management Systems) verzichtet und stattdessen eine manuelle Verwaltung der Daten vorgezogen. Da jedoch die Komplexität von Simulationsprojekten über ihre Laufzeit ansteigt, rechtfertigen letztlich die Vorteile einer strukturierten Datenverwaltung mit einem DBMS den initialen Aufwand. Um die Verwendung einer strukturierten Datenverwaltung zu unterstützen, wird eine bedarfsgetriebene Methode für die Verwaltung von Simulationseingabedaten benötigt, die den initialen Aufwand reduziert und somit die Hürde für die Anwendung eines DBMS niedriger setzt. Dafür sollte der Einsatz eines DBMS ohne initialen Schemaentwurf und ohne semantische Datenintegration möglich sein. Allerdings sollten der Entwurf eines domänenspezifischen Schemas und eine schrittweise semantische Datenintegration bei Bedarf möglich sein. Weiterhin sollte die Sammlung von Eingabedaten gezielt gesteuert werden, da dieser Schritt ebenfalls einen hohen Aufwand erfordert. Da die Datenakquisition einen Einfluss auf die Güte der Simulationsergebnisse hat, kann die geforderte Ergebnisgüte als Steuerungsinstrument für eine bedarfsgetriebene kostenoptimale Datensammlung eingesetzt werden. In dieser Arbeit wird ein generisches Schema vorgestellt, das die Speicherung von Simulationseingabedaten für agentenbasierte und System-Dynamics-Simulationen ermöglicht, ohne initial ein domänenspezifisches Schema zu erfordern. Dieses generische Schema erlaubt bei Bedarf die Erstellung von zusätzlichen domänenspezifischen Schemata. Darüber hinaus wird ein Datenintegrationskonzept entwickelt, das bedarfsgetriebene semantische Integration im Rahmen des generischen Schemas ermöglicht. Basierend auf einer synthetischen Arbeitslast werden in dieser Arbeit verschiedene Implementierungsalternativen für das generische Schema evaluiert. Für die Messung der Ergebnisgüte von Simulationen wird in dieser Arbeit die statistische Unschärfe verwendet, da dieses Datenqualitätskriterium die Anwendbarkeit von Simulationsergebnissen für die Entscheidungsfindung beschreiben kann. Für die Abschätzung der Unschärfe der Simulationsausgabe wird eine aus der Literatur bekannte Methode umgesetzt, welche die Propagierung der Unschärfe der Eingabedaten durch die Simulation erlaubt. Diese Methode basiert auf der Approximation von Simulationen durch Gaußprozesse und dient als Grundlage für eine bedarfsgetriebene Datenakquisition. In klassischen Simulationsprojekten muss der Datensammlungsprozess iterativ stattfinden. Falls sich herausstellt, dass die Daten zu Simulationsergebnissen führen, die für die Entscheidungsfindung zu unscharf sind, müssen erneut Eingabedaten gesammelt werden. Aus diesem Grund wird in dieser Arbeit eine Methode vorgestellt, die basierend auf einer domänenspezifischen Obergrenze für die Unschärfe der Simulationsausgabe die kostenoptimale Datenakquisitionsstrategie findet. Diese optimale Strategie garantiert dabei das Einhalten der Obergrenze für die Unschärfe. Die Suche nach einer kostenoptimalen Datenakquisitionsstrategie wird in dieser Arbeit durch eine Kostenfunktion für die Datensammlung formalisiert. Anschließend wird für dieses Optimierungsproblem eine analytische Lösung vorgestellt. Dieser Ansatz ermöglicht eine bedarfsgetriebene Datenakquisition, wobei der Bedarf über die Obergrenze für die Unschärfe definiert wird. Die Genauigkeit und Effizienz dieses Ansatzes wird anhand einiger Beispiele evaluiert. Abstract The increasing complexity of simulation models and the need for rapid development of new models require adaptive strategies for the management of simulation input data. Simulation data management methodologies need to cope with the high initial effort of schema design and semantic data integration. This initial effort is hindering the adoption of DBMS (Database Management Systems) for managing the input data of small simulation projects. However, as the complexity of most simulation projects increases over time, the benefit of employing a DBMS eventually outweighs the effort. To this end, a demand driven data management methodology is required that enables the use of a DBMS from the outset for simulation input data. This DBMS should be usable without the need for an initial schema design or semantic data integration. However, designing a domain specific schema and increasing the level of semantic integration should be possible on demand. Furthermore, as the data collection step for simulations is extensive, the required data quality of simulation output should be considered as a steering instrument for a demand driven data acquisition. This thesis presents a generic schema that enables the storage of arbitrary simulation input data for agent-based and System Dynamics simulations without requiring the design of a domain specific schema. This generic schema enables the storage of domain specific schema information on demand. Additionally, a data integration concept allows to increase the level of semantic integration in the generic schema on demand in a payas-you-go manner. The performance of several alternatives for implementing this generic schema is evaluated based on a synthetic workload. This thesis adopts the uncertainty of simulation output as the most important data quality dimension for simulations, as the uncertainty is an important concern when using simulation output for decision making. An existing method to propagate the uncertainty of input through simulations to estimate the uncertainty of the output is discussed in this thesis. This method is based on approximating simulations using Gaussian processes and forms the basis for a demand driven data acquisition solution. As simulation output may prove to be too uncertain for decision making, the data collection step has to be iterated multiple times in the worst case. Therefore, a bound on the output uncertainty, which can be defined by a domain expert, is used to find the most cost efficient data collection strategy that satisfies said bound. By defining a cost function for the data collection step, the problem of finding the most cost efficient data collection strategy is formalized and an analytic solution to this problem is given in this thesis. With this approach, data quality requirements for simulation output enable a demand driven data acquisition. The accuracy and efficiency of this approach are evaluated using several examples. Inhaltsverzeichnis 1 Einleitung 1.1 Grundlegende Begriffe . . . . . . . . . . . . . . . . . . . . 1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Projektbeschreibung und motivierendes Beispiel . . 1.2.2 Initiale Arbeitspakete . . . . . . . . . . . . . . . . . 1.3 Problembeschreibung . . . . . . . . . . . . . . . . . . . . . 1.3.1 Schema . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Wissensbasis . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Datenqualität . . . . . . . . . . . . . . . . . . . . . 1.4 Hypothesen . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Erweiterbarer Schemaentwurf . . . . . . . . . . . . 1.4.2 Bedarfsgetriebene semantische Integration . . . . . 1.4.3 Speicherung von konzeptuellen Simulationsmodellen 1.4.4 Datenqualitätsdimensionen . . . . . . . . . . . . . . 1.4.5 Datenqualitätspropagierung . . . . . . . . . . . . . 1.4.6 Bedarfsgesteuerte Datenakquisition . . . . . . . . . 1.5 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsdatenmanagement 2 Grundlagen des Datenmanagements 2.1 Evolutionäre Datenhaltung . . . . . . . . . 2.1.1 EAV mit Klassen und Beziehungen 2.1.2 Resource Description Framework . 2.1.3 Dokumentenspeicher . . . . . . . . 2.2 Datenintegration . . . . . . . . . . . . . . 2.2.1 Föderierte Datenbanken . . . . . . 2.2.2 Bedarfsgetriebene Datenintegration 13 14 16 16 17 18 18 21 22 24 24 26 27 28 28 29 31 33 . . . . . . . 35 35 36 39 40 40 40 41 3 Klassifikation von Simulationseingabedaten 3.1 Formale Modelle für Simulationen . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Kontinuierliche dynamische Systeme . . . . . . . . . . . . . . . . 43 43 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Stochastische diskrete dynamische 3.1.3 System Dynamics . . . . . . . . . 3.1.4 Agentenbasierte Modelle . . . . . 3.2 Simulationseingabedaten . . . . . . . . . 3.2.1 System Dynamics . . . . . . . . . 3.2.2 Agentenbasierte Modelle . . . . . 3.2.3 Klassifikation der Eingabewerte . Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Verwandte Arbeiten für das Simulationsdatenmanagement 4.1 Verwaltung wissenschaftlicher Daten . . . . . . . . . . . . . 4.2 Scientific Workflow Management Systems . . . . . . . . . . 4.3 Eingabedaten ereignisorientierter Systeme . . . . . . . . . . 4.4 Wissenschaftliche Dataspaces . . . . . . . . . . . . . . . . . 4.4.1 SQLShare . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 jSpace . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Domain Scientific Data Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen 5.1 Ein EAV/CR-basiertes Schema für Eingabewerte . . . . . . . . 5.1.1 Speicherung von Anfragen . . . . . . . . . . . . . . . . . 5.1.2 Speicherung von Simulationsläufen . . . . . . . . . . . . 5.2 Ein Schema für mehrdimensionale Eingabewerte . . . . . . . . . 5.3 Ein Schema zur Speicherung von Zustandsdiagrammen . . . . . 5.3.1 UML-Zustandsdiagramme . . . . . . . . . . . . . . . . . 5.3.2 Ein Schema für Zustandsdiagramme . . . . . . . . . . . 5.4 Bedarfsgetriebene Datenintegration . . . . . . . . . . . . . . . . 5.4.1 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Ein Schema für bedarfsgetriebene Datenintegration . . . 5.4.3 Semantische Integration von Pivot-Tabellen . . . . . . . 6 Evaluation des generischen Schemas 6.1 Vereinfachtes Schema . . . . . . . . . . . 6.2 Implementierungsalternativen . . . . . . 6.2.1 Auswahl konkreter DBMS . . . . 6.2.2 Relationale Abbildung . . . . . . 6.2.3 Klassisches relationales Schema . 6.2.4 Dokumentenorientierte Abbildung 6.2.5 Hybride Abbildung . . . . . . . . 6.2.6 Abbildung auf RDF . . . . . . . . 6.3 Charakteristika der Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 46 47 48 48 48 49 . . . . . . . 53 53 54 56 57 57 57 58 . . . . . . . . . . . 59 60 61 62 63 66 67 68 69 70 71 72 . . . . . . . . . 75 75 76 77 78 78 79 79 80 81 6.4 Anfragedefinition . . . . . . . . . . . . . . . . . . 6.5 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . 6.5.1 Hardware- und Softwarekonfiguration . . . 6.5.2 Evaluation möglicher Indizes . . . . . . . . 6.5.3 Evaluationsergebnisse . . . . . . . . . . . . 6.5.4 Evaluation in Abhängigkeit des Füllstands 6.5.5 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 83 84 84 87 89 91 II Unschärfepropagierung 95 7 Datenqualitätsmanagement für Computermodelle 7.1 Datenqualitätsdimensionen . . . . . . . . . . . . . . 7.2 Datenqualitätsdimensionen für Computermodelle . 7.3 Simulation-Input-Modeling . . . . . . . . . . . . . . 7.4 Bedarfsgetriebene Datenakquisition . . . . . . . . . 7.5 Unschärfe in Simulationen . . . . . . . . . . . . . . . . . . . 97 98 101 103 106 110 . . . . 113 114 115 121 125 . . . . 131 131 135 136 137 . . . . . . . 139 140 141 145 146 148 149 152 8 Grundlagen der Unschärfepropagierung 8.1 Gaußprozesse . . . . . . . . . . . . . . . . . . . 8.1.1 Regression mit Gaußprozessen . . . . . . 8.1.2 Gaußprozesse für komplexe Simulationen 8.2 Unschärfepropagierung für Gaußprozesse . . . . . . . . . . . . . . . . . . . . . 9 Verwandte Arbeiten für die Unschärfepropagierung 9.1 Unschärfepropagierung . . . . . . . . . . . . . . . . . 9.2 Unschärfequantifizierung . . . . . . . . . . . . . . . . 9.3 Optimales Design von Experimenten . . . . . . . . . 9.4 Optimale Wahl von Stichprobengrößen . . . . . . . . . . . . . . . . . . . . . 10 Inverse Unschärfepropagierung 10.1 Kostenfunktion . . . . . . . . . . . . . . . . . . . . . . 10.2 Kostenoptimale Inverse Unschärfepropagierung . . . . 10.3 Feste Eingabeparameter . . . . . . . . . . . . . . . . . 10.4 Simulationen mit mehreren Ausgabewerten . . . . . . . 10.5 Gemeinsam geschätzte Parameter . . . . . . . . . . . . 10.6 Das unbekannte u . . . . . . . . . . . . . . . . . . . . . 10.7 Optimale Datenakquisitionsstrategie mit unscharfem u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Evaluation der inversen Unschärfepropagierung 155 11.1 Kostenfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.2 Unschärfepropagierung . . . . . . . . . . . 11.3 Inverse Unschärfepropagierung . . . . . . . 11.3.1 Evaluation der Geschwindigkeit . . 11.3.2 Evaluation an einem realen Beispiel 11.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III Epilog 158 162 162 164 166 169 12 Zusammenfassung, Diskussion und Ausblick 12.1 Zusammenfassung . . . . . . . . . . . . . . . 12.1.1 Simulationsdatenmanagement . . . . 12.1.2 Unschärfepropagierung . . . . . . . . 12.2 Diskussion der getroffenen Annahmen . . . . 12.2.1 Simulationsdatenmanagement . . . . 12.2.2 Unschärfepropagierung . . . . . . . . 12.3 Ausblick . . . . . . . . . . . . . . . . . . . . 12.3.1 Simulationsdatenmanagement . . . . 12.3.2 Unschärfepropagierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 171 171 173 174 175 176 178 178 179 Anhang A Notation 183 B Aggregationssemantik B.1 Aggregation von Fakten für einfache Zustandsdiagramme . . . . . . . . . B.2 Aggregation von Fakten für orthogonale Regionen . . . . . . . . . . . . . B.3 Wahrscheinlichkeit von Pfaden . . . . . . . . . . . . . . . . . . . . . . . . 185 185 186 188 C Abbildung der Anfragen C.1 Relationale Abbildung . . . . . . . C.2 Klassisches relationales Schema . . C.3 Hybride Abbildung . . . . . . . . . C.4 Dokumentenorientierte Abbildung . C.4.1 MapReduce . . . . . . . . . C.4.2 MongoDB Query Language C.5 Abbildung auf RDF . . . . . . . . . 191 191 192 193 194 194 197 199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D Mathematische Grundlagen 201 D.1 Die mehrdimensionale Normalverteilung . . . . . . . . . . . . . . . . . . 201 D.2 Matrizen . . . . . . . . . . . . . . . D.2.1 Woodbury-Matrix-Identität D.2.2 Definitheit von Matrizen . . D.3 Optimierung . . . . . . . . . . . . . D.3.1 Lagrange-Multiplikator . . . D.3.2 Konvexe Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E Herleitungen E.1 Invertierung der Kovarianzmatrix für SPGP . . . . . E.2 Gradient und Hesse-Matrix für Kovarianzfunktionen E.2.1 Gaußsche Kovarianzfunktion . . . . . . . . . . E.2.2 SPGP-Kovarianzfunktion . . . . . . . . . . . . E.2.3 SPGP-DR-Kovarianzfunktion . . . . . . . . . E.3 Exakte Unschärfepropagierung für SPGP-DR . . . . E.4 Auf der Spur von Blockmatrixprodukten . . . . . . . E.5 Die Fisher-Information für verschiedene Verteilungen E.5.1 Exponentialverteilung . . . . . . . . . . . . . E.5.2 Trefferwahrscheinlichkeit . . . . . . . . . . . . E.5.3 Mittelwert der Normalverteilung . . . . . . . . E.5.4 Standardabweichung der Normalverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 202 202 202 202 203 . . . . . . . . . . . . 205 205 207 207 208 208 209 211 211 212 212 213 213 Literaturverzeichnis 215 Eigene Publikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Weitere Publikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Studentische Abschlussarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Abkürzungsverzeichnis 235 Abbildungsverzeichnis 237 Tabellenverzeichnis 239 Liste von Annahmen 241 Stichwortverzeichnis 247 13 1 Einleitung “ On two occasions I have been asked, ’Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. ” (Charles Babbage) Bei Simulationsprojekten wird in der Regel sehr viel Wert auf die Validität der Modellierung der systeminhärenten Zusammenhänge gelegt. Das obige Zitat von Charles Babbage verdeutlicht jedoch, dass die Korrektheit der Eingabedaten bei Berechnungen mindestens genauso relevant ist wie ein korrektes Modell. Aus diesem Grund widmet sich diese Arbeit der Verwaltung und Gütebewertung der Eingabedaten für Simulationen. Für wissenschaftliche Anwendungen werden häufig keine Datenbanken für die Verwaltung der Daten eingesetzt, da der Aufwand den Nutzen zu übersteigen scheint. Bei der Datenhaltung für Simulationen müssen viele heterogene Datenquellen integriert und bereinigt werden. Ebenso lässt sich im Vorfeld eines Simulationsvorhabens kein festes Schema definieren, da sich die Anforderungen im Laufe eines Projekts verändern. Der Schemaentwurf und die Integration von Daten erfordern einen hohen initialen Aufwand, der sich bei einzelnen Analysen und Simulationen nicht rentiert. Wird jedoch eine Datenbasis geschaffen, die für mehrere wissenschaftliche Projekte verwendet werden kann, so überwiegt der Nutzen durch integrierte und bereinigte Daten, für die eine Qualitätssicherung durchgeführt wurde. Aus diesem Grund wird in dieser Arbeit ein Ansatz vorgestellt, der den initialen Aufwand des Schemaentwurfs und der Datenintegration verlagert, so dass eine Datenbank bereits für einzelne Analysen eingesetzt werden kann. Wenn sich im Laufe der Zeit herausstellt, dass die Daten eines Projekts weiterverwendet werden sollen, so ist es dann möglich, die Datenintegration und den Schemaentwurf nachträglich durchzuführen. Eine bereinigte Datenbasis ermöglicht durch ein domänenspezifisches Schema beispielsweise die Wiederverwendung der gesammelten Eingabedaten für verschiedene Analysen. Zusätzlich vereinfacht ein domänenspezifisches Schema durch klar definierte Begriffe eine Datensammlung, die parallel von verschiedenen Domänenexperten durchgeführt wird. 14 Kapitel 1 Einleitung Um die Qualität der Daten zu sichern, wird in dieser Arbeit diskutiert, wie die Qualität von Simulationseingabedaten gemessen und auf welche Weise eine Qualitätssicherung durchgeführt werden kann. Dabei soll besonderes Augenmerk darauf gelegt werden, die Datenqualität als Steuerungsinstrument für die Sammlung von Daten zu verwenden. Ausgehend von einer gewünschten Güte der Ausgabewerte einer Simulation soll eine Strategie zur Datensammlung entworfen werden, welche die geforderte Güte mit möglichst geringem Aufwand erreicht. In dieser Einleitung werden zunächst grundlegende Begriffe geklärt, um die Unmissverständlichkeit dieser Arbeit zu gewährleisten. Anschließend werden die Motivation und die ursprüngliche Problemstellung, welche dieser Arbeit zugrunde liegen, vorgestellt. Basierend auf der Problemstellung werden verschiedene Hypothesen entwickelt, die auf gewissen Annahmen beruhen. Die Annahmen und Hypothesen werden in dieser Einleitung einzeln aufgestellt und beschrieben, um deutlich zu machen, welche Ziele diese Arbeit verfolgt. Ebenso wird für jede Hypothese dargelegt, wie sie im Rahmen dieser Arbeit evaluiert wird. Im Laufe der Arbeit wird immer wieder Bezug auf die jeweiligen Hypothesen genommen und es werden weitere Annahmen aufgelistet, die für die Lösung der Problemstellungen notwendig sind. Die Hypothesen und Annahmen werden am Ende der Arbeit aufgegriffen und diskutiert. Zum Abschluss dieses Kapitels wird der Aufbau dieser Arbeit vorgestellt. 1.1 Grundlegende Begriffe Ein Computermodell ist ein mathematisches Modell, welches aufgrund seiner Komplexität mit einem Computer ausgewertet werden muss. In dieser Arbeit werden die Begriffe „Computermodell“, „Simulationsmodell“ und im Falle eines eindeutiges Kontextes auch „Modell“ synonym verwendet. Ein Simulationsmodell besitzt verschiedene Eingaben, welche sich in Eingabeparameter und Eingabevariablen aufteilen. In der Simulationsliteratur werden mit dem Begriff „Eingabeparameter“ häufig Eingaben bezeichnet, die auf Daten beruhen, während der Begriff „Eingabevariablen“ häufig Eingaben bezeichnet, welche im Rahmen von Experimenten verändert werden, um verschiedene Szenarien zu evaluieren. Diese Unterscheidung geschieht in der Literatur teilweise willkürlich, da bei spekulativen Simulationen auch Eingaben variiert werden, für die eigentlich Daten vorliegen. Für diese Arbeit sind nur Eingaben relevant, für die Daten vorliegen. Eine vom Benutzer frei wählbare Eingabevariable, für die keine Daten vorliegen, wird im Rahmen dieser Arbeit als Modellierungsentscheidung betrachtet und ist somit Teil des Simulationsmodells. Aus 1.1 Grundlegende Begriffe 15 diesem Grund werden die Begriffe „Eingabe“ und „Eingabeparameter“ synonym verwendet. Werden für Eingaben feste Werte gewählt, so werden diese als „Eingabewerte“ bezeichnet. Ein Computerexperiment ist die Ausführung eines Modells mit bestimmten Eingabewerten und wird häufig auch als Simulation oder Simulationslauf bezeichnet. Neben den Eingaben besitzt ein Simulationsmodell auch Ausgaben, die durch die Computerexperimente berechnet werden. Die Ergebnisse eines solchen Computerexperiments sind demnach Ausgabewerte. Bei aufwendigen Simulationsmodellen werden häufig Surrogatmodelle für die Analyse der Simulationen verwendet. Ein Surrogatmodell ist eine analytisch berechenbare Funktion, welche abhängig von den Eingaben einer Simulation die entsprechenden Ausgaben der Simulation effizient approximiert. Surrogatmodelle basieren auf einer Reihe von Beobachtungen von Simulationsläufen, die mit verschiedenen Eingabewerten durchgeführt wurden. Die Güte der Eingabewerte wirkt sich direkt auf die Güte der Ausgabewerte aus. Die Berechnung der Güte der Ausgabewerte aufgrund der Güte der Eingabewerte wird als Propagierung bezeichnet. Diese Berechnung ist nicht Teil des eigentlichen Simulationsmodells und ist somit mit zusätzlichem Aufwand behaftet. Im Zusammenhang mit dem Datenmanagement werden folgende Begriffe unterschieden [KE09]: Ein Datenmodell legt die Konstrukte, mit denen Datenobjekte beschrieben werden können, und die Operatoren, die auf diesen Datenobjekten anwendbar sind, fest. Ein Beispiel ist das relationale Datenmodell. Ein Datenmodell kann verwendet werden, um die Struktur von Datenobjekten zu beschreiben. Eine solche Beschreibung wird Schema genannt. Die Menge von gespeicherten Datenobjekten, die einem Schema entsprechend aufgebaut sind, wird Ausprägung genannt. Es muss zusätzlich noch zwischen Domänenmodell und Schema unterschieden werden. Ein Domänenmodell formalisiert Konzepte einer Domäne und die Beziehungen zwischen den Konzepten. Es dient der Konsensfindung bezüglich der Bedeutung von gemeinsam verwendeten Daten innerhalb einer Domäne. Ein Domänenmodell wird häufig für den Entwurf eines domänenspezifischen Schemas als semantische Referenz verwendet. Allerdings ist es auch möglich, domänenunabhängige Schemata zu entwerfen. Für die Beschreibung von Schemata werden Begriffe der ER-Modellierung (Entity Relationship) verwendet. Es wird also von Entitätstypen, Entitäten und Attributen gesprochen. Eine Entität ist ein Realweltobjekt, das durch Attribute beschrieben wird. Ein Entitätstyp ist eine Menge von Entitäten mit gleichen Attributen. 16 Kapitel 1 Einleitung 1.2 Motivation Da diese Arbeit auf einem konkreten Simulationsprojekt basiert, wird dieses zunächst kurz beschrieben. Ebenso wird auf die initialen Arbeitspakete eingegangen, die im Rahmen dieses Projekts für die Datenverwaltung erfüllt werden sollten. Einige der grundlegenden Annahmen beziehen sich auf die spezifischen Charakteristika des Projekts. Ausgehend davon werden in dieser Arbeit allerdings Ergebnisse vorgestellt, welche möglichst allgemeingültig sein sollen. 1.2.1 Projektbeschreibung und motivierendes Beispiel Das interdisziplinäre Simulationsprojekt ProHTA (Prospective Health Technology Assessment) [DG11] diente als Motivation für diese Arbeit. Im Rahmen dieses Projekts sollten die Effekte von neuartigen Medizinprodukten auf das Gesundheitssystem simuliert werden. Dabei stand die Simulation von Patienten und des Gesundheitssystems im Vordergrund und nicht die Simulation der biologischen Effekte der neuartigen Technologien. Beispiel 1. Als motivierendes Beispiel dient die Simulation der Schlaganfallbehandlung. Dieses Beispiel wird im Laufe der Arbeit immer wieder aufgegriffen und verfeinert, um die einzelnen Konzepte zu illustrieren. Schlaganfälle sind vor allem für ältere Menschen eine häufige Todesursache und führen auch bei einem nicht-tödlichen Verlauf oft zu starken Behinderungen [DKRHG12]. Ein Schlaganfall lässt sich medikamentös behandeln (Thrombolyse), allerdings muss die Thrombolyse innerhalb von 4.5 Stunden nach Auftreten des Schlaganfalls durchgeführt werden [DKRHG12]. Da während eines Schlaganfalls Gehirnzellen rapide absterben, sollte die Behandlung so früh wie möglich beginnen [DKRHG12]. Eines der Ziele von ProHTA war die Modellierung von speziellen Einsatzfahrzeugen (Mobile Stroke Units) zur Behandlung von Schlaganfällen in Berlin [DKRHG12]. Mobile Stroke Units sind Krankenwagen, die mit Computertomographen ausgestattet wurden. Dies ermöglicht es, bei Patienten, welche die Symptome eines Schlaganfalls aufweisen, schnell feststellen zu können, ob tatsächlich ein Schlaganfall vorliegt und wie dieser behandelt werden kann. Das Simulationsmodell sollte die zeitliche Verbesserung bei der Behandlung von Schlaganfallpatienten abschätzen. Wichtig war dabei einerseits die Modellierung der detaillierten Behandlungsabläufe und andererseits die Modellierung der Bevölkerungsentwicklung, um zukünftige Fallzahlen abzuschätzen. 1.2 Motivation 17 Das Ergebnis der Simulation sollte dann der Abschätzung dienen, ob eine Investition in Mobile Stroke Units wirtschaftlich sinnvoll ist. Beispielszenarien wie das Schlaganfall-Szenario sollten der Entwicklung eines Baukastens für Simulationsmodelle dienen. Dieser sollte die Entwicklung von zukünftigen gesundheitsökonomischen Simulationen beschleunigen. Zusätzlich sollte die Qualitätssicherung für Simulationsmodelle durch eine standardisierte Vorgehensweise für die Modellierung gewährleistet werden. Um die Ziele von ProHTA zu erreichen, wurden verschiedene Arten von Simulationsmodellen kombiniert. Agentenbasierte Simulationsmodelle, bei denen Patienten als autonome Softwareagenten mittels endlicher Automaten modelliert werden, dienen der feingranularen Simulation von Behandlungs- und Diagnoseabläufen [DKRHG12]. Agenten können dabei sowohl miteinander als auch mit der Umgebung interagieren. Beispielsweise können sie Ressourcen belegen, verbrauchen oder produzieren. SD-Modelle (System Dynamics) ermöglichen, mittels Differentialgleichungen die Flüsse zwischen einzelnen Teilen der Bevölkerung zu modellieren [Ste00]. Dies erlaubt eine grobgranulare Simulation der Bevölkerung ganzer Länder. Um diese beiden Simulationsmethoden zu kombinieren, können hybride Modelle verwendet werden [DKRHG12]. Dadurch ist eine effiziente Simulation der Gesamtbevölkerung unter gleichzeitiger Betrachtung der detaillierten Behandlungs- und Diagnoseabläufe möglich. Beispiel 2. Für die Simulation der Schlaganfallbehandlung wurde der Ablauf vom Auftreten der Krankheit bis zur Diagnose und Behandlung modelliert. Dabei wurden die Patienten als Agenten dargestellt, deren Verhalten durch ein Zustandsdiagramm beschrieben wird. Die Bevölkerungsentwicklung in Deutschland und das Auftreten von Schlaganfällen in der Bevölkerung wurden mit SD-Modellen abgebildet [DKRHG12]. Für die Simulation der Mobile Stroke Units wurde keine detaillierte Verkehrssimulation verwendet. Stattdessen wurden die Fahrtzeiten der Einsatzfahrzeuge basierend auf den Entfernungen zwischen Patienten und Krankenhäusern geschätzt. 1.2.2 Initiale Arbeitspakete Im Rahmen von ProHTA sollte ein Simulations-Werkzeugkasten entworfen werden, der es ermöglicht, effizient eine Vielzahl von Simulationen für unterschiedliche Fragestellungen zu entwickeln. Aufgrund der erwarteten Menge von unterschiedlichen Simulationen wurden neben den Problemen der Simulation und Modellierung auch Probleme der Datenverwaltung antizipiert. Die initiale Vorhabensbeschreibung von ProHTA enthielt Arbeitspakete für das Datenmanagement, die auf den erwarteten Problemen basierten. 18 Kapitel 1 Einleitung Da diese der Ausgangspunkt und die Motivation für diese Arbeit waren, werden sie im Folgenden kurz vorgestellt: Schema Nach einer Anforderungsanalyse des Informationsbedarfs von Simulationen sollte ein relationales Schema zur Speicherung der nötigen Eingabewerte entworfen werden. Dabei sollte besonders auf die Erweiterbarkeit des Schemas geachtet werden, um den veränderlichen Anforderungen im Laufe des Projekts gerecht zu werden. Wissensbasis Es sollte eine erweiterbare Wissensbasis entworfen werden, welche die Speicherung von domänenspezifischen Regeln ermöglicht. Zu diesem Zweck sollte ein Modell erarbeitet werden, das die formale Abbildung von Regeln und Zusammenhängen erlaubt. Datenqualität Es sollten Kriterien gefunden werden, mit denen die Qualität der Eingabewerte hinsichtlich der Verwendbarkeit für Simulationen beurteilt werden kann. Diese Kriterien sollten zur Annotation der Daten verwendet werden, um die Aussagekraft der Simulationsergebnisse abschätzen zu können. 1.3 Problembeschreibung Basierend auf den initialen Arbeitspaketen wurden im Rahmen dieser Arbeit verschiedene wissenschaftliche Fragestellungen im Zusammenhang mit der Verwaltung von Eingabewerten identifiziert. Diese werden nun im Folgenden vorgestellt. Dabei orientiert sich die Gliederung an den ursprünglichen Arbeitspaketen. 1.3.1 Schema Howe et al. [HCS+ 11, HHR+ 13] identifizierten den initialen Aufwand des Schemaentwurfs als grundlegendes Hemmnis bei der Verwendung von Datenmanagementsystemen für wissenschaftliche Anwendungen. Daten aus verschiedenen Quellen müssen bereinigt und in ein konsolidiertes Schema zusammengeführt werden, um für Simulationen nützlich zu sein. Dies gestaltet den initialen Schemaentwurf schwierig, da die Daten oft selbst innerhalb eines einzelnen Simulationsprojekts aufgrund der verschiedenen Quellen heterogen sind. Zudem ändern sich die Anforderungen an die Datenhaltung häufig im Verlauf eines Simulationsprojekts, was Veränderungen des Schemas zur Folge hat. Dieses Problem ist allgemein als Softwarealterung [Par94] bekannt. 1.3 Problembeschreibung 19 Beispiel 3. Im Rahmen des Schlaganfallszenarios wurden während der Projektlaufzeit die Bevölkerungsstatistiken für Berlin, die für jeden Bezirk vorliegen, gegen Daten für ein ländliches Szenario ausgetauscht, in denen keine Bezirke vorkommen. Dies führt dazu, dass ein festes domänenspezifisches Schema für die Änderung des Szenarios angepasst werden müsste, was Änderungen an den Programmen, die auf diese Daten zugreifen, nach sich ziehen würde. Ein flexibles Schema würde die Speicherung der Daten für Berlin und für das ländliche Szenario ohne Schemaanpassung erlauben. Programme für die Suche, Darstellung und Verarbeitung von diesen Daten könnten somit ohne Anpassung mit beiden Datensätzen arbeiten. Lediglich die Berechnungen innerhalb des Simulationsmodells müssten an den neuen Datensatz für das ländliche Szenario angepasst werden, da dieser nicht mehr nach Bezirken gegliedert ist. Auf Grund der veränderlichen Anforderungen sollte ein Schema von Grund auf so entworfen werden, dass es flexibel genug ist, um sich möglichen Veränderungen der Anforderungen anzupassen. Da der Entwurf eines konkreten domänenspezifischen Schemas für ein einzelnes Simulationsprojekt einen zu großen Aufwand bedeutet, sollte ein generisches domänenunabhängiges Schema entworfen werden, welches für verschiedene Simulationsprojekte im Rahmen einen Simulationsbaukastens Anwendung finden kann. Daraus ergibt sich folgende Fragestellung, die im Rahmen dieser Arbeit gelöst wird: Problem 1. Wie lässt sich ein generisches und erweiterbares Schema entwerfen, welches der Speicherung von Eingabewerten für agentenbasierte und SD-Simulationen dient? Neben dem Schemaentwurf ist die Integration der Daten ein zentrales Problem. Ein generisches Schema ermöglicht zwar die Speicherung von heterogenen Daten, zusätzlich muss jedoch auch dafür gesorgt werden, dass diese Daten interpretiert werden können. Beispiel 4. Im Schlaganfallszenario wurden beispielsweise Daten verwendet, welche die Häufigkeit des Auftretens der Krankheit beschreiben. Dabei musste zwischen verschiedenen Arten des Schlaganfalls unterschieden werden [DKRHG12]. Die Verwendung einer kanonischen Klassifikation von Schlaganfällen ermöglicht dann eine semantische Integration der Häufigkeiten. Dabei wird jedem Element der Datensätze zugeordnet, auf welche Art des Schlaganfalls es sich bezieht. Es wird zwischen technischer und semantischer Integration unterschieden [LBK07]. Technische Integration ermöglicht den Zugriff auf Daten. Dabei werden das Schema einer Datenquelle und die zugehörigen Daten aus dem quellspezifischen Datenmodell in ein 20 Kapitel 1 Einleitung kanonisches Datenmodell transformiert. Beispielsweise können Daten aus Pivot-Tabellen in das relationale Datenmodell transformiert werden. Das Schema einer Pivot-Tabelle besteht dabei aus Zeilen, Spalten und Zellen, welche sich leicht auf Tupel, Attribute und Attributwerte im relationalen Modell abbilden lassen. Tabelle 1.1(a) zeigt eine Pivot-Tabelle, die in einer Relation gespeichert wurde. Die Speicherung in einer Relation ermöglicht den Zugriff auf die Daten mit Hilfe der relationalen Algebra. Im Gegensatz zur technischen Integration dient die semantische Integration dem Verständnis der Daten und erfolgt, indem Konzepte und Begriffe zwischen den verschiedenen Datenquellen vereinheitlicht werden. Es wird ein kanonisches Schema gebildet. Die semantische Integration kann dabei sowohl auf Schemaebene als auch auf Ausprägungsebene durchgeführt werden. Bei der semantischen Integration auf Schemaebene werden die Elemente eines Schemas den Elementen eines kanonischen Schemas zugeordnet. Beispielsweise wird in Tabelle 1.1(b) eine semantisch integrierte Version der Daten aus Tabelle 1.1(a) dargestellt. Dabei wurde beispielsweise der Zeile 1 der Pivot-Tabelle 1.1(a) das Attribut Gender zugeordnet. Ebenso wurde den Zahlen in der Pivot-Tabelle eine Bedeutung gegeben, indem sie dem Attribut People zugeordnet wurden. Die Bedeutung der Attribute muss für das kanonische Schema eindeutig definiert sein. Eine semantische Integration auf Ausprägungsebene könnte in diesem Beispiel dem Attributwert „M“ den kanonischen Attributwert „Male“ zuordnen. Row 1 2 3 4 5 Col. 1 10 20 30 C. 2 M 2010 0 4 6 C. 3 F 2010 8 7 9 C. 4 M 2011 1 1 4 C. 5 F 2011 5 1 2 (a) Relational gespeicherte Pivot-Tabelle Age 10 10 10 10 20 20 20 20 30 30 30 30 Year 2010 2010 2011 2011 2010 2010 2011 2011 2010 2010 2011 2011 Gender M F M F M F M F M F M F People 0 8 1 5 4 7 1 1 6 9 4 2 (b) Semantisch integrierte PivotTabelle Tabelle 1.1: Beispiel für die semantische Integration 1.3 Problembeschreibung 21 Es gibt bereits Ansätze zur automatischen semantischen Integration von Daten [RB01, BMR11], allerdings benötigen auch diese eine manuelle Überprüfung. Zudem ist eine semantische Integration nicht immer möglich, da sich oft die Konzepte eines Schemas nicht auf die Konzepte eines anderen Schemas abbilden lassen. Dies führt bei der semantischen Integration unter Umständen zu einem Verlust von Informationen. Da die Datenverwaltung Teil eines Baukastens für den effizienten Entwurf von mehreren Simulationsmodellen innerhalb derselben Domäne sein soll, lohnt sich die aufwändige semantische Integration von Daten, da diese unter Umständen mehrfach benutzt werden können. Allerdings läuft in vielen Simulationsprojekten die Datensammlung unabhängig oder parallel zur Modellentwicklung ab. Aus diesem Grund werden viele Datensätze gesammelt, die unter Umständen nicht benötigt werden. Die semantische Integration aller Datensätze würde einen erheblichen Aufwand verursachen, allerdings könnten diese Datensätze für zukünftige Simulationsmodelle nützlich sein. Aus diesem Grund sollten alle Datensätze gespeichert werden und mittels einfacher Volltextsuche durchsuchbar sein (technische Integration). Bei Bedarf sollte es dann möglich sein, die Datensätze semantisch zu integrieren und in ein konsolidiertes kanonisches Schema zu überführen. Dies führt zu der folgenden Fragestellung: Problem 2. Wie lassen sich Simulationseingabedaten automatisiert technisch integrieren und mittels Volltextsuche durchsuchbar machen, mit der zusätzlichen Möglichkeit, die Daten bei Bedarf semantisch zu integrieren? 1.3.2 Wissensbasis Im Rahmen der Wissensbasis sollten Regeln und Zusammenhänge gespeichert werden, die dann für die Erstellung der Simulationsmodelle herangezogen werden können. Bei vielen Simulationsprojekten wird bereits vor der eigentlichen Implementierung der Simulation ein konzeptuelles Modell entworfen. Hierfür gibt es bereits diverse Beschreibungsmöglichkeiten wie beispielsweise UML (Unified Modeling Language), um formal komplexe Zusammenhänge modellieren zu können [RM00, BDV05]. Die UML-Modelle, die eine Simulation beschreiben, sollten auch die Eingabewerte berücksichtigen, da in den Modellen bereits klar sein muss, welche Parameter von den einzelnen Komponenten benötigt werden. Diese Verknüpfung von konzeptuellen Simulationsmodellen und Eingabewerten innerhalb der Datenhaltung würde es ermöglichen, lauffähige Simulationsmodelle oder zumindest Gerüste für Simulationsmodelle automatisch zu generieren. 22 Kapitel 1 Einleitung Beispiel 5. Für das Schlaganfallszenario wurden beispielsweise die Diagnose- und Behandlungsabläufe als Zustandsdiagramme modelliert. Die Daten, die für die Simulation gesammelt wurden, bezogen sich immer auf Zustände oder Übergänge zwischen Zuständen. Beispielsweise wurden die durchschnittlichen Zeiten zwischen der Ankunft im Krankenhaus und der Diagnose gespeichert. Die Zustandsdiagramme können im Rahmen der semantischen Integration direkt als Teil des kanonischen domänenspezifischen Modells für die Beschreibung der Daten verwendet werden. Auf diese Weise müssen diese Modelle nicht getrennt gepflegt werden, was zu Inkonsistenzen führen könnte. Zusätzlich ermöglicht eine Verknüpfung zwischen den Daten und den Zustandsdiagrammen eine bessere Durchsuchbarkeit der Datensammlung, da direkt nach den Daten für einzelne Elemente des Simulationsmodells gesucht werden kann. Aus diesen Überlegungen ergibt sich hier folgende Fragestellung: Problem 3. Wie lassen sich konzeptuelle Simulationsmodelle in einer Datenbank speichern und für die Annotation der Daten verwenden? 1.3.3 Datenqualität Neben dem Schemaentwurf und der Integration von Daten ist die Bewertung der Datenqualität eine zentrale Aufgabe des Datenmanagements. Die Qualität der Eingabeparameter einer Simulation muss bewertet werden, um damit die Güte der Simulationsausgabe abschätzen zu können. Beispiel 6. Im Schlaganfallszenario wurden beispielsweise Daten für die Kosten einer Behandlung aus Registern mit einer geringen Anzahl an Patienten verwendet. Zusätzlich wurden die Daten für die Überlebenschancen der Patienten aus einer Studie mit einer geringen Teilnehmerzahl entnommen. Das Simulationsergebnis soll allerdings für die Entscheidung verwendet werden, ob die Entwicklung von Mobile Stroke Units wirtschaftlich und medizinisch sinnvoll ist. Aus diesem Grund muss neben der Validierung und Verifikation des Simulationsmodells die Qualität aller Eingabedaten quantifiziert und zusätzlich zu den Daten gespeichert werden. Die Qualität der Eingabedaten muss dann dazu verwendet werden, um die Qualität der Ausgabewerte der Simulation abschätzen zu können. Falls die Qualität der Simulationsausgabe nach dieser Abschätzung zu gering ist, um eine Entscheidung treffen zu können, sollte es möglich sein, eine erneute Datensammlung gezielt zu steuern. In diesem Beispiel müsste unter der Berücksichtigung der Kosten einer Datensammlung 1.3 Problembeschreibung 23 sowohl für die Kostendaten als auch für die Überlebenschancen die minimale Anzahl an Patienten bestimmt werden, die für eine Studie nötig sind, um die gewünschte Qualität der Simulationsausgabe zu erreichen. Um die Qualität von Daten einordnen zu können, wird meist als Bewertungskriterium „fitness for use“ [WS96] herangezogen. Hierbei werden die Daten daran bewertet, inwieweit diese den Anforderungen der jeweiligen Anwendung genügen. Um nun eine konkrete Bewertung von Daten vornehmen zu können, müssen die relevanten domänenspezifischen Aspekte der Datenqualität identifiziert und gewichtet werden. Diese Aspekte werden auch als Datenqualitätsdimensionen bezeichnet. Aus diesem Grund muss im Rahmen dieser Arbeit zunächst folgende Fragestellung beantwortet werden: Problem 4. Welche Datenqualitätsdimensionen sind für Eingabewerte und Simulationsausgaben relevant und wie lassen sich diese Dimensionen messen? Ausgehend von der Güte der Eingabewerte muss nun die daraus resultierende Güte der Simulationsausgabe bestimmt werden, was in folgender Fragestellung festgehalten wird: Problem 5. Wie lässt sich die Güte der Simulationsausgabe anhand der Qualität der Eingabewerte bestimmen? Bei manchen Simulationen ist unter Umständen noch nicht klar, welche Güte die Eingabewerte haben, da diese erst noch gesammelt werden müssen. Unter Umständen wurden auch bereits Daten mit unzureichender Qualität gesammelt, die nun durch eine weitere Datensammlung verbessert werden müssen. Aufgrund der Anforderungen der Domänenexperten, welche die Simulation in Auftrag gegeben haben, kann davon ausgegangen werden, dass die geforderte Güte der Simulationsausgabe bekannt ist. Um Mehraufwand zu vermeiden, sollte also die Datensammlung so gestaltet werden, dass die geforderte Güte der Simulationsausgabe mit möglichst geringem Aufwand erreicht wird. Dies führt zu der Idee, die geforderte Güte der Simulationsausgabe als Steuerungsinstrument für die Datensammlung heranzuziehen. Dieses Problem wurde auch von Song und Nelson [SN13] als offene Forschungsfrage identifiziert und wird im Rahmen der folgenden Problemstellung bearbeitet: Problem 6. Wie lässt sich die Datensammlung steuern, so dass mit minimalem Aufwand die geforderte Qualität der Simulationsausgabe erreicht wird? Um dieses Problem zu lösen, muss das Konzept der Datensammlung formalisiert werden und es muss eine Kostenfunktion definiert werden, welche den Aufwand einer Datenerhebung beziffert. 24 Kapitel 1 Einleitung 1.4 Hypothesen Basierend auf den einzelnen wissenschaftlichen Fragestellungen werden in diesem Abschnitt Hypothesen und Annahmen formuliert, die den Kern dieser Arbeit bilden. Zu jeder Hypothese wird die Methodik angegeben, mit der sie evaluiert wird. Im Laufe der Arbeit werden die getroffenen Annahmen, unter denen die Hypothesen evaluiert werden, weiter verfeinert. Auf diese Weise sind die Hypothesen, die in diesem Abschnitt postuliert werden, fest. Ihre Bedeutung wird aber im Laufe der Arbeit weiter konkretisiert, indem den abstrakten Begriffen der Hypothesen durch Definitionen und Annahmen konkrete Bedeutung gegeben wird. 1.4.1 Erweiterbarer Schemaentwurf Howe et al. argumentieren, dass selbst für einzelne konkrete wissenschaftliche Anwendungen [HCS+ 11, HHR+ 13] aufgrund von veränderlichen Anforderungen und dem hohen initialen Aufwand ein Schemaentwurf problematisch ist. Deshalb wird in dieser Arbeit von der folgenden Annahme ausgegangen: Annahme 1. Der initiale Aufwand eines domänenspezifischen Schemaentwurfs lohnt sich für Simulationsprojekte nicht. Die Tatsache, dass sich die Anforderungen an die Datenhaltung zwischen Simulationsprojekten stark unterscheiden und nicht antizipierbar sind, führt zu der folgenden Annahme: Annahme 2. Für das Datenmanagement in einen Simulationsbaukasten kann kein festes domänenspezifisches Schema entworfen werden. Aus diesen Gründen wird in dieser Arbeit ein generisches domänenunabhängiges Schema entworfen, welches im Rahmen eines Simulationsbaukastens für mehrere Simulationsprojekte eingesetzt werden kann. Aufgrund seiner Flexibilität soll dieses Schema auch den veränderlichen Anforderungen im Lebenszyklus eines Simulationsprojekts genügen können. Nadkarni et al.[NMC+ 99] entwarfen EAV/CR (EAV with classes and relationships) als generisches domänenunabhängiges Schema für die Speicherung heterogener wissenschaftlicher Daten. Dabei lassen sich vom Benutzer beliebige Entitätstypen definieren, deren Definitionen und Instanzen in der Datenbank gespeichert werden können. Somit lassen sich beliebige Domänenmodelle speichern. Diese Art der Speicherung erlaubt es auch, 1.4 Hypothesen 25 dass Daten gespeichert werden, für die a priori kein Schema definiert wurde. Für diese Datensätze lässt sich allerdings nachträglich bei Bedarf ein Entitätstyp definieren. Trotz des generischen Schemas werden für die Abfrage von EAV/CR-Daten domänenspezifische Schemainformationen benötigt, da andernfalls die Semantik der Datensätze undefiniert ist. Aus diesem Grund müssen für die generische Verwaltung von Eingabewerten grundlegende Entitätstypen definiert werden, die mächtig genug sind, die Eingabewerte darzustellen. Beispielsweise sind Entitätstypen, die hierarchische Datenstrukturen darstellen, nicht mächtig genug, um beliebige Graphen zu speichern. Ein möglicher Entitätstyp zur Speicherung von Eingabewerten sind Fakten, die jeweils ein Attribut u ∈ R enthalten. Ein Tupel von solchen Fakten reicht für viele Anwendungszwecke aus. Die Semantik der Fakten ergibt sich dabei implizit aus der Position eines Fakts innerhalb eines Tupels. Aufgrund dieser Überlegungen wird im Rahmen dieser Arbeit die folgende Hypothese evaluiert: Hypothese 1. Alle Eingabewerte von agentenbasierten und SD-Simulationen lassen sich als Tupel von Fakten mit jeweils einem Attribut u ∈ R darstellen. Evaluation. Mit Hilfe von formalen Modellen für agentenbasierte und SD-Simulationen, wird in Kapitel 3 eine Klassifikation der möglichen Eingabewerte vorgenommen. Die auf diese Weise identifizierten Klassen von Eingabewerten werden dann dahingehend evaluiert, ob sie als Tupel von Fakten geeignet gespeichert werden können. Die Erweiterbarkeit des EAV/CR-Modells erlaubt es dann, zu den Fakten zusätzliche domänenspezifische Attributwerte zur Annotation zu speichern. Auf diese Weise kann die implizite domänenspezifische Information über die Semantik explizit gemacht werden. Üblicherweise wird das EAV/CR-Schema auf ein relationales Schema abgebildet. Bei der relationalen Speicherung von EAV/CR-basierten Daten benötigen Anfragen allerdings häufig eine wesentlich höhere Anzahl an Verbundoperationen als Anfragen auf herkömmlichen relationalen Schemata. Aus diesem Grund ist diese Art der Datenspeicherung nur bedingt für große Datenmengen geeignet. Da für das EAV/CR-Schema mehrere Abbildungsmöglichkeiten auf verschiedene andere Datenmodelle existieren, muss evaluiert werden, welche Variante für den im Rahmen dieser Arbeit behandelten Anwendungszweck am effizientesten ist. Für diese Evaluation wird ein Lastprofil bestehend aus Daten und Anfragen benötigt. Das Lastprofil basiert auf den Erfahrungen, die mit den gesundheitsökonomischen Simulationen des Projekts ProHTA gesammelt wurden. Aus diesem Grund wird von folgender Annahme ausgegangen: Annahme 3. Die Datenhaltung verwaltet voraggregierte mehrdimensionale statistische Daten, die aus öffentlichen Datenquellen stammen. 26 Kapitel 1 Einleitung Basierend auf dieser Annahme wird das genaue Lastprofil in Kapitel 6 vorgestellt und begründet. Mit diesem Lastprofil lässt sich dann folgende Hypothese evaluieren: Hypothese 2. Es gibt nicht-relationale Datenmodelle, die inhärent schemafrei sind und die Verarbeitung von EAV/CR-Daten gegenüber der relationalen EAV/CR-Abbildung beschleunigen. Evaluation. Für diese Hypothese wird ein Benchmark entworfen, dessen Charakteristika sich an den Anforderungen von ProHTA orientieren. Dieser Benchmark dient dem exemplarischen Vergleich einiger Vertreter von nichtrelationalen DBMS (Database Management Systems), der relationalen Abbildung von EAV/CR und der klassischen relationalen Speicherung hinsichtlich Geschwindigkeit. 1.4.2 Bedarfsgetriebene semantische Integration Da diese Arbeit auf mehreren Problemstellungen basiert, welche sich nicht alle in gleicher Tiefe behandeln lassen, muss die bedarfsgetriebene semantische Integration durch vereinfachende Annahmen eingeschränkt werden. Um im Vorfeld der semantischen Integration eine technische Integration der Daten möglich zu machen, müssen zunächst die Datenmodelle (z. B. relational, XML, etc.) bekannt sein, in denen die Daten vorliegen. Aus diesem Grund wird in dieser Arbeit die bedarfsgetriebene semantische Integration für ein Beispieldatenmodell durchgeführt. Da im Projekt ProHTA der größte Teil der Daten als Pivot-Tabellen vorlag, wird folgende Annahme getroffen: Annahme 4. In gesundheitsökonomischen Simulationsprojekten liegen alle Daten tabellarisch in Form von Pivot-Tabellen vor. In dieser Arbeit erfolgt die technische Integration, indem die Pivot-Tabellen in Mengen von EAV/CR-Objekten transformiert werden, die Zeilen, Spalten und Zellen darstellen. Dies ermöglicht es, die Daten mittels Volltextsuche durchsuchbar zu machen, löst allerdings nicht das Problem der semantischen Integration. Laut Hypothese 1 auf der vorherigen Seite werden die Eingabewerte als Tupel von Fakten gespeichert, welche über die EAV/CR-Infrastruktur mit weiteren Attributen annotiert werden können. Im Falle von Pivot-Tabellen entsprechen die Fakten dem Tabelleninhalt, dem über beschreibende Kopfzeilen und Spalten am Rand Attributwerte zugeordnet sind (siehe Beispiel in Tabelle 1.1(a) auf Seite 20). Die bisher angestellten Überlegungen ermöglichen die folgende Annahme, die gleichzeitig die Definition der semantischen Integration für diese Arbeit darstellt: 1.4 Hypothesen 27 Annahme 5. Die semantische Integration von Pivot-Tabellen besteht darin, die Zellen, die Fakten enthalten, und die Zeilen und Spalten, die beschreibende Informationen enthalten, zu identifizieren. Zusätzlich müssen die Zeilen und Spalten, die beschreibende Informationen enthalten, den Attributen eines kanonischen Schemas zugeordnet werden. Dies ermöglicht im Beispiel in Tabelle 1.1(b) [S. 20] die Interpretation der Attribute „Age“, „Year“ und „Gender“. Allerdings wird keine semantische Integration auf Ausprägungsebene durchgeführt. Das bedeutet, dass die Werte, welche die Attribute annehmen können, nicht standardisiert werden. Beispielsweise werden die möglichen Ausprägungen „M“, „männlich“ und „male“ des Attributs „Gender“ nicht zu einer standardisierten Ausprägung vereinheitlicht. Aufgrund dieser beiden vereinfachenden Annahmen wird die bedarfsgetriebene semantische Integration als Anwendungsbeispiel der EAV/CR-Infrastruktur umgesetzt. Problem 2 [S. 21] wird so auf eine pragmatische Weise für das ursprüngliche Projekt gelöst. Da im Rahmen dieser Arbeit keine wissenschaftlich fundierte Behandlung der Problematik erfolgen kann, werden hierfür keine Hypothesen formuliert. 1.4.3 Speicherung von konzeptuellen Simulationsmodellen Bei der Verwaltung von Simulationsmodellen in einem DBMS muss ein geeignetes Metamodell zur Beschreibung der unterschiedlichen Modelltypen und zur Speicherung der konkreten Modelle gefunden werden. Da EAV/CR die flexible Beschreibung von beliebigen Entitätstypen und die Speicherung der entsprechenden Entitäten erlaubt, wird von folgender Annahme ausgegangen: Annahme 6. EAV/CR eignet sich zur Beschreibung und Speicherung von Simulationsmodellen. Die Speicherung der Simulationsmodelle in einem DBMS bringt für sich genommen noch keinen Mehrwert. Allerdings können die Informationen über die Simulationsmodelle für die Annotation der Eingabewerte dieser Modelle verwendet werden, wenn diese im selben DBMS verwaltet werden. Beispielsweise kann ein Modell gespeichert werden, das den Ablauf der Behandlung eines Schlaganfallpatienten darstellt. Dann kann ein Fakt, der die Dauer eines bestimmten Arbeitsschritts darstellt, mit der Information annotiert werden, auf welchen Arbeitsschritt des Modells der Fakt sich bezieht. Aufgrund der Breite dieser Problemstellung beschränkt sich diese Arbeit auf UMLZustandsdiagramme als Modelltyp. Zustandsdiagramme modellieren beispielsweise das 28 Kapitel 1 Einleitung Verhalten von Agenten bei agentenbasierten Simulationsmodellen. Analog zu der bedarfsgetriebenen semantischen Integration wird diese Lösung als Anwendungsbeispiel der EAV/CR-Infrastruktur umgesetzt. Problem 3 [S. 22] wird also exemplarisch für Zustandsdiagramme gelöst. Da auch hier keine wissenschaftlich fundierte Abhandlung über die Problematik erfolgen kann, werden hierfür ebenfalls keine Hypothesen aufgestellt. 1.4.4 Datenqualitätsdimensionen Stonebraker et al. [SBD+ 09] ermittelten im Rahmen von SciDB die Anforderungen an ein DBMS für wissenschaftliche Anwendungen. Sie fanden bei einer Befragung heraus, dass die wichtigste Datenqualitätsdimension die Uncertainty in Form von Normalverteilungen ist. Im Rahmen dieser Arbeit wird dieser Begriff mit “Unschärfe” übersetzt. Eine genaue Definition dieses Begriffs erfolgt in Kapitel 7. Auch bei Simulationen spielt die normalverteilte Unschärfe eine große Rolle. Die Eingabewerte von Simulationen sind häufig Parameter von Wahrscheinlichkeitsverteilungen [Law07, Seite 279]. Mit statistischen Schätzern, wie z. B. den MLE (Maximum Likelihood Estimators), lassen sich diese Parameter aus gegebenen Messdaten bestimmen. Die auf diese Weise abgeschätzten Parameter sind Zufallsvariablen. Deren Zufall beruht auf der Tatsache, dass die Messdaten zufällige Stichproben der zugrunde liegenden Wahrscheinlichkeitsverteilung sind. Die Verteilung der mittels MLE geschätzten Parameter nähert sich für eine große Zahl an Messdaten asymptotisch einer Normalverteilung an [Cra46]. In dieser Arbeit wird deshalb von folgender Annahme ausgegangen: Annahme 7. Die normalverteilte Unschärfe ist die wichtigste Datenqualitätsdimension für Eingabewerte. Diese Annahme wird in Kapitel 7 ausführlich diskutiert und begründet. 1.4.5 Datenqualitätspropagierung Da die Unschärfe als wichtigste Datenqualitätsdimension der Eingabewerte bestimmt wurde, stellt sich die Frage, wie sich der Einfluss der Eingabeunschärfe auf die Ausgabewerte der Simulation bestimmen lässt. Für die Propagierung der Unschärfe gibt es mehrere Alternativen, deren Anwendbarkeit von den diversen Eigenschaften der Simulation abhängig ist. Für stochastische Simulationen wird üblicherweise MonteCarlo-Propagierung verwendet [SHC12]. Dabei werden mehrfach Eingabewerte aus Verteilungen gezogen, welche der jeweiligen Eingabeunschärfe entsprechen. Für jeden 1.4 Hypothesen 29 gezogenen Satz von Eingabewerten wird die Simulation durchgeführt. Die resultierende Verteilung der Ausgabewerte entspricht dann der Ausgabeunschärfe. Andere Verfahren benötigen mathematische Surrogatmodelle, welche die Simulation approximieren. Eines der prominentesten Surrogatmodelle ist die Approximation durch Gaußprozesse [SWN03]. Rasmussen [Ras96] evaluierte Gaußprozesse und verglich sie mit ausgewählten anderen Regressionsmethoden. Dabei zeigte sich, dass Gaußprozesse für glatte Funktionen den evaluierten Alternativen unter gewissen Voraussetzungen überlegen sind [Ras96]. Ob diese Voraussetzungen gegeben sind und ein Gaußprozess geeignet ist, muss für jede Problemstellung einzeln entschieden werden. Aus diesem Grund wird für diese Arbeit die folgende Annahme aufgestellt: Annahme 8. Gaußprozesse sind als Surrogatmodelle für die Analyse von Simulationen geeignet. Für die Propagierung normalverteilter Unschärfe durch Gaußprozesse existieren bereits Ansätze [Gir04, GMS05]. Diese Ansätze werden im Rahmen dieser Arbeit vorgestellt und für weitere Analysen erweitert. Es soll von folgender Annahme ausgegangen werden: Annahme 9. Gaußprozesse ermöglichen eine effiziente approximative Propagierung der Unschärfe durch Simulationen mit ausreichender Genauigkeit. Die Korrektheit dieser Annahme ist immer für ein konkretes Problem zu evaluieren. Beispielsweise kann eine Abweichung der Unschärfepropagierung mit einem relativen Fehler von 10% für ökonomische Abschätzungen ausreichend sein. Für die Simulation der Statik eines Gebäudes könnte im Gegensatz dazu beispielsweise ein relativer Fehler von 1% bereits zu groß sein. In Kapitel 11 wird eine Methode aufgezeigt, mit der sich für eine konkrete Problemstellung evaluieren lässt, ob diese Annahme zutrifft. 1.4.6 Bedarfsgesteuerte Datenakquisition Da bei vielen Simulationen noch nicht klar ist, welche Güte die Eingabewerte haben müssen, werden diese teilweise mit zu großer Unschärfe gesammelt oder es wird ein unnötig großer Aufwand bei der Datensammlung betrieben. Nachdem die Unschärfe der Eingabewerte bestimmt und diese Unschärfe durch die Simulation propagiert wurde, kann bestimmt werden, ob die Ergebnisse für den Anwendungszweck der Simulation genau genug sind. Falls dies nicht der Fall ist, so müssen die Eingabewerte erneut mit geringerer Unschärfe bestimmt werden. Hier ist nun allerdings unklar, wie diese erneute Bestimmung vorgenommen werden muss, damit die Simulationsausgabe die gewünschte Genauigkeit erzielt. Vor allem ist unklar, welche Eingabewerte verbessert werden müssen 30 Kapitel 1 Einleitung und wie stark diese Verbesserung ausfallen muss. Selbst, wenn die Simulationsausgabe schon nach der initialen Datenakquise die gewünschte Genauigkeit erreicht, wurde unter Umständen ein zu großer Aufwand betrieben, da möglicherweise eine geringere Genauigkeit ausgereicht hätte. Es ist also wünschenswert, sowohl die initiale als auch die inkrementelle Datenakquise anhand der geforderten Genauigkeit der Simulationsausgabe zu steuern. Dieses Problem wurde auch von Song und Nelson [SN13] als offene Fragestellung identifiziert und wird im Rahmen dieser Arbeit gelöst. Um den Begriff der Datenakquise formal fassbar zu machen, wird von der Annahme ausgegangen, dass die Eingabewerte einer Simulation Parameter von Wahrscheinlichkeitsverteilungen sind. Dies ist bei Simulationen üblich [Law07, Seite 279] und wird als “input modeling” bezeichnet [SJ08, BG10]. Annahme 10. Die Datensammlung besteht aus der Beschaffung einer Stichprobe von Messdaten, die mittels MLE zur Bestimmung von Parametern von Wahrscheinlichkeitsverteilungen herangezogen werden. Für MLE ermöglicht die Cramér-Rao-Ungleichung [Cra46, S. 480][Rao45] eine Abschätzung der Kosten (Größe der Stichprobe), die nötig sind, damit die Parameterschätzung eine bestimmte Unschärfe erreicht. Dies soll in der folgenden Annahme festgehalten werden: Annahme 11. Die Kosten, um eine bestimmte Unschärfe der Eingabewerte bei einer Datensammlung zu erreichen, kann durch die Cramér-Rao-Ungleichung mit ausreichender Genauigkeit approximiert werden. Auch für diese Annahme wird in Kapitel 11 ein Ansatz vorgestellt, der eine Überprüfung dieser Annahme für eine konkrete Problemstellung ermöglicht. Aufgrund der gewünschten Genauigkeit der Simulationsausgabe und der Cramér-RaoUngleichung als Kostenfunktion kann durch Optimierungsverfahren eine kostenoptimale Strategie zur Datenakquise gefunden werden. Bei komplexen Simulationen mit einer großen Zahl an Eingabeparametern ist allerdings davon auszugehen, dass numerische Optimierungsverfahren nicht effizient genug sind. Dies führt zu folgender Hypothese: Hypothese 3. Die kostenoptimale Strategie zur Datenakquise kann mit Hilfe von Surrogatmodellen und analytischen Optimierungsverfahren effizient näherungsweise mit einem maximalen relativen Fehler von r gefunden werden. Ob die Genauigkeit einer Approximation ausreichend ist, hängt immer von dem jeweiligen Anwendungszweck ab. Aus diesem Grund wurde diese Hypothese variabel gestaltet. r repräsentiert dabei die Anforderung an die Genauigkeit in Form eines maximalen 1.5 Aufbau der Arbeit 31 relativen Fehlers. Da eine Evaluation im Gegensatz zu einer Hypothese nicht variabel gestaltet werden kann, muss für die Evaluation exemplarisch ein Wert für r gewählt werden: Evaluation. Diese Hypothese wird für r = 0.1 evaluiert, indem ein analytisches Optimierungsverfahren entwickelt wird, welches die kostenoptimale Datenakquisestrategie approximiert. Dieses Verfahren wird anhand von realen und synthetischen Beispielen hinsichtlich Genauigkeit und Geschwindigkeit mit numerischen Optimierungsverfahren verglichen. 1.5 Aufbau der Arbeit Aufgrund der Breite der Problemstellungen, welche im Rahmen dieser Arbeit bearbeitet werden, ist diese Arbeit in zwei Teile gegliedert. Der erste Teil behandelt das Datenmanagement für Simulationen und diskutiert Lösungsansätze für die Probleme 1 (Schemaentwurf), 2 (Integration) und 3 (Speicherung von Simulationsmodellen). In Kapitel 2 werden die zum Verständnis nötigen Grundlagen erörtert. Im Anschluss daran wird Hypothese 1, welche die Typen von Eingabedaten einschränkt, anhand von formalen Modellen für agentenbasierte und SD-Simulationen evaluiert (Kapitel 3). Kapitel 4 diskutiert die für das Datenmanagement relevanten verwandten Arbeiten. Das Schema, das die Probleme 1, 2 und 3 lösen soll, wird in Kapitel 5 vorgestellt. Anschließend wird Hypothese 2 evaluiert, welche die nichtrelationale Abbildung von EAV/CR betrifft (Kapitel 6). Der zweite Teil dieser Arbeit erörtert die Unschärfepropagierung und beschreibt Lösungsansätze für die Probleme 4 (Datenqualitätsdimensionen), 5 (Datenqualitätspropagierung) und 6 (Bedarfsgetriebene Datenakquisition). In Kapitel 7 werden Datenqualitätsdimensionen definiert und es wird diskutiert, welche Dimensionen für Simulationen relevant sind; dies löst Problem 4. Die Grundlagen, die für das Verständnis der weiteren Kapitel notwendig sind, einschließlich einer bereits existierenden Lösung für Problem 5 werden in Kapitel 8 beschrieben. Anschließend werden verwandte Arbeiten diskutiert (Kapitel 9). Die bedarfsgesteuerte kostenoptimale Datenakquisition, welche die Lösung für Problem 6 darstellt, wird in Kapitel 10 vorgestellt. Kapitel 11 evaluiert die zu Problem 6 gehörende Hypothese 3 (Kostenoptimale Datenakquisestrategie). Abschließend werden die Ergebnisse dieser Arbeit zusammengefasst und es wird ein Ausblick auf offene Fragestellungen gegeben (Kapitel 12). Zusätzlich wird diskutiert, inwieweit die getroffenen Annahmen die Ergebnisse dieser Arbeit einschränken und auf welche Weise Annahmen relaxiert werden könnten, um die Ergebnisse zu verallgemeinern. 33 I Simulationsdatenmanagement 35 2 Grundlagen des Datenmanagements In diesem Kapitel werden die Grundlagen erläutert, die für das Verständnis der folgenden Kapitel notwendig sind. Dazu werden im nächsten Abschnitt zunächst die Grundlagen evolutionärer Datenhaltung rekapituliert. Im Anschluss daran wird auf die Datenintegration eingegangen. Dabei werden sowohl föderierte Datenbanken als auch bedarfsgetriebene Integration kurz erläutert. 2.1 Evolutionäre Datenhaltung In relationalen Datenbanken muss für die Speicherung von Daten ein Schema festgelegt werden. Nach dem initialen Schemaentwurf soll das Schema für ein Anwendungsszenario unveränderlich bleiben, da alle Programme, die von einem Schema abhängig sind, bei Schemaänderungen angepasst werden müssen. Oft müssen jedoch Objekte gespeichert werden, deren Schema nicht a priori festgelegt werden kann. Ein klassisches Beispielszenario ist die Speicherung von medizinischen Untersuchungen. Bei diesen Untersuchungen werden verschiedene Attribute bestimmt, wie z. B. Blutdruck und Herzfrequenz. Für jede Untersuchung können unterschiedliche Attribute relevant sein und möglicherweise kommen durch neue Untersuchungsmethoden auch neue Attribute dazu. Aus diesem Grund kann kein einheitliches Schema mit einer festen Anzahl an Attributen für Untersuchungen festgelegt werden. Es soll also von einer Menge von Objekten mit unterschiedlichen Attributen ausgegangen werden. Die Menge der möglichen Attribute ist bekannt, kann aber im Laufe der Zeit veränderlich sein. Dabei ist nicht antizipierbar, welche Attribute ein Objekt haben wird. Die herkömmliche relationale Lösung wäre die Speicherung der Objekte als Tupel einer einzelnen Relation. Für jedes Objekt wird dazu ein Tupel in diese Relation eingefügt. Dabei ist die Menge der Attribute dieser Relation gleich der Menge der möglichen Attribute. In diesem Fall enthält diese Relation allerdings eine Vielzahl von Lücken (NULL-Werte), da für die meisten Tupel dieser Relation nicht alle Attribute mit Werten belegt sind. Ein weiteres Problem ist, dass die Menge der möglichen Attribute im Voraus 36 Kapitel 2 Grundlagen des Datenmanagements bekannt sein muss. Falls sich diese Menge im Laufe der Zeit ändert, so muss das Schema angepasst werden. Für den Umgang mit heterogenen Daten, deren Schema nicht a priori festgelegt werden kann, existieren bereits Ansätze, die auf einem generischen domänenunabhängigen Schema basieren. Einer der bekanntesten ist EAV (Entity Attribute Value). Hierbei können Objekte mit einer beliebigen Menge von Attribut-Wert-Paaren gespeichert werden. EAV eignet sich besonders bei relationalen Datenbanken für die Speicherung von mehreren Objekten, die unterschiedliche Attribute besitzen. Statt einer einzelnen Tabelle mit sehr vielen Attributen und einem Tupel pro Objekt, wird bei EAV pro Attribut eines Objekts jeweils ein Tripel der Form (Entität, Attribut, Wert) in eine Tabelle eingefügt. Diese Tabelle speichert die Attribut-Wert-Paare aller Objekte. Auf diese Weise lassen sich mit einem sehr einfachen Schema Objekte mit beliebigen Attributen speichern. Bei der konkreten Implementierung müssen dabei allerdings noch Details, wie die möglicherweise unterschiedlichen Datentypen der Attribute, beachtet werden. EAV besitzt allerdings einige Nachteile: 1. Bei Anfragen werden viele Verbundoperationen benötigt, um die Objekte, deren Attribute auf mehrere Tupel aufgeteilt sind, wieder zusammenzufügen. Dies führt zu Geschwindigkeitseinbußen. 2. Es lassen sich nur Werte speichern für die ein Spaltentyp, wie z. B. Ganzzahl, in der Datenbank existiert. Beziehungen zwischen Objekten lassen sich auf diese Weise nicht speichern [Nad11, S. 197f]. 3. Zudem geht die semantische Kontrolle auf Datenbankebene verloren, da bei einer schemafreien Datenhaltung nicht überprüft werden kann, ob ein Datensatz korrekt aufgebaut ist. 2.1.1 EAV mit Klassen und Beziehungen Um die Probleme 2 und 3 zu lösen, haben Nadkarni et al. [NMC+ 99] EAV/CR entwickelt. Zu beachten ist, dass EAV/CR oft als relationales Schema vorgestellt wird. Dies ist allerdings nur eine mögliche Implementierung. Letztlich definiert EAV/CR ein Datenmodell, welches häufig auf andere Datenmodelle abgebildet wird. In dieser Arbeit wird das ER-Datenmodell (Entity Relationship) verwendet, um das EAV/CR-Datenmodell zu definieren. Das ER-Datenmodell ist implementierungsunabhängig und wird meist als 2.1 Evolutionäre Datenhaltung 37 semantisches Datenmodell verwendet, um einen Ausschnitt der realen Welt zu modellieren. Auf der ER-Ebene ist EAV/CR also ein Schema, welches selbst wiederum ein Datenmodell definiert. Um für sprachliche Einheitlichkeit zu sorgen, werden für die Beschreibung des Schemas von EAV/CR die Begriffe der ER-Modellierung verwendet. Es wird also von Entitätstypen und Entitäten gesprochen. Im Gegensatz dazu wird das EAV/CR-Datenmodell verwendet, um Klassen und Objekte zu beschreiben. Die Begriffe „Klasse“ und „Objekt“ werden häufig verwendet, um Programmartefakte zu beschreiben. In dieser Arbeit werden sie jedoch analog zu den Begriffen „Entitätstyp“ und „Entität“ verwendet und beschreiben Teile der realen Welt. Das EAV/CR-Datenmodell erlaubt die Modellierung von Schemata mittels Klassendefinitionen. Um eine Verwechslung der Begriffe zu vermeiden, wird hier statt von einem Schema von einer Klassenhierarchie gesprochen. Das ER-Schema für EAV/CR ist ein domänenunabhängiges Schema. Es kann auf ein DBMS-spezifisches Schema (z. B. ein relationales Schema) abgebildet werden, das bei Änderungen der Anforderungen der Domäne nicht angepasst werden muss. Die Klassenhierarchien, die mit EAV/CR definiert werden, können hingegen domänenabhängig sein. Auf diese Weise wird der Aufwand des domänenspezifischen Schemaentwurfs verlagert und ein stabiles domänenunabhängiges Schema definiert. Das ER-Schema für EAV/CR enthält einige feste Entitätstypen für Metadaten, mit denen sich Klassen von Objekten beschreiben lassen. Die Definition von Klassen ist allerdings nicht zwingend notwendig für die Speicherung von Objekten. Es wird Vererbung unterstützt und zu jeder Klasse können benötigte und optionale Attribute angegeben werden. Ebenso lassen sich Beziehungen zwischen Objekten modellieren. Auf diese Weise ermöglicht es EAV/CR, beliebig komplexe Datenstrukturen zu speichern. Die Definition von Klassen entspricht der Definition eines Schemas. Allerdings ist die Definition einer Klassenhierarchie nun nicht mehr zwingend erforderlich und kann auch erst im Nachhinein erfolgen. Dies ermöglicht es, Anwendungen zu entwerfen, deren Schema sich im Laufe der Zeit verändert und vom Benutzer an die aktuellen Bedürfnisse angepasst werden kann [Nad11]. In Abbildung 2.1 auf der nächsten Seite ist eine vereinfachte Variante des von Nadkarni [Nad11] vorgeschlagenen ER-Schemas für EAV/CR abgebildet. Üblicherweise werden bei EAV/CR für die Präsentation der Daten in einer grafischen Oberfläche zusätzliche Metadaten gespeichert. Auf Entitätstypen und Attribute, die nur der Präsentation dienen, soll hier allerdings nicht eingegangen werden. 38 Kapitel 2 Grundlagen des Datenmanagements Abbildung 2.1: Vereinfachtes ER-Schema1 für EAV/CR Die Entitätstypen Class und Attribute enthalten die Metadaten über das Schema der Objekte. Klassen können dabei über die superclass-Beziehung voneinander erben, auch Mehrfachvererbung ist möglich. Ein Attribut kann zu einer Klasse gehören. Dies wird über die Beziehung class mit dem Entitätstyp Class ausgedrückt. Die Definition von Klassen ist optional. Attribute hingegen müssen definiert werden, damit Attributwerte gespeichert werden können, da ein Datentyp, wie z. B. Ganzzahl oder Text, angegeben werden muss. Mit multi_instance kann festgelegt werden, ob das Attribut bei einem Objekt mehrfach vorkommen darf. Zusätzlich lässt sich mit required speichern, ob ein Attribut für Objekte verpflichtend 1 Für eine übersichtliche Darstellung orientiert sich die Notation an UML-Klassendiagrammen. Hierbei werden Teile eines Primärschlüssels, die in Klassendiagrammen eigentlich nicht vorgesehen sind, mit „PK“ kenntlich gemacht. 2.1 Evolutionäre Datenhaltung 39 angegeben werden muss. Dies ist allerdings nur sinnvoll, falls das Attribut zu einer Klasse gehört. Um Beziehungen zwischen Objekten zu modellieren, lässt sich bei einem Attribut als Datentyp Object angeben, damit dieses Attribut auf andere Objekte verweisen kann. In diesem Fall kann über die Beziehung attr_class bestimmt werden, ob dieses Attribut auf Objekte einer bestimmten Klasse beschränkt sein soll. Im Entitätstyp Object werden die Identifikatoren und optional die Namen aller Objekte gespeichert. Für die Attribut-Wert-Paare der Objekte wird pro Datentyp ein EAV Entitätstyp benötigt. In Abbildung 2.1 auf der vorherigen Seite ist hier beispielsweise nur ein generischer EAV -Entitätstyp ohne Angabe von Datentyp und ein Entitätstyp EAV_Object für den Datentyp Object dargestellt. Mittels serial_number ist es möglich für Attribute, welche die Mehrfachverwendung erlauben (multi_instance), pro Objekt eine Liste von Werten zu speichern. Falls eine Klasse bereits bei der Erstellung des Systems bekannt ist und unveränderlich bleibt, so sollte diese außerhalb des EAV/CR-Datenmodells als gesonderter domänenspezifischer Entitätstyp modelliert werden [Nad11]. Kombiniert eine Klasse unveränderliche und benutzerdefinierte Attribute und Beziehungen, so kann diese Klasse als hybrider Entitätstyp von Object abgeleitet werden. Ein solcher Hybrid kann sowohl feste Attribute definieren als auch die EAV/CR-Infrastruktur für benutzerdefinierte Attribute verwenden. EAV/CR wird zwar häufig mit einem relationalen Schema implementiert, dies ist allerdings nicht notwendig. In Kapitel 6 wird ein Benchmark vorgestellt, der es erlaubt, verschiedene Implementierungen von EAV/CR zu vergleichen. Im nächsten Abschnitt wird kurz RDF (Resource Description Framework) vorgestellt, da RDF sehr ähnlich zu EAV/CR ist [Nad11] und DBMS existieren, die RDF als Datenmodell nativ unterstützen. 2.1.2 Resource Description Framework Einen ähnlichen Ansatz wie EAV/CR verfolgt auch RDF, das analog zu EAV aufgebaut ist [Nad11]. Genau wie bei EAV werden Daten in Subjekt-Prädikat-Objekt-Tripeln gespeichert [LSWC99]. Das Subjekt entspricht hier einem EAV-Objekt. Die Prädikate entsprechen den Attributen bei EAV. Das RDF-Objekt kann entweder einen Attributwert darstellen oder auf ein Subjekt verweisen. Auf diese Weise können analog zu EAV/CR Beziehungen zwischen Subjekten gespeichert werden. Die Erweiterung RDFS (RDF Schema) [BGM14], die einige spezielle Prädikate und Subjekte definiert, erlaubt analog zu 40 Kapitel 2 Grundlagen des Datenmanagements EAV/CR die Definition von Klassen von Subjekten [Nad11]. Diese Definition kann sowohl nachträglich als auch a priori erfolgen. Im Gegensatz zu EAV/CR erlaubt RDFS allerdings mehrere Ebenen der Instanziierung. Bei der relationalen Implementierung von EAV/CR macht die hohe Anzahl an Verbundoperationen Anfragen nicht nur ineffizient sondern auch komplex zu formulieren. Für RDF wurde mit SPARQL (SPARQL Protocol and RDF Query Language) eine eigene Anfragesprache entwickelt, die das Formulieren der Anfragen im Gegensatz zu EAV/CR erleichtern soll [Gro13]. Eine zusätzliche Erweiterung von RDF ist OWL (Web Ontology Language), die weitere Prädikate und Subjekte mit speziellen Bedeutungen definiert. OWL ermöglicht es, logische Schlussfolgerungen zu ziehen, die auf gespeicherten Fakten basieren. 2.1.3 Dokumentenspeicher Sogenannte dokumentenorientierte DBMS bieten eine weitere Möglichkeit, um Objekte mit beliebigen Attributen ohne vorherige Schemadefinition zu speichern. Diese verwalten meist JSON-Dokumente (JavaScript Object Notation), die aus Listen von AttributWert-Paaren und einfachen Listen zusammengesetzt sind. Diese beiden Konzepte können beliebig geschachtelt werden, um komplexe Objekte zu speichern. Der auf diese Weise entstehende hierarchische Aufbau ähnelt XML (Extensible Markup Language). Im Gegensatz zu XML existiert bei JSON allerdings keine Möglichkeit einer Schemadefinition. Ebenso wurde für dokumentenorientierte DBMS auch noch keine Anfragesprache standardisiert. 2.2 Datenintegration In diesem Abschnitt werden die Grundlagen der Datenintegration vorgestellt, die in dieser Arbeit benötigt werden. 2.2.1 Föderierte Datenbanken Um die Datenintegration zu beschreiben, werden in dieser Arbeit Konzepte und Begriffe aus dem Bereich der föderierten DBMS verwendet. Dazu werden hier kurz die relevanten Teile der Fünf-Level-Schemaarchitektur von Sheth and Larson [SL90] vorgestellt. 2.2 Datenintegration 41 Die ursprüngliche ANSI-SPARC-Drei-Level-Schemaarchitektur besteht aus dem konzeptionellen, internen und externen Schema. Das konzeptionelle Schema beschreibt die Datenobjekte und die Beziehungen zwischen ihnen auf der logischen Ebene [SL90, KE09]. Das interne Schema beschreibt, wie diese Datenobjekte gespeichert werden [SL90]. Externe Schemata ermöglichen es, verschiedene Sichten für unterschiedliche Benutzergruppen anzulegen, um beispielsweise sensitive Informationen zu verbergen. Sheth and Larson [SL90] definieren eine erweiterte Architektur für föderierte DBMS. Diese besteht aus der lokalen, Komponenten-, Export-, föderierten und externen Schemaebene. Das lokale Schema entspricht dem Schema einer Datenquelle in einem quellspezifischen Datenmodell. Das Komponentenschema ist die Übersetzung des lokalen Schemas in ein kanonisches Datenmodell und wird durch die technische Integration zur Verfügung gestellt. Die Exportschemata regulieren die Sichtbarkeit der Elemente des Komponentenschemas. Anschließend können zusätzliche semantische Informationen hinzugefügt werden. In dem föderierten Schema werden dann die Exportschemata der einzelnen Datenquellen semantisch integriert. Die externe Schemaebene entspricht ihrem ANSI-SPARC-Pendant. Zwischen den einzelnen Schemaebenen existieren Prozessoren, welche die Anfragen und Daten übersetzen, so dass eine Anfrage für das föderierte Schema in die einzelnen Anfragen für die einzelnen lokalen Schemata übersetzt werden kann. 2.2.2 Bedarfsgetriebene Datenintegration Einer der wichtigsten Schritte bei der semantischen Datenintegration ist der SchemaAbgleich. Bei diesem Schritt werden die Elemente mehrerer Schemata einander zugeordnet. Es entsteht eine Schema-Abbildung, welche die Zusammenhänge zwischen den Elementen mehrerer Schemata festhält. Auf diese Weise können Daten aus unterschiedlichen Quellen in ein zentrales konsolidiertes Schema überführt werden. Dies ist allerdings nicht immer möglich, da Schemata fundamental unterschiedlich sein können. Obwohl es eine Vielzahl von Lösungen zum automatischen Schema-Abgleich gibt [RB01, BMR11], muss dennoch bei jedem Verfahren eine manuelle Überprüfung durchgeführt werden. Die Messung der Unsicherheit, die durch den automatisierten Schema-Abgleich entsteht [MM10], ermöglicht allerdings, die manuelle Überprüfung gezielt zu steuern. Auf diese Weise können bei der manuellen Kontrolle gezielt die Teile der Schema-Abbildung bereinigt werden, die mit der größten Unsicherheit behaftet sind. Bezüglich der Speicherung der integrierten Daten gibt es zwei Ansätze: Wenn sich die Daten in den Quellen nicht mehr ändern, erfolgt die Datenintegration meist mittels eines ETL-Prozesses (Extract, Tranform, Load) [CD97]. Dabei werden die Daten aus ihren 42 Kapitel 2 Grundlagen des Datenmanagements Quellen kopiert, für die weitere Verarbeitung bereinigt und in eine zentrale Datenbank integriert. Im Gegensatz dazu können die Quellen auch direkt angebunden werden. Dies ist mittels Techniken föderierter DBMS [SL90] möglich. Beide Ansätze erfordern einen hohen initialen Aufwand für die semantische Integration. Ein Ansatz zur Lösung dieses Problems ist das Konzept der Dataspaces [FHM05, HFM06]. Dabei werden die Daten in ihren Quellen belassen und nur technisch integriert. Dies erspart den initialen Schemaentwurf für die Speicherung der Daten. Der lose Verbund von Daten aus verschiedenen Quellen wird Dataspace genannt. Initial werden nur einfache Operationen auf den Daten ermöglicht, wie z. B. die Suche nach Schlüsselwörtern. Bei Bedarf sollen die Daten allerdings nachträglich semantisch integrierbar sein, um komplexere Anfrage- und Verarbeitungsoperationen zu ermöglichen. Einen Überblick über die existierenden Ansätze liefern Hedeler et al. [HBF+ 09] und Singh und Jain [SJ11]. Für Beispiele bedarfsgetriebener Datenintegration wird an dieser Stelle auf die Literatur verwiesen: [JFH08, DSDH08, VSDK+ 07]. 43 3 Klassifikation von Simulationseingabedaten “ In God we trust. All others must bring data. ” (W. Edwards Deming) Im Rahmen dieser Arbeit wird ein flexibles Schema für die Eingabewerte von SDModellen und agentenbasierten Simulationsmodellen entworfen. Dieses soll die Speicherung der Eingabewerte ermöglichen, ohne dass ein initialer domänenspezifischer Schemaentwurf nötig ist. Trotz des flexiblen Schemas muss ein grundlegender Entitätstyp für die zu speichernden Daten bekannt sein, um initial Anfragen auf den Daten zu ermöglichen. In Hypothese 1 [S. 25] wurde angenommen, dass die Eingabewerte als einfache Liste von Fakten der Form u ∈ R gespeichert werden können. Wenn diese Hypothese korrekt ist, dann ermöglicht sie die Definition eines Entitätstyps Fact. Alle Eingabewerte können dann als Instanzen dieses Typs gespeichert werden und nachträglich mit domänenspezifischen Informationen annotiert werden. Die Anforderungen an die Datenhaltung variieren zwischen einzelnen Domänen und auch zwischen Modellen innerhalb einer Domäne. Aus diesem Grund lassen sich keine domänenspezifischen Informationen für den Schemaentwurf nutzen. Außerdem stellen die unterschiedlichen Simulationsprogramme verschiedene Schnittstellen und Abstraktionen für die Anbindung von Datenquellen bereit. Deswegen kann auch hier von keinem Standard für die Modellierung ausgegangen werden, der den Schemaentwurf für Eingabewerte eingrenzen könnte. Deshalb werden in diesem Kapitel Formalismen für SD-Modelle und agentenbasierte Simulationen vorgestellt, um Hypothese 1 zu evaluieren. Anhand dieser Formalismen wird anschließend ermittelt, welche Klassen von Daten als Eingabewerte möglich sind. Für die Speicherung dieser Eingabewerte wird in Kapitel 5 ein Schema entwickelt. 3.1 Formale Modelle für Simulationen In diesem Abschnitt werden dynamische Systeme als grundlegender Formalismus für Simulationen vorgestellt. Kontinuierliche dynamische Systeme dienen als Beschreibung 44 Kapitel 3 Klassifikation von Simulationseingabedaten für SD-Modelle und agentenbasierte Modelle können durch stochastische diskrete dynamische Systeme dargestellt werden. 3.1.1 Kontinuierliche dynamische Systeme Ein dynamisches System ist eine Abbildung Φp mit p ∈ Rm , welche ausgehend von einem Startzustand x0 ∈ Rn den Zustand eines Systems zu einem bestimmten Zeitpunkt bestimmt. Wenn dabei diskrete Zeitpunkte betrachtet werden, handelt es sich um ein diskretes dynamisches System, andernfalls handelt es sich um ein kontinuierliches dynamisches System. Für die Betrachtung der nötigen Eingabedaten sind dabei der Parametervektor p und der Startzustand x0 relevant. Definition 1 (Dynamisches System). Ein dynamisches System ist ein Tripel (T,X,Φp ) mit einem Monoid (T, + ,0) (Zeit), einer Menge X (Zustandsraum) und einer Abbildung Φp : T × X → X für die gilt [Tes12, S. 187]: Φp (0,x) = x (3.1) Φp (t2 ,Φp (t1 ,x)) = Φp (t1 + t2 ,x), ∀t1 ,t2 ∈ T (3.2) p ∈ Rm ist dabei ein Vektor von Parametern der Abbildung Φp . Für T = R und X = Rn und falls Φp kontinuierlich ist, ist (T,X,Φp ) ein kontinuierliches dynamisches System. Falls T = N0 gilt, ist (T,X,Φp ) ein diskretes dynamisches System. Aufgrund der t Eigenschaft (3.2) gilt dann Φp (t,x) = Φp (x) mit Φp (x) := Φp (x) = Φp (1,x) und t=1 t ∈ N0 . Φtp (x) ist dabei die t-te Iterierte von Φp (x). 3.1.2 Stochastische diskrete dynamische Systeme Stochastische diskrete dynamische Systeme ermöglichen die Modellierung von agentenbasierten Simulationen. Bei diesen Simulationen werden in jedem Schritt aufgrund von Pseudozufallszahlen Entscheidungen getroffen, welche den Zustand des Systems zum nächsten Zeitpunkt beeinflussen. Auf Grund dieser zufälligen Entscheidungen können agentenbasierte Simulationen nicht als diskrete dynamische Systeme modelliert werden, da diese deterministisch sind. Für die Betrachtung der Eingabedaten ist hier neben x0 und p besonders die Wahrscheinlichkeitsverteilung der Zufallszahlen relevant. Bei stochastischen diskreten dynamischen Systemen wird die Abbildung Φp,ω : T × X → X für jeden Zeitschritt zufällig aus einer Menge von Abbildungen gewählt, abhängig von 3.1 Formale Modelle für Simulationen 45 dem zufälligen Parameter ω ∈ Ω. Ω ist dabei die Menge der möglichen Ausprägungen des zufallsabhängigen Parametervektors ω. (z. B. Ω = Rm ). Die zufällige Auswahl der Abbildung entspricht den zufälligen Entscheidungen bei agentenbasierten Simulationen. Die Auswahl ist abhängig von einer Wahrscheinlichkeitsverteilung und kann von der Auswahl in den vorherigen Zeitschritten abhängig sein [Arn95]. Für die Definition eines stochastischen dynamischen Systems wird der Begriff des maßerhaltenden Flusses benötigt, welcher einen Pseudozufallszahlengenerator modelliert. Definition 2 (Maßerhaltender Fluss). Ein maßerhaltender Fluss ist ein dynamisches System (T,Ω,θ) mit dem Wahrscheinlichkeitsraum (Ω,F,P ) und den folgenden Eigenschaften [Arn95]: θ : T × Ω → Ω ist messbar, (3.3) d.h. θ−1 (E) := {(t,ω) ∈ T × Ω|θ(t,ω) ∈ E} ∈ B ⊗ F, ∀E ∈ F. B ist eine σ-Algebra auf T und B ⊗ F ist eine Produkt-σ-Algebra [HN01, S. 349]. Für ein festes t gilt: θt : Ω → Ω ist maßerhaltend, (3.4) d.h. P (θt−1 (A)) = P (A) ∀A ∈ F. Auch für dieses dynamische System gelten die Eigenschaften (3.1) und (3.2) auf der vorherigen Seite. θ lässt sich als Pseudozufallszahlengenerator veranschaulichen [Ana10]. Es wird ein initial zufälliges ω gewählt, aus dem mittels θ in jedem Zeitschritt t ∈ T deterministisch ein Pseudozufallswert generiert wird. Mittels maßerhaltenden Flüssen lassen sich nun stochastische dynamische Systeme definieren: Definition 3 (Stochastisches dynamisches System). Sei (T,Ω,θ) zusammen mit dem Wahrscheinlichkeitsraum (Ω,F,P ) ein maßerhaltender Fluss. Ein stochastisches dynamisches System ist ein Quadrupel (T,X,Ω,Φp ). T und X werden analog zu normalen dynamischen Systemen definiert. Φp ist eine Abbildung Φp : T × X × Ω → X mit den folgenden Eigenschaften [Arn95]: Φp (0,x,ω) = x (3.5) ∀ω ∈ Ω Φp (t1 + t2 ,x,ω) = Φp (t2 ,Φp (t1 ,x,ω),θ(t1 ,ω)) ∀ω ∈ Ω, t1 ,t2 ∈ T (3.6) 46 Kapitel 3 Klassifikation von Simulationseingabedaten Im diskreten Fall (T = N0 ) gilt aufgrund von (3.6) auf der vorherigen Seite Folgendes [Arn95]: Φp (t,x,ω) = Φp (1,Φp (t − 1,x,ω),θ(t − 1,ω)) t ≥ 1 x t=0 (3.7) Φp (t,x,ω) ist also die wiederholte Anwendung der Abbildung Φp . Dabei wird zu jedem t=1 Zeitpunkt t die jeweilige Pseudozufallszahl für den nächsten Abbildungsschritt durch θ(t,ω) bestimmt. 3.1.3 System Dynamics SD-Modelle sind Systeme gewöhnlicher nichtlinearer Differentialgleichungen erster Ordnung, die Flüsse zwischen verschiedenen Beständen modellieren [Ste00, S. 194]. Beispiel 7. Im Schlaganfallszenario wurde die Häufigkeit des Schlaganfalls in der Bevölkerung, die eine bestimmte Altersverteilung aufweist, mit SD-Modellen simuliert [DKRHG12]. Es wurde eine Population von Personen modelliert, die entweder einen Schlaganfall erlitten haben oder gesund sind. Die Personen werden durch die zwei Bestände krank und gesund modelliert. In diesem Beispiel kann es einen Fluss erkranken geben, welcher von gesund nach krank fließt. Analog dazu kann es einen Fluss genesen geben, welcher in die umgekehrte Richtung fließt. Die Rate dieses Flusses ist allerdings im Schlaganfallszenario 0, da hier eine vollständige Heilung nicht möglich ist. Für die Modellierung der Bevölkerungsentwicklung wurden auch Sterblichkeit, Geburtenraten, Immigration und Emigration berücksichtigt [DKRHG12]. SD-Modelle sind zeitkontinuierlich. Für Systeme von nichtlinearen Differentialgleichungen lässt sich in den meisten Fällen keine analytische Lösung finden [HSD04, S. 139]. Aus diesem Grund werden numerische Lösungsverfahren angewendet, um ausgehend von einem initialen Zustand den Zustand des Systems zum Zeitpunkt t zu bestimmen. Für ein System von gewöhnlichen nichtlinearen Differentialgleichungen erster Ordnung in der Form dtd x(t) = F(x(t)) mit der Initialbedingung x(0) = x0 lässt sich ein kontinuierliches dynamisches System mit der Abbildung Φp (t,x0 ) := x(t) als Lösung finden [MR08, S. 59]. 3.1 Formale Modelle für Simulationen 47 Aufgrund dieser Überlegungen werden im Folgenden kontinuierliche dynamische Systeme als Formalismus für SD-Modelle verwendet. 3.1.4 Agentenbasierte Modelle Ein agentenbasiertes Modell besteht aus einer Ansammlung von Agenten, die durch ihren Zustand beschrieben werden, und einer Menge von Regeln, die das Verhalten der Agenten und die Interaktion zwischen ihnen beschreiben. Diese Regeln können unter Umständen stochastisch, also abhängig von Zufallsvariablen, sein. Der Zustand eines Agenten zu einem bestimmten Zeitpunkt t ∈ N0 hängt von seinem Zustand zu dem vorhergehenden Zeitpunkt, den Zuständen der interagierenden Agenten und dem globalen Zustand zu dem vorhergehenden Zeitpunkt ab [LJMR12]. Beispiel 8. Patienten, die einen Schlaganfall erlitten haben, wurden in einem agentenbasierten Modell als autonome Agenten modelliert. Ebenso wurden Krankenwagen und Mobile Stroke Units als Agenten modelliert. Das Verhalten der einzelnen Agenten wurde durch Zustandsdiagramme beschrieben. Ein Patient durchläuft beispielsweise die Zustände Diagnose und Behandlung. Abhängig von einer Zufallsvariable ergibt die Diagnose, ob bei einem Patienten eine Thrombolyse durchgeführt werden kann. Die Wahrscheinlichkeitsverteilungen der Zufallsvariablen im Modell können dabei von dem Zustand des Agenten abhängig sein. Beispielsweise könnte die Wahrscheinlichkeit einer möglichen Thrombolyse bei älteren Patienten niedriger sein. Laubenbacher et al. [LJMR12] entwickelten einen Formalismus basierend auf stochastischen finiten dynamischen Systemen für agentenbasierte Simulationen. Ein finites dynamisches System ist ein diskretes dynamisches System wobei X eine endliche Menge ist. Diese zusätzliche Einschränkung erlaubt die Ableitung verschiedener theoretischer Eigenschaften für einzelne Modelle, da nun Φp als Polynom darstellbar ist [LJMR12]. Für diese Arbeit ist diese Einschränkung allerdings nicht relevant. Deswegen wird der allgemeinere Fall der stochastischen diskreten dynamischen Systeme betrachtet. Van der Schaft und Schumacher [SS00] definieren hybride dynamische Systeme, die sowohl aus diskreten als auch aus kontinuierlichen Teilen bestehen. Dieser Formalismus erlaubt es, hybride Simulationen zu modellieren, die SD-Modelle und agentenbasierte Modelle kombinieren. Allerdings führt dies zu keinen weiteren Arten von Eingabewerten. Aus diesem Grund wird auf hybride Systeme im Rahmen dieser Arbeit nicht weiter eingegangen. 48 Kapitel 3 Klassifikation von Simulationseingabedaten 3.2 Simulationseingabedaten In diesem Abschnitt werden ausgehend von den formalen Modellen die Arten von Daten betrachtet, die von SD-Modellen und agentenbasierten Modellen verarbeitet werden. Anschließend werden diese Daten klassifiziert, um daraus ein Schema für Simulationseingabedaten ableiten zu können. 3.2.1 System Dynamics SD-Modelle benötigen verschiedene Formen von Eingabewerten. Es wird ein initialer Zustand x0 ∈ Rn benötigt. Im Rahmen von SD-Modellen werden damit die Bestände initialisiert. Zusätzlich hängt die Funktion Φp von dem Parametervektor p ∈ Rm ab. Dieser beeinflusst die Raten zwischen den verschiedenen Beständen. Beispiel 9. Im Schlaganfallszenario besteht der initiale Zustand des Bevölkerungsmodells aus der Anzahl an gesunden Personen und der Anzahl an Personen, die zu einem bestimmten Zeitpunkt einen Schlaganfall erlitten haben. Der Parametervektor p enthält die Raten, wie z. B. die Erkrankungs-, Geburten- und Sterberaten. 3.2.2 Agentenbasierte Modelle Analog zu SD-Modellen, wird bei agentenbasierten Modellen ein initialer Zustand x0 ∈ Rn benötigt. Dieser besteht aus den initialen Zuständen aller Agenten und dem initialen globalen Zustand. Der Zustand x0 ist entweder explizit gegeben oder die Zustände der einzelnen Agenten werden aus einer initialen, möglicherweise mehrdimensionalen, Verteilung gezogen. Aufgrund der Eigenschaft (3.5) [S. 45] ist dieser initiale Zustand noch nicht vom Zufall des stochastischen dynamischen Systems abhängig. Vielmehr ist das Erzeugen der Agenten ein zusätzliches Zufallsexperiment. Auch bei agentenbasierten Modellen hängt die Abbildung Φp von einem Parametervektor p ∈ Rm ab. Zusätzlich wird hier auch noch eine möglicherweise mehrdimensionale Wahrscheinlichkeitsverteilung benötigt, die das Maß P und somit die stochastischen Elemente der Simulation beschreibt. 3.2 Simulationseingabedaten 49 Beispiel 10. Für die Schlaganfallpatienten ist kein expliziter Startzustand für jeden einzelnen Agenten gegeben. Vielmehr sind Wahrscheinlichkeitsverteilungen für die einzelnen Charakteristika der Patienten gegeben, wie z. B. eine Altersverteilung. Mit diesen Verteilungen können neue Agenten generiert werden, wenn diese benötigt werden. Dies ist beispielsweise der Fall, wenn das Bevölkerungsmodell neue Schlaganfälle generiert. Parameter im Parametervektor p sind die Kosten der einzelnen Verfahren im Krankenhaus, wie z. B. der Computertomographie. Ein Beispiel für ein stochastisches Element ist die Zeit, die für die Diagnose benötigt wird. Für die Zeiten der Zustände liegen Wahrscheinlichkeitsverteilungen vor, aus denen die Zeiten für die einzelnen Patienten gezogen werden. Ebenso liegen die Wahrscheinlichkeiten für die Verzweigungen des Zustandsdiagramms vor. Ein Beispiel für eine solche Verzweigung ist die Entscheidung, ob ein Patient eine Thrombolyse erhält. Die mehrdimensionalen Verteilungen können gemischt aus diskreten und kontinuierlichen Teilen bestehen. Die diskreten Anteile können explizit als mehrdimensionaler Datenwürfel gespeichert werden. Falls die Bestimmung einer expliziten Verteilungsfunktion zur Beschreibung der kontinuierlichen Verteilungen nicht möglich ist, existieren alternativ weitere Möglichkeiten [Law07, S. 279] kontinuierliche Verteilungen anzunähern. Es können einerseits direkt die realen Messdaten anstatt einer Verteilung verwendet werden. Andererseits kann auch eine diskrete empirische Verteilung anhand der Daten bestimmt werden. Diese Methoden sind allerdings in ihrer Genauigkeit und Flexibilität eingeschränkt [Law07, S. 279f]. Aus diesem Grund wird in dieser Arbeit davon ausgegangen, dass Familien von expliziten Verteilungsfunktionen verwendet werden, deren Parameter sich durch Messungen bestimmen lassen. Für die kontinuierlichen Verteilungen können also die Parameter gespeichert werden, welche die Verteilungsfunktion beschreiben. Dies wird in folgender Annahme festgehalten werden: Annahme 12. Zur Beschreibung von kontinuierlichen Wahrscheinlichkeitsverteilungen werden ausschließlich die Parameter von exakten kontinuierlichen Verteilungen gespeichert. 3.2.3 Klassifikation der Eingabewerte Mit Hilfe der Informationen aus den vorherigen Abschnitten lassen sich nun die Eingabewerte folgendermaßen klassifizieren: 1. Parameter von (mehrdimensionalen) kontinuierlichen Verteilungen 50 Kapitel 3 Klassifikation von Simulationseingabedaten 2. Diskrete (mehrdimensionale) Verteilungen 3. Initialzustand x0 ∈ Rn 4. Parametervektor p ∈ Rm Beispiel 11. Neben dem Schlaganfallszenario, dessen Parameter in den letzten Abschnitten bereits exemplarisch vorgestellt wurden, wird in diesem Beispiel eine einfache Verkehrssimulation betrachtet. Diese lässt sich ebenfalls als agentenbasierte Simulation umsetzen. Fahrzeuge werden als Agenten modelliert. Der Zustand eines Fahrzeugs zu einem bestimmten Zeitpunkt wird durch dessen aktuelle Position und Ziel beschrieben. Das Straßennetz wird in diesem Beispiel als Teil des Modells betrachtet und nicht als Eingabewert. Für den Initialzustand werden Wahrscheinlichkeitsverteilungen benötigt, die beschreiben, wie viele Autos auf bestimmten Straßenabschnitten starten sollen. Ebenso werden die Ziele der Fahrzeuge aus Wahrscheinlichkeitsverteilungen gezogen. Für jedes Fahrzeug wird in jedem Schritt eine Route von seiner aktuellen Position zu seinem Ziel berechnet. Das Verhalten der Fahrzeuge hängt zusätzlich von Zufallsvariablen ab, die beispielsweise die Entscheidung modellieren, ob ein Fahrzeug einen Stau meidet oder nicht. Diese Zufallsvariablen werden ebenfalls durch Wahrscheinlichkeitsverteilungen beschrieben. Der Parametervektor p enthält in diesem Beispiel weitere Parameter, welche die Simulation beeinflussen, wie z. B. die Geschwindigkeitsbegrenzungen auf den einzelnen Straßenabschnitten. Auch für dieses Beispiel sind die oben genannten Klassen von Eingabewerten ausreichend. Für diese Arten von Eingabewerten reicht eine einfache Liste von Fakten zur Speicherung aus, da alle Eingabewerte entweder direkt aus Parametervektoren bestehen oder sich linearisieren lassen, wie die mehrdimensionalen diskreten Verteilungen. Die Familien von expliziten Verteilungsfunktionen, für die Parameter gespeichert werden, sind dabei Teil des Simulationsmodells und nicht Teil der Eingabe. Die Klassifikation der Eingabewerte in diesem Kapitel bestätigt also die eingangs formulierte Hypothese 1 [S. 25], dass eine Liste von Fakten der Form u ∈ R für die Speicherung von Simulationseingabedaten geeignet ist. Die Position eines Fakts in der Liste definiert dann implizit seine Semantik. Um eine explizite Definition der Semantik von Fakten zu ermöglichen, sollten die Fakten mit domänenspezifischen Beschreibungsinformationen annotierbar sein. Beispielsweise könnte sich ein Teilvektor des Parametervektors eines agentenbasierten Modells auf Schritte in einem medizinischen Arbeitsablauf beziehen. Solche domänenspezifischen 3.2 Simulationseingabedaten 51 Beschreibungsinformationen sind für die Ausführung der Simulation und für die Speicherung der Daten nicht relevant. Allerdings erleichtern diese Zusatzinformationen dem Anwender das Durchsuchen und Abfragen der Daten. Da diese Zusatzinformationen domänenspezifisch sind, lässt sich hierfür kein konkretes Schema festlegen. Dies ist auch eine der Grundannahmen dieser Arbeit (Annahme 2 auf Seite 24). Allerdings eignen sich die Methoden aus Abschnitt 2.1 für die Erstellung eines generischen Schemas, das die Speicherung von Fakten mit beliebigen Zusatzinformationen erlaubt. Auf dieses Schema wird in Kapitel 5 näher eingegangen. Zunächst werden im nächsten Abschnitt die verwandten Arbeiten diskutiert. 53 4 Verwandte Arbeiten für das Simulationsdatenmanagement In diesem Abschnitt werden die verwandten Arbeiten hinsichtlich des Simulationsdatenmanagements beschrieben. Die verwandten Arbeiten für die Unschärfepropagierung werden in Kapitel 9 diskutiert. Aufgrund der Breite des Themas und der Fülle der verwandten Konzepte beschränkt sich die Betrachtung auf eine Auswahl relevanter Arbeiten. Diese werden in verschiedene Klassen aufgeteilt. Für jede Klasse von verwandten Arbeiten werden dann die prominentesten Repräsentanten vorgestellt, da eine erschöpfende Abhandlung über alle Publikationen nicht möglich ist. Obwohl in den bisherigen Kapiteln die Schlaganfallbehandlung als Beispiel betrachtet wurde und ein gesundheitsökonomisches Simulationsprojekt als Motivation dieser Arbeit dient, sollen die Ergebnisse auf beliebige SD-Modelle und agentenbasierte Simulationen anwendbar sein. In diesem Abschnitt werden deshalb verwandte Arbeiten betrachtet, die über die Verwaltung von gesundheitsökonomischen Daten hinausgehen. 4.1 Verwaltung wissenschaftlicher Daten Da für Simulationsprojekte häufig wissenschaftliche Daten Verwendung finden, wird in diesem Abschnitt ein Überblick über die Verwaltung dieser Art von Daten gegeben. Da der Begriff der „wissenschaftlichen Daten“ sehr breit gefasst ist, muss dieser zunächst definiert werden. Ailamaki et al. [AKD10] geben einen Überblick über die Verwaltung und Verarbeitung wissenschaftlicher Daten. Sie identifizierten die Multidimensionalität als Eigenschaft, die von wissenschaftlichen Daten meist erfüllt wird. Dabei können wissenschaftliche Daten einerseits – analog zu OLAP (Online analytical processing) – klassische Datenwürfel mit komplexen hierarchischen Dimensionen [Sho03] darstellen oder andererseits die Form von mehrdimensionalen Arrays [AKD10] annehmen. Da die Verwaltung von OLAP-Daten ein gut erforschtes Gebiet ist, wird an dieser Stelle nur auf eine kleine Auswahl repräsentativer Literatur verwiesen. Ein Überblick über die Verwaltung von OLAP-Daten wird von Bauer und Günzel [BG08] gegeben. Shoshani [Sho97, Sho03] diskutiert den Zusammenhang zwischen statistischen, wissenschaftlichen und OLAP-Daten. Pedersen et al. [PJ99, PJD01, Ped13] definieren verschiedene Kriterien 54 Kapitel 4 Verwandte Arbeiten für das Simulationsdatenmanagement für mehrdimensionale Datenmodelle und evaluieren existierende Ansätze. Zusätzlich definieren sie ein neues Datenmodell, das all ihre Kriterien erfüllt. Für die Verwaltung von großen Arrays von wissenschaftlichen Daten wurden spezielle DBMS entworfen, welche die effiziente Verarbeitung ermöglichen. Auch hier wird nur exemplarisch auf einige Vertreter verwiesen. Beispiele für DBMS mit einem Array-basierten Datenmodell sind RasDaMan [BFRW97], SciDB [SBD+ 09, RSS+ 10] und ArrayStore [SBW11]. Darüber hinaus kann mit SciQL [ZKIN11] die Verarbeitung von Arrays auch mit relationalen DBMS durchgeführt werden. Alle in diesem Abschnitt vorgestellten DBMS erfordern weiterhin einen initialen Schemaentwurf. Laut den Annahmen 1 und 2 [S. 24] kann für das in dieser Arbeit vorgestellte Szenario allerdings kein festes Schema entworfen werden, da sich die Anforderungen an das Simulationsdatenmanagement kontinuierlich verändern und nicht antizipierbar sind. Zusätzlich zu der Möglichkeit, wissenschaftliche Daten innerhalb eines DBMS zu verwalten, gibt es spezielle SWMS (Scientific Workflow Management Systems), die den kompletten Arbeitsablauf der Verarbeitung von wissenschaftlichen Daten unterstützen [AKD10]. Diese Systeme werden im nächsten Abschnitt diskutiert. 4.2 Scientific Workflow Management Systems Ein Überblick über SWMS wird von Curcin und Ghanem [CG08], von Barker und Hemert [BH08] und Cohen-Boulakia und Leser [CBL11] gegeben. Aufgrund der Menge von Publikationen zu SWMS kann an dieser Stelle keine erschöpfende Abhandlung über alle Lösungen in diesem Bereich gegeben werden. Stattdessen werden einige repräsentative Systeme ausgewählt, die auch in [CG08] vorgestellt wurden. Dabei werden mit YAWL und BPEL auch zwei Sprachen für die Beschreibung von Workflows betrachtet, die für SWMS verwendet werden können [CG08]. Für diese Systeme und Sprachen wird untersucht, welches Datenmodell ihnen zugrunde liegt. Die Ergebnisse dieser Untersuchung sind in Tabelle 4.1 auf der nächsten Seite dargestellt. Anhand der exemplarischen Analyse der Systeme lässt sich erkennen, dass als Datenmodell XML vorherrscht. Da sich XML durch eine hohe Flexibilität auszeichnet, ist dies besonders für die Modellierung von heterogenen wissenschaftlichen Daten geeignet. Im Gegensatz dazu setzen einige der Systeme kein Datenmodell voraus, sondern überlassen die Datenverarbeitung und Transformation der Daten benutzerdefinierten Klassen. 4.2 Scientific Workflow Management Systems 55 SIMPL [RRS+ 11, RS13] ist dabei ein Framework, das besonders hervorzuheben ist, da es sich direkt mit dem Datenmanagement für Simulationen beschäftigt. Das zentrale Datenmodell ist dabei XML. Die Beschreibungssprache XML-Schema wird für die Modellierung der Daten verwendet. Dabei können neben XML basierten Daten auch relationale Daten und Daten mit anderen Datenmodellen beschrieben werden [RRS+ 11]. Für die Anbindung von Datenquellen übernehmen Transformatoren die Transformationen zwischen unterschiedlichen Datenmodellen und Schemata. System/Sprache Discovery Net Taverna Triana Kepler YAWL BPEL SIMPL Datenmodell XML [CGG+ 02] Keines [BWC+ 08] Keines (beliebige Java Klassen) [CGH+ 06] Keines [LAB+ 06] (XML als Erweiterung [LLB+ 06]) XML [CG08] XML [CG08] XML [RRS+ 11] Tabelle 4.1: Übersicht über die einzelnen Datenmodelle der verschiedenen SWMS Das Ziel dieser Systeme ist ein möglichst generischer Ansatz, der beliebige wissenschaftliche Anwendungen ermöglichen soll. Diese Breite an Einsatzmöglichkeiten erfordert einen sehr generischen Ansatz für das Datenmanagement. Aus diesem Grund wird von den meisten Systemen XML als Datenmodell eingesetzt. Alternativ überlassen einige Systeme das Datenmanagement auch ganz der benutzerdefinierten Implementierung der wissenschaftlichen Verarbeitungsschritte. Bei all diesen Systemen ist es allerdings erforderlich, dass ein konkretes Schema definiert wird. Dies geschieht entweder über Beschreibungssprachen wie XML-Schema oder implizit über die Implementierung benutzerdefinierter Klassen. Howe et al. [HCS+ 11, HHR+ 13] ziehen die Schlussfolgerung, dass SWMS nur bedingt für wissenschaftliche Anwendungen einsetzbar sind. Dies wird mit dem Aufwand des initialen Schemaentwurfs und den veränderlichen Anforderungen während der Projektlaufzeit begründet. Da laut den Annahmen 1 und 2 [S. 24] für Simulationen kein festes Schema entworfen werden kann, lösen SWMS nicht das in dieser Arbeit definierte Problem 1 [S. 19], das die generische Speicherung von Simulationseingabedaten fordert. 56 Kapitel 4 Verwandte Arbeiten für das Simulationsdatenmanagement 4.3 Eingabedaten ereignisorientierter Systeme Für die Verwaltung der Eingabedaten ereignisorientierter Systeme existiert bereits eine Vielzahl von Ansätzen. Aus diesem Grund werden an dieser Stelle nur die prominentesten Vertreter vorgestellt. Die Ansätze lassen sich weiter untergliedern in Vorschläge für strukturiertes Vorgehen bei der Handhabung von Eingabedaten und in konkrete Systeme zur Verwaltung der Daten. Da die Methodiken für strukturiertes Vorgehen für diese Arbeit nur begrenzt relevant sind, wird an dieser Stelle nur auf weiterführende Literatur verwiesen: [LS97, PL00, PL01, RP02, SJ08] Es wurden bereits viele konkrete Datenmanagementlösungen für Simulationen in bestimmten Domänen definiert. Einige davon werden hier kurz vorgestellt: Perera und Liyanage [PL00, PL01] entwickelten ein Schema für die Eingabedaten von Fertigungssimulationen. Gowri [Gow01] schlug mit EnerXML ein XML-Schema für die Verwaltung der Eingabedaten von Energiesimulationen von Gebäuden vor. Tavakoli et al. schlugen mit der Flexible Data Input Layer Architecture [TMK08b, TMK08a] ein System vor, welches die Definition von Schemata für Eingabedaten von Fertigungssimulationen erleichtern soll. Dabei werden vor allem Sensordaten betrachtet [TMK08a]. Weitere Ansätze, welche das Datenmanagement für Fertigungssimulationen betreffen, wurden von Bengtsson et al. [BSJ+ 09], Boulonne et al. [BJSA10] und Skoogh et al. [SMB10] beschrieben. Dabei wird das CMSD-Format (Core Manufacturing Simulation Data) für die Beschreibung der Schemata verwendet. Pfeifer et al. [PWH+ 10] entwickelten ein Simulationsmodell für die Untersuchung der Ausbreitung ansteckender Krankheiten. Hierfür entwarfen sie exemplarisch einen ETLProzess (Extract, Tranform, Load) und ein Data-Warehouse-Schema. Das konkrete Schema wird in der Publikation allerdings nicht erwähnt. All diese Arbeiten haben gemeinsam, dass hier entweder für konkrete Simulationen feste Schemata entworfen wurden oder für domänenspezifische Klassen von Simulationen Methoden für den vereinfachten Schemaentwurf entwickelt wurden. Aus diesem Grund widersprechen diese Lösungen der Annahme 1 [S. 24], dass ein Schemaentwurf für einzelne Simulationen zu aufwändig ist. Je nach Anwendungsfall ist es also durchaus möglich, ein konkretes Schema zu entwerfen. Im Rahmen dieser Arbeit wird allerdings weiter von Annahme 1 ausgegangen, da für viele Simulationen der Aufwand eines initialen Schemaentwurfs nicht lohnenswert ist [HCS+ 11, HHR+ 13]. 4.4 Wissenschaftliche Dataspaces 57 4.4 Wissenschaftliche Dataspaces Das Konzept, das den Lösungsansätzen dieser Arbeit am nächsten kommt, ist das der wissenschaftlichen Dataspaces. Dieses Konzept wurde ursprünglich von Dessi und Pes [DP09] vorgeschlagen und von Singh und Jain [SJ11] in ihrem Überblickspapier über Dataspaces beschrieben. Diese Ansätze haben die gemeinsame Eigenschaft, dass wissenschaftliche Daten gespeichert werden ohne dass initial ein Schema konstruiert werden muss. Ohne Anspruch auf Vollständigkeit werden hier die Ansätze vorgestellt, die bis einschließlich 2013 publiziert wurden. 4.4.1 SQLShare Howe et al. [HCS+ 11, HHR+ 13] entwickelten mit SQLShare ein System, das die Speicherung von relationalen Daten ohne initialen Schemaentwurf ermöglicht. Dabei wird das Schema der Eingabedaten automatisch übernommen. Auf diese Weise findet automatisiert eine technische Integration statt, die SQL-Anfragen (Structured Query Language) auf den Daten ermöglicht. Da es schwierig ist ohne eine semantische Integration Anfragen zu formulieren, werden dem Benutzer Möglichkeiten gegeben, die Daten zu visualisieren. Außerdem werden automatisch mögliche Anfragen auf den Daten vorgeschlagen, welche der Benutzer interaktiv verfeinern kann. Bei diesem Ansatz erfolgt im Gegensatz zu anderen Dataspace-basierten Ansätzen keine bedarfsgetriebene semantische Integration. Der Ansatz erfüllt die in den Annahmen 1 und 2 [S. 24] formulierten Anforderungen und würde sich für die Speicherung der in Abschnitt 3.2.3 definierten Simulationseingabedaten eignen. Allerdings wurde in der Problemdefinition 2 [S. 21] festgehalten, dass eine nachträgliche semantische Integration möglich sein soll, um die Daten für nachfolgende Simulationen auffindbar zu machen. Aus diesem Grund erfüllt SQLShare nicht die Anforderungen an ein SDMS (Simulationsdatenmanagementsystem), die in dieser Arbeit formuliert wurden. 4.4.2 jSpace Elsayed und Brezany [EB10] entwickelten jSpace, ein System, das RDF für die Beschreibung von Datenquellen verwendet, die eigentlichen Daten allerdings in den Quellen belässt. Mit SPARQL lassen sich die in RDF gespeicherten Beschreibungsdaten anfragen. Die Speicherung von Beschreibungsdaten ähnelt der in dieser Arbeit vorgeschlagenen 58 Kapitel 4 Verwandte Arbeiten für das Simulationsdatenmanagement Speicherung von Beschreibungsdaten mittels EAV/CR. Für die Verarbeitung der eigentlichen Daten müssen bei jSpace allerdings die Datenquellen mittels der quellspezifischen Anfragesprachen durchsucht werden. Dieser Ansatz umgeht die Problematik der Verwaltung der Daten in einer zentralen Datenhaltung, indem nur beschreibende Daten zentral verwaltet werden. Dadurch, dass die Quellen in der quellspezifischen Sprache angefragt werden müssen, ist der Aufwand der Integration auf das manuelle Formulieren von Anfragen verlagert worden. Eine weitere semantische Integration ist nicht vorgesehen. Aus diesem Grund löst auch dieses System nicht die in dieser Arbeit beschriebene Problemstellung. 4.4.3 Domain Scientific Data Cloud Das Konzept der DSDC (Domain Scientific Data Cloud) wurde von Liu et al. [LHLH12] entwickelt. Die Daten werden dabei, wie bei Dataspaces üblich, in den Quellen belassen. DSDC verfolgen dabei einen Ansatz ähnlich der Architektur für föderierte DBMS von Sheth und Larson [SL90]. Dabei werden die globalen Anfragen in quellspezifische Anfragen aufgeteilt und übersetzt. Im Unterschied dazu soll allerdings die Abbildung von lokalen Konzepten auf das kanonische Datenmodell graduell verbessert werden. Dies soll semiautomatisch bei der Anfrageverarbeitung geschehen [LHLH12]. Bei dem Ansatz von Liu et al. müssen alle relevanten Entitäten aus den Quellen extrahiert und mittels Attribut-Wert-Paaren beschrieben werden [LHLH12]. Zusätzlich müssen die Daten initial mittels Ontologien beschrieben werden. Dies entspricht einem initialen Schemaentwurf. Somit erfüllt dieser Ansatz nicht die in den Annahmen 1 und 2 [S. 24] beschriebenen Anforderungen. Die Speicherung der Daten als Entitäten mit Attribut-Wert-Paaren und mit einer zusätzlichen Beschreibung mittels Ontologien ähnelt dem in dieser Arbeit verfolgten Konzept der Fakten, welche über EAV/CR annotiert werden. Die Extraktion der Entitäten mit den entsprechenden Attribut-Wert-Paaren muss bei dem Ansatz von Liu et al. allerdings initial mit manuell implementierten Wrappern geschehen. Dies entspricht gerade der semantischen Integration, wie sie für diese Arbeit in Annahme 5 [S. 27] definiert wurde. Somit wird durch den Ansatz von Liu et al. der initiale Aufwand nicht reduziert. 59 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen In Kapitel 3 wurde anhand von formalen Modellen diskutiert, welche Eingabewerte agentenbasierte Simulationen und SD-Modelle verarbeiten können. Dabei wurde festgestellt, dass für die Speicherung von Eingabewerten eine Liste von Fakten ausreichend ist. Ein Fakt besteht dabei einfach aus einem Wert u ∈ R. Da laut Annahme 7 [S. 28] die normalverteilte Unschärfe das wichtigste Datenqualitätskriterium für Eingabewerte darstellt, soll diese auch für jeden Fakt in Form der Standardabweichung gespeichert werden. In Kapitel 7 wird Annahme 7 noch ausführlich diskutiert und begründet. Zusätzlich zu der Listenstruktur können benutzerdefinierte Beschreibungsinformationen für die Strukturierung der Fakten nützlich sein. Beispielsweise können Fakten annotiert werden, damit sie später einfacher durchsuchbar sind. In Abschnitt 2.1 wurde EAV/CR vorgestellt, was die Speicherung von beliebigen benutzerdefinierten Objekten ermöglicht. In diesem Kapitel wird nun EAV/CR für die Speicherung von Eingabewerten erweitert. Außerdem wird anhand einiger Beispiele gezeigt, wie EAV/CR für die Speicherung von domänenspezifischen Beschreibungsinformationen für Eingabewerte verwendet werden kann. Auf diese Weise werden die Probleme 1 [S. 19] (flexibler Schemaentwurf), 2 [S. 21] (bedarfsgetriebene Integration) und 3 [S. 22] (Speicherung von Simulationsmodellen) gelöst. Für die Modellierung von domänenspezifischen Schemata ist es irrelevant, ob diese letztlich auf ein festes (beispielsweise relationales) Schema oder auf EAV/CR-Klassen abgebildet werden. Aus diesem Grund werden in diesem Kapitel konsequent die Begriffe der ER-Modellierung verwendet. Für die Implementierung ist allerdings relevant, ob die Entitätstypen auf ein festes DBMS-spezifisches Schema oder auf EAV/CR-Klassen abgebildet werden. Aus diesem Grund wird in den Abbildungen durch die Farbgebung deutlich gemacht, wie die jeweiligen Entitätstypen implementiert werden. Entitätstypen, die auf ein festes Schema abgebildet werden, werden blau dargestellt. Entitätstypen, die auf EAV/CR-Klassen abgebildet werden, werden orange dargestellt. Zusätzlich wird bei diesen Entitätstypen der Primärschlüssel weggelassen, da diese Entitätstypen implizit von Object abgeleitet sind und somit bereits einen Primärschlüssel besitzen. 60 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen 5.1 Ein EAV/CR-basiertes Schema für Eingabewerte Das Schema für EAV/CR wurde in Abbildung 2.1 [S. 38] dargestellt. Abbildung 5.1 zeigt die Erweiterung des Schemas für die Speicherung von Fakten. Dabei wird ein Entitätstyp Fact erstellt, der den Wert des Fakts, eine zugehörige Standardabweichung und eine Angabe zur Herkunft des Fakts speichert. Da der Entitätstyp Fact von Object abgeleitet wird, ist es möglich die EAV/CR-Infrastruktur für die Annotation der Fakten zu verwenden. Dabei ist es nicht nur möglich einem Fakt beliebige benutzerdefinierte Attribute zu geben, vielmehr ist es auch möglich, dass Fakten Beziehungen zu weiteren Instanzen von Object besitzen. Dies dient später dazu, domänenspezifische Beschreibungen für Fakten speichern zu können. Abbildung 5.1: Erweiterung des Schemas von EAV/CR für Eingabewerte Da laut Annahme 12 [S. 49] keine Rohdaten zur Beschreibung von Wahrscheinlichkeitsverteilungen gespeichert werden, ist die Speicherung von Fakten ausreichend für die Verwaltung von Eingabewerten. Allerdings werden für die komfortable Suche nach Eingabewerten in der Praxis noch weitere benutzerdefinierte Informationen benötigt, für die das Schema in den nächsten Abschnitten erweitert wird. Beispielsweise können Fakten anhand einer multidimensionalen Klassifikation beschrieben werden. Allerdings sind die beschreibenden Attribute eines Fakts nicht immer vergleichbar mit den Dimensionen der multidimensionalen Modellierung. Es bleibt dem Benutzer überlassen, ob Attribute eine multidimensionale Semantik haben oder andere beschreibende Informationen darstellen, die keine Orthogonalität voraussetzen. Falls für Fakten eine Aggregationssemantik benötigt wird, so lässt sich ein multidimensionales Modell mit der EAV/CR-Infrastruktur nachbauen. Dies wird in Abschnitt 5.2 als Beispiel für die Möglichkeiten von EAV/CR vorgestellt. 5.1 Ein EAV/CR-basiertes Schema für Eingabewerte 61 Ausgehend von den Annahmen 1 und 2 [S. 24] und der Hypothese 1 [S. 25], die in Kapitel 3 evaluiert wurde, löst dieses Schema das Problem 1 [S. 19]. Dieses Problem bestand darin, ein erweiterbares Schema für agentenbasierte und SD-Simulationen zu entwerfen. Da es unterschiedliche Möglichkeiten gibt, EAV/CR zu implementieren, wird in Kapitel 6 Hypothese 2 [S. 26] evaluiert. Diese Hypothese besagte, dass es nicht-relationale DBMS gibt, die EAV/CR-Daten schneller verarbeiten können als relationale DBMS. 5.1.1 Speicherung von Anfragen Bei der Speicherung von Daten in einem EAV/CR-basierten Schema ergeben sich mehrere Probleme hinsichtlich der Formulierung von Anfragen. Einerseits ist es nicht zwingend notwendig, dass EAV/CR relational implementiert wird. Es könnte sogar sein, dass die EAV/CR-Datenbank während ihrer Lebenszeit von einer Implementierung auf eine andere migriert wird. Andererseits ist die Formulierung von SQL-Anfragen selbst bei einer fixen relationalen Implementierung nicht trivial [Nad11]. Nadkarni [Nad11, S. 326] schlägt vor, einfache Anfragen in der Datenbank zu speichern. Dabei sollen die Anfragen nicht direkt als Text gespeichert werden, sondern DBMSunabhängig durch ein Schema modelliert werden. In diesem Abschnitt wird eine einfache Anfragemöglichkeit für Würfel von Fakten vorgestellt, bei der Anfragen als Entitätstyp modelliert werden. Zunächst muss die Semantik der Mehrfachverwendung von Attributen bei Fakten definiert werden. Ein Fakt ist ein Tupel F = (u,σ,s,A) mit dem Wert u, der Standardabweichung σ, der Quelle s und einem Tupel von Mengen A = (A1 , . . . ,Am ). Für das Attribut i besitzt A eine Menge von Attributwerten Ai = {vi1 , . . .}. Definition 4 (Gültigkeit von Fakten). Ein Fakt F gilt für alle Kombination von Attributwerten in A1 × . . . × Am . Als Beispiel für die Semantik soll für Fakten der Ort und das Jahr, für die die Fakten gültig sind, gespeichert werden. Ein Fakt, der die Attributwert-Mengen A1 = Ort = {Erlangen, Nürnberg} und A2 = Jahr = {2010, 2011} besitzt, ist für alle Kombinationen in {Erlangen, Nürnberg} × {2010, 2011} gültig. w 1 Definition 5 (Faktenwürfel). Es sei das Tupel von Mengen (Aw 1 , . . . ,An ) gegeben . w Die Menge Aw i = {vi1 , . . .} besteht dabei aus Attributwerten für das Attribut i. Ein 1 Das hochgestellte w steht hier für „Würfel“ 62 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen Faktenwürfel ist eine Menge von Fakten {Fk }N k=1 mit Fk = (uk ,σk ,sk ,Ak ) und Ak = (Ak1 , . . . ,Akn , . . . ,Akm ) mit Aki = {vki }, für die gilt: w w w (Ak1 × . . . × Akn ) = (Aw 1 × . . . × An ) ∧ |(A1 × . . . × An )| = N (5.1) k Das bedeutet, dass in einem Faktenwürfel für jede Kombination von Attributen in Aw 1 × w . . . × An genau ein Fakt existiert. Als Motivation dienen die gesundheitsökonomischen Simulationen von ProHTA, welche häufig statistische Fakten benötigen [DKRHG12]. Diese statistischen Fakten besitzen häufig eine multidimensionale Struktur [Sho97, Sho03], wobei in EAV/CR eine Dimension über ein Attribut eines Fakts repräsentiert werden kann. Anfragen werden als Entitätstyp Query modelliert. Dieser Entitätstyp ist von Object abgeleitet und kann direkt mit Hilfe der EAV/CR-Infrastruktur abgebildet werden und bedarf keiner Schemaerweiterung. Eine Anfrage a ist dabei analog zu Fakten ein Tupel a von Mengen a = (Aa1 , . . . ,Aan ). Die Menge Aai = {vi1 , . . .} besteht dabei wieder aus den Attributwerten für das Attribut i. Ein Fakt F = (u,σ,s,A) besitzt die Mengen A = (A1 , . . . ,An , . . . ,Am ) mit Ai = {vi1 , . . .}. Falls ein Fakt das Attribut i nicht besitzt, so ist Ai = ∅. Mit diesem Formalismus lässt sich die Semantik einer Anfrage einfach beschreiben. Eine Anfrage a liefert alle Fakten F zurück, welche folgende Bedingung erfüllen: (A1 × . . . × An ) ∩ (Aa1 × . . . × Aan ) ̸= ∅ (5.2) Diese Definition der Anfragesemantik berücksichtigt auch die Definition der Semantik bei der Mehrfachverwendung von Attributen. Ein Fakt mit A1 = Ort = {Erlangen, Nürnberg} und A2 = Jahr = {2010} wird bei dieser Definition der Anfragesemantik auch zurückgegeben, wenn die Anfrage die Mengen Aa1 = {Erlangen} und Aa2 = {2010, 2011} besitzt. Da die vi bei EAV/CR nicht nur einfache Werte, sondern auch komplexe Objekte darstellen können, lassen sich mit dieser Anfragemöglichkeit auch Fakten abfragen, welche mit Objekten annotiert wurden. Allerdings findet hier nur ein Objektvergleich über den Primärschlüssel statt. Objekte werden nicht auf inhaltliche Gleichheit hin verglichen. 5.1.2 Speicherung von Simulationsläufen Neben der Speicherung von Fakten und Anfragen müssen für die weitere Analyse auch die Ergebnisse von Simulationsläufen gespeichert werden. Das Schema dafür wird in Abbildung 5.2 auf der nächsten Seite dargestellt. 5.2 Ein Schema für mehrdimensionale Eingabewerte 63 Abbildung 5.2: Erweiterung des Schemas für Simulationsläufe SimulationRun speichert dabei einen Simulationslauf und referenziert das Simulationsmodell (Model), welches über eine URI (Uniform Resource Identifier) auf ein externes Modell verweisen kann. Ein Simulationsmodell kann mehrere Fakten als Eingabe haben. Die Ausgabewerte eines Simulationslaufs werden in Output mit einer Referenz auf den Simulationslauf, dem Namen des Ausgabewerts und dem Wert gespeichert. Ein Eingabewert wird mittels InputValue gespeichert. Dabei gehört ein Eingabewert zu genau einem Fakt und einem Simulationslauf. Bei einem InputValue wird zusätzlich der numerische Wert gespeichert. Dieser darf vom Wert des zugehörigen Fakts abweichen. Auf diese Weise können Simulationsläufe für Analysezwecke mit hypothetischen Werten durchgeführt werden. 5.2 Ein Schema für mehrdimensionale Eingabewerte In diesem Abschnitt wird als Beispiel für die Möglichkeiten der EAV/CR-Infrastruktur ein Schema für mehrdimensionale Daten vorgestellt. Die Fakten mit ihren Attributen ähneln bereits Datenwürfeln, wie sie aus dem Datawarehousing [BG08] bekannt sind. Allerdings fehlen Möglichkeiten für die explizite Spezifikation von Datenwürfeln und für Klassifikationshierarchien, die für die Aggregation von Fakten benötigt werden. Für eine Einführung in mehrdimensionale Modellierung wird an dieser Stelle auf die Literatur verwiesen: [Sho97, Sho03, BG08]. Pedersen [Ped13] entwickelte verschiedene Kriterien, die von mehrdimensionalen Modellen erfüllt werden sollten, und verglich verschiedene existierende Formalismen anhand dieser Kriterien. Dabei war der von Pedersen 64 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen et al. [PJ99, PJD01] entwickelte Formalismus der einzige, der alle Kriterien erfüllte. Aus diesem Grund wird an dieser Stelle zur Definition von einem Datenwürfel der Formalismus von Pedersen et al. vereinfacht wiedergegeben: Definition 6 (Multidimensionaler Datenwürfel [PJD01]). Ein mehrdimensionales Schema enthält eine Menge von Dimensionstypen D = {Ti } mit i ∈ {1, . . . ,n} für n Dimensionen. Ein Dimensionstyp T ist ein 4-Tupel (C, ≤T ,⊤T ,⊥T ). C = {Cj } ist dabei eine Menge von Kategorietypen, ≤T ist eine partielle Ordnung2 auf C mit dem kleinsten Element ⊥T ∈ C und dem größten Element ⊤T ∈ C. Eine Dimension D des Typs T ist ein Tupel (C, ≤), welches aus einer Menge von Kategoriemengen3 C = {Cj } und einer partiellen Ordnung ≤ besteht. Jede Kategoriemenge Cj ist die Menge aller Kategorien4 {ek }, welche Instanzen des Kategorietyps Cj sind. Zu dem Typ ⊤T existiert immer genau eine Instanz. ≤ ist eine partielle Ordnung aller Kategorien j Cj dieser Dimension. Obwohl dies von Pedersen et al. nicht expliziert formuliert wird, hängen die partiellen Ordnungen ≤ und ≤T zusammen und es gilt folgende Aussage: ∃ei ∈ Ci , ∃ej ∈ Cj mit ei ≤ ej ⇒ Ci ≤T Cj (5.3) Eine Fakt-Dimensions-Relation zwischen einer Menge von Fakten F und einer Dimensi on D ist eine Menge R ⊆ F × j Cj . Ein multidimensionaler Datenwürfel ist ein 4-Tupel (D,F,{Di }, {Ri }). D ist eine Menge von Dimensionstypen, F ist eine Menge von Fakten, {Di |i = 1 . . . n} ist eine Menge von Dimensionen und {Ri |i = 1 . . . n} ist eine Menge von Fakt-Dimensions-Relationen. Pedersen et al. [PJ99, PJD01] erweitern dieses Modell noch um Unterstützung für zeitbezogene Informationen, Unsicherheit und Informationen über die Aggregierbarkeit von Fakten in einzelnen Dimensionen. Auf diese Erweiterungen soll hier nicht weiter eingegangen werden. Die Eingabewerte, die in Form von Fakten gespeichert werden, können dank EAV/CR bei Bedarf zu mehrdimensionalen Datenwürfeln zusammengefasst werden. Das entsprechende Schema wird in Abbildung 5.3 auf der nächsten Seite dargestellt. Die orange Farbe soll deutlich machen, dass die Entitätstypen von Object abgeleitet sind und in der Implementierung auf EAV/CR Klassen abgebildet werden. Der Primärschlüssel wird hier von Object geerbt. Die Bezeichnungen der Entitätstypen lehnen sich dabei 2 3 4 Eine partielle Ordnung ist eine reflexive, transitive und antisymmetrische Relation. Pedersen et al. [PJD01] verwenden hierfür den Begriff „category“. Pedersen et al. [PJD01] verwenden hierfür den Begriff „dimension value“. 5.2 Ein Schema für mehrdimensionale Eingabewerte 65 Abbildung 5.3: Schema für mehrdimensionale Daten an die Terminologie von Pedersen et al. [PJ99, PJD01] an. Die einzige Ausnahme bildet Category, was von Pedersen et al. als „dimension value“ bezeichnet wird. Der Entitätstyp Fact ist bereits bekannt. Alle festen Attribute von Fact, die bereits in Abbildung 5.1 [S. 60] definiert wurden, wurden hier weggelassen. Ein Fakt gehört zu genau einem Datenwürfel. Dieser Datenwürfel hat Dimensionstypen (DimType), welche wiederum eine Menge von Kategorietypen (Type) besitzen. Die partielle Ordnung der Kategorietypen wird über die Beziehung less_or_equal ausgedrückt. Kategorien (Category) haben einen eindeutigen Kategorietyp und eine Beziehung less_or_equal, welche wieder die partielle Ordnung darstellt. Die Fakt-Dimensions-Beziehung fact_dim verknüpft die Fakten mit den entsprechenden Kategorien. Eine explizite Speicherung von Kategoriemengen und Dimensionen ist nicht nötig, da diese implizit über Kategorien gespeichert werden. Hierarchische Dimensionen können beispielsweise zur besseren Aggregation von Fakten verwendet werden. Auf diese Weise lassen sich, wie bereits in Abschnitt 5.1 erwähnt wurde, komplexe Aggregationssemantiken für Fakten definieren. 66 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen 5.3 Ein Schema zur Speicherung von Zustandsdiagrammen In diesem Abschnitt wird ein weiteres Beispiel für die Annotation der Fakten mit der EAV/CR-Infrastruktur vorgestellt. Motivation für dieses Beispiel ist die Tatsache, dass für agentenbasierte Simulationen Zustandsdiagramme verwendet werden, um das Verhalten von Agenten zu modellieren [LJMR12]. Für dieses Beispiel wird Dologs OWLOntologie5 verwendet, welche die Speicherung von UML-Zustandsdiagrammen [UML11] in RDF erlaubt [Dol04]. Diese Ontologie wurde gewählt, da RDFS starke Ähnlichkeit mit EAV/CR aufweist [Nad11] und viele OWL- bzw. RDF-Ontologien direkt in EAV/CR abgebildet werden können. Im folgenden Abschnitt wird eine kurze Einführung in UML-Zustandsdiagramme gegeben. Anschließend wird eine vereinfachte Version der Ontologie von Dolog als ER-Diagramm vorgestellt. Dabei werden der Einfachheit halber nur die Entitätstypen für Zustände und Transitionen berücksichtigt. Das Schema ermöglicht bei agentenbasierten Simulationen eine Speicherung der Zustandsdiagramme, welche das Verhalten der Agenten spezifizieren. Die gespeicherten Zustandsdiagramme können dann dazu benutzt werden, um Fakten zu annotieren. Beispielsweise kann für einen Fakt, der eine Zeitdauer darstellt, angegeben werden, zu welchem Schritt eines Zustandsdiagramms er gehört. Dies dient der vereinfachten Suche von Fakten und kann in zukünftigen Arbeiten dazu benutzt werden, ausführbare Simulationsmodelle aus gespeicherten Zustandsdiagrammen zu generieren. In den Arbeiten von Tenschert [Ten12] und Baumgärtel et al. [BTL14] wurde eine Anfragesprache entwickelt, mit der Fakten abgefragt und aggregiert werden können, die mit den Elementen von Zustandsdiagrammen annotiert wurden. Als Beispiel wurde hier ein Zustandsdiagramm für die Behandlung von Schlaganfällen verwendet [Ten12]. Dieses Szenario orientierte sich an den agentenbasierten Simulationen von Djanatliev et al. [DKRHG12]. Für Simulationsmodelle dieser Art können nun die durchschnittlichen Zeiten und Kosten für die einzelnen Zustände und Transitionen als Fakten gespeichert und mittels der Anfragesprache von Tenschert und Baumgärtel et al. [Ten12, BTL14] durchsucht und aggregiert werden. Da in diesen Arbeiten die Aggregationssemantik nur implizit vorausgesetzt wurde, wird in Anhang B eine Aggregationssemantik für Fakten definiert, die mit Elementen von Zustandsdiagrammen annotiert wurden. 5 http://people.cs.aau.dk/~dolog/fsm/fsm.owl (Heruntergeladen am 25.09.2014) 5.3 Ein Schema zur Speicherung von Zustandsdiagrammen 67 5.3.1 UML-Zustandsdiagramme In Abbildung 5.4(a) werden die grundlegenden Elemente von Zustandsdiagrammen dargestellt. Es gibt einfache Zustände, wie z. B. A und C, und es gibt Transitionen, welche als Pfeile dargestellt werden. Besondere Pseudozustände sind beispielsweise Start- und Endzustand, welche als ausgefüllter Kreis bzw. ausgefüllter Kreis mit Rand dargestellt werden. Der Pseudozustand B stellt eine Verzweigung dar. i,B A,i i,f A,f A,B f,B f,i (a) Zusammengesetzter Zustand mit orthogonalen Regionen6 (b) Kartesisches Produkt der Zustände in den orthogonalen Regionen (“i”= regionaler Startzustand, “f”= regionaler Endzustand)7 Abbildung 5.4: UML-Zustandsdiagramm Zusätzlich können Zustände auch wieder Zustandsdiagramme enthalten. Auf diese Weise kann ein Diagramm hierarchisch aufgebaut sein. Ein solcher zusammengesetzter Zustand kann mit orthogonalen Regionen parallele Abläufe modellieren. In Abbildung 5.4(a) können A und B beispielsweise parallel ablaufen. In UML-Zustandsdiagrammen lässt sich Parallelität auch über Forks und Joins realisieren. Auf diese wird im Rahmen dieser Arbeit verzichtet, da es schwierig ist zu definieren, wann ein Diagramm, welches Forks und Joins enthält, wohlgeformt ist [DH01], und sich Parallelität bereits über orthogonale Regionen ausdrücken lässt. Ein zusammengesetzter Zustand ist beendet, wenn in all seinen Regionen die Endzustände erreicht wurden. Falls zwischen einem Zustand innerhalb eines zusammengesetzten Zustands (z. B. B) und einem Zustand außerhalb (z. B. C ) eine Transition stattfindet, so wird die Ausführung aller orthogonalen Regionen des zusammengesetzten Zustands abgebrochen. Eine solche Transition soll „ausbrechende Transition“ genannt werden. 6 Grafik von Johannes Tenschert [BTL14][S. 81] (© Springer International Publishing Switzerland 2014 With permission of Springer) 7 Grafik nach einer Idee von Johannes Tenschert [Ten12][S.43] 68 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen Orthogonale Regionen können über das kartesische Produkt ihrer Zustände auch als Zustandsdiagramme ohne Parallelität dargestellt werden. In Abbildung 5.4(b) wird beispielsweise der zusammengesetzte Zustand aus Abbildung 5.4(a) ohne Parallelität dargestellt. 5.3.2 Ein Schema für Zustandsdiagramme In Abbildung 5.5 sind die Entitätstypen zur Speicherung von Zustandsdiagrammen abgebildet. Diese Entitätstypen stellen eine vereinfachte Version der Ontologie von Dolog [Dol04] dar. Abbildung 5.5: Schema für Zustandsdiagramme (nach Dolog [Dol04]) Zentrale Elemente sind die Entitätstypen State und Transition, welche die Speicherung von Zustandsdiagrammen (StateMachine) erlauben. Vom Entitätstyp State existieren weitere Spezialisierungen, um die verschiedenen Typen von Zuständen zu realisieren. Der Entitätstyp Composite realisiert zusammengesetzte Zustände mit Regionen (Region), welche selbst wieder zusammengesetzte Zustände sind. Zusammengesetzte Zuständen können beliebige Zustandsdiagramme oder einzelne Elemente davon enthalten. Fakten können mit beliebigen Elementen von Zustandsdiagrammen (StateMachineElement) über die Beziehung element annotiert werden. Das zusätzliche Attribut type gibt bei einem Fakt an, ob es sich beispielsweise um Kosten, eine Zeitdauer oder eine Wahrscheinlichkeit handelt. Dieses Attribut kann hinzugefügt werden, ohne dass 5.4 Bedarfsgetriebene Datenintegration 69 der Entitätstyp Fact geändert werden muss, da Fact von Object abgeleitet ist und somit per EAV/CR beliebige Attribute hinzugefügt werden können. Mit dem Attribut type kann beispielsweise gespeichert werden, dass ein Fakt die Dauer einer Transition darstellt. Ebenso können Fakten gespeichert werden, die bei Verzweigungen die Wahrscheinlichkeiten der ausgehenden Transitionen angeben. Bei Bedarf können für weitere Annotationssemantiken auch zusätzliche Typen von Fakten definiert werden. Dieses Schema löst Problem 3 [S. 22] (Speicherung von konzeptuellen Simulationsmodellen) exemplarisch für Zustandsdiagramme. 5.4 Bedarfsgetriebene Datenintegration Die Ergebnisse in diesem Abschnitt wurden teilweise bereits in [BEL14] publiziert. In Abschnitt 2.2.2 wurde erläutert, dass die semantische Integration von Daten aus verschiedenen Quellen einen hohen initialen Aufwand erfordert. Um dieses Problem zu lösen, soll der initiale Aufwand durch eine bedarfsgetriebene Datenintegration verringert werden. Dies wurde in Problem 2 [S. 21] festgehalten. Laut Annahme 4 [S. 26] wird davon ausgegangen, dass alle Daten in Form von PivotTabellen vorliegen. Die technische Integration der Pivot-Tabellen besteht in der Transformation der Pivot-Tabellen in EAV/CR-Objekte, die Zeilen, Spalten und Zellen repräsentieren. Einige Zellen der Pivot-Tabellen enthalten dabei Fakten, während andere Zellen beschreibende Informationen enthalten, die den Fakten eine Bedeutung verleihen. Für die semantische Integration müssen die Zellen, die beschreibende Informationen enthalten, identifiziert werden und die beschreibenden Informationen müssen einem kanonischen Schema zugeordnet werden, um eine eindeutige Interpretation der Fakten zu ermöglichen (Annahme 5 auf Seite 27). Auf Basis dieser Annahmen wird in diesem Abschnitt Problem 2 gelöst. Dies soll allerdings auf Basis eines erweiterbaren Ansatzes geschehen, so dass in zukünftigen Arbeiten auch Daten integriert werden können, welche nicht als Pivot-Tabellen vorliegen. Der hohe initiale Aufwand des Schemaentwurfs und der Datenintegration hindert Wissenschaftler häufig daran, ein DBMS für die Datenverwaltung zu verwenden [HCS+ 11]. Aus diesem Grund wird in dieser Arbeit ein „data first, structure later“-Ansatz für die Integration von Simulationsdaten verfolgt. Dies wird in dieser Arbeit so interpretiert, dass zunächst eine automatisierte technische Datenintegration stattfindet. Bei Bedarf kann dieser dann eine manuelle semantische Datenintegration folgen. Dies ist besonders in Simulationsprojekten sinnvoll, in denen Domänenexperten parallel zur Modellerstellung bereits eine Vielzahl von Daten sammeln, von denen später nur ein Teil tatsächlich für die Simulation verwendet wird. 70 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen In dieser Arbeit werden Begriffe der Fünf-Level-Schemaarchitektur von Sheth and Larson [SL90] für die bedarfsgetriebene Datenintegration aufgegriffen. Im Gegensatz zur Föderation sollen die Daten allerdings nicht in den Quellen belassen werden. Im Zuge der technischen Integration sollen die Daten mit ihren lokalen Schemata in eine zentrale Datenbank übernommen werden, damit Simulationen unabhängig von der Verfügbarkeit der einzelnen Datenquellen reproduzierbar bleiben. Später können dann dem lokalen Schema Annotationen hinzugefügt werden, die eine semantische Integration in ein föderiertes Schema erlauben. Dies bedeutet konkret, dass die Informationen, die im lokalen Schema gespeichert sind, in Fakten und Attribute transformiert werden. Analog zu föderierten Datenbanken übernimmt ein Prozessor die Transformation zwischen den Schemata. Allerdings soll dies hier nur initial einmal geschehen, da einmal gesammelte Daten unveränderlich sein müssen, um die Reproduzierbarkeit von Simulationen gewährleisten zu können. Die transformierten Daten werden aus diesem Grund explizit gespeichert. 5.4.1 Architektur In diesem Abschnitt wird die abstrakte Architektur für die bedarfsgetriebene semantische Datenintegration vorgestellt. Die einzelnen Komponenten dieses Ansatzes werden in Abbildung 5.6 auf der nächsten Seite dargestellt. Für die technische Integration der einzelnen Datenquellen müssen die entsprechenden Adapter bereitgestellt werden. Diese importieren die Daten gemeinsam mit dem jeweiligen lokalen Schema im quellspezifischen Datenmodell in das EAV/CR-Datenmodell. Eine Komponente für Volltextsuche ermöglicht es, technisch integrierte Daten zu durchsuchen. Für jedes Datenmodell kann ein Visualisierungsmodul implementiert werden, welches die Darstellung der Daten übernimmt. Dieses Visualisierungsmodul erlaubt es dann mit Eingabefeldern für Annotationen (Annotation Form), den einzelnen Komponenten eines lokalen Schemas semantische Annotationen hinzuzufügen. Wenn semantische Annotationen zur Verfügung stehen, können diese für die semantische Integration verwendet werden. Hierbei ist zu beachten, dass für die einzelnen Datenmodelle definiert werden muss, welche Komponenten eines Schemas annotiert werden können und welche Typen von Annotationen möglich sind. Wenn die semantische Integration abgeschlossen ist, kann die Simulation Faktenwürfel anhand von domänenspezifischen Attributen abfragen (siehe Abschnitt 5.1.1). 5.4 Bedarfsgetriebene Datenintegration DBMS Input Input Adapter 71 EAV/CR-DB Local Schema Visualization Semantic Information Full Text Search Facts Annotation Form Semantic Annotations Integration Attributes Query Processor Simulation Information Flow Uses References Abbildung 5.6: Architektur für die bedarfsgetriebene Datenintegration (Grafik bereits publiziert in [BEL14][S.173]) 5.4.2 Ein Schema für bedarfsgetriebene Datenintegration In [BEL14] wurde ein Schema für RDF vorgestellt, das es erlaubt, Typen von semantischen Annotationen für Datenmodelle zu definieren. Dieses Schema wird in Abbildung 5.7 auf der nächsten Seite als ER-Diagramm dargestellt. Dabei wurden mehrere Ebenen der Instanziierung, die in RDFS möglich sind, zu einer einzigen Ebene vereinfacht. Datenmodelle werden über den Entitätstyp Datamodel deklariert. Für ein Datenmodell lassen sich mehrere Schemata als Instanzen von Schema speichern. Diese wiederum bestehen aus Elementen, für die pro konkretem Datenmodell eine Ableitung des Entitätstyps Element vorgenommen werden muss. Über diese Ableitung wird die Struktur eines spezifischen Datenmodells definiert. Für Elemente eines Schemas können zusätzlich zugehörige Fakten gespeichert werden. Dabei ist zu beachten, dass dadurch mit Element nicht nur Schemata sondern auch Ausprägungen modelliert werden können. Dies ist nötig, um Datenmodelle zu unterstützen, die keine explizite Definition von Schemata erlauben oder Schema und Ausprägungen vermischen. Beispielsweise lässt sich für das relationale Datenmodell der Entitätstyp Relation als Unterklasse von Element definieren. Die Instanzen von Relation können dann Beziehungen zu mehreren Instanzen der Entitätstypen Attribute und Tuple haben, die wiederum von Element abgeleitet sind. 72 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen Abbildung 5.7: Schema für semantische Annotationen Für ein Datenmodell lässt sich ein Annotationstyp (AnnotationType) definieren, der die Informationen speichert, um Daten semantisch integrieren zu können. Auf diese Weise lässt sich definieren, wie Informationen in einem lokalen Schema in einem bestimmten Datenmodell in Attribute von Fakten transformiert werden können. Dazu lassen sich zu jedem Schema Annotationsmengen (AnnotationSet) anlegen, die zu einem Annotationstyp gehören und aus mehreren Annotationen bestehen (Annotation). Instanzen des Entitätstyps Annotation gehören jeweils zu einem Element des Schemas. Annotation muss analog zu Element für jeweils einen konkreten Annotationstyp abgeleitet werden. Für jeden Annotationstyp muss ein Prozessor implementiert werden, der die Annotationen verarbeitet und die Integration vornimmt. Zu beachten ist, dass mit diesem Modell nicht definiert werden kann, wann ausreichend Annotationen für eine Integration vorhanden sind. Die Vollständigkeit ist abhängig vom jeweiligen Annotationstyp und von Domänenwissen. Aus diesem Grund übersteigt die formale Definition eines Modells für die Vollständigkeit von Annotationen den Rahmen dieser Arbeit. 5.4.3 Semantische Integration von Pivot-Tabellen Als Beispiel wird die semantische Integration von Pivot-Tabellen vorgestellt. Ein Beispiel für eine Pivot-Tabelle wird in Tabelle 5.1 [S. 74] dargestellt. In einer Pivot-Tabelle werden üblicherweise Fakten gespeichert, die über bestimmte Attribute annotiert werden, deren 5.4 Bedarfsgetriebene Datenintegration 73 Werte sich in Zeilen und Spalten am Rand der Tabelle befinden. In Tabelle 5.1 enthält beispielsweise die erste Zeile Informationen über das Geschlecht und die zweite Zeile enthält Informationen über das Jahr. Das Schema einer Pivot-Tabelle besteht aus Zeilen, Spalten und Zellen. In Abbildung 5.8 wird dargestellt, wie sich das Datenmodell der Pivot-Tabellen über die Ableitung des Entitätstyps Element realisieren lässt. Entitätstypen für Zellen, Zeilen und Spalten modellieren die Pivot-Tabellen. Die technische Integration einer Pivot-Tabelle erfolgt indem diese mit Hilfe der Entitätstypen aus Abbildung 5.8 gespeichert wird. Der Entitätstyp RowOrCol fasst Zeilen und Spalten zusammen. Auf diese Weise lässt sich eine konkrete Annotation (IsAttribute) definieren, die für Zeilen und Spalten angibt, welchem Attribut diese entsprechen, falls dies der Fall ist. Um diese Annotation auf Zeilen und Spalten zu beschränken wird die Beziehung element zwischen Annotationen und Elementen bei IsAttribute überschrieben. Mit diesen Entitätstypen lassen sich nun Annotationen für die lokalen Schemata von Pivot-Tabellen speichern. Abbildung 5.8: Schema für die semantische Annotation von Pivot-Tabellen Um die Zellen von Pivot-Tabellen in Fakten und Attribute von Fakten transformieren zu können, werden Informationen darüber benötigt, welche Zeilen und welche Spalten Informationen über die Attribute der Fakten enthalten. Ebenso müssen die in der PivotTabelle gespeicherten beschreibenden Informationen den Attributen eines kanonischen Schemas zugeordnet werden. Als Beispiel wird Tabelle 1.1(a) [S. 20] in Tabelle 5.1 auf der nächsten Seite wiederholt. Für Tabelle 5.1 wird annotiert, dass die ersten beiden Zeilen und die erste Spalte 74 Kapitel 5 Ein konzeptuelles Schema für Eingabewerte von Simulationen Row 1 2 3 4 5 Col. 1 10 20 30 C. 2 M 2010 0 4 6 C. 3 F 2010 8 7 9 C. 4 M 2011 1 1 4 C. 5 F 2011 5 1 2 Tabelle 5.1: Beispiel für eine relational gespeicherte Pivot-Tabelle bestimmten kanonischen Attributen entsprechen. Auf diese Weise lässt sich diese PivotTabelle in eine Menge von Fakten mit den entsprechenden Attributwerten umwandeln. Zu beachten ist, dass dabei keine semantische Integration auf Ausprägungsebene stattfindet. Ausprägungen wie „M“ und „F“ werden nicht zu kanonischen Werten vereinheitlicht. Ein anderer Datensatz kann also für das gleiche kanonische Attribut (Geschlecht) Attributwerte wie „Male“ und „Female“ verwenden. Eine semantische Integration auf Ausprägungsebene kann allerdings in zukünftigen Arbeiten mit Hilfe des abstrakten Schemas für die semantische Integration aus Abbildung 5.7 [S. 72] umgesetzt werden. Dieser Ansatz löst unter den Annahmen 4 [S. 26] (Beschränkung auf Pivot-Tabellen) und 5 [S. 27] (Definition semantischer Integration) das Problem der nachgelagerten bedarfsgetriebenen semantischen Integration (Problem 2 auf Seite 21). Der abstrakte Ansatz ermöglicht unter Umständen eine Relaxierung von Annahme 4 und somit eine bedarfsgetriebene Integration für beliebige Datenmodelle. Diese Hypothese sollte in weiteren Arbeiten umfassend evaluiert werden. 75 6 Evaluation des generischen Schemas In Abschnitt 2.1 wurde das EAV/CR-Datenmodell vorgestellt und in Kapitel 5 wurde erläutert, wie dieses Modell für die Speicherung von Eingabewerten angepasst werden kann. Da das EAV/CR-Datenmodell auf unterschiedliche Arten implementiert werden kann [Nad11, S. 224f], werden in diesem Abschnitt exemplarisch einige dieser möglichen Implementierungen vorgestellt und evaluiert. Dazu wird zunächst eine vereinfachte Variante des in Kapitel 5 vorgestellten Schemas beschrieben, die als Grundlage der Evaluation dienen soll. Im Anschluss werden einige mögliche Implementierungsalternativen für das EAV/CR-Datenmodell vorgestellt. Für die eigentliche Evaluation müssen dann Daten und Anfragen definiert werden, welche die Arbeitslast für die Beurteilung der Geschwindigkeit der einzelnen Implementierungen darstellen. Da im Rahmen des Projekts ProHTA für einen Benchmark zu wenig Daten und Anfragen anfielen, muss für diese Arbeit eine plausible synthetische Arbeitslast definiert werden. In [BEL13] wurde bereits eine Version der Evaluation aus diesem Kapitel veröffentlicht. Für diese Arbeit wurde das Schema der Evaluation allerdings von einem multidimensionalen Schema auf ein EAV-basiertes Schema umgestellt und die Anfragen wurden an das neue Schema angepasst. Zudem wurden im Vergleich zu [BEL13] neuere Versionen der verwendeten DBMS evaluiert. 6.1 Vereinfachtes Schema Das in Abbildung 6.1 auf der nächsten Seite dargestellte Schema ist eine vereinfachte Variante des in Kapitel 5 beschriebenen Schemas und stellt den Kern von EAV dar. Dabei wurde die Oberklasse Object von Fact weggelassen. Zusätzlich wurde zur Vereinfachung bei Fact das von Object geerbte Attribut name und das Attribut std_dev entfernt. Es wurde auch das Attribut multi_instance von EAV entfernt. Jeder Fakt kann also in diesem vereinfachten Fall jedes Attribut nur einmal besitzen. In den folgenden Abschnitten wird für die jeweiligen Implementierungsalternativen kurz diskutiert, wie diese erweitert werden müssten, um multi_instance abbilden zu können. 76 Kapitel 6 Evaluation des generischen Schemas Abbildung 6.1: Vereinfachtes Schema für die Evaluation Ebenso wurden alle Entitätstypen weggelassen, die bei EAV/CR der Speicherung von Schemainformationen dienen. Es wird also ein reines EAV-Modell evaluiert. Dies ist darin begründet, dass bei der Verarbeitung einer großen Menge von Fakten der Aufwand für das Abfragen von Schemainformationen im Vergleich zum Aufwand für die Verarbeitung der einzelnen Fakten gering ist. Inwieweit dies zutrifft, hängt vom jeweiligen Anwendungsfall ab. Für die in dieser Arbeit evaluierte synthetische Arbeitslast soll folgende Annahme gelten: Annahme 13. Die pro Anfrage verarbeitete Menge an Fakten dominiert den Aufwand. Der Aufwand für die Verarbeitung von Schemainformationen kann vernachlässigt werden. 6.2 Implementierungsalternativen In diesem Abschnitt werden verschiedene Implementierungsalternativen für das in Abbildung 6.1 dargestellte Schema untersucht. Aufgrund der Vielzahl an DBMS mit unterschiedlichen Datenmodellen können im Rahmen dieser Arbeit nur einige Möglichkeiten exemplarisch diskutiert werden. Im nächsten Abschnitt werden die DBMS vorgestellt, die in diesem Kapitel evaluiert werden. Da bei der relationalen Implementierung von EAV/CR die Attribute über einen numerischen Fremdschlüssel auf die Attributsrelation dargestellt werden, wurden der Einfachheit halber numerische Bezeichnungen (0, 1 etc.) für die Attribute gewählt. Da die exemplarische Darstellung der Schemata in den folgenden Abschnitten teilweise konkrete Attribute benötigt, werden, falls nicht anders angegeben, für die Darstellung der Schemata die Attribute 0 und 1 verwendet. Für die Implementierung muss der Datentyp der Attribute bekannt sein. Dieser wird in Abschnitt 6.3 diskutiert. 6.2 Implementierungsalternativen 77 6.2.1 Auswahl konkreter DBMS Um exemplarisch einige DBMS für die Evaluation der verschiedenen Implementierungsalternativen für EAV auszuwählen, muss zunächst festgelegt werden, welche Datenmodelle evaluiert werden sollen. Es sollte das relationale Modell evaluiert werden, da dies üblicherweise für die Implementierung von EAV/CR verwendet wird. Ebenso bietet sich RDF für die Implementierung an, da RDF quasi eine native Unterstützung für EAV/CR ermöglicht. Auch dokumentenorientierte DBMS sind für die Implementierung geeignet, da diese Dokumente mit beliebigen Attribut-Wert-Paaren unterstützen. Auf die Evaluation weiterer Datenmodelle soll im Rahmen dieser Arbeit verzichtet werden, da aufgrund der Vielzahl an möglichen Datenmodellen keine erschöpfende Evaluation aller Alternativen möglich ist. Als Vertreter der relationalen Datenbanken wurde PostgreSQL1 gewählt, da dies eines der bekanntesten freien relationalen DBMS ist. Zudem sind in PostgreSQL dokumentenorientierte Datentypen implementiert, welche eine Abbildung von EAV auf ein hybrides Datenmodell ermöglichen. Für RDF wurde das Jena-Framework von Apache2 gewählt, da dies ein freies RDFbasiertes DBMS ist. Jena unterstützt mit dem TDB-Backend eine native Speicherung der RDF-Tripel, im Gegensatz zur Verwendung eines relationalen DBMS für die Speicherung der Tripel. Zudem unterstützt Jena die Version 1.1 der Anfragesprache SPARQL, welche Aggregation und Veränderung von existierenden RDF-Graphen erlaubt. Als SPARQLServer wird die Komponente Fuseki von Jena verwendet. Als dokumentenorientiertes System wurde MongoDB3 gewählt, da dieses sowohl eine eigene Anfragesprache definiert, welche im Folgenden „MongoDB-QL“ genannt wird, als auch Anfragen per MapReduce ermöglicht. Die Anfrageverarbeitung mit MongoDB und MapReduce wird im Folgenden „MongoDB-MR“ genannt. Ein klassisches festes relationales Schema stellt eine Alternative zu EAV/CR dar. Dies setzt jedoch einen initialen domänenspezifischen Schemaentwurf voraus. Dennoch wird diese Möglichkeit als Vergleichsbasis evaluiert, um die Geschwindigkeit der anderen Alternativen einordnen zu können. 1 http://www.postgresql.org/ 2 http://jena.apache.org/ 3 http://www.mongodb.org/ 78 Kapitel 6 Evaluation des generischen Schemas 6.2.2 Relationale Abbildung Das relationale Schema ergibt sich direkt durch die Abbildung des konzeptuellen EAVSchemas: Fact ( id , value , source ) EAV ( id , entity [ Fact ] , attribute , avalue ) Die Bezeichnung „avalue“ für den Attributwert in der Relation EAV wurde gewählt, damit dieser in Anfragen und textuellen Beschreibungen eindeutig von dem Attribut value der Relation Fact unterschieden werden kann. Bei der Relation EAV wurde ein zusätzlicher Surrogatschlüssel eingefügt, da dadurch multi_instance unterstützt wird. Der Surrogatschlüssel ist auch notwendig, da PostgreSQL automatisch einen Index für Primärschlüssel anlegt [Gro14, S. 55] und im Folgenden mehrere Alternativen für das Anlegen von Indizes evaluiert werden sollen. Die Ergebnisse der Evaluation der verschiedenen Varianten werden in Abschnitt 6.5.2 vorgestellt. 6.2.3 Klassisches relationales Schema Als Vergleich wird auch eine Variante evaluiert, die einem klassischen relationalen Schema entspricht. Da hierfür allerdings die Attribute vorher festgelegt werden müssen, widerspricht diese Variante der eigentlichen Intention von EAV. Trotzdem wurde diese Variante als Vergleichsbasis evaluiert. Das folgende Schema stellt beispielsweise die Relation für die Attribute 0 und 1 dar: Fact ( id , value , source , avalue0 , avalue1 ) Da bei relationalen DBMS nur Indizes für konkrete Attribute angelegt werden können und bei EAV Werte für beliebige Attribute gespeichert werden sollen, wurde für diese Implementierungsalternative kein Index explizit erzeugt. Es bleibt allerdings den DBMS überlassen, implizit Indizes anzulegen. multi_instance ist in diesem Fall nur möglich, wenn jedes Attribut, das mehrfach vorkommen soll, durch mehrere einfach vorkommende Attribute dargestellt wird. Es muss also vorher bekannt sein, welche Attribute vorkommen und in welcher Multiplizität sie vorkommen. Im Folgenden soll diese Variante als „klassische Abbildung“ bezeichnet werden. 6.2 Implementierungsalternativen 79 6.2.4 Dokumentenorientierte Abbildung Dokumentenorientierte DBMS erlauben die Speicherung von JSON-Dokumenten. Da diese Dokumente aus beliebigen Attribut-Wert-Paaren und Listen aufgebaut sind und auch eine Schachtelung dieser beiden Konzepte erlauben, eignen sie sich direkt für eine Umsetzung von EAV. Da es keinen Standard gibt, um ein Schema für JSON-Dokumente zu definieren, wird das Schema an einem Beispiel verdeutlicht: { id : value : source : 0: 1: 1, 0.5 , " Test " , 47 , 11} Da die Indizierung bei dokumentenorientierten DBMS stark von dem jeweiligen System abhängt, bezieht sich die folgende Aussage über Indizes konkret auf MongoDB: MongoDB erlaubt zwar die Erzeugung von Indizes, allerdings nur auf konkreten Attributen. Da diese bei EAV im Voraus nicht bekannt sind, wurde für MongoDB kein Index explizit angelegt. Die Abbildung von multi_instance ist direkt möglich, da bei JSON für jedes Attribut statt einem einzelnen Wert auch eine Liste von Werten gespeichert werden kann. 6.2.5 Hybride Abbildung PostgreSQL erlaubt die Speicherung von Attribut-Wert-Paaren und Dokumenten in speziellen Datentypen. Auf diese Weise lässt sich EAV auf ein hybrides Schema abbilden, das sowohl aus relationalen als auch aus dokumentenorientierten Komponenten besteht. PostgreSQL unterstützt dabei die Datentypen hstore [Gro14, S. 2685], json und jsonb [Gro14, S. 141, S. 248]. Bei den Datentypen hstore und json werden die Daten als Zeichenkette gespeichert, jsonb verwendet im Gegensatz dazu ein binäres Speicherformat. jsonb unterscheidet sich dabei in Implementierungsdetails von BSON (Binary JSON). Der Datentyp hstore kann beliebige Attribut-Wert-Paare enthalten, allerdings keine Listen. Im Gegensatz dazu können json und jsonb beliebige JSON-Dokumente speichern. Für das Schema ergibt sich bei der hybriden Abbildung: Fact ( id , value , source , attributes ) . 80 Kapitel 6 Evaluation des generischen Schemas Dabei hat attributes den Datentyp json, jsonb oder hstore. Folgendes Beispiel für eine Liste von Attribut-Wert-Paaren, welche in attributes gespeichert werden können, verdeutlicht die Speicherung von EAV-Daten: {0: 1: 47 , 11} Eine Abbildung von multi_instance ist für json und jsonb analog zur reinen dokumentenorientierten Abbildung direkt möglich. Im Falle des hstore-Datentyps müssen analog zur klassischen Abbildung mehrfach vorkommende Attribute durch mehrere einfach vorkommende ersetzt werden. Zusätzlich zu hstore, json und jsonb könnte auch der Datentyp xml, welcher die Speicherung von Daten als XML-Zeichenkette erlaubt [Gro14, S. 139], oder eine Kombination von kompositen Typen [Gro14, S. 156] und Arrays [Gro14, S. 147] verwendet werden. Der Datentyp xml wurde nicht evaluiert, da davon ausgegangen wurde, dass das Parsen von XML langsamer ist als das Parsen von JSON oder des hstore-Datentyps. Die Kombination von kompositen Typen und Arrays wird im Rahmen dieser Arbeit nicht weiter evaluiert, da hier eine Vielzahl von möglichen Implementierungsalternativen existiert. Da PostgreSQL verschiedene Möglichkeiten der Indizierung von json, jsonb und hstore ermöglicht, werden diese in Abschnitt 6.5.2 diskutiert und evaluiert. 6.2.6 Abbildung auf RDF Die Abbildung auf RDF ähnelt stark der Abbildung auf JSON. Im Falle vom RDF ist die Angabe eines beispielhaften Fakts anschaulicher als die Definition eines Schemas. Aus diesem Grund wird ein Fakt in Turtle-Notation (Terse RDF Triple Language)4 angegeben: : f1 a : value : source :0 :1 : Fact 0.5 " Test " 47 11 ; ; ; ; . Die Mehrfachverwendung von Attributen für die Abbildung von multi_instance ist bei RDF problemlos möglich. DBMS, die RDF als Datenmodell verwenden, erlauben meist keine Erstellung von expliziten Indizes. Aus diesem Grund wird für die Abbildung auf RDF kein Index explizit angelegt. 4 http://www.w3.org/TR/turtle/ 6.3 Charakteristika der Daten 81 6.3 Charakteristika der Daten Da im Rahmen des Projekts ProHTA keine ausreichenden Datenmengen anfielen, um eine realistische Evaluation zu ermöglichen, wird in diesem Abschnitt eine Möglichkeit zur Generierung plausibler synthetischer Daten vorgestellt. Als Motivation dienen analog zu Abschnitt 5.1.1 gesundheitsökonomische Simulationen, die hauptsächlich mehrdimensionale statistische Fakten benötigen. Die Dimensionen werden im EAV/CR-Modell durch Attribute repräsentiert. Das bedeutet, dass von Mengen von Fakten ausgegangen wird, die gemeinsam einen Faktenwürfel bilden. w Analog zu Abschnitt 5.1.1 hat ein Faktenwürfel w das Tupel von Mengen (Aw 1 , . . . ,Ad ). w w Die Menge Aw i = {vi1 , . . . ,vijiw } besteht dabei wieder aus Attributwerten für das Attribut i. jiw ist die Anzahl an unterschiedlichen Attributwerten für Attribut i im Faktenwürfel w. Dann existiert in der zu w gehörigen Faktenmenge für jedes Element der Menge w Aw 1 × . . . × Ad genau ein Fakt. Die Daten, die in ProHTA verwendet wurden, waren meist Faktenwürfel des statistischen Bundesamtes oder aus medizinischen Publikationen. Dabei wurden meist die Dimensionen Geschlecht, Alter und Zeit benötigt. In ProHTA wurden keine Datensätze mit mehr als 6 Dimensionen für Simulationen verwendet. Der größte Datensatz waren die KM6-Daten, der die Zahlen der Versicherten der Krankenkassen enthielt. Dieser Datensatz hatte 6 Dimensionen: Versichertengruppe, Angehörigenstatus, Region, Alter, Geschlecht und Krankenkasse. Die Anzahl der enthaltenen Fakten betrug für diesen Datensatz ungefähr 30000. Das statistische Bundesamt bietet über die GENESIS-Online Datenbank5 die Möglichkeit, Würfel von statistischen Fakten abzufragen. Allerdings sind diese Abfragen kostenpflichtig und können deswegen im Rahmen dieser Arbeit nicht verwendet werden. Eine Alternative stellt die durch CKAN (Comprehensive Knowledge Archive Network) vereinheitlichte Abfrageschnittstelle dar, über die verschiedene Organisationen statistische Daten öffentlich anbieten. Ein Nachteil dieser Variante ist, dass die Daten nur in Form von Dateien abgefragt werden können. Viele mehrdimensionale Daten werden dabei als Pivot-Tabellen dargestellt. Ein Beispiel für eine Pivot-Tabelle wurde in Abschnitt 5.4 in Tabelle 5.1 [S. 74] dargestellt. Da bei diesen Daten nur schwer automatisch feststellbar ist, wie viele Dimensionen sie besitzen, kann hier nur die Anzahl der Fakten pro Würfel abgeschätzt werden. Die Pivot-Tabellen sind bei CKAN in Form von CSV-Dateien (Comma Seperated Values) herunterladbar. Da diese CSV-Dateien auch eine gewisse Menge an Beschreibungsinformationen enthalten, ist die Anzahl an Zellen (Anzahl an Zeilen mal die Anzahl an Spalten) eine Obergrenze für die Anzahl an enthaltenen Fakten. 5 https://www-genesis.destatis.de 82 Kapitel 6 Evaluation des generischen Schemas Es wurden exemplarisch die Daten der CKAN basierten Webseite http://publicdata. eu am 22.5.2014 abgerufen. Dabei wurden nur Datensätze betrachtet, die als CSV-Datei vorlagen, da bei diesen Daten davon auszugehen ist, dass es sich um statistische Daten handelt. Andere Arten von Daten waren beispielsweise kartographische Daten, Bilder und XML- und JSON-Dokumente. Dabei waren von 32253 Datensätzen 11855 im CSVFormat und von diesen waren 6747 fehlerfrei herunterladbar. Der größte Datensatz enthielt ca. 37 Millionen Zellen und im Durchschnitt enthielten die Datensätze ca. 26800 Zellen. Ca. 99% der Datensätze enthielten weniger als 640000 Zellen und es gab nur 23 Datensätze, die mehr als eine Million Zellen enthielten. Da ohne Daten aus einem realen Anwendungsszenario über die Anzahl an Dimensionen und darüber, welche Werte für die Fakten und Attributwerte realistisch sind, nur spekuliert werden kann, wird für diese Arbeit die folgende Annahme getroffen: Annahme 14. Fakten sind in Faktenwürfeln angeordnet mit d ≤ 6 Attributen und n = 10 unterschiedlichen Attributwerten für jedes Attribut. Attributwerte sind ganze Zahlen. Die Faktenwürfel bestehen also aus nd Fakten. Die Werte der Fakten sind zufällig und gleichverteilt aus dem Intervall [0, 1]. Die Standardabweichung der Fakten wird in der Evaluation nicht berücksichtigt. Jeder Fakt eines Faktenwürfels hat die gleiche Quelle, die für die Evaluation dem willkürlichen Namen des Faktenwürfels entspricht. In zukünftigen Arbeiten sollten realistische Datensätze aus realen Anwendungsszenarien für eine weitere Evaluation verwendet werden. 6.4 Anfragedefinition Da im Rahmen des ProHTA-Projekts keine ausreichende Menge an Anfragen angefallen ist, kann auch für die Anfragen keine realistische Arbeitslast evaluiert werden. Stattdessen werden in diesem Abschnitt einige synthetische Anfragen definiert, welche auf klassischen mehrdimensionalen Operatoren basieren [BG08]. Es wird von einem Faktenwürfel mit d Attributen 0,1, . . . ,d − 1 und n Attributwerten 0,1, . . . ,n − 1 für jedes Attribut ausgegangen. Ein Fakt Fk mit Fk = (uk ,σk ,sk ,Ak ) besitzt wieder die Mengen Ak = (Ak1 , . . . ,Akd ) mit dem Attributwert vki für Attribut i: Aki = {vki }. w w • Einfügen Es wird ein Faktenwürfel mit den Mengen (Aw 1 , . . . ,Ad ) mit Aℓ = {0, . . . ,n − 1} eingefügt. Somit werden nd Fakten mit d Attributen eingefügt. • Selektion Es sollen alle Fakten eines Faktenwürfels selektiert werden, für die gilt: vki ≤ ⌊n/2⌋ ∀i = 0, . . . ,d − 1. 6.5 Ergebnisse 83 • Aggregation Die Fakten werden nach den Attributen i < max(⌊d/2⌋,1) gruppiert und es wird die Summe der Werte der Fakten pro Gruppe berechnet. • Join Diese Anfrage korreliert die Fakten zweier Faktenwürfel c1 und c2 mit denselben Attributen und Attributwerten. Zu jedem Fakt F1 aus c1 wird der korrespondierende Fakt F2 aus c2 mit den gleichen Attributwerten in jedem Attribut gesucht: v1i = v2i ∀i = 0, . . . ,d − 1. Aufgrund der Definition dieser Anfrage existiert für jeden Fakt aus c1 genau ein zugehöriger Fakt in c2 . Als Resultat sollen pro Fakt aus c1 der Wert des Fakts und der Wert des zugehörigen Fakts aus c2 ausgegeben werden. Neben Attributen, die den Dimensionen von statistischen Faktenwürfeln entsprechen, können Fakten auch weitere beschreibende Attribute besitzen. Diese müssen nicht zwingend orthogonal zu anderen Attributen sein und können funktional von anderen Attributen abhängig sein. Diese Attribute können für die Speicherung von domänenspezifischen Annotationen verwendet werden und sind einer der Gründe für die Notwendigkeit eines generischen Schemas. Um die speziellen Eigenschaften des generischen Schemas zu evaluieren, wird deshalb die folgende zusätzliche Operation definiert: • Attribut hinzufügen Um die Flexibilität des EAV-Modells zu evaluieren, wird bei dieser Anfrage jedem Fakt ein zusätzliches Attribut d mit dem Attributwert 0 hinzugefügt. Dies entspricht der Annotation von Fakten mit weiteren domänenspezifischen Informationen durch einen Benutzer. Beispielsweise kann einer Menge von Fakten die Annotation hinzugefügt werden, für welches Element eines Simulationsmodells sie verwendet werden sollen. Wie diese Anfragen auf die Anfragesprachen der einzelnen Systeme abgebildet werden, wird in Anhang C erläutert. 6.5 Ergebnisse In diesem Abschnitt werden die Ergebnisse der Evaluation präsentiert. Zu diesem Zweck wurde ein Evaluationsframework in Python implementiert, das die automatische Generierung der Anfragen und Daten für beliebige d und n ermöglicht. Dieses Framework wurde so entworfen, dass es leicht um weitere Implementierungsalternativen für EAV erweitert werden kann. 84 Kapitel 6 Evaluation des generischen Schemas 6.5.1 Hardware- und Softwarekonfiguration Für die Evaluation wurde ein Computer mit Vierkernprozessor6 , einer 2.5 Zoll Festplatte7 und zwei 4 GB DDR3 RAM Modulen mit einer Taktung von 1333 MHz verwendet. Als Betriebssystem diente Ubuntu 14.04 (64-Bit) mit der Java Version 1.7.0 (OpenJDK 64-Bit Server Version) Es wurden MongoDB in der Version 2.6.4, PostgreSQL in der Version 9.4 beta 2 und Jena Fuseki in der Version 1.1.0 mit TDB als nativer Speicherlösung verwendet. Soweit möglich, wurde die jeweilige 64-Bit Version verwendet. Die Standardkonfiguration wurde dabei nicht modifiziert. Im Falle von MongoDB wurde sowohl die spezielle Anfragesprache MongoDB-QL als auch MapReduce (MongoDB-MR) evaluiert. PostgreSQL diente der Evaluation der relationalen, klassischen und hybriden Abbildung. 6.5.2 Evaluation möglicher Indizes In diesem Abschnitt wird evaluiert, welche Indizes für die relationalen Lösungen am effizientesten sind. 6.5.2.1 Relationale Abbildung Zur Erinnerung wird hier noch kurz das Schema für die relationale Abbildung von EAV wiederholt: Fact (id, value, source) EAV (id, entity[Fact], attribute, avalue) Für die relationale Abbildung wurden die expliziten Indizes für die folgenden Spalten bzw. Spaltenkombinationen evaluiert: 1. Kein Index 2. source, entity, attribute, avalue 3. source, entity, (attribute, avalue) 4. source, entity, (attribute, avalue, entity) 6 7 Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz Seagate Momentus / max.: 7.200 rpm / buffer: 16 MB / bus: S-ATA II (S-ATA 300) 6.5 Ergebnisse 85 Dabei wurden jeweils die von PostgreSQl standardmäßig vorgegeben B-Bäume als Indexstrukturen verwendet, da diese als einzige die Operatoren <, ≤, =, ≥ und > unterstützen [Gro14, S. 318]. In Tabelle 6.1 sind die Ergebnisse der Evaluation für d = 4 und n = 10 dargestellt. Dabei wurde jeder Test 25 mal durchgeführt. Vor jeder Anfrage wurde VACUUM ANALYZE [Gro14, S. 1614] ausgeführt, damit PostgreSQL die nötigen statistischen Informationen zur Optimierung erhält. Dies wird in Abschnitt 6.5.3 genauer erläutert. Es sind jeweils pro Test die Mittelwerte und Standardabweichungen der Ergebnisse in Sekunden angegeben. Anhand der Ergebnisse lässt sich erkennen, dass die 2. Variante der Indizes bei der Selektion und Aggregation die effizienteste ist. Für den Join sind die 1. und 2. Variante annähernd gleich schnell. Interessanterweise sind hier Variante 3 und 4 langsamer als Variante 1, bei der gar kein Index erstellt wurde. Aufgrund dieser Ergebnisse wird im Folgenden die Variante 2 der Indizes für die relationale Abbildung verwendet. Index Kein Index Variante 2 Variante 3 Variante 4 Sel. 0.0348 0.0228 0.0355 0.0360 (0.0030) (0.0018) (0.0028) (0.0026) Agg. 0.0275 0.0205 0.0273 0.0272 (0.0039) (0.0026) (0.0034) (0.0032) Join 0.2864 0.2852 0.3343 0.3374 (0.0073) (0.0065) (0.0058) (0.0050) Tabelle 6.1: Zeit (s) und Standardabweichung für die unterschiedlichen Indizes 6.5.2.2 Hybride Abbildung Zur Erinnerung wird auch hier kurz das Schema wiederholt: Fact(id,value,source,attributes) Für attributes kann einer der Datentypen hstore, json oder jsonb verwendet werden. Bei hstore werden B-Baum-, Hash-, GIN- (Generalized Inverted Index) und GiST-Indizes (Generalized Search Tree) unterstützt, dabei erlauben Hash- und B-Baum-Indizes nur die Verwendung des Operators = [Gro14, S. 2689]. GIN- und GiST-Indizes erlauben die Überprüfung, ob ein Teildokument oder Schlüssel in einem Dokument enthalten ist [Gro14, S. 2689]. Dies kann in den einzelnen Anfragen nicht verwendet werden, da die Gruppierung bei der Aggregation und der Join den Operator = erfordert und die Selektion den Operator ≤ erfordert. Diese Indextypen werden der Vollständigkeit halber dennoch evaluiert. 86 Kapitel 6 Evaluation des generischen Schemas In Tabelle 6.2 werden die Ergebnisse der Evaluation der verschiedenen Varianten der Indizierung für hstore präsentiert. In der ersten Variante wurden keine Indizes angelegt. In den weiteren Varianten wurden ein B-Baum Index für source und ein B-Baum-, Hash-, GIN- oder GiST-Index für attributes angelegt. Dabei war auch wieder d = 4 und n = 10 und alle Tests wurden mit VACUUM ANALYZE 25 mal durchgeführt. Index Kein Index B-Baum GIN GiST Hash Sel. 0.0105 0.0104 0.0104 0.0104 0.0103 (0.0012) (0.0008) (0.0011) (0.0009) (0.0009) Agg. 0.0086 0.0086 0.0083 0.0081 0.0084 (0.0009) (0.0009) (0.0008) (0.0006) (0.0006) Join 0.0583 0.0824 0.0812 0.0807 0.0815 (0.0037) (0.0035) (0.0041) (0.0040) (0.0032) Tabelle 6.2: Zeit (s) und Standardabweichung für die unterschiedlichen hstore-Indizes Zwischen den einzelnen Resultaten lässt sich bis auf den Join, der ohne Index schneller lief, kein signifikanter Unterschied erkennen. Für GIN- und GiST-Indizes lässt sich dies damit begründen, dass die einzelnen Anfragen die Operatoren, die durch die Indizes unterstützt werden, nicht verwenden können. Bei B-Baum- oder Hash-Indizes hätte allerdings die Gruppierung bei der Aggregation durch die Verwendung der Indizes beschleunigt werden können [Gro14, S. 2689]. Ebenso hätte der Join durch B-Baum- oder Hash-Indizes beschleunigt werden können. Die optimierten Operatorgraphen für diese Anfragen zeigten, dass die Indizes keine Verwendung fanden. Nur für den Join wurde ein Index-Scan über den B-Baum-Index für source anstatt einer sequentiellen Suche verwendet. Dies scheint der Grund für die schnellere Ausführung des Joins ohne Index zu sein. In weiteren Arbeiten sollte genauer evaluiert werden, ob bei größeren Datenmengen B-Baum- oder Hash-Indizes eine Beschleunigung bringen. Für den Datentyp json unterstützt PostgreSQL keine Indexerstellung [Gro14, S. 142]. Für jsonb werden GIN-, Hash- und B-Baum-Indizes unterstützt [Gro14, S. 145ff]. Da hier B-Baum und Hash Indizes nur die Gleichheit ganzer JSON-Dokumente prüfen können [Gro14, S. 147], wurden diese nicht evaluiert. Ebenso wurde der GIN-Index nicht evaluiert, da die von diesem Indextyp unterstützten Operatoren bei den Anfragen nicht verwendet werden können. In Tabelle 6.3 auf der nächsten Seite werden noch hstore, json und jsonb jeweils ohne Indizes verglichen. Dabei zeigt sich, dass hstore deutlich schneller als json ist. Der in PostgreSQL Version 9.4 neu hinzugefügte Datentyp jsonb erreicht fast die Geschwindigkeit von hstore. Da jsonb im Gegensatz zu den einfachen Attribut-Wert-Paaren von hstore geschachtelte Dokumente und Listen unterstützt, mag dies für einige Anwendungen eine interessante Option sein. Für die Abbildung von EAV sind Attribut-Wert-Paare 6.5 Ergebnisse 87 allerdings ausreichend. Im Folgenden wird aufgrund der Ergebnisse in diesem Abschnitt für die hybride Abbildung der Datentyp hstore ohne Indizes verwendet. Index hstore json jsonb Sel. 0.0105 (0.0012) 0.0265 (0.0018) 0.0121 (0.0009) Agg. 0.0086 (0.0009) 0.0195 (0.0019) 0.0098 (0.0008) Join 0.0583 (0.0037) 0.1008 (0.0038) 0.0617 (0.0033) Tabelle 6.3: Zeit (s) und Standardabweichung für die unterschiedlichen Datentypen 6.5.3 Evaluationsergebnisse Es wurden Faktenwürfel der Größe nd evaluiert für n = 10 und d = 3, . . . ,6. Diese Größen wurden aufgrund der Überlegungen aus Abschnitt 6.3 gewählt. Es wurde die Zeit für das Einfügen eines Faktenwürfels in eine leere Datenbank gemessen. Für alle anderen Anfragen wurde ein Faktenwürfel der gewählten Größe eingefügt und die Zeit für die Anfrageverarbeitung gemessen. Für den Join wurden zwei Faktenwürfel der entsprechenden Größe eingefügt. Für das Hinzufügen von Attributen wurde für jede Anfrage die Datenbank geleert und ein neuer Faktenwürfel erstellt. Für alle anderen Anfragen wurde ein einmal erstellter Faktenwürfel für mehrere Messungen verwendet. Jede Messung wurde, falls möglich, 25 mal wiederholt. In Tabelle 6.4 auf der nächsten Seite werden für jeden Test der Mittelwert und die Standardabweichung in Sekunden aufgelistet. Ebenso werden die Ergebnisse in den Abbildungen 6.2 [S. 89] und 6.3 [S. 90] anschaulich dargestellt. Da die Anzahl der Fakten exponentiell mit d steigt, wurde hier eine logarithmische Skala gewählt. Die Messungen (bis auf das Einfügen) wurden abgebrochen, wenn sie nach 300 Sekunden kein Ergebnis lieferten. Da das Einfügen in MongoDB unabhängig von der Anfragesprache ist, wurde dies nur einmal evaluiert und unter MongoDB-QL aufgeführt. Falls keine Standardabweichung angegeben ist, wurde der Test wegen des hohen Aufwands nur zweimal durchgeführt. Die Ergebnisse der einzelnen Testläufe wurden verglichen, um Effekte durch das Zwischenspeichern von Anfrageergebnissen ausschließen zu können. Falls ein Test nur zweimal durchgeführt wurde, wird jeweils das zweite Ergebnis angegeben. Bei PostgreSQL zeigte sich bei einer Reihe von hintereinander folgenden Messungen eine starke Diskrepanz zwischen den einzelnen Ergebnissen. Nach einer gewissen Zahl an Messungen beschleunigte sich die Anfrageausführung teilweise stark. Dies ließ sich damit erklären, dass PostgreSQL nach einer gewissen Anzahl von Anfragen genügend Kapitel 6 Evaluation des generischen Schemas 88 Anfrage Einf. Sel. Agg. Join Attr. hinz. 3 4 5 6 3 4 5 6 3 4 5 6 3 4 5 6 3 4 5 6 Attribute MongoDB-QL 0.0135 (0.0034) 0.1529 (0.0179) 1.7211 (0.0629) 20.406 (0.5031) 0.0027 (0.0007) 0.0137 (0.0019) 0.1195 (0.0083) 1.0065 (0.0102) 0.0019 (0.0002) 0.0166 (0.0021) 0.1553 (0.0105) 1.8129 (0.0216) 0.0167 (0.0021) 0.1853 (0.0128) 1.5744 (0.0335) 34.929 (0.5196) 0.0176 (0.0073) 0.1984 (0.0770) 1.5525 (0.4243) 10.896 (5.6761) (0.0069) (0.0165) (0.0428) (0.1100) (0.0045) (0.0823) (0.0571) (0.3707) (0.0175) (0.0924) (0.5354) (0.8372) (0.1049) (0.0568) (3.3270) (38.005) MongoDB-MR Siehe MongoDB-QL 0.0241 0.1586 1.4263 12.870 0.0319 0.3162 2.7429 29.047 0.1300 1.6846 18.641 210.91 0.1226 0.9181 5.1777 49.961 Relational 0.5380 (0.0167) 6.7452 (0.1977) 81.437 (0.6367) 964.55 0.0030 (0.0004) 0.0224 (0.0018) 0.3631 (0.0102) 4.6818 (0.0759) 0.0017 (0.0002) 0.0212 (0.0022) 0.2568 (0.0101) 4.4585 (0.0853) 0.0241 (0.0020) 0.2860 (0.0058) – – 0.0409 (0.0058) 0.3283 (0.0776) 4.4606 (0.5334) 44.518 hstore 0.1316 1.1929 12.119 125.88 0.0016 0.0105 0.0854 0.8563 0.0011 0.0086 0.1388 2.0821 0.0055 0.0577 1.1116 15.596 0.0205 0.0947 1.3651 19.011 (0.0147) (0.0123) (0.0635) (1.5976) (0.0002) (0.0012) (0.0038) (0.0107) (0.0002) (0.0011) (0.0048) (0.0160) (0.0004) (0.0045) (0.0122) (0.1314) (0.0059) (0.0085) (0.2487) (1.5103) Jena 0.8999 4.7787 63.536 4084.2 0.0625 0.1740 1.5123 14.795 0.0262 0.1455 1.1615 14.772 1.9834 224.77 – – 0.4048 0.7539 4.1812 60.904 (0.1504) (0.0425) (0.0307) (0.0142) (0.0170) (0.0412) (0.0077) (0.0270) (0.0189) (0.0559) (0.0163) (2.1333) (0.0823) (0.0400) Tabelle 6.4: Zeit (s) und Standardabweichung der Ausführungsdauer Klassisch 0.1316 (0.0106) 1.1984 (0.0154) 11.969 (0.0632) 119.08 (0.5079) 0.0010 (8.8e-5) 0.0048 (0.0005) 0.0335 (0.0034) 0.2825 (0.0069) 0.0009 (0.0001) 0.0045 (0.0004) 0.0375 (0.0023) 0.4230 (0.0075) 0.0042 (0.0003) 0.0394 (0.0034) 0.5851 (0.0095) 6.8856 (0.0312) 0.1668 (0.0159) 0.2104 (0.0171) 0.8344 (0.0517) 3.3628 (0.6166) 6.5 Ergebnisse 89 10000 MongoDB-QL MongoDB-MR Relational hstore 1000 Jena Klassisch Zeit (s) 100 10 1 0.1 0.01 3 4 5 Dimensionen 6 Abbildung 6.2: Evaluationsergebnisse für das Einfügen statistische Informationen über die Relationen gesammelt hatte, um Anfrageoptimierungen durchzuführen. Dieses Problem wurde dadurch umgangen, dass ANALYZE vor jeder Anfrage ausgeführt wurde. Auf diese Weise wurde jede Anfrage auf die gleiche Art optimiert. Die Zeit für ANALYZE wurde nicht mitgemessen. Dies lässt sich damit begründen, dass in einem realistischen Szenario die Datenbank lange genug in Verwendung ist, um ausreichend statistische Informationen für die Anfrageoptimierung zu sammeln. Bei dem Hinzufügen eines Attributs schwankten die Ergebnisse von MongoDB sowohl für MapReduce als auch für MongoDB-QL sehr stark. Für dieses Verhalten konnte ohne Kenntnis der internen Vorgänge von MongoDB keine Erklärung gefunden werden. Jena stürzte nach dem Hinzufügen eines Attributs für d = 6 ab, so dass diese Messung nur nach einem Neustart von Jena ein zweites Mal wiederholt werden konnte. Bei dem Hinzufügen von Daten waren bei Jena die beiden Messwerte stark unterschiedlich. Die erste Messung ergab 1864.2s und die zweite Messung ergab 4084.2s trotz der Tatsache, dass die Daten nach dem ersten Einfügen wieder gelöscht wurden. 6.5.4 Evaluation in Abhängigkeit des Füllstands Da bisher alle Anfragen mit einer leeren Datenbank evaluiert wurden, wird in diesem Abschnitt überprüft, inwieweit die Geschwindigkeit der Anfrageausführung vom Füllstand der Datenbank abhängig ist. Zu diesem Zweck wurden die Selektion, die Aggregation und 90 Kapitel 6 Evaluation des generischen Schemas 100 100 MongoDB-QL MongoDB-MR Relational hstore 10 Jena Klassisch MongoDB-QL MongoDB-MR Relational hstore 10 Jena Klassisch 1 Zeit (s) Zeit (s) 1 0.1 0.1 0.01 0.01 0.001 0.001 0.0001 3 4 5 Dimensionen 6 3 (a) Selektion 4 5 Dimensionen 6 (b) Aggregation 1000 100 MongoDB-QL MongoDB-MR Relational hstore 100 Jena Klassisch MongoDB-QL MongoDB-MR Relational hstore Jena Klassisch 10 Zeit (s) Zeit (s) 10 1 1 0.1 0.1 0.01 0.001 0.01 3 4 5 Dimensionen (c) Join 6 3 4 5 Dimensionen (d) Attribut hinzufügen Abbildung 6.3: Evaluationsergebnisse für die einzelnen Anfragen 6 6.5 Ergebnisse 91 der Join für d = 4 auf einer Datenbank evaluiert, welche vorher mit 100 Faktenwürfeln der Größe 104 befüllt wurde. Dies entspricht einem Füllstand von 106 Fakten. Die Faktenwürfel, welche für die Anfragen benötigt werden, werden zusätzlich zu diesen 106 Fakten eingefügt. Die Ergebnisse werden in Tabelle 6.5 auf der nächsten Seite dargestellt. In Abschnitt 6.5.2 wurde evaluiert, welche Indizes die Anfragen am stärksten beschleunigen. Aufgrund der Ergebnisse wurden nur Indizes für die relationale Abbildung von EAV gewählt. Dabei wurde auch ein Index für die Herkunft der Faktenwürfel (das Attribut source) erzeugt. Dieser Index kann für die Auswahl des gewünschten Faktenwürfels aus der Datenbank verwendet werden und sollte die Abhängigkeit der Anfrageverarbeitung vom Füllstand der Datenbank verringern. Bei der Analyse der Anfrageverarbeitung zeigte sich auch, dass der Index für das Attribut source von PostgreSQL verwendet wurde. In Tabelle 6.5 lässt sich allerdings erkennen, dass die relationale EAV-Abbildung dennoch stark vom Füllstand der Datenbank abhängig ist. Für die klassische, die dokumentenorientierte und die hybride Abbildung wurden keine Indizes angelegt. Dies hatte bei der klassischen und der dokumentenorientierten Abbildung den Grund, dass hier Indizes für konkrete Attribute angelegt werden müssen. Da davon ausgegangen wurde, dass die Attribute bei EAV im Voraus nicht bekannt sind, konnten also keine Indizes angelegt werden. Bei der hybriden Abbildung wurde kein Index gewählt, da bei der Evaluation der Indizes keine Beschleunigung der Anfragen durch die Indizes festgestellt wurde. Allerdings wurde hier nicht der Füllstand der Datenbank berücksichtigt. Für eine vorgefüllte Datenbank ist ein Index für das feste Attribut source sinnvoll, da hiermit unter Umständen der Einfluss des Füllstands auf die Anfrageverarbeitung verringert werden kann. Aus diesem Grund wurde die Evaluation für die klassische, die dokumentenorientierte und die hybride Abbildung ein weiteres Mal mit Indizes für das Attribut source und einem Füllstand von 106 Fakten durchgeführt. Die Ergebnisse sind in Tabelle 6.5 dargestellt (106 +I.). Da die relationale Abbildung bereits mit Indizes – auch für das Attribut source – durchgeführt wurde, werden hier die Ergebnisse in der Zeile aufgeführt, welche die Ergebnisse der Evaluation mit Indizes wiedergibt. 6.5.5 Diskussion Die Evaluationsergebnisse in Tabelle 6.4 [S. 88] zeigen eindeutig, dass die nichtrelationalen Abbildungen von EAV eine schnellere Anfrageverarbeitung ermöglichen als die relationale Abbildung. Besonders hervorzuheben sind dabei die dokumentenorientierte Abbildung mit MongoDB-QL als Anfragesprache und die hybride Abbildung, welche beide als klare Gewinner aus dieser Evaluation hervorgehen. Jena mit der Anfragesprache Kapitel 6 Evaluation des generischen Schemas 92 Sel. Anfrage Agg. Join 0 106 106 +I. 0 106 106 +I. 0 106 106 +I. Füllstand MongoDB-QL 0.0137 (0.0019) 0.7120 (0.0119) 0.6206 (0.0097) 0.0166 (0.0021) 0.3630 (0.0149) 0.3114 (0.0027) 0.1853 (0.0128) 0.7545 (0.0165) 0.6529 (0.0138) MongoDB-MR 0.1586 (0.0165) 6.7355 (0.1014) 0.3162 (0.0823) 6.9067 (0.0564) 1.6846 (0.0924) 8.9346 (0.2993) Relational 0.0224 (0.0018) 0.1768 (0.1843) 0.0212 (0.0022) 0.1687 (0.1868) 0.2860 (0.0058) 0.5944 (0.2068) hstore 0.0105 0.1211 0.0098 0.0086 0.1199 0.0075 0.0577 0.2787 0.0755 (0.0012) (0.0027) (7.3e-05) (0.0011) (0.0028) (0.0001) (0.0045) (0.0025) (0.0050) Jena 0.1740 (0.0142) 0.1844 (0.0338) 0.1455 (0.0270) 0.1424 (0.0368) 224.77 (2.1333) 252.78 (4.7018) Tabelle 6.5: Zeit (s) und Standardabweichung der Anfragen Klassisch 0.0048 (0.0005) 0.1581 (0.0040) 0.0057 (0.0013) 0.0045 (0.0004) 0.1312 (0.0027) 0.0047 (0.0008) 0.0394 (0.0034) 0.2935 (0.0023) 0.0407 (0.0011) 6.5 Ergebnisse 93 SPARQL war in allen Fällen langsamer als die relationale Abbildung. Im Vergleich zu der klassischen Abbildung konnte keine der EAV-basierten Abbildungen mithalten. MongoDB-MR war wesentlich langsamer als MongoDB-QL. Allerdings liegt bei MongoDB-MR der Fokus auf der Parallelisierbarkeit und nicht auf der schnellen Ausführung von Ad-hoc-Anfragen. Die Evaluation müsste also in zukünftigen Arbeiten noch einmal hinsichtlich Parallelisierbarkeit durchgeführt werden. Bei der Evaluation einer vorgefüllten Datenbank (Tabelle 6.5 auf der vorherigen Seite) wurde deutlich, dass besonders die Anfrageverarbeitung von MongoDB sowohl mit MongoDB-MR als auch mit MongoDB-QL vom Füllstand der Datenbank abhängig ist. Diese Abhängigkeit wurde auch durch einen zusätzlichen Index nicht deutlich verringert. Während MongoDQ-QL bei einer leeren Datenbank konsequent schneller war als die relationale Abbildung (Tabelle 6.4 auf Seite 88), zeigt sich in Tabelle 6.5, dass dies bei einer vorgefüllten Datenbank nicht mehr der Fall ist. Bei Jena zeigte sich trotz der Tatsache, dass hier keine benutzerdefinierten Indizes angelegt werden konnten, kaum eine Abhängigkeit vom Füllstand. Für die hybride und die klassische Abbildung zeigte sich, dass der zusätzliche Index die Abhängigkeit vom Füllstand der Datenbank stark verringern konnte. Die hybride Abbildung ist im Fall der vorgefüllten Datenbank für alle Anfragen am schnellsten (abgesehen von der klassischen Abbildung). Erstaunlicherweise ist die hybride Abbildung ohne Index sogar etwas schneller als die klassische Abbildung ohne Index. Hierfür konnte außer möglichen Messungenauigkeiten allerdings keine Erklärung gefunden werden. In Annahme 13 [S. 76] wurde festgehalten, dass der zusätzliche Aufwand bei EAV/CR Schemainformationen abzufragen gering im Vergleich zu der Verarbeitung der EAVDaten ist. Aus diesem Grund bestätigt die Evaluation Hypothese 2 [S. 26]. Diese besagte, dass es nichtrelationale Abbildungen von EAV/CR gibt, welche effizienter sind als die relationale Abbildung von EAV/CR. Abschließend lässt sich folgern, dass von den hier evaluierten Alternativen die hybride Abbildung mit dem hstore Datentyp für Szenarien mit einer vergleichbaren Last zu empfehlen ist. In weiteren Arbeiten muss evaluiert werden, ob sich diese Aussage auch auf Szenarien mit anderen Daten und einer anderen Anfragelast übertragen lässt. Ebenso müssen weitere Alternativen für die Abbildung von EAV/CR evaluiert werden. 95 II Unschärfepropagierung 97 7 Datenqualitätsmanagement für Computermodelle “ The temptation to form premature theories upon insufficient data is the bane of our profession. ” (Sherlock Holmes) Der erste Teil dieser Arbeit befasste sich mit dem Entwurf eines generischen Schemas für Simulationseingabedaten. Dabei wurde auch die Problematik der semantischen Integration von Daten berücksichtigt. Im zweiten Teil dieser Arbeit soll die Qualität von Daten hinsichtlich ihres Nutzens als Eingabedaten für Simulationen bewertet werden. Beispiel 12. Im Schlaganfallszenario wurden beispielsweise Wahrscheinlichkeiten für das Überleben eines Patienten verwendet, die auf einer geringen Stichprobengröße basierten. Dies kann dazu führen, dass die Aussagekraft der Simulationsergebnisse nicht ausreicht, um als Basis für wirtschaftliche Entscheidungen zu dienen. In den folgenden Kapiteln müssen mehrere Probleme gelöst werden. Es muss eine Systematik gefunden werden, um die Qualität von Simulationseingaben quantifizieren zu können (Problem 4 [S. 23]). Basierend auf der Qualität der Eingaben muss die Qualität der Simulationsergebnisse abgeschätzt werden können (Problem 5 [S. 23]). Zusätzlich soll die geforderte Qualität der Simulationsergebnisse verwendet werden, um die Sammlung von Daten gezielt steuern zu können (Problem 6 [S. 23]). Beispiel 13. Im Schlaganfallbeispiel könnte die von Domänenexperten geforderte Qualität der Simulationsausgabe für die Abschätzung der Stichprobengröße einer zukünftigen Studie für die Bestimmung der Überlebenschancen verwendet werden. Da die Kosten für eine solche Studie nicht unerheblich sind, sollte die nötige Anzahl an Teilnehmern in dieser Studie so gering wie möglich gehalten werden. In komplexeren Szenarien muss außerdem berücksichtigt werden, dass mehrere Eingabewerte zu der Qualität der Simulationsausgabe beitragen und dass die Verbesserung der Qualität der einzelnen Eingabewerte unterschiedliche Kosten verursacht. Es sollte also eine kostenoptimale Strategie für die Sammlung der Eingabewerte gefunden 98 Kapitel 7 Datenqualitätsmanagement für Computermodelle werden, die garantiert, dass die Qualität der Simulationsergebnisse den gewünschten Anforderungen entspricht. Die relevanten Qualitätskriterien für Daten sind abhängig vom jeweiligen Szenario. Dies führt dazu, dass kein einheitliches Gütekriterium für Daten definiert werden kann. Das allgemeine Konzept „fitness for use“ [WS96] aus der Datenqualitätsliteratur beschreibt diese Abhängigkeit der Gütekriterien von den jeweiligen Anwendungsszenarien. Es kann für einen Datensatz nicht festgestellt werden, ob er gut ist, sondern nur, ob er für einen bestimmten Anwendungszweck von ausreichender Güte ist. Um die Anforderungen an die Güte eines Datensatzes für ein bestimmtes Anwendungsszenario formalisieren zu können, wurde in der Literatur ein mehrdimensionales Konzept für die Beschreibung der Datenqualität entwickelt [WZL02, BS06, Len13b]. Datenqualitätsdimensionen beschreiben dabei unterschiedliche Eigenschaften der Daten, die für die Bewertung der Datenqualität in verschiedenen Anwendungsszenarien relevant sind. Im Folgenden werden die wichtigsten Datenqualitätsdimensionen aus der Literatur vorgestellt und die für Computermodelle relevanten Dimensionen ermittelt. Anschließend wird die besondere Stellung der Unschärfe als Datenqualitätsdimension bei Simulationen begründet und der Zusammenhang zwischen der Unschärfe und den Simulationseingabedaten erläutert. 7.1 Datenqualitätsdimensionen Die gebräuchlichsten Datenqualitätsdimensionen werden nachfolgend vorgestellt. Da die einzelnen Dimensionen in der Literatur teils widersprüchlich definiert werden, werden die für diese Arbeit relevanten Dimensionen in diesem Abschnitt explizit definiert, um Missverständnisse zu vermeiden. Einzelne Dimensionen können je nach Gegenstand der Betrachtung unterschiedliche Bedeutungen haben. Aus diesem Grund wird das Relationenmodell benutzt, um genau definieren zu können, auf was sich eine Datenqualitätsdimension bezieht. Eine relationale Datenbank besteht aus einzelnen Relationen [KE09]. Jede Relation hat ein Schema, welches aus einem Namen und Attributen besteht. Jedes Attribut hat einen Namen und einen Wertebereich. Eine Relation enthält Tupel, welche aus den entsprechenden Attributwerten bestehen und die Ausprägung der Relation darstellen. Eine Besonderheit ist dabei noch der Wert NULL. Dieser kann als Attributwert bei einem Tupel unterschiedliche Bedeutungen haben [Len13a], z. B.: • Der Wert existiert für dieses Tupel, ist aber unbekannt. 7.1 Datenqualitätsdimensionen 99 • Der Wert existiert nicht für dieses Tupel. • Es ist nicht bekannt, ob der Wert für dieses Tupel existiert. Die Datenqualitätsdimensionen, die im Folgenden vorgestellt werden, beziehen sich ausschließlich auf die Ausprägungen von Relationen, da die Qualität des Schemas nicht Fokus dieser Arbeit ist. Korrektheit Die Korrektheit beschreibt die Übereinstimmung zwischen einem Wert w und dem tatsächlichen Wert w′ [BS06, Ble12, Len13b]. Die Korrektheit wird noch weiter unterteilt in syntaktische Korrektheit und semantische Korrektheit. Die syntaktische Korrektheit gibt an, ob ein Wert innerhalb eines definierten Wertebereichs liegt. Die semantische Korrektheit gibt an, ob die Werte von w und w′ übereinstimmen. Genauigkeit Die Genauigkeit beschreibt ebenfalls die Übereinstimmung zwischen w und w′ [BS06, Ble12]. Während die Korrektheit nur angibt, ob w und w′ übereinstimmen, gibt die Genauigkeit den Abstand zwischen w und w′ an. In einigen Arbeiten wird die Genauigkeit als kontextabhängig beschrieben [Ble12]. Darauf wird in dieser Arbeit verzichtet und es wird nur der kontextunabhängige Abstand zwischen w und w′ betrachtet. Dieser Abstand kann über eine beliebige Distanzfunktion definiert werden. Die Kontextabhängigkeit ergibt sich aus der Interpretation des Abstands. Falls die Werte aus Messungen stammen, wird die Genauigkeit weiter unterteilt in Richtigkeit und Präzision [DIN97, VIM12]. Die Richtigkeit und die Präzision sind dabei Eigenschaften des Messverfahrens. Da das Messverfahren die Güte der Messwerte bestimmt, wird häufig auch von der Richtigkeit und Präzision eines Messwerts gesprochen. Für die Definition von Richtigkeit und Präzision wird zu einem tatsächlichen Wert w′ eine unendliche Folge von Messwerten (w1 , . . .) benötigt. Die Richtigkeit ist dabei der Abstand zwischen dem Durchschnitt der Folge (w1 , . . .) und w′ [VIM12]. Die Richtigkeit kann bei Messungen verbessert werden, indem systematische Messfehler beseitigt werden. Die Präzision gibt in Form einer Varianz an, wie stark die (w1 , . . .) untereinander schwanken, und kann verbessert werden, indem zufällige Messfehler beseitigt werden. Meist wird statt „Präzision“ der Begriff „Unschärfe“ verwendet [VIM12]. Unsicherheit Der Begriff „uncertainty“ kann auch andere Bedeutungen haben als die Unschärfe, wie sie in dieser Arbeit definiert wurde. Um Verwechslungen zu vermeiden, soll hier kurz auf die unterschiedlichen Bedeutungen eingegangen werden. Neben „Unschärfe“ ist auch „Unsicherheit“ eine mögliche Übersetzung für den Begriff „uncertainty“. In dieser 100 Kapitel 7 Datenqualitätsmanagement für Computermodelle Arbeit werden diese zwei Begriffe definiert und verwendet, um die zwei unterschiedlichen Bedeutungen von „uncertainty“ auszudrücken. Wie schon im letzten Abschnitt dargelegt, wird der Begriff „Unschärfe“ synonym zur Varianz einer Normalverteilung verwendet, welche die Präzision einer Parametermessung repräsentiert. Beispielsweise kann für ein Attribut Gewicht der unscharfe Wert x ∼ N50, 5 gespeichert werden. Mit dem Begriff „Unsicherheit“ wird in dieser Arbeit der im Datenmanagementumfeld verwendete Begriff „uncertainty“ übersetzt. Gemeint sind dabei diskrete Wahrscheinlichkeitsverteilungen, welche die Existenz von Tupeln und die Werte von Attributen beschreiben [Mot95, SORK11]. Beispielsweise kann das Attribut Gewicht den unsicheren Wert P (Gewicht = 50) = 0.9 enthalten. Diese Unsicherheit wird für die Berechnung der Wahrscheinlichkeit von Anfrageergebnissen herangezogen. Unsicherheit entsteht beispielsweise durch die automatische Integration von Daten [MM10]. Dabei geben die Algorithmen beispielsweise die Wahrscheinlichkeit an, dass zwei Datensätze aus verschiedenen Datenbeständen dieselbe Entität beschreiben. Obwohl Unsicherheit und Unschärfe aus mathematischer Sicht eng miteinander verwandt sind, lässt sich im Rahmen des Simulationsdatenmanagements nur schwerlich ein vereinheitlichtes Konzept für beide „uncertainty“-Begriffe schaffen. Die ursprünglichen Eingabedaten können zwar mit einer Unsicherheit behaftet sein, im Rahmen der Unschärfepropagierung lässt sich diese allerdings nicht trivial mit der Unschärfe der Eingabedaten kombinieren. Da die gemeinsame Betrachtung von Unschärfe und Unsicherheit nicht Fokus dieser Arbeit ist, bleibt diese Fragestellung offen für zukünftige Arbeiten. Weitere Dimensionen Die Vollständigkeit hängt von dem betrachteten Gegenstand ab und kann für alle Elemente des Relationenmodells definiert werden [Ble12, Len13b]. Die Attribut-, Tupel- und Relationsvollständigkeit geben den Anteil der NULL-Werte in den Attributen, Tupeln und Relationen an [Len13b]. Populationsvollständigkeit „beschreibt den Anteil der Datenwerte bezogen auf die tatsächliche Anzahl der zu beschreibenden Objekte“ [Ble12]. Konsistenz gibt die Einhaltung definierter semantischer Regeln wieder, welche für alle Elemente des Relationenmodells definiert werden können [BS06]. Zusätzlich gibt es noch zeitbezogene Dimensionen, wie Aktualität und Rechtzeitigkeit [Ble12], welche sich auf Attributwerte beziehen. Aktualität gibt an, wie zeitnah zu einer Änderung des tatsächlichen Wertes w′ der Attributwert w angepasst wird. Rechtzeitigkeit beschreibt, inwieweit Daten für einen bestimmten Anwendungszweck rechtzeitig zur Verfügung gestellt werden. 7.2 Datenqualitätsdimensionen für Computermodelle 101 Für eine Auflistung weiterer Datenqualitätsdimensionen und deren Definition wird an dieser Stelle auf die Literatur verwiesen: [BS06, WZL02, Ble12, Len13b]. 7.2 Datenqualitätsdimensionen für Computermodelle Für die Betrachtung der Datenqualitätsdimensionen wird eine Simulation vereinfacht als Funktion f : X → Y, x →→ y dargestellt. Bei stochastischen Simulationen ist Y dabei eine Menge von Zufallsvariablen. Um die für die Simulationseingabe x relevanten Datenqualitätsdimensionen zu ermitteln, muss betrachtet werden, welche Eigenschaften der Simulationsausgabe y relevant sind und wie diese durch die Eingabe beeinflusst werden: • Für die Verwendung der Simulationsausgabe ist die Genauigkeit sowohl hinsichtlich Richtigkeit als auch Unschärfe relevant für Entscheidungsträger. Die Richtigkeit der Simulationsausgabe hängt von einer korrekten Modellierung und Implementierung der Simulation und von der Richtigkeit der Eingabe ab. Ebenso hängt die Unschärfe der Ausgabe von der Unschärfe der Eingabe ab [Bar12]. • Eine weitere Rolle spielt die Konsistenz, die von einer korrekten Modellierung und Implementierung der Simulation und von konsistenten Eingabedaten abhängig ist. Mit Hilfe von semantischen Regeln kann die Konsistenz der Simulationsausgabe y überprüft werden. Beispielsweise kann eine Regel besagen, dass die Population eines Landes nie negativ werden kann. • Die Vollständigkeit der Simulationsausgabe ist äquivalent zur Durchführbarkeit der Simulation und hängt direkt von der Vollständigkeit der Eingabedaten ab. • Die Rechtzeitigkeit der Simulationsausgabe hängt von einer rechtzeitigen Implementierung der Simulation, einer rechtzeitigen Sammlung der Eingabedaten und der Dauer der Simulationsläufe ab. • Die Aktualität der Simulationsausgabe hängt von der Aktualität der Eingabedaten und des Modells ab. Um die Ursachen von Datenqualitätsproblemen zu ermitteln und einen Lösungsansatz zu finden, muss der Prozess zur Generierung der Eingabewerte einer Simulation betrachtet werden, da die datenerzeugenden Prozesse entscheidend für die Qualität der Daten sind [WZL02]. Skoogh und Johansson [SJ08] entwickelten einen Prozess (siehe Abbildung 7.1 auf der nächsten Seite) für das Management der Eingabedaten ereignisorientierter Simulationen. Das Ziel war die Vereinfachung der Datensammlung durch ein strukturiertes Vorgehen. Zudem sollte die Effizienz durch die Vermeidung von unnötiger Arbeit gesteigert werden. Dies sollte durch die genaue Definition der benötigten Daten und der 102 Kapitel 7 Datenqualitätsmanagement für Computermodelle Abbildung 7.1: Prozess für das Management von Simulationseingabedaten (Grafik von Skoogh und Johansson [SJ08][S. 1730]) 7.3 Simulation-Input-Modeling 103 benötigten Genauigkeit erreicht werden. Explizite Validierungsschritte und Regelkreise sollten der Steigerung der Genauigkeit der Eingabedaten dienen. Der Prozess von Skoogh und Johansson ist generisch und somit auch bei agentenbasierten und SD-Simulationen anwendbar. Bei diesem Prozess wird davon ausgegangen, dass bei Simulationen alle gesammelten Eingabedaten in Form von Wahrscheinlichkeitsverteilungen dargestellt werden, deren Parameter wiederum als Eingabewerte für die Simulation dienen. Der Prozess von Skoogh und Johansson beginnt mit der Definition der benötigten Eingabeparameter und der benötigten Genauigkeit. Danach folgt eine generische Datensammlung, die einen Regelkreis enthält, der sicherstellen soll, dass die gesammelten Daten den Anforderungen entsprechen. Im Anschluss an die Datensammlung ist der zentrale Schritt des Prozesses die statistische Repräsentation der Eingabedaten. Skoogh und Johansson [SJ08] gehen hier davon aus, dass eine stochastische Simulation ausschließlich Wahrscheinlichkeitsverteilungen als Eingaben besitzt. Die gesammelten Eingabedaten werden mittels Verteilungsfunktionen modelliert, die entweder diskret oder kontinuierlich sein können und möglicherweise mehrdimensional sind. Dieser Schritt ist in der Simulationsliteratur unter dem Begriff „Simulation-Input-Modeling“ [BG10, Law07] bekannt und wird im nächsten Abschnitt detailliert beschrieben. Für die Datensammlung gelten die oben genannten Datenqualitätsdimensionen, die mit klassischen Methoden [BS06, WZL02] beherrschbar sind. Rechtzeitigkeit und Aktualität lassen sich über die zeitliche Planung des Datensammlungsprozesses kontrollieren. Ebenso lässt sich die Konsistenz der Eingabedaten mit regelbasierten Werkzeugen verbessern [Ble12]. Für die Messung der Vollständigkeit der Eingabedaten kann die Spezifikation der Eingabeparameter der Simulation herangezogen werden. Die Behandlung der Unsicherheit von Daten wird ebenfalls im Rahmen des herkömmlichen Datenqualitätsmanagements behandelt [Mot95, SORK11]. Da für diese Probleme in der Literatur [BS06, WZL02, Ble12] bereits Lösungsansätze existieren, wird im Rahmen dieser Arbeit nicht weiter auf die herkömmliche Datenqualitätsproblematik der Datensammlung eingegangen. Übrig bleibt die Datenqualitätsproblematik, die im Zusammenhang mit dem Simulation-Input-Modeling steht. Auf diese wird im nächsten Abschnitt eingegangen. 7.3 Simulation-Input-Modeling Simulation-Input-Modeling ist die Bestimmung einer Verteilungsfunktion p(d) anhand einer Reihe von Beobachtungen (d1 , . . . ,dn ). Es muss von folgender Annahme ausgegangen werden: 104 Kapitel 7 Datenqualitätsmanagement für Computermodelle Annahme 15. Die gesammelten Daten (d1 , . . . ,dn ) sind entsprechend der exakten Wahrscheinlichkeitsverteilung p(d) verteilt. Dabei werden häufig die Parameter u einer Familie von exakten Verteilungsfunktionen pu (d) mit einem Schätzer û bestimmt. Wie schon in Abschnitt 3.2.2 dargelegt, gibt es neben der Darstellung als exakte Verteilungsfunktion noch weitere Möglichkeiten, eine statistische Repräsentation der Eingabedaten zu erhalten [Law07, S. 279]. Falls die Bestimmung einer exakten Verteilungsfunktion nicht möglich ist, können einerseits die Beobachtungen selbst anstatt einer statistischen Repräsentation verwendet werden. Dies schränkt allerdings die Flexibilität beim Ziehen von Stichproben während der Ausführung der Simulation ein. Andererseits kann auch eine empirische Verteilungsfunktion bestimmt werden. Die Genauigkeit dieser Funktion ist allerdings gegenüber einer exakten Verteilungsfunktion eingeschränkt [Law07, S. 279f]. Aus diesen Gründen werden diese Alternativen im Rahmen dieser Arbeit nicht weiter betrachtet, da das Schätzen von Verteilungsparametern den anderen Verfahren vorzuziehen ist [Law07, S. 279]. Dies wurde in Annahme 12 [S. 49] festgehalten. Im Rahmen dieser Arbeit wird davon ausgegangen, dass eine stochastische Simulation sowohl die Parameter der Wahrscheinlichkeitsverteilungen p1,u1 , . . . ,pk,uk als auch einen weiteren Parametervektor u+ als Eingaben besitzen kann. Dieser weitere Parametervektor stellt für den Anwender eine Möglichkeit dar, Parameter für die Simulation anzugeben ohne ein stochastisches Modell dafür zu entwickeln. Die Bestimmung von Verteilungsparametern u anhand von Beobachtungen (Stichprobe) wird dabei mittels einer Schätzfunktion û durchgeführt. Schätzfunktionen, die auf der Maximum-Likelihood-Methode basieren, werden als MLE bezeichnet [Fis22]. Da diese auf fast alle Probleme anwendbar sind und die verbreitetste Klasse von Schätzern ausmachen, beschränkt sich diese Arbeit auf die Betrachtung von MLE. Da die Stichprobe, auf der die Schätzung der Verteilungsparameter beruht, das Ergebnis eines Zufallsexperiments ist, ist eine Schätzfunktion selber wieder eine Zufallsvariable. MLE sind asymptotisch normalverteilt [Cra46, S. 500], d.h. bei einer genügend großen Stichprobe sind MLE annähernd normalverteilt. Ab welcher Stichprobengröße eine Schätzfunktion annähernd normalverteilt ist, hängt einerseits von der Schätzfunktion und andererseits von der benötigten Annäherungsgenauigkeit an die Normalverteilung ab. Annahme 16. Im Folgenden wird davon ausgegangen, dass alle Stichproben genügend groß sind und MLE annähernd normalverteilt sind. 7.3 Simulation-Input-Modeling 105 Für eine genaue Betrachtung der Konvergenzraten wird an dieser Stelle auf weiterführende Literatur verwiesen: [BM10]. Ob Annahme 16 auf der vorherigen Seite zutrifft, wird in der Evaluation (Abschnitt 11.1) diskutiert. Die entscheidenden Datenqualitätsdimensionen im Rahmen des Simulation-InputModeling sind die Unschärfe und Richtigkeit der Schätzung der Verteilungsparameter. Im letzten Abschnitt wurde davon ausgegangen, dass die Datenqualität der gesammelten Daten mittels herkömmlicher Methoden kontrolliert wurde. Es wird also die folgende Annahme getroffen: Annahme 17. Die Unschärfe und Richtigkeit der Parameterschätzung hängt nur vom Schätzer û ab. Da MLE unter dieser Annahme asymptotisch die wahren Verteilungsparameter abschätzen [Cra46, S. 500], ist die Richtigkeit der Abschätzung gewährleistet. Die Unschärfe der Abschätzung hängt bei MLE von der Größe der Stichprobe ab, die für die Parameterschätzung verwendet wird. Dieser Zusammenhang wird im nächsten Abschnitt genauer erläutert. Die Datenqualitätsdimension, die im Rest dieser Arbeit betrachtet wird, ist also die Unschärfe der Parameterschätzung. Aufgrund der asymptotischen Normalverteiltheit von MLE kann diese Unschärfe durch die Varianz der annähernd normalverteilten Parameterschätzung beschrieben werden. Im Folgenden werden die Begriffe „Varianz“ und „Unschärfe“ synonym verwendet. In Beispielen wird zur Veranschaulichung allerdings meistens die Standardabweichung statt der Varianz verwendet. Dies wird an den entsprechenden Stellen kenntlich gemacht. Die in diesem Abschnitt angestellten Überlegungen unterstützen Annahme 7 [S. 28], dass die normalverteilte Unschärfe die wichtigste Datenqualitätsdimension für das Management von Simulationseingabedaten darstellt. Obwohl SD-Modelle keine stochastischen Elemente besitzen, ist auch für sie die Unschärfe entscheidend, da auch die Parameter von SD-Modellen durch fehlerbehaftete Mess- oder Schätzverfahren bestimmt werden. Ebenso wird auch der weitere Parametervektor u+ mit unscharfen Mess- oder Schätzverfahren bestimmt. Im Folgenden wird demnach von folgender Annahme ausgegangen: Annahme 18. Die Eingabeparameter einer Simulation sind entweder Parameter von exakten Wahrscheinlichkeitsverteilungen und werden mittels MLE aus Stichproben bestimmt oder sie sind weitere Parameter, die mit einer festen normalverteilten Unschärfe behaftet sind. Falls eine Simulation von den Wahrscheinlichkeitsverteilungen p1,u1 , . . . ,pk,uk und dem Vektor von weiteren Parametern u+ abhängig ist, so ist der Vektor von Eingabeparametern: u = (u1 , . . . ,uk ,u+ ). 106 Kapitel 7 Datenqualitätsmanagement für Computermodelle 7.4 Bedarfsgetriebene Datenakquisition In den letzten Abschnitten wurde festgelegt, dass ausschließlich die Unschärfe der Parameter als Datenqualitätsdimension betrachtet wird. In Abschnitt 7.1 wurde die Unschärfe als Eigenschaft einer unendlichen Reihe von Messwerten definiert. Somit liegt zwar eine theoretische Definition vor, aber noch keine Möglichkeit für die Bestimmung der Unschärfe eines Wertes. In diesem Abschnitt wird nun beschrieben, wie der Prozess der Parameterschätzung mit der Unschärfe der Parameter zusammenhängt. Dieser Zusammenhang kann dann dazu benutzt werden, um die Unschärfe eines Parameters konkret näherungsweise aus den Eigenschaften der Parameterschätzung zu bestimmen. Außerdem kann der Zusammenhang verwendet werden, um die Eigenschaften der Parameterschätzung so zu verändern, dass eine gewünschte Obergrenze für die Unschärfe nicht überschritten wird. Es soll von einem MLE û ausgegangen werden, der den unbekannten Parameter u einer Verteilungsfunktion pu (d) ausgehend von den Beobachtungen (d1 , . . . ,dn ) abschätzt. Später in diesem Abschnitt wird dieser Ansatz für den Fall erweitert, dass p mehrere Parameter besitzt und somit u und û Vektoren sind. Hier wird das Symbol û sowohl für den Schätzer als auch für das Ergebnis der Schätzung verwendet, da sich die jeweilige Bedeutung aus dem Kontext ergibt. Wie im letzten Abschnitt schon beschrieben, ist û selbst wieder eine Zufallsvariable, da die Beobachtungen (d1 , . . . ,dn ) eine zufällige Stichprobe einer Grundgesamtheit darstellen. Bei einer genügend großen Anzahl an Beobachtungen ist û annähernd normalverteilt û ∼ Nu, Var(û) . Die Unschärfe der Parameterschätzung ist also die Varianz dieser Normalverteilung. Für die Varianz eines erwartungstreuen Schätzers gilt die Cramér-Rao-Ungleichung [Cra46, S. 480][Rao45]: Var(û) ≥ 1 nI(u) (7.1) Dabei ist die Fisher-Information I ein Maß für den Informationsgewinn durch eine Beobachtung [Kü05]: ∂ log pu (d) I(u) = Ed ∂u 2 = − Ed 2 ∂ 2 log pu (d) ∂ log pu (d) = − pu (d) dd (7.2) ∂u2 ∂u2 Ein Schätzer û wird „effizient“ genannt, wenn in (7.1) die Gleichheit erreicht wird und somit Var(û) = (nI(u))−1 gilt. MLE sind asymptotisch effizient [Cra46, S. 500], d.h. bei einer genügend großen Anzahl an Beobachtungen sind MLE annähernd effizient. 7.4 Bedarfsgetriebene Datenakquisition 107 Sind nun die Anzahl der Beobachtungen n und die Verteilung pu bekannt, so kann die Varianz des Schätzers û abgeschätzt werden: Var(û) ≈ 1 nI(û) (7.3) Hierbei wurde u durch die Abschätzung û ersetzt, da der tatsächliche Wert von u nicht bekannt ist. Das Wissen über den Parameter u lässt sich nun ausdrücken über die Konfidenzverteilung Nû, Var(û) [XS13]. Die Interpretation dieser Verteilung ist schwierig, da der Parameter u fest aber unbekannt ist und für u somit keine Wahrscheinlichkeitsverteilung angegeben werden kann. Für eine Diskussion möglicher Interpretationen wird an dieser Stelle auf die Literatur verwiesen: [XS13]. Eine einfache Möglichkeit der Interpretation ist die Verwendung der Quantile von Nû, Var(û) für die Bestimmung von Konfidenzintervallen für den Schätzer û. Die Konfidenzverteilung Nû, Var(û) entspricht bis auf den Mittelwert u der Verteilung Nu, Var(û) des Schätzers û. Da der Mittelwert u unbekannt ist, kann allerdings immer nur die Konfidenzverteilung bestimmt werden. Mit Hilfe der Cramér-Rao-Ungleichung lässt sich auch die Anzahl an Beobachtungen n abschätzen, die nötig ist, um eine bestimmte maximale Varianz v zu erreichen: 1 n≈ vI(u) (7.4) Dabei ist zu beachten, dass in diesem Fall der tatsächliche Wert von u wieder unbekannt ist und auch nicht durch û abgeschätzt werden kann, da bei der Bestimmung der nötigen Anzahl an Beobachtungen noch keine Beobachtungen vorliegen. Da dies die Abschätzung von n unmöglich machen würde, muss also davon ausgegangen werden, dass die Parameterschätzung in mehreren Phasen abläuft und somit zumindest eine grobe initiale Abschätzung û∗ von u existiert. Annahme 19. Für den Wert von u existiert eine Abschätzung û∗ . Diese ist normalverteilt mit einer Varianz Var(û∗ ) ≫ Var(û). Wie damit umzugehen ist, dass diese initiale Abschätzung von u bereits mit Unschärfe behaftet ist, wird in Abschnitt 10.6 diskutiert. Zunächst wird davon ausgegangen, dass u bekannt ist. An dieser Stelle kann nun die bedarfsgetriebene Datenakquisition definiert werden: Definition 7 (Bedarfsgetriebene Datenakquisition). Der Bedarf einer Datensammlung wird durch die maximale Unschärfe v festgelegt, welche ein Schätzer û für einen Para- 108 Kapitel 7 Datenqualitätsmanagement für Computermodelle meter u einer Verteilung pu haben darf. Eine Datensammlung ist bedarfsgetrieben, wenn die Unschärfe v mit einer minimalen Anzahl n an Beobachtungen erreicht wird. Beispielsweise soll bei einer politischen Umfrage die Wahrscheinlichkeit, dass eine Person eine bestimmte Partei wählt, durch die Befragung einer Stichprobe der Bevölkerung bestimmt werden. Wird nun eine maximale Unschärfe für die Schätzung dieser Wahrscheinlichkeit definiert, so kann die Größe der Stichprobe bestimmt werden, die für die Befragung nötig ist. Allerdings ist dabei zu beachten, dass bereits eine grobe initiale Schätzung der Wahrscheinlichkeit (beispielsweise aus dem Vorjahr oder aus der Befragung einer kleineren Stichprobe) vorliegen muss. Für den Fall, dass eine Verteilung pu von einem Vektor von Parametern u = (u1 , . . . ,um ) abhängt, so kann die folgende Variante der Cramér-Rao-Ungleichung verwendet werden [Kü05]: Var(ûi ) ≥ [(nI(u))−1 ]ii (7.5) Dabei ist I(u) die Fisher-Informationsmatrix [Kü05]: [I(u)]ij = Ed ∂ log pu (d) ∂ log pu (d) ∂ 2 log pu (d) = − Ed ∂ui ∂uj ∂ui ∂uj (7.6) Allgemein gilt für die Kovarianzmatrix Σ u von û = (û1 , . . . ,ûm ) bei mehreren Parametern [Kü05]: Σ u ≥ nI(u)−1 (7.7) Falls ∀i ̸= j [I(u)]ij = 0 gilt, wird der Parametervektor u als orthogonal bezeichnet [Huz50]. I(u) ist in diesem Fall eine Diagonalmatrix und somit ist auch I(u)−1 eine Diagonalmatrix. Wenn dies der Fall ist, so sind die Schätzer ûi asymptotisch unabhängig voneinander [CR87], da für eine große Zahl an Beobachtungen Σ u ≈ nI(u)−1 gilt. Falls eine Verteilung mehr als 2 Parameter hat, kann nicht garantiert werden, dass eine orthogonale Parametrierung im allgemeinen Fall gefunden werden kann [Huz50, Jef61]. Allerdings lässt sich im Allgemeinen eine lokal orthogonale Parametrierung u∗ mit u = T(u∗ ) mit einer Transformation T finden [Jef61], so dass u∗ für ein festes u näherungsweise orthogonal ist. Da in Annahme 19 auf der vorherigen Seite davon ausgegangen wurde, dass eine Abschätzung für u bekannt ist und somit das Verfahren für die lokale Orthogonalisierung für diesen Wert angewendet werden kann, wird von folgender Annahme ausgegangen: Annahme 20. pu besitzt eine orthogonale Parametrierung u. 7.4 Bedarfsgetriebene Datenakquisition 109 Laut dieser Annahme sind bei Verteilungen mit mehreren Parametern die MLE für diese Parameter asymptotisch unabhängig voneinander. Im Weiteren wird nun auch davon ausgegangen, dass die Parameter verschiedener Verteilungen p1,u1 , . . . ,pk,uk und der weitere Parametervektor u+ unabhängig voneinander sind. Falls einzelne Verteilungen voneinander abhängig sind, so sollten diese als eine gemeinsame mehrdimensionale Verteilung modelliert werden, für die wieder eine lokal orthogonale Parametrierung gefunden werden kann. Die Annahme, dass der weitere Parametervektor u+ unabhängig von anderen Parametern ist, muss getroffen werden, da für diese Parameter per Definition kein stochastisches Modell existiert, welches Korrelationen beschreiben könnte. Aus dem gleichen Grund muss angenommen werden, dass die Komponenten von u+ paarweise unabhängig voneinander sind. Annahme 18 [S. 105] und Annahme 20 auf der vorherigen Seite werden also erweitert um die folgende Annahme: Annahme 21. Die Parameter verschiedener Verteilungen p1,u1 , . . . ,pk,uk und ein weiterer Parametervektor u+ sollen geschätzt werden. Der Vektor von Schätzern û = (û1 , . . . ,ûk ,û+ ) ist normalverteilt mit û ∼ Nu,Σ u . û+ ist dabei ein Pseudoschätzer, der die normalverteilte Schätzung für den weiteren Parametervektor u+ beschreibt. u ist hier der Vektor der tatsächlichen Parameter (u1 , . . . ,uk ,u+ ). Die einzelnen Verteilungen pi,ui sind paarweise unabhängig voneinander und die Komponenten der einzelnen Parametervektoren ui sind orthogonal zueinander. Σ u ist dann aufgrund der Unabhängigkeit und Orthogonalität eine Diagonalmatrix, welche entlang der Diagonale die Varianzen der einzelnen Schätzer enthält. Im Folgenden wird zur besseren Lesbarkeit û als x bezeichnet, um deutlich zu machen, dass dies die Eingabe der Simulation ist. Beispiel 14. Bisher diente das Schlaganfallszenario als fortlaufendes Beispiel. Im zweiten Teil dieser Arbeit soll ein vereinfachter Teil dieses Beispiels zur Veranschaulichung der verschiedenen Konzepte dienen. Dazu wird das Diagnostizieren von Patienten mit einem Computertomographen, der beispielsweise für die Diagnose von Schlaganfällen verwendet wird, als M/M/1-Warteschlangensystem modelliert [BINM01]. Die Länge der Warteschlange in diesem System ist unbegrenzt. Neue Patienten erscheinen zufällig, wobei die Zwischenankunftszeiten entsprechend einer Exponentialfunktion expr (x) = re−rx mit Ankunftsrate ra verteilt sind. Es gibt eine Station (Computertomograph), die jeweils einen Patienten diagnostiziert. Die Diagnosezeiten pro Patient sind ebenfalls entsprechend einer Exponentialfunktion mit Bedienrate rb verteilt. Um mittels der Cramér-Rao-Ungleichung die Anzahl an Beobachtungen abschätzen zu können, welche die Bestimmung der Parameter ra und rb mit einer Unschärfe von 110 Kapitel 7 Datenqualitätsmanagement für Computermodelle v ermöglicht, wird die Fisher-Information für die Rate von Exponentialverteilungen benötigt (Eine detailliertere Herleitung findet sich in Anhang E.5): I(r) = − Ex ∂ 2 log(r) − rx = − −r−2 dx = r−2 ∂r2 (7.8) Zum Beispiel lässt sich für die Rate ra = 0.5 abschätzen, wie viele Beobachtungen nötig sind, um eine Schätzung von ra mit einer Unschärfe von v = 0.0001 zu erzielen: n ≥ (vI(ra ))−1 = (0.5)2 /0.0001 = 2500 (7.9) Ein Problem in diesem Beispiel ist die Tatsache, dass ra bekannt sein muss, um die Anzahl an Beobachtungen für die Bestimmung von ra abzuschätzen. Eine Lösung für dieses Problem wird in Abschnitt 10.6 diskutiert. Dabei muss zumindest von einer groben initialen Abschätzung für Parameter, wie z. B. ra , ausgegangen werden. 7.5 Unschärfe in Simulationen Für die weitere Betrachtung der Unschärfe in Simulationen wird ein mathematisches Modell für stochastische Simulationen verwendet. Simulationen ohne stochastische Komponente, wie z. B. SD-Simulationen, werden als Spezialfall stochastischer Simulationen angesehen. Im Gegensatz zu den Modellen in Kapitel 3, die dazu dienten einen Überblick über die möglichen Eingabedaten zu erhalten, dient dieses Modell dazu, formal mit Unschärfe umgehen zu können. Eine stochastische Simulation wird durch ihre zugrundeliegende deterministische Funktion f : RD → R, x →→ y dargestellt, welche durch die Simulation berechnet werden soll. Wenn h Ausgaben einer Simulation betrachtet werden, so wird dies über einen Vektor von Funktionen (f1 , . . . ,fh ) realisiert. Die im Folgenden vorgestellten Methoden lassen sich meist auf die einzelnen Funktionen fi anwenden. An Stellen an denen das Zusammenspiel der einzelnen Ausgaben der Simulation relevant ist, wird im Folgenden explizit eine Lösung für mehrere Ausgaben vorgestellt. Der Eingabevektor x von f setzt sich aus allen Parametern der Wahrscheinlichkeitsverteilungen, die im Rahmen des Simulation-Input-Modeling ermittelt wurden, und aus weiteren Eingabeparametern û+ zusammen. Laut Annahme 21 auf der vorherigen Seite ist x normalverteilt mit Mittelwert u (der tatsächliche Wert der Parameter) und der diagonalen Kovarianzmatrix Σ u . Die einzelnen Komponenten von x sind also stochastisch unabhängig voneinander. Die Ausgabe y für ein x lässt sich nicht direkt beobachten, da 7.5 Unschärfe in Simulationen 111 die stochastische Simulation die Funktion f nur approximiert. Die zu einem x zugehörige Beobachtung t ist behaftet mit einem Fehler ε, so dass gilt: t = f (x) + ε. Dieses ε ist eine Zufallsvariable und repräsentiert die Summe der Zufälle, die bei der Berechnung des Ergebnisses der Simulation eine Rolle gespielt haben. Da sich der Fehler ε meist summarisch aus mehreren simulationsinhärenten Zufallsvariablen zusammensetzt, kann laut zentralem Grenzwertsatz davon ausgegangen werden, dass ε annähernd normalverteilt ist mit einer Varianz vt (ε ∼ N (0,vt )) [BNX13]. Ob diese Varianz vt als abhängig von x betrachtet werden soll oder nicht, wird in Kapitel 8.1 diskutiert. Die Unschärfe vt berücksichtigt hierbei noch nicht die Unschärfe, die bei der Bestimmung der Eingabeparameter entsteht. Zusätzlich zu der Unschärfe der Eingabeparameter beeinflusst also auch die stochastische Simulation selbst die Unschärfe der Simulationsausgabe. Um diese unterschiedlichen Quellen von Unschärfe unterscheiden zu können, werden die folgenden Begriffe definiert [O’H06]: Die aleatorische Unschärfe vt resultiert aus dem simulationsinhärenten Zufall, der durch Wahrscheinlichkeitsverteilungen repräsentiert wird. Die epistemische Unschärfe Σ u resultiert aus dem mangelnden Wissen über die Parameter der Wahrscheinlichkeitsverteilungen, die als Eingabewerte dienen. Dieser Mangel an Wissen stammt daher, dass die Parameter aufgrund einer begrenzten Stichprobe bestimmt wurden. Sowohl die aleatorische wie auch die epistemische Unschärfe bestimmen die Unschärfe der Simulationsausgabe. In Abschnitt 8.2 wird beschrieben, wie sich die Unschärfe der Simulationsausgabe aus aleatorischer und epistemischer Unschärfe berechnen lässt. Dieses Vorgehen wird Unschärfepropagierung genannt. Da die formalen Modelle für Simulationen sowohl in Kapitel 3 als auch der einfachere Formalismus in diesem Kapitel zu allgemein sind, um eine analytische Unschärfepropagierung zu ermöglichen, werden meist Surrogatmodelle verwendet, welche die eigentliche Simulation approximieren und mathematisch einfach genug sind, um eine analytische Unschärfepropagierung zu ermöglichen. Diese Surrogatmodelle werden basierend auf einer Reihe von Beobachtungen B = {xi ,ti }N i=1 von Simulationsläufen erstellt. Aus diesem Grund sind diese Surrogatmodelle eine weitere Quelle von Unschärfe, die Surrogat-Unschärfe genannt wird. Im nächsten Kapitel werden Surrogatmodelle genauer erläutert. 113 8 Grundlagen der Unschärfepropagierung “ Once the mean and covariance functions are defined, everything else about GPs follows from the basic rules of probability applied to multivariate Gaussians. ” (Zoubin Ghahramani) Im Rahmen dieser Arbeit werden nichtdeterministische Simulationen betrachtet (siehe Abschnitt 3.1) und es soll möglich sein, die Unschärfe der Simulationsausgabe basierend auf der Unschärfe der Eingabeparameter abzuschätzen. Aufgrund der Komplexität der Simulationsmodelle und der Tatsache, dass diese mit unterschiedlichen Werkzeugen modelliert und implementiert werden, können die Modelle nicht direkt analysiert werden. Eine übliche Vorgehensweise in einem solchen Fall ist die Erstellung von Surrogatmodellen, welche die Simulation approximieren. Diese Surrogatmodelle werden auf Basis der Ergebnisse von mehreren Simulationsläufen mit unterschiedlichen Eingabewerten erstellt. Dabei dienen Methoden der Regressionsanalyse dazu, den Zusammenhang zwischen den Eingaben und der Simulationsausgabe zu modellieren. Die Regression mit Gaußprozessen, die auch unter dem Namen „Kriging“ bekannt ist [RW06], wird in der Literatur für die Analyse von Simulationen empfohlen [SWMW89, SWN03, Kle08, ANS10]. Zudem zeigte eine Evaluation durch Rasmussen [Ras96], dass Gaußprozesse oft herkömmlichen Techniken zur Regression überlegen sind. Deswegen wurde in Annahme 8 [S. 29] davon ausgegangen, dass Gaußprozesse als Surrogatmodelle für nichtdeterministische Black-Box-Simulationen geeignet sind. In den folgenden Abschnitten werden die mathematischen Grundlagen von Gaußprozessen erläutert und es wird eine Methode zur Unschärfepropagierung durch Gaußprozesse vorgestellt. 114 Kapitel 8 Grundlagen der Unschärfepropagierung 8.1 Gaußprozesse Definition 8 (Gaußprozess). Ein Gaußprozess ist eine unendliche Menge von (reellen) Zufallsvariablen, bei der jede endliche Teilmenge entsprechend einer mehrdimensionalen Normalverteilung verteilt ist. (Rasmussen [Ras04]) Da die Anzahl von gemeinsam normalverteilten Zufallsvariablen die Dimensionalität einer Normalverteilung bestimmt, wird bei einem Gaußprozess häufig von einer unendlichdimensionalen Normalverteilung gesprochen. Der unendlichen Menge der Zufallsvariablen GX eines Gaußprozesses wird erst mittels einer Indexmenge X eine Bedeutung verliehen. Eine bijektive Funktion G : X → GX ordnet den Elementen der Indexmenge die Zufallsvariablen aus GX zu. Mit X = R kann beispielsweise ein Gaußprozess über eine Zeitachse und mit X = R2 über eine Fläche definiert werden. Der Gaußprozess enthält im Beispiel X = [0, 1]2 für jeden Punkt der Fläche [0, 1]2 eine Zufallsvariable. Werden n Zufallsvariablen aus dieser unendlichen Menge ausgewählt und als Zufallsvektor dargestellt, so hat dieser Zufallsvektor eine n-dimensionale Normalverteilung, unabhängig von der Dimensionalität der Indexmenge. Die Grundlagen der mehrdimensionalen Normalverteilung werden in Anhang D.1 rekapituliert. Eine n-dimensionale Normalverteilung wird durch den Mittelwert µ = (m1 , . . . ,mn ) und die n × n-Kovarianzmatrix Σ definiert [Gra03]. Im Falle der unendlichdimensionalen Normalverteilung können µ und Σ nicht mehr explizit angegeben werden. Diese werden stattdessen über eine Mittelwertfunktion m : X → R und eine Kovarianzfunktion C : X × X → R definiert. Die Verteilung der Menge von Zufallsvariablen GX lässt sich also über m und C definieren. Wir schreiben: GX ∼ GP(m,C). Werden nun n Zufallsvariablen mit den Indizes x1 , . . . ,xn aus einem Gaußprozess GX ausgewählt, so ist deren gemeinsame Normalverteilung Nµ,Σ definiert über den Mittelwert µ = (m(x1 ), . . . ,m(xn )) und die Kovarianzmatrix Σ mit Σij = C(xi ,xj ). Anstatt aus einem Gaußprozess eine endliche Menge von Zufallsvariablen auszuwählen und deren Realisierungen zu betrachten, lässt sich auch eine Realisierung des kompletten Gaußprozesses betrachten. Hierbei ist jedem Index x ∈ X genau ein Ergebnis zugeordnet, nämlich die Realisierung der zu x gehörigen Zufallsvariable G(x). Eine Realisierung eines Gaußprozesses ist also eine Funktion X → R. Beispiel 15. In diesem Beispiel wird das M/M/1-Warteschlangensystem aus Beispiel 14 [S. 109] wieder aufgegriffen. Ausgabe der Simulation ist dabei die durchschnittliche Anzahl an Patienten im System zu einem bestimmten Zeitpunkt. Diese Simulation hat die Ankunftsrate ra und die Bedienrate rb als Eingabeparameter. Für 8.1 Gaußprozesse 115 Durchsch. Anzahl Patienten im System Durchsch. Anzahl Patienten im System dieses Beispiel wird für die bessere Darstellbarkeit rb = 0.6 fest gewählt. Nun kann ein Gaußprozess mit einer beliebigen Mittelwert- und Kovarianzfunktion, die im Folgenden noch genauer erläutert werden, für die Generierung von synthetischen Funktionen verwendet werden. In Abbildung 8.1(a) ist beispielsweise eine solche synthetische Funktion dargestellt, welche die Ausgabe des M/M/1-Warteschlangensystems in Abhängigkeit von ra darstellt. Diese synthetische Funktion wurde durch den Gaußprozess rein zufällig generiert und hat keinerlei Ähnlichkeit mit der tatsächlichen Ausgabe der M/M/1-Simulation. Abbildung 8.1(b) zeigt weitere mögliche Realisierungen des gleichen Gaußprozesses. Die Möglichkeit, zufällige synthetische Funktionen generieren zu können, wird in Kapitel 11 für die Evaluation der in dieser Arbeit entwickelten Methoden verwendet. -0.6 -0.8 -1 -1.2 -1.4 -1.6 -1.8 -2 -2.2 0 0.1 0.2 0.3 0.4 4 3 2 1 0 -1 -2 -3 -4 0.5 0 ra (a) Einzelne Realisierung eines Gaußprozesses 0.1 0.2 0.3 0.4 0.5 ra (b) Mehrere Realisierungen eines Gaußprozesses Abbildung 8.1: Realisierungen eines Gaußprozesses Da ein Gaußprozess eine Wahrscheinlichkeitsverteilung über Funktionen definiert, ist es möglich, einen Gaußprozess zur Approximation einer bekannten Funktion zu verwenden. Dies wird im nächsten Abschnitt erläutert. 8.1.1 Regression mit Gaußprozessen Die Erläuterungen dieses Abschnitts orientieren sich an der Arbeit von Girard [Gir04]. Im Folgenden wird eine Simulation wie in Abschnitt 7.5 als Black-Box-Funktion mit D Eingabeparametern betrachtet: f : RD → R, x →→ f (x). Da f im Gegensatz zur Simulation deterministisch ist, wird die aleatorische Unschärfe vt der Simulation durch additive 116 Kapitel 8 Grundlagen der Unschärfepropagierung Zufallsvariablen εi ∼ N0,vt modelliert. Das Ergebnis eines Simulationslaufs i ist also ti = f (xi ) + εi . Die Annahme, dass die aleatorische Unschärfe normalverteilt ist, wurde durch den zentralen Grenzwertsatz begründet (siehe Abschnitt 7.5). Zu beachten ist, dass bei diesem einfachen Modell die aleatorische Unschärfe vt der Simulation unabhängig von x ist. Dies wird „Homoskedastizität“ genannt [Sne07]. Diese vereinfachende Annahme wird in Abschnitt 8.1.2.3 zu einem allgemeineren Modell erweitert. Eine von x abhängige aleatorische Unschärfe wird „Heteroskedastizität“ genannt [Sne07]. Gegeben sei eine Menge von Beobachtungen von Simulationsergebnissen B = {(xi ,ti )}N i=1 mit xi ∈ RD und ti = f (xi ) + εi . Aus diesen Daten soll nun eine Approximation der zugrundeliegenden Funktion f mittels Regression mit einem Gaußprozess GX bestimmt werden. Die Indexmenge X ist hier die Definitionsmenge RD von f . Es gibt also für jede mögliche Eingabe x eine Zufallsvariable G(x) in GX , deren Verteilung die Verteilung der Beobachtung f (x) + ε approximieren soll. Es sollen also Mittelwert bzw. Varianz von G(x) annähernd gleich f (x) bzw. vt sein. Damit eine Regression mit Gaußprozessen möglich ist, muss folgende Annahme gelten: Annahme 22. Es wird angenommen, dass f eine mögliche Realisierung von GX ist. Falls dies nicht der Fall ist, wenn z. B. f Unstetigkeiten aufweist, so ist die Regression mit Gaußprozessen zwar möglich, führt aber unter Umständen zu falschen Ergebnissen. 8.1.1.1 Mittelwert und Kovarianzfunktion Um Gaußprozesse für Regression und somit als Surrogatmodelle für Simulationen verwenden zu können, müssen die Mittelwertfunktion m und die Kovarianzfunktion C definiert werden. Dies hat Einfluss auf die möglichen Realisierungen und somit laut Annahme 22 auch auf die möglichen Funktionen, für die die Regression definiert ist. Als Mittelwertfunktion wird in der Literatur häufig eine Konstante verwendet [Gir04, ANS10]. Dies wird damit begründet, dass kein weiteres Vorwissen über die zu approximierende Funktion vorliegt. Darüber hinaus ist diese Mittelwertfunktion in den meisten Fällen ausreichend [Gir04, ANS10]. Als Konstante bietet sich für die Regression der Mittelwert der Beobachtungen ti an. Ohne Beschränkung der Allgemeinheit wird im Folgenden davon ausgegangen, dass die Beobachtungen normiert sind, so dass ihr Mittelwert 0 ist [Gir04]. Annahme 23. Es wird von der Mittelwertfunktion m : x →→ 0 ausgegangen. 8.1 Gaußprozesse 117 Ein allgemeines Modell, das komplexe Mittelwertfunktionen berücksichtigt, wurde von Santner et al. [SWN03] vorgestellt. Dieses Modell wird in dieser Arbeit allerdings nicht berücksichtigt, da die Unschärfepropagierung von Girard [Gir04], auf der diese Arbeit basiert, auf konstante Mittelwertfunktionen beschränkt ist. In zukünftigen Arbeiten sollte untersucht werden, welche Erweiterungen notwendig sind, um das Modell von Santner et al. [SWN03] berücksichtigen zu können. Es gibt mehrere Alternativen für die Kovarianzfunktion C : X ×X → R. Sie repräsentiert den Zusammenhang zwischen den einzelnen Zufallsvariablen des Gaußprozesses GX . Dieser Zusammenhang hängt von der Indexmenge X und der zu modellierenden Funktion ab. Wenn beispielsweise X = R die Zeitachse repräsentiert und der Gaußprozess eine kontinuierliche zeitliche Entwicklung modelliert, so sind zwei Zufallsvariablen, die zeitlich dicht aufeinander folgen, stärker korreliert als zwei Zufallsvariablen mit großem zeitlichen Abstand. Ebenso lässt sich die aleatorische Unschärfe vt über die Kovarianzfunktion beschreiben. Wenn ∀x1 ,x2 ,x3 ,x4 ∈ X, ||x1 − x2 ||2 = ||x3 − x4 ||2 =⇒ C(x1 ,x2 ) = C(x3 ,x4 ) (8.1) gilt und die Mittelwertfunktion konstant ist, so wird der Gaußprozess als stationär bezeichnet. Ein Beispiel für eine mögliche Kovarianzfunktion ist die gaußsche Glockenkurve: C(xi ,xj ) = v exp − 12 (xi − xj )T W−1 (xi − xj ) (8.2) Diese Funktion ist von ihrer Form her eng mit der mehrdimensionalen Normalverteilung verwandt und erfüllt die Eigenschaft (8.1). Rasmussen [Ras96] evaluierte Gaußprozesse zur Lösung von Regressionsproblemen mit dieser Kovarianzfunktion und fand heraus, dass diese Kovarianzfunktion für die Approximation von glatten Funktionen gut geeignet ist. W−1 = diag(w1 , . . . ,wD )1 und v sind dabei Hyperparameter der Kovarianzfunktion und hängen von den Eigenschaften der zu approximierenden Funktion ab. Bei dieser Kovarianzfunktion gibt v die Stärke der Schwankungen der zu approximierenden Funktion um die Mittelwertfunktion an. Die wi variieren die Ausdehnung der Kovarianzfunktion in der jeweiligen Dimension der Indexmenge und skalieren somit den Zusammenhang zwischen Abstand und Korrelation zwischen einzelnen Zufallsvariablen. Wie Hyperpara- 1 Diese Notation orientiert sich an der Formel der Normalverteilung. 118 Kapitel 8 Grundlagen der Unschärfepropagierung meter anhand der Beobachtungen B abgeschätzt werden können, wird in Abschnitt 8.1.1.4 erläutert. Zunächst wird davon ausgegangen, dass die Hyperparameter bekannt sind. Um die konstante aleatorische Unschärfe vt zu berücksichtigen, wird eine beliebige Kovarianzfunktion erweitert [Gir04]: Cvt (xi ,xj ) = C(xi ,xj ) + δij vt (8.3) Für das Kronecker-Delta gilt δij = 1 falls i = j, andernfalls ist δij = 0. vt ist ein weiterer Hyperparameter. In der Literatur [Gir04, Sne06, SG06, Sne07] wird dieses additive δij vt meist nicht als Teil der eigentlichen Kovarianzfunktion betrachtet und wird somit auch nicht in der Kovarianzmatrix Σ berücksichtigt. Stattdessen wird eine explizit erweiterte Kovarianzmatrix K = Σ + vt I verwendet, welche durch die erweiterte Kovarianzfunktion Cvt entsteht. Im Folgenden wird sich dieser Notation angeschlossen. Die in dieser Arbeit vorgestellten Methoden sind allerdings nicht auf eine spezielle Kovarianzfunktion beschränkt. Für verschiedene Klassen von zu approximierenden Funktionen müssen entsprechende geeignete Kovarianzfunktionen verwendet werden. Beispielsweise eignen sich periodische Kovarianzfunktionen, um periodische Zeitreihen zu approximieren. In Abschnitt 8.1.2 werden zusätzlich Kovarianzfunktionen vorgestellt, die eine von x abhängige aleatorische Unschärfe modellieren können. Im Weiteren wird eine beliebige Kovarianzfunktion C mit einem Vektor von Hyperparametern Φ betrachtet. vt ist dabei Teil von Φ. 8.1.1.2 Die Verteilung der Zufallsvariablen Die zu den Indizes (x1 , . . . ,xN )T gehörigen Zufallsvariablen (G(x1 ), . . . ,G(xN ))T sind laut Definition 8 [S. 114] gemeinsam normalverteilt. Die Notation soll kenntlich machen, dass diese Zufallsvariablen mit den Beobachtungen t = (t1 , . . . ,tN )T korrespondieren, welche Realisierungen der Zufallsvariablen darstellen. Wieder ist K die N × N -Kovarianzmatrix für diese Zufallsvariablen mit Kij = C(xi ,xj ) + δij vt . Dann ist die Wahrscheinlichkeitsdichte, die Beobachtungen t aus dem entsprechenden Gaußprozess zu ziehen, die folgende Normalverteilung [PP12]: −N/2 pΦ (t|{xi }N |K|−1/2 exp(− 12 tT K−1 t) i=1 ) = N0,K (t) = (2π) (8.4) Die Notation der bedingten Wahrscheinlichkeit wird hier verwendet, um deutlich zu machen, dass pΦ (t|{xi }N i=1 ) über die Kovarianzmatrix von den xi abhängig ist und dass diese gegeben sind. 8.1 Gaußprozesse 119 8.1.1.3 Bedingte Verteilung Das Regressionsproblem ist nun die Abschätzung des Wertes der Funktion f für eine weitere Eingabe x∗ aufgrund der bisherigen Beobachtungen B = {(xi ,ti )}N i=1 . Sei t∗ = G(x∗ ), dann ist die gemeinsame Verteilung von t und t∗ [Gir04]: pΦ (t,t∗ |{xi }N i=1 ,x∗ ) =(2π) K k(x∗ )T T −(N +1)/2 exp − 12 t t∗ k(x∗ ) k(x∗ ) −1/2 · −1 K k(x∗ ) T k(x∗ ) k(x∗ ) t t∗ (8.5) Dabei ist k(x∗ ) = (C(x∗ ,x1 ), . . . ,C(x∗ ,xN ))T und k(x∗ ) = C(x∗ ,x∗ ) + vt . Das additive vt wird hier analog zur erweiterten Kovarianzfunktion (8.3) auf der vorherigen Seite verwendet. Nun lässt sich mithilfe der Regeln für bedingte mehrdimensionale Normalverteilungen (siehe Anhang D.1) die Wahrscheinlichkeitsdichte für t∗ bestimmen unter der Bedingung, dass die Beobachtungen B vorliegen [Gir04, PP12]: pΦ (t∗ |B,x∗ ) = Nµ(x∗ ),σ2 (x∗ ) (t∗ ) (8.6) Dabei ist µ(x∗ ) = k(x∗ )T K−1 t (8.7) der mittels Gaußprozess-Regression abgeschätzte Mittelwert für den Index x∗ und σ 2 (x∗ ) = k(x∗ ) − k(x∗ )T K−1 k(x∗ ) (8.8) ist die dazugehörige Varianz. σ 2 (x∗ ) setzt sich dabei aus der aleatorischen Unschärfe vt , die in k(x∗ ) enthalten ist und der Surrogat-Unschärfe σ 2 (x∗ ) − vt zusammen. Diese beiden Arten der Unschärfe lassen sich also im Fall der Homoskedastizität voneinander trennen. Statt einem einzelnen t∗ lässt sich auch gleich die Verteilung eines ganzen Vektors t∗ ermitteln. So kann für jede endliche Teilmenge des Gaußprozesses GX die Wahrscheinlichkeitsverteilung unter der Bedingung, dass B gegeben ist, bestimmt werden. Die resultierende Verteilung ist wieder eine Normalverteilung. Also definiert die Bedingung, dass die Beobachtungen B vorliegen, einen neuen Gaußprozess mit einer Mittelwertfunktion und einer Kovarianzfunktion, die analog zu µ(x∗ ) und σ 2 (x∗ ) mit den Regeln für bedingte mehrdimensionale Normalverteilungen bestimmt werden können [PP12]. 120 Kapitel 8 Grundlagen der Unschärfepropagierung Im Folgenden wird zur Vereinfachung der Notation β = K−1 t verwendet. In Summenschreibweise ergibt sich [Gir04]: µ(x∗ ) = N βi C(x∗ ,xi ) (8.9) i=1 σ 2 (x∗ ) = C(x∗ ,x∗ ) + vt − N Kij−1 C(x∗ ,xi )C(x∗ ,xj ) (8.10) i,j=1 Der Gaußprozess lässt sich nun als Surrogatmodell anstelle der Simulation für Analysen verwenden. Der Vorteil gegenüber anderen Ansätzen zur Regression ist, dass hier explizit die Güte der Abschätzungen in Form der Surrogat-Unschärfe gegeben ist. Beispiel 16. Für dieses Beispiel wird wieder das M/M/1-Warteschlangensystem verwendet. Ausgabe der Simulation ist die durchschnittliche Anzahl an Patienten im System zu einem bestimmten Zeitpunkt. Ein Ausgabewert ist dabei der Durchschnitt aus 100 Simulationsläufen, um die aleatorische Unschärfe zu reduzieren. Diese Methode wird auch Replizieren genannt [BINM01, S. 430]. Die Simulation hat die Eingabeparameter ra (Ankunftsrate) und rb (Bedienrate). Für die bessere Darstellbarkeit wird wieder rb = 0.6 fest gewählt. Es wird die Kovarianzfunktion (8.2) [S. 117] verwendet. Für ra werden 100 gleichverteilte Beobachtungen aus dem Intervall [0, 0.3] verwendet. Das Resultat wird in Abbildung 8.2 auf der nächsten Seite dargestellt. Dabei wird neben dem abgeschätzten Mittelwert µ(x) auch σ 2 (x) als Intervall [µ(x) − 1.96σ(x), µ(x) + 1.96σ(x)] abgebildet. Dieses Intervall enthält 95% der möglichen Realisierungen des Gaußprozesses und veranschaulicht die Kombination aus Surrogat- und aleatorischer Unschärfe. Ebenso wird die reine aleatorische Unschärfe vt als Intervall dargestellt. Es ist zu erkennen, dass die Surrogat-Unschärfe im Intervall [0.3, 0.5] ansteigt, je weiter die Beobachtungen entfernt sind. Im Intervall [0, 0.3] ist σ 2 (x) fast äquivalent zu vt . Das bedeutet, dass in diesem Intervall beinahe keine Surrogat-Unschärfe auftritt. Dies liegt daran, dass für dieses Intervall viele Beobachtungen vorliegen, so dass die Simulation gut approximiert werden kann. 8.1.1.4 Bestimmung der Hyperparameter Die Bestimmung der Hyperparameter Φ erfolgt mittels MLE. Die Likelihood der Beobachtungen B = {(xi ,ti )}N i=1 entspricht pΦ (t|xi ) mit t = (t1 , . . . ,tN ), also der Wahrscheinlichkeitsdichte, diese Beobachtungen von einem Gaußprozess zu erhalten, der eine Durchschnittliche Anzahl Patienten im System 8.1 Gaußprozesse 3 121 µ(x) ± 1.96 σ(x) µ(x) ± 1.96 √ vt µ(x) Beobachtungen 2.5 2 1.5 1 0.5 0 0 0.05 0.1 0.15 0.2 0.25 ra 0.3 0.35 0.4 0.45 0.5 Abbildung 8.2: Regression mit Gaußprozessen Kovarianzfunktion mit dem Parametervektor Φ besitzt. Um den Parametervektor Φ zu finden, der diese Likelihood maximiert, wird häufig die negative Log-Likelihood-Funktion minimiert [Gir04]: L(Φ) = − log(pΦ (t|xi )) = N 2 log(2π) + 12 log(|K|) + 12 tT K−1 t (8.11) Die Negation ist darin begründet, dass die meisten Optimierungsverfahren das Minimum suchen. Der Logarithmus, der eine streng monotone Abbildung ist, wird angewendet, um die Funktion leichter ableitbar zu machen. Für die Ableitung wird an dieser Stelle auf die Arbeit von Rasmussen [Ras96] verwiesen. Das Minimum dieser Funktion lässt sich nun mit Hilfe von bekannten numerischen Optimierungsverfahren finden. 8.1.2 Gaußprozesse für komplexe Simulationen Eine Simulation mit großem D, also einer großen Anzahl an Eingabeparametern, soll als komplexe Simulation bezeichnet werden. Die Anzahl N der nötigen Beobachtungen (Simulationsläufe), um bei einer großen Anzahl an Parametern eine ausreichende Güte der Approximation von f durch einen Gaußprozess zu erreichen, steigt mit D an. 122 Kapitel 8 Grundlagen der Unschärfepropagierung Der Rechenaufwand bei der Anwendung von Gaußprozessen für Regressionsprobleme lässt sich in zwei Schritte aufteilen: Die Bestimmung der Hyperparameter (Trainingsphase) und die Bestimmung der bedingten Verteilung für eine neue Eingabe x∗ (Vorhersagephase). In der Trainingsphase muss das Optimierungsverfahren in jedem Schritt die LogLikelihood-Funktion (8.11) auf der vorherigen Seite und deren Ableitungen auswerten. Der Aufwand wird dabei dominiert von der Matrixinvertierung K−1 , welche einen Aufwand von O(N 3 ) hat [Sne07]. Die inverse Matrix muss in jedem Schritt neu berechnet werden, da ja gerade die Hyperparameter der Kovarianzfunktion optimiert werden sollen. In der Vorhersagephase müssen die Funktionen µ(x∗ ) (8.9) [S. 120] und σ 2 (x∗ ) (8.10) [S. 120] ausgewertet werden. Da hier K−1 konstant ist, dominiert die Summe über N 2 Terme in (8.10). Der Aufwand pro Vorhersage ist also O(N 2 ) [Sne07]. In der Literatur wurden mehrere Methoden vorgeschlagen, um diesen Aufwand zu reduzieren. Einen guten Überblick über die verschiedenen Verfahren bieten die Arbeiten [CR05, CRW07, BDT13]. Chalupka et al.[CWM13] entwickelten ein Framework zur Evaluation der verschiedenen Verfahren. In den folgenden Abschnitten werden kurz die Ansätze von Snelson und Ghahramani [Sne06, SG06, Sne07] vorgestellt. Diese haben den Vorteil, dass sie aus mathematischer Sicht im Gegensatz zu anderen Verfahren selbst wieder Gaußprozesse sind [CRW07]. Die Kovarianzfunktion wird allerdings so definiert, dass die Invertierung der Kovarianzmatrix und die Auswertung von (8.10) effizienter umgesetzt werden kann. Zudem ergab die Evaluation von Chalupka et al. [CWM13], dass die Methode von Snelson und Ghahramani [Sne06] den anderen Ansätzen überlegen ist. 8.1.2.1 Pseudo-Input-Gaußprozesse Die SPGP (Sparse Pseudo-Input Gaussian Process) genannte Methode von Snelson und Ghahramani [Sne06, Sne07] wird von Quiñonero-Candela et al. [CRW07] auch als FITC (Fully Independent Training Conditional) bezeichnet. Dabei werden zusätzlich zu den Beobachtungen B auch Pseudobeobachtungen B̄ = {(x̄i ,t̄i )}M i=1 verwendet, mit M ≪ N . Die Einführung von Pseudobeobachtungen ist dabei ein mathematischer Kniff, der es ermöglicht die Invertierung der Kovarianzmatrix zu beschleunigen. Der Begriff ergibt sich aus der Ähnlichkeit zu den tatsächlichen Beobachtungen B. Die Pseudobeobachtungen werden wie normale Hyperparameter behandelt und zusammen mit weiteren Hyperparametern der Kovarianzfunktion während der Trainingsphase bestimmt. Da von 8.1 Gaußprozesse 123 den Pseudobeobachtungen nur die x̄i und nicht die t̄i benötigt werden und die x̄i Ddimensionale Vektoren sind, müssen also M D zusätzliche Hyperparameter bestimmt werden. Es wird eine neue Kovarianzfunktion definiert [Sne06, Sne07, CRW07]: −1 T CSPGP (xi ,xj ) = k̄(xi )T Σ −1 M M k̄(xj ) + δij [C(xi ,xj ) − k̄(xi ) Σ M M k̄(xj )] (8.12) Dabei ist k̄(xi ) = (C(xi ,x̄1 ), . . . ,C(xi ,x̄M ))T der Kovarianzvektor zwischen den Pseudobeobachtungen und den xi und [Σ M M ]ij = C(x̄i ,x̄j ). Also ist Σ M M die M × M Kovarianzmatrix der Pseudobeobachtungen. Diese Erweiterung ist unabhängig von der zugrundeliegenden Kovarianzfunktion C. Nun lässt sich die Inverse von K−1 in (8.7) [S. 119], (8.8) [S. 119] und (8.11) [S. 121] mit Hilfe der Woodbury-Matrix-Identität [PP12, Sne07] in O(N 2 M ) bestimmen (siehe Anhang E.1). Außerdem lassen sich (8.7), (8.8) und (8.11) weiter vereinfachen, so dass der Aufwand pro Vorhersage auf O(M 2 ) und der Aufwand eines Optimierungsschrittes in der Trainingsphase auf O(N M 2 ) sinkt [Sne06]. Da die Vereinfachungsschritte für die Vorhersage von Snelson [Sne07] nur angedeutet werden, werden diese ebenfalls ausführlich in Anhang E.1 dargestellt. 8.1.2.2 Dimensionalitätsreduzierung für Gaußprozesse Die Bestimmung der zusätzlichen M D Hyperparameter kann vor allem bei großem D, was ja gerade bei komplexen Simulationen der Fall ist, zu Problemen führen, wenn nicht ausreichend Beobachtungen zur Hyperparameterbestimmung vorliegen. Aus diesem Grund wurde SPGP von Snelson [SG06, Sne07] um eine Dimensionalitätsreduktion der Pseudobeobachtungen erweitert. Dieser erweiterte Ansatz wird SPGP-DR (SPGP with Dimensionality Reduction) genannt. Im Gegensatz zu SPGP ist diese Erweiterung nicht unabhängig von der zugrundeliegenden Kovarianzfunktion C. Bei SPGP-DR wird von der gaußschen Kovarianzfunktion (8.2) [S. 117] ausgegangen: C(xi ,xj ) = v exp − 12 (xi − xj )T W−1 (xi − xj ) (8.13) Dabei ist W−1 = diag(w1 , . . . ,wD ) eine Diagonalmatrix aus Hyperparametern zur Skalierung der Kovarianz in den einzelnen Dimensionen der xi . Diese Matrix wird nun ersetzt 124 Kapitel 8 Grundlagen der Unschärfepropagierung durch W−1 = PT P. PT P ist also eine Zerlegung der Matrix W−1 . P ist dabei eine G × D-Matrix mit G < D frei wählbar. Nun lässt sich die gaußsche Kovarianzfunktion folgendermaßen umformen [Sne07]: C(xi ,xj ) = v exp − 12 (Pxi − Pxj )T (Pxi − Pxj ) (8.14) P ist also eine Projektion der D-dimensionalen xi in einen G-dimensionalen Raum. Da in der Kovarianzfunktion nur noch G-dimensionale Projektionen der xi vorkommen, müssen also für die Pseudobeobachtungen nicht mehr D-dimensionale Vektoren x̄i als Hyperparameter während der Trainingsphase gelernt werden, sondern stattdessen Gdimensionale Projektionen der Pseudobeobachtungen x̃i = Px̄i . Zusätzlich muss die Projektionsmatrix P gelernt werden, was für GD zusätzliche Hyperparameter sorgt. Diese ersetzen allerdings die D Hyperparameter w1 , . . . ,wD . Zur Anwendung in Kombination mit SPGP muss (8.14) in (8.12) auf der vorherigen Seite eingesetzt werden, um CSPGP-DR zu erzeugen. Bei SPGP mit der gaußschen Kovarianzfunktion müssen M D + D + 2 Hyperparameter in der Trainingsphase gelernt werden. Bei SPGP-DR müssen (M +D)G+2 Hyperparameter gelernt werden. Inwieweit dies eine Verbesserung darstellt, hängt von der Wahl von M und G ab [Sne07]. Eine Evaluation der Verfahren ist in [Sne07] zu finden. 8.1.2.3 Heteroskedastizität Eine weitere Eigenschaft von SPGP und SPGP-DR ist, dass durch die zusätzliche Flexibilität, die durch das Lernen der Pseudobeobachtungen erreicht wird, auch eine aleatorische Unschärfe modelliert werden kann, die von x abhängig und somit nicht mehr konstant ist (Heteroskedastizität). Die Pseudobeobachtungen werden dabei in der Trainingsphase als Nebeneffekt so verschoben, dass die Surrogat-Unschärfe die aleatorische Unschärfe nachbildet [Sne07]. Problematisch dabei ist, dass nun nicht mehr eindeutig zwischen aleatorischer und Surrogat-Unschärfe unterschieden werden kann. Snelson [SG06, Sne07] beschreibt auch eine Erweiterung für Gaußprozesse, welche die Modellierung für Heteroskedastizität explizit unterstützt. Dabei wird eine beliebige Kovarianzmatrix Σ folgendermaßen erweitert: Σ HS = Σ + diag(h1 , . . . ,hN ) (8.15) 8.2 Unschärfepropagierung für Gaußprozesse 125 Damit ist die neue Kovarianzfunktion: CHS (xi ,xj ) = C(xi ,xj ) + δij [δi1 h1 + . . . + δiN hN ] (8.16) Die zusätzlichen Hyperparameter hi repräsentieren hier die Unschärfe für die i-te Beobachtung. Die in den letzten Abschnitten vorgestellten Erweiterungen der Kovarianzfunktion lassen sich beliebig kombinieren, wobei SPGP-DR auf die gaußsche Kovarianzfunktion als Grundlage beschränkt ist. 8.2 Unschärfepropagierung für Gaußprozesse Bisher wurde der Eingabevektor x als fester Wert angesehen. Laut Annahme 21 [S. 109] ist der Vektor von Eingabeparametern x allerdings mit normalverteilter Unschärfe behaftet, da dieser sich einerseits aus den mittels MLE geschätzten Parametern von Wahrscheinlichkeitsverteilungen und andererseits aus festen Parametern mit normalverteilter Unschärfe zusammensetzt. Also ist der Eingabevektor normalverteilt x ∼ Nu,Σ u mit dem Vektor der tatsächlichen Werte u als Mittelwert und der Kovarianzmatrix Σ u . Die Wahrscheinlichkeitsdichte von x wird als p(x|u,Σ u ) geschrieben. Σ u repräsentiert die epistemische Unschärfe der einzelnen Komponenten von x und ist laut Annahme 21 eine Diagonalmatrix Σ u = diag(v), da die einzelnen Komponenten von x unabhängig voneinander sind. v ist also der Vektor von Varianzen von x. Die Beobachtungen B bleiben von der epistemischen Unschärfe unberührt, da hier die Simulation mit frei gewählten Eingaben xi ausgeführt wurde, die nicht mit Unschärfe behaftet sind. Falls bei der Regression keine Simulation betrachtet wird, sondern ein reales System, muss auch die Unschärfe der Beobachtungen B berücksichtigt werden. Dies wird im Rahmen dieser Arbeit allerdings nicht berücksichtigt, da diese Arbeit auf Simulationen beschränkt ist. In diesem Abschnitt wird nun die Wahrscheinlichkeitsdichte der Ausgabe t bei einer normalverteilten Zufallsvariable x als Eingabe bestimmt. Es ergibt sich gemäß [Gir04]: p(t|B,u,Σ u ) = p(t|B,x)p(x|u,Σ u ) dx (8.17) RD Dies wird als UP (Unschärfepropagierung) durch einen Gaußprozess bezeichnet. Die Bedeutung dieser Gleichung wird in Abbildung 8.3 auf der nächsten Seite veranschaulicht. Zunächst wird in einem ersten Zufallsexperiment x aus p(x|u,Σ u ) gezogen. p(x|u,Σ u ) repräsentiert die normalverteilte epistemische Unschärfe. Anschließend wird mit diesem 126 Kapitel 8 Grundlagen der Unschärfepropagierung x aus der normalverteilten Dichte p(t|B,x) ein t gezogen. Die Dichte p(t|B,x) wurde mit Hilfe der Gaussprozess-Regression bestimmt und approximiert die zugrundeliegende Funktion. p(t|B,x) hat als Mittelwert µ(x) und repräsentiert die kombinierte aleatorische und Surrogat-Unschärfe. Da dasselbe t aus mehreren x resultieren kann, muss über alle möglichen x integriert werden. p(t|B,x) t µ(x) u p(x|u,Σ u ) x Abbildung 8.3: Unschärfepropagierung2 Analog zu Abschnitt 7.4 ist u nicht exakt bestimmbar, weswegen in der Praxis meist die Konfidenzverteilung Nû,Σ u für die UP verwendet wird. Dies ergibt die Konfidenzverteilung für t. Im Folgenden wird zur Vereinfachung der Notation allerdings immer die Verteilung des Zufallsvektors x ∼ Nu,Σ u statt der Konfidenzverteilung propagiert. Die Dichte p(t|B,u,Σ u ) ist nicht mehr normalverteilt und das Integral in (8.17) auf der vorherigen Seite lässt sich nur numerisch lösen [Gir04]. Da meist nur der Mittelwert m(u,Σ u ) := E[t] und die Varianz v(u,Σ u ) := Var[t] der Ausgabe betrachtet werden, entwickelte Girard [Gir04] zwei analytische Methoden zu deren Bestimmung. m(u,Σ u ) und v(u,Σ u ) können folgendermaßen bestimmt werden [Gir04]: m(u,Σ u ) = N βi Ex [C(x,xi )] i=1 v(u,Σ u ) = Ex [C(x,x)] − N (Kij−1 − βi βj ) Ex [C(x,xi )C(x,xj )] − m(u,Σ u )2 i,j=1 (8.18) 2 Die Wahrscheinlichkeitsverteilungen wurden zu Illustrationszwecken jeweils ohne eigenes Koordinatensystem dargestellt. 8.2 Unschärfepropagierung für Gaußprozesse 127 Die nötigen Integrale [Gir04] l := Ex [C(x,x)] = C(x,x)p(x|u,Σ u ) dx (8.19) C(x,xi )p(x|u,Σ u ) dx (8.20) RD li := Ex [C(x,xi )] = RD lij := Ex [C(x,xi )C(x,xj )] = C(x,xi )C(x,xj )p(x|u,Σ u ) dx (8.21) RD können nun für verschiedene Kovarianzfunktionen und mit unterschiedlichen Methoden bestimmt werden. Girards exakte UP bestimmt m(u,Σ u ) und v(u,Σ u ) für die gaußsche Kovarianzfunktion exakt [Gir04]. Die exakte UP resultiert dabei in Gleichungen, die nichtlinear von Σ u abhängig sind. Für diese Methode gibt es eine Erweiterung, die auch für die SPGPKovarianzfunktion eine exakte Propagierung ermöglicht [GLB11]. Eine Erweiterung für die SPGP-DR-Kovarianzfunktion ist leicht möglich und wird in Anhang E.3 vorgestellt. Gutjahr et al. [GUA12] erweitern Girards UP für weitere spezielle Kovarianzfunktionen. Girards approximative UP bestimmt m(u,Σ u ) und v(u,Σ u ), indem die Kovarianzfunktion durch eine Taylor-Approximation zweiter Ordnung angenähert wird. Dabei werden zusätzlich die quadratischen Terme von Σ u weggelassen, da angenommen wird, dass diese klein sind [Gir04]. Dies wird in folgender Annahme festgehalten, die in Abschnitt 11.2 evaluiert wird: Annahme 24. Es wird angenommen, dass die Unschärfe Σ u klein ist, so dass die approximative UP anwendbar ist. Da die approximative UP in Kapitel 10 für die inverse Unschärfepropagierung benötigt wird, wird an dieser Stelle Girards Lösung vorgestellt. Für m(u,Σ u ) und v(u,Σ u ) ergeben sich [Gir04]: m(u,Σ u ) = µ(u) + 1 2 N βi Tr[C′′ (u,xi )Σ u ] i=1 v(u,Σ u ) = σ 2 (u) + 12 Tr[C′′ (u,u)Σ u ] − N (Kij−1 − βi βj ) Tr[C′ (u,xi )C′ (u,xj )T Σ u ] i,j=1 − 1 2 N Kij−1 C(u,xi ) Tr[C (u,xj )Σ u ] + C(u,xj ) Tr[C (u,xi )Σ u ] ′′ ′′ i,j=1 (8.22) 128 Kapitel 8 Grundlagen der Unschärfepropagierung C′ ist dabei der Gradient und C′′ ist die Hesse-Matrix der Kovarianzfunktion. Die Ableitungen erfolgen dabei nach den einzelnen Komponenten von u. Diese Methode lässt sich für beliebige Kovarianzfunktionen anwenden, da neben der zweimaligen Differenzierbarkeit keine weiteren Annahmen über die Kovarianzfunktion getroffen werden. v(u,Σ u ) hängt dabei linear von Σ u ab. Diese Eigenschaft wird in Kapitel 10 für die inverse Unschärfepropagierung ausgenutzt. Für die gaußsche Kovarianzfunktion, SPGP und SPGP-DR werden die Ableitungen in Anhang E.2 vorgestellt. Wenn die inverse Kovarianzmatrix K−1 vorberechnet wurde, so hat die Berechnung von v(u,Σ u ) den Aufwand O(N 2 ), da die Größen der Matrizen C′ , C′′ und Σ u nur von der Anzahl der Eingabeparameter D der Simulation abhängig sind. Dieser Aufwand ist unabhängig davon, welche Kovarianzmatrix benutzt wird. SPGP und SPGP-DR beschleunigen an dieser Stelle also nicht die Berechnungen und sind nur in der Trainingsphase von Nutzen. In (8.22) auf der vorherigen Seite lassen sich die verschiedenen Arten der Unschärfe direkt voneinander trennen. σ 2 (u) setzt sich laut (8.8) [S. 119] aus der aleatorischen Unschärfe vt und der Surrogat-Unschärfe σ 2 (u) − vt zusammen. v(u,Σ u ) − σ 2 (u) stellt also die propagierte epistemische Unschärfe dar. Beispiel 17. In diesem Beispiel wird das M/M/1-Warteschlangensystem aus Beispiel 14 [S. 109] verwendet. Als Ausgabe der Simulation dient wieder die durchschnittliche Anzahl an Patienten im System zu einem bestimmten Zeitpunkt. Dabei wird pro Ausgabewert der Durchschnitt über 1000 Simulationsläufe gebildet, um die aleatorische Unschärfe zu reduzieren. Es wird davon ausgegangen, dass x = (ra , rb ) normalverteilt ist (x ∼ Nu,Σ u ), mit Mittelwert u = (0.5,0.6) und Kovarianzmatrix Σ u = diag(0.0052 ,0.0052 ). Die Standardabweichung von x1 und x2 ist also jeweils 0.005. Es werden 1000 Beobachtungen (jede Beobachtung ist dabei der Durchschnitt aus 1000 Simulationsläufen) der M/M/1-Simulation mit den Eingabeparametern xi gesammelt. Dabei werden die xi für die Beobachtungen gemäß einem Latin Hypercube Design [SWN03, S. 127] aus dem Intervall [0.475, 0.525] × [0.575, 0.625] gezogen. Aus diesen Beobachtungen lässt sich mit Hilfe von Gaußprozess-Regression ein Surrogatmodell für die Simulation erstellen. Die Approximation der Simulation durch einen Gaußprozess wird in Abbildung 8.4 auf der nächsten Seite dargestellt. Die Monte-Carlo-Propagierung der Unschärfe von x durch die ursprüngliche Simulation mit weiteren 104 Beobachtungen (107 Simulationsläufe) liefert eine kombinierte aleatorische und epistemische Unschärfe (Standardabweichung) der Ausgabe von ungefähr 0.4145. Da die Monte-Carlo-Propagierung ein stochastisches Verfahren ist, 8.2 Unschärfepropagierung für Gaußprozesse 129 lässt sich dafür ein Konfidenzintervall angeben. Das 95%-Konfidenzintervall für die Monte-Carlo-Propagierung der Unschärfe ist (0.4088, 0.4203). Die Propagierung der Unschärfe mit Girards approximativer Methode [GMS05] durch das Surrogatmodell liefert eine kombinierte aleatorische und epistemische Unschärfe (Standardabweichung) der Ausgabe von ungefähr 0.4189. Die aleatorische Unschärfe lässt sich für das M/M/1-Warteschlangensystem exakt bestimmen [BINM01, S. 167,S. 227f] und beträgt gerundet 0.1732 (Standardabweichung). Die aleatorische Unschärfe, welche mit Hilfe des Gaußprozesses geschätzt wird, beträgt 0.1993 (Standardabweichung). Die Surrogat-Unschärfe des Gaußprozesses an der Stelle u beträgt 0.0148 (Standardabweichung). Girards Methode der Unschärfepropagierung benötigt in diesem Beispiel ein Zehntel der Beobachtungen im Vergleich zur Monte-Carlo-Propagierung. Zusätzlich lässt sich ein einmal erzeugtes Surrogatmodell für beliebige Unschärfepropagierungen nutzen, ohne dass weitere Simulationsläufe durchgeführt werden müssen. Bei einer Monte-Carlo-Propagierung müssen für jede einzelne Unschärfepropagierung alle Simulationsläufe erneut durchgeführt werden. Messung Gaußprozess 11 10 9 8 Patienten 7 6 5 4 3 0.57 0.58 0.59 Rate rb 0.6 0.61 0.62 0.63 0.53 0.52 0.51 0.5 0.49 0.48 0.47 Rate ra Abbildung 8.4: Approximation der Simulation durch einen Gaußprozess 131 9 Verwandte Arbeiten für die Unschärfepropagierung Dieses Kapitel befasst sich mit verwandten Arbeiten hinsichtlich der Unschärfepropagierung. Zunächst werden Arbeiten aus dem Umfeld der klassischen Unschärfepropagierung vorgestellt. Aufgrund der Breite dieses Themas und der Anzahl an Veröffentlichungen werden hier nur exemplarisch einige relevante Methoden klassifiziert und vorgestellt. Betrachtet wird dabei jeweils die Unschärfepropagierung durch eine Funktion f : X → Y . Die Eingabe x ∈ X ist entsprechend einer Wahrscheinlichkeitsverteilung px verteilt. Dann soll im Rahmen der UP die Wahrscheinlichkeitsverteilung py der Ausgabe bestimmt werden. In den meisten Fällen reicht dabei die Bestimmung des Erwartungswerts und der Kovarianzmatrix von py . In den Abschnitten 9.2, 9.3 und 9.4 werden dann verwandte Arbeiten für die inverse Unschärfepropagierung aus den Bereichen „Unschärfequantifizierung“, „optimales Design von Experimenten“ und „optimale Wahl von Stichprobengrößen“ vorgestellt. 9.1 Unschärfepropagierung Es gibt mehrere Kriterien anhand derer sich die Methoden der Unschärfepropagierung unterscheiden lassen: • Stochastische oder deterministische Funktionen Für die UP kann entweder eine stochastische Funktion analysiert werden, deren Ergebnis eine Zufallsvariable ist, oder es kann eine deterministische Funktion betrachtet werden. Die meisten UP-Methoden, die für stochastische Funktionen geeignet sind, können auch bei deterministischen Funktionen angewendet werden. • Anwendung eines Surrogatmodells Die UP kann mit Hilfe eines Surrogatmodells durchgeführt werden, welches auf Auswertungen der Funktion f beruht. Alternativ kann die Funktion f direkt verwendet werden. Der Vorteil von Surrogatmodellen ist, dass ein einmal erstelltes Surrogatmodell ohne weitere Funktionsauswertungen für mehrere Analysen verwendet werden kann. Im Gegensatz dazu müssen für jede Analyse der Funktion f 132 Kapitel 9 Verwandte Arbeiten für die Unschärfepropagierung erneut Funktionsauswertungen berechnet werden. Bei Simulationen ist eine Analyse des Surrogatmodells meist wesentlich effizienter möglich als die Auswertung der Funktion f . • Numerische oder analytische Bestimmung Diese Unterscheidung bezieht sich darauf, ob die Lösung für die Unschärfepropagierung als analytischer Ausdruck vorliegt oder ob die UP mit numerischen Methoden angenähert werden muss. Die Erstellung von Surrogatmodellen wird dabei nicht berücksichtigt, da diese meist numerisch erfolgt. • Eingabeverteilungen Ein weiteres Kriterium ist die Menge an Verteilungsfunktionen, die für die Repräsentation der Eingabeunschärfe px verwendet werden kann. Häufig beschränken sich die Methoden beispielsweise auf normalverteilte Eingabewerte. In anderen Fällen muss die Propagierungsmethode für unterschiedliche Verteilungsfunktionen angepasst werden und eine konkrete Umsetzung der Propagierungsmethode unterstützt nur eine spezifische Verteilungsfunktion. Beispielsweise müssen in manchen Fällen Surrogatmodelle neu erstellt werden, wenn eine andere Verteilung für die Repräsentation der Eingabeunschärfe verwendet werden soll. Einen Überblick über verschiedene Ansätze liefern die Arbeiten von Nigam und Turner [NT95], Lee und Chen [LC07], da Silva Hack und ten Caten [SHC12], Schenkendorf [Sch14] und Barton [Bar12]. Die bekanntesten UP-Methoden werden im Folgenden kurz vorgestellt. Anschließend werden die Methoden in Tabelle 9.1 [S. 134] aufgelistet und anhand der oben genannten Kriterien klassifiziert. Monte-Carlo-Propagierung Die bekannteste Methode zur Unschärfepropagierung ist die Monte-Carlo-Propagierung [SHC12]. Dabei wird die Funktion f mehrfach mit Eingabewerten durchgeführt, die entsprechend der Eingabeunschärfe px verteilt sind. Die Verteilung der Ausgabewerte py wird durch die empirische Verteilung der gemessenen Ausgabewerte angenähert. Diese Methode kann für beliebige Funktionen und beliebige Wahrscheinlichkeitsverteilungen angewendet werden. Allerdings ist der Rechenaufwand bei Funktionen, die aufwändig zu bestimmen sind, teilweise zu groß, um diese Methode anwenden zu können. Dies ist darin begründet, dass für eine genaue Annäherung an py eine große Zahl an Funktionsauswertungen benötigt wird. Taylor-Reihe Eine weitere bekannte Methode ist die Verwendung einer Taylor-Reihe als Surrogatmodell [SHC12]. Diese ermöglicht eine analytische Bestimmung der Unschärfepropagierung für deterministische Funktionen. Allerdings wird die Taylor-Reihe immer 9.1 Unschärfepropagierung 133 um einen bestimmten Eingabewert herum entwickelt, in dessen Umgebung sich die Eingabeverteilung px befinden muss, um eine genaue Unschärfepropagierung zu ermöglichen. Meist wird hier der Mittelwert der Eingabeverteilung verwendet. Numerische Integration Eine Methode für die Unschärfepropagierung ohne Surrogatmodell für deterministische Funktionen ist die numerische Integration, da sich die Ausgabeunschärfe als Erwartungswert darstellen lässt [LC07]. Diese Methode wird auch als FFNI (Full Factorial Numerical Integration) bezeichnet [LC07]. Dabei geben bestimmte Integrationsregeln Eingabewerte xi vor, an denen die Funktion f ausgewertet werden muss, um das Integral zu bestimmen. Die numerische Integration benötigt für die Bestimmung der Integrationsregeln allerdings bestimmte Mengen von Polynomen, welche nur für spezielle Verteilungsfunktionen als Eingabeunschärfe anwendbar sind. Beispielsweise sind die hermiteschen Polynome nur für normalverteilte Eingabeunschärfen geeignet. Bei naiven Integrationsregeln steigt die Anzahl der benötigten Eingabewerte exponentiell mit der Anzahl an Eingabeparametern. Für die numerische Integration bieten sich aus diesem Grund beispielsweise die Integrationsregeln von Genz und Keister [GK96] an, da bei diesen die Anzahl der Funktionsauswertungen polynomiell von der Anzahl der Eingabeparameter abhängig ist [NR99]. Diese Integrationsregeln sind allerdings auf normalverteilte Eingabewerte beschränkt. Die Unscented Transformation ähnelt den Genz-Keister-Integrationsregeln. Die Grundidee der Unscented Transformation [Sch14, JU96, JU97, JU04] ist, dass es leichter ist, mit einer geringen Anzahl von Funktionsauswertungen eine Normalverteilung abzuschätzen, als ein Surrogat für eine nichtlineare Funktion zu erzeugen. Aus diesem Grund werden ähnlich zu FFNI Integrationsregeln aufgestellt, welche Eingabewerte xi angeben, an denen f ausgewertet werden muss. Diese Funktionsauswertungen werden dabei so geschickt gewählt, dass sich der Mittelwert und die Kovarianzmatrix der Ausgabeverteilung abschätzen lassen. Eine weitere Möglichkeit, die numerische Integration zu beschleunigen, ist die Approximation von f durch Funktionen, die jeweils nur von einer skalaren Eingabe abhängig sind. Für diese sogenannte Univariate Dimension Reduction lässt sich die numerische Integration dann effizient mit bekannten Integrationsregeln für eindimensionale Funktionen durchführen [LC07]. Polynomial Chaos Expansion Bei der PCE (Polynomial Chaos Expansion) wird die Funktion f als Polynom dargestellt [LC07, Sch14, O’H13]. Diese Darstellung ist ebenso wie die numerische Integration abhängig von der Wahrscheinlichkeitsverteilung 134 Kapitel 9 Verwandte Arbeiten für die Unschärfepropagierung der Eingabeverteilung px . Beispielsweise werden für eine normalverteilte Eingabe wieder hermitesche Polynome verwendet. Die Parameter der Polynomdarstellung der Funktion f sind allerdings direkt von px abhängig. Aus diesem Grund lässt sich die Polynomdarstellung nicht als Surrogatmodell verwenden, sondern nur für die Propagierung einer spezifischen Verteilung px . Für die Bestimmung der Parameter der Polynomdarstellung werden numerische Methoden benötigt. Gaußprozess-basierte Propagierung Die Unschärfepropagierung nach Girard und Murray-Smith [Gir04, GMS05] mit Gaußprozessen als Surrogatmodelle wurde bereits in Abschnitt 8.2 vorgestellt. Diese Form der UP wurde auch von Oakley und O’Hagan [OO04] vorgeschlagen. Allerdings wurde in der Arbeit von Oakley und O’Hagan keine explizite analytische Lösung für die UP vorgestellt. Barton, Nelson und Xie [BNX10, BNX13, XNB14] verwenden ebenfalls Gaußprozesse als Surrogatmodelle. Diese werden allerdings zusammen mit einer Monte-Carlo-Propagierung statt mit einer analytischen UP verwendet. Methode Monte-Carlo Taylor Num. Int. PCE Girards UP GP+MC2 Stochastisch √ – – – √ √ Surrogat – √ Analytisch – √ – – √ – – √ √ – Verteilungen beliebig beliebig spezifisch/N 1 spezifisch N beliebig Tabelle 9.1: Übersicht über die einzelnen UP-Methoden Bewertung Die in dieser Arbeit betrachteten agentenbasierten Simulationen stellen stochastische Funktionen dar. Ebenso wird eine analytische Unschärfepropagierung für die Entwicklung einer effizienten inversen Unschärfepropagierung benötigt. Da Girards Unschärfepropagierung als einziges von den vorgestellten Verfahren diese beiden Kriterien erfüllt, wurde diese Lösung als Grundlage für die Entwicklung der inversen Unschärfepropagierung in dieser Arbeit gewählt. 1 Die Genz-Keister-Integrationsregeln und die Unscented-Transformation sind auf Normalverteilungen beschränkt. 2 Gaußprozess-Surrogate mit Monte-Carlo-Propagierung 9.2 Unschärfequantifizierung 135 9.2 Unschärfequantifizierung Im Rahmen dieser Arbeit soll die Datenakquisition für eine Simulation anhand einer gewünschten Ausgabeunschärfe gesteuert werden. Um dieses Ziel zu erreichen, muss das zur Unschärfepropagierung inverse Problem gelöst werden. Für eine gegebene Ausgabeunschärfe muss die passende Eingabeunschärfe gefunden werden, welche die Kosten der Datensammlung minimiert. In der Literatur ist bereits ein ähnliches Problem bekannt, das „Unschärfequantifizierung“ genannt wird [FFML05] und in diesem Abschnitt anhand einiger exemplarischer Publikationen vorgestellt werden soll. Häufig wird hierfür auch der Begriff „inverse Unschärfepropagierung“ verwendet [FFML05]. Um Verwechslungen zu vermeiden, wird dieser Begriff allerdings nicht verwendet, da er in dieser Arbeit eine andere Bedeutung hat. Das Ziel der Unschärfequantifizierung ist die Bestimmung von Eingabewerten u basierend auf beobachteten Ausgabewerten eines Systems. Dies ähnelt dem Simulation-InputModeling, bei dem die Parameter u von Verteilungen pu aufgrund von Beobachtungen geschätzt werden. Im Falle der Unschärfequantifizierung liegen allerdings keine Beobachtungen über x ∼ pu vor, die für die Schätzung verwendet werden könnten. Vielmehr liegen Beobachtungen von f (x) mit x ∼ pu vor. Im Gegensatz zur Unschärfequantifizierung wird in dieser Arbeit statt beobachteten Ausgabewerten eine Obergrenze für die Ausgabeunschärfe verwendet, um die passende Eingabeunschärfe zu finden. Beide Probleme ähneln sich in der Hinsicht, dass es sich dabei um Optimierungsprobleme handelt, welche eine UP-Methode voraussetzen. Fonseca et al. [FFML05] verwenden beispielsweise einen MLE zusammen mit einer Taylorbzw. Monte-Carlo-Propagierung und Downhill-Simplex-Optimierung [NM65] für die Unschärfequantifizierung. Mares et al. [MMF06] verwenden eine Taylor-Reihe als Surrogatmodell und gradientenbasierte Optimierung für die Unschärfequantifizierung. Chantrasmi and Iaccarino [CI12] verwenden Surrogatmodelle, welche der Polynomial Chaos Expansion ähneln, und einen bayesschen Ansatz für die Unschärfequantifizierung. Arendt et al. [AAC12] verwenden Gaußprozesse als Surrogatmodelle für die Unschärfequantifizierung. Dabei wird neben der Unschärfe der Eingabeparameter auch die Diskrepanz zwischen Simulationsmodell und realem System bestimmt. Allerdings ist häufig die Trennung zwischen Diskrepanz und dem Einfluss der Eingabeunschärfe schwierig [AAC12]. Aus diesem Grund erweitern sie ihren Ansatz, um Beobachtungen von mehreren Ausgaben f1 (x), . . . ,fn (x) berücksichtigen zu können [ACA11]. Auf diese Weise kann der Einfluss der Eingabeunschärfe besser von der Diskrepanz zwischen Simulation und realem System unterschieden werden. 136 Kapitel 9 Verwandte Arbeiten für die Unschärfepropagierung Alle betrachteten Arbeiten zur Unschärfequantifizierung verwenden numerische Optimierung für die Suche nach einer Lösung. Numerische Optimierung könnte ebenfalls zur Lösung des in dieser Arbeit beschriebenen Problems der inversen Unschärfepropagierung angewendet werden. Allerdings zeigt die Evaluation in Kapitel 11, dass nur analytische Verfahren effizient genug sind für die Analyse von komplexen Simulationen. Aus diesem Grund wird in Kapitel 10 eine analytische Methode für die inverse Unschärfepropagierung entwickelt. 9.3 Optimales Design von Experimenten Neben der Unschärfequantifizierung ähnelt die Methode des optimalen Designs von Experimenten den Konzepten dieser Arbeit. Dabei sollen wieder Parameter u einer Verteilung pu geschätzt werden. Analog zur Unschärfequantifizierung kann nur die Ausgabe einer Funktion f (x,z) mit x ∼ pu beobachtet werden. z ∈ Z ist allerdings frei wählbar [Fed10]. Das Ziel ist, für ein gegebenes N eine Menge von N Werten für z zu wählen, die „Design“ genannt wird und eine optimale Abschätzung von u ermöglicht. Die Güte der Abschätzung wird dabei als Funktion der Fisher-Informationsmatrix für u dargestellt. Unterschiedliche Funktionen der Informationsmatrix dienen dabei der Darstellung verschiedener Gütekriterien und Optimierungsmethoden [Fed10]. Für die Lösung dieses Optimierungsproblems können auch Surrogatmodelle, wie z. B. Gaußprozesse verwendet werden [Sch14]. In dieser Arbeit wird ebenfalls die Fisher-Informationsmatrix als Gütekriterium verwendet und es sollen Optimierungsverfahren verwendet werden, um eine kostenoptimale Datenakquisition zu ermöglichen. Dies ähnelt stark dem optimalen Design von Experimenten. Allerdings soll in dieser Arbeit von einer Obergrenze für die Ausgabeunschärfe einer Simulation ausgegangen werden und es existieren keine frei wählbaren Parameter z. Vielmehr soll die Anzahl an Beobachtungen minimiert werden, welche im Rahmen des Simulation-Input-Modeling für die Abschätzung von u benötigt werden. Für das optimale Design von Experimenten werden meist numerische Methoden verwendet [Fed10]. Aus diesem Grund lassen sich diese Ansätze nicht für eine analytische inverse Unschärfepropagierung erweitern. 9.4 Optimale Wahl von Stichprobengrößen 137 9.4 Optimale Wahl von Stichprobengrößen Das Problem der optimalen Wahl von Stichprobengrößen ähnelt dem in dieser Arbeit vorgestellten Problem, die optimale Datenakquisestrategie zu finden. Dabei sollen für mehrere Schätzer die Stichprobengrößen so gewählt werden, dass ein bestimmtes Kriterium optimiert wird. Beispielsweise definieren Huddleston et al. [HCH70] das Problem, die Stichprobengrößen so zu wählen, dass mit minimalem Aufwand eine gewünschte maximale Unschärfe von Schätzern erreicht wird. Für die Lösung dieses Problems werden von Huddleston et al. Methoden der konvexen Programmierung verwendet. Es wird dabei numerisch nach einer optimalen Lösung gesucht. Allerdings wird noch nicht das Problem betrachtet, dass die Schätzer als Eingabeparameter von Simulationen dienen können. Für einen Überblick über Arbeiten hinsichtlich der optimalen Wahl von Stichprobengrößen für Simulationen wird auf die Arbeiten von Merrick [Mer09] und Song et al. [SNP14] verwiesen. Die Publikationen, welche mit den in dieser Arbeit vorgestellten Methoden verwandt sind, sollen im Folgenden vorgestellt werden. Prinzipiell lassen sich zwei Probleme unterscheiden [CM12]: 1. Es sind die maximalen Kosten für die Datensammlung vorgegeben und das Optimierungsziel ist, die Unschärfe der Ausgabe der Simulation zu minimieren. 2. Es ist eine Grenze für die Unschärfe der Simulationsausgabe vorgegeben und das Optimierungsziel ist, die Kosten der Datensammlung zu minimieren. Ng und Chick [NC01, NC06] lösen Problem 1. Dabei gehen sie davon aus, dass die Ableitungen der Simulation bekannt sind oder durch ein lineares Modell approximiert werden können. Für diesen Fall finden sie mit der Methode des Lagrange-Multiplikators eine analytische Lösung für das Optimum. Dieses Vorgehen ähnelt dem in dieser Arbeit verfolgten Ansatz, der in Kapitel 10 vorgestellt wird. Allerdings wird im Rahmen dieser Arbeit Problem 2 gelöst. Es sind also im Vergleich zu Ng und Chick Optimierungsziel und Bedingung vertauscht. Im Gegensatz zu der linearen Approximation von Ng und Chick werden im Rahmen dieser Arbeit Gaußprozesse als Surrogatmodelle verwendet, die auch nichtlineare Funktionen approximieren können. Zudem werden in dieser Arbeit weitere Probleme behandelt, die bei einer praktischen Anwendung einer optimalen Wahl von Stichprobengrößen auftreten. Freimer und Schruben [FS02] beschreiben eine Lösung für das Problem, eine Datenakquisestrategie zu finden, die eine bestimmte Grenze für die Unschärfe der Simulationsausgabe nicht überschreitet. Dabei wird allerdings nicht zwangsläufig die kostenoptimale Strategie gefunden. Aus diesem Grund löst der Ansatz von Freimer und Schruben nicht Problem 2. Die Methode von Freimer und Schruben arbeitet dabei numerisch und bestimmt sowohl die Unschärfe der Schätzer als auch die Unschärfe der Simulationsausgabe 138 Kapitel 9 Verwandte Arbeiten für die Unschärfepropagierung mit Monte-Carlo-Methoden. Diese numerische Vorwärtspropagierung wird so lange mit steigenden Stichprobengrößen iteriert, bis die gewünschte Unschärfe der Simulationsausgabe erreicht ist. Cain und van Moorsel [CM12] definieren die verschiedenen Problemstellungen 1 und 2 und liefern zwei numerische Algorithmen für die Lösung von Problem 1. Diese Lösung beschränkt sich hinsichtlich der betrachteten Schätzer allerdings auf die Abschätzung des Mittelwerts der Stichproben und wird nicht auf beliebige MLE verallgemeinert. Die hier beschriebenen verwandten Arbeiten verwenden mit Ausnahme der Arbeiten von Ng und Chick [NC01, NC06] numerische Methoden, die für komplexe Simulationen nicht anwendbar sind (siehe Kapitel 11). Aus diesem Grund lassen sich diese Ansätze nicht für die inverse Unschärfepropagierung verwenden. Analog zum Ansatz von Ng und Chick für die Lösung von Problem 1 wird in dieser Arbeit Problem 2 mit Methoden der konvexen Optimierung gelöst. Allerdings werden in dieser Arbeit Gaußprozesse als nichtlineare Surrogatmodelle verwendet, wohingegen die Lösung von Ng und Chick auf lineare Surrogatmodelle beschränkt ist. Die Modellierung von Nichtlinearität ist notwendig, da die meisten Simulationen nichtlineares Verhalten aufweisen. Ebenso ist es mit Gaußprozessen möglich, aleatorische Unschärfe mit Heteroskedastizität zu modellieren (siehe Abschnitt 8.1.2.3 auf Seite 124). Dies ist mit dem Ansatz von Ng und Chick nicht möglich. 139 10 Inverse Unschärfepropagierung “ People who wish to analyze nature without using mathematics must settle for a reduced understanding. ” (Richard P. Feynman) Die Ergebnisse dieses Abschnitts wurden in verkürzter Fassung bereits in [BEWL14] publiziert. In Abschnitt 7.4 wurde die bedarfsgetriebene Datenakquisition für die Abschätzung eines Parameters u definiert. Dabei sollte die gewünschte Varianz (epistemische Unschärfe) eines Schätzers û mit einer minimalen Anzahl an Beobachtungen erreicht werden. Dies berücksichtigte jedoch noch nicht, dass der Schätzer als Eingabe für eine Simulation dienen soll. In diesem Kapitel wird nun eine bedarfsgetriebene Datenakquisition für Simulationseingabedaten entwickelt. Dabei wird nicht von der gewünschten Varianz eines Schätzers ausgegangen, sondern von der gewünschten Varianz vout der Simulationsausgabe. Wie sich die Varianz der Simulationsausgabe ausgehend von der aleatorischen Unschärfe der Simulation und der epistemischen Unschärfe der Eingabeparameter berechnen lässt, wurde in Abschnitt 8.2 beschrieben. Dabei wurde die Simulation durch einen Gaußprozess approximiert, um die Unschärfepropagierung zu ermöglichen. Da bei mehreren Eingabeparametern jeder einzelne Parameter mit epistemischer Unschärfe behaftet ist und es somit mehrere unterschiedliche Kombinationen von epistemischer Unschärfe geben kann, die zur Ausgabevarianz vout führen, lässt sich zur Unschärfepropagierung keine inverse Funktion angeben. Die unterschiedlichen Kombinationen der epistemischen Unschärfe führen allerdings zu unterschiedlichen Kosten für die Datenakquisition, also einer unterschiedlichen Anzahl von Messungen, die nötig sind, um die Eingabeparameter zu bestimmen. Aus diesem Grund ist besonders die Kombination interessant, welche die Kosten der Datenakquisition minimiert. Die approximative Methode zur Unschärfepropagierung von Girard [Gir04] dient in diesem Kapitel als Grundlage für eine IUP (Inverse Unschärfepropagierung), die ausgehend von der gewünschten Varianz der Simulationsausgabe eine kostenoptimale Datenakquisition für die Simulationseingabedaten ermöglicht. Dazu wird zunächst eine Kostenfunktion definiert, welche die 140 Kapitel 10 Inverse Unschärfepropagierung Kosten der Datenakquisition abschätzt. Diese Kostenfunktion basiert auf der Anzahl an Messungen, die für einen MLE nötig sind, um eine gewünschte Varianz zu erzielen. Diese Kostenfunktion wird anschließend verwendet, um eine kostenoptimale Datenakquisitionsstrategie zu finden, so dass die Ausgabe der Simulation annähernd die Varianz vout erreicht. Die hier beschriebene Problematik entspricht der offenen Forschungsfrage von Song und Nelson [SN13] und wird an dieser Stelle kurz an einem motivierenden Beispiel veranschaulicht. Beispiel 18. Für dieses Beispiel wird wieder das M/M/1-Warteschlangensystem aus Beispiel 17 [S. 128] verwendet. Für die Ankunfts- und Diagnosezeiten in diesem Warteschlangensystem werden Exponentialverteilungen mit den Raten ra und rb verwendet. Im vorhergehenden Beispiel wurde davon ausgegangen, dass x = (ra , rb ) normalverteilt ist (x ∼ Nu,Σ u ). Dabei war der Mittelwert u = (0.5,0.6) und die Kovarianzmatrix Σ u = diag(σr2a ,σr2b ) = diag(0.0052 ,0.0052 ). Die Standardabweichung der Schätzung von ra und rb war also jeweils 0.005. Mit Hilfe Girards approximativer UP wurde die Standardabweichung der Ausgabe (aleatorische und epistemische Unschärfe) auf ca. 0.42 geschätzt. Es wird nun angenommen, dass diese Ausgabeunschärfe zu groß ist und auf eine Standardabweichung von 0.25 reduziert werden soll. In diesem Kapitel wird in der Fortführung dieses Beispiels geklärt, wie viele Beobachtungen für die Bestimmung von ra und rb gesammelt werden müssen, um die gewünschte Ausgabeunschärfe zu erreichen. Es muss also ein Σ u = diag(σr2a ,σr2b ) gefunden werden, das in einer Ausgabeunschärfe von 0.25 resultiert. Dabei soll die Gesamtzahl an Beobachtungen für die Schätzung von ra und rb minimal sein. 10.1 Kostenfunktion In diesem Abschnitt wird eine Kostenfunktion für die Datenakquisition eines Simulationsprojekts aufgestellt. Es wird wie in Abschnitt 7.4 davon ausgegangen, dass Beobachtungen benutzt werden, um mittels MLE die Parameter von Wahrscheinlichkeitsverteilungen zu schätzen. Im einfachen Fall wird von D Schätzern x = (x1 , . . . ,xD ) als Eingabe für die Simulation ausgegangen, von denen jeder Schätzer den Parameter einer Wahrscheinlichkeitsverteilung mit genau einem Parameter abschätzt. Es gilt x ∼ Nu,Σ u mit Σ u und 10.2 Kostenoptimale Inverse Unschärfepropagierung 141 Σ u := diag(v) := diag(v1 , . . . ,vD ) (siehe Annahme 21 [S. 109] über die Unabhängigkeit der Schätzer). Für einen Schätzer xi lässt sich die Anzahl an Beobachtungen ni , die nötig sind, um eine Schätzung mit Varianz vi zu erreichen, anhand der Cramér-Rao-Ungleichung (7.1) [S. 106] abschätzen: 1 ni ≈ vi I(ui ) (10.1) Wird nun davon ausgegangen, dass für den Schätzer xi die Kosten für eine Beobachtung ci sind, so lassen sich die Kosten, um die Varianz vi zu erreichen, folgendermaßen bestimmen: cost(vi ) = ci vi I(ui ) (10.2) Dabei wird ignoriert, dass die Anzahl an Beobachtungen nur ganzzahlig sein kann, damit diese Kostenfunktion später für kontinuierliche Optimierung herangezogen werden kann. Um den Vektor von Eingabevarianzen v zu erreichen, ergibt sich für die Kostenfunktion: D κi ci = cost(v) = i=1 vi i=1 vi Ii (ui ) D (10.3) Zur Vereinfachung der Notation wird κi = ci /Ii (ui ) eingeführt. Die κi sind also die Gewichte, mit denen die vi in die Kostenfunktion einfließen. Auch hier wird für die Bestimmung der Kosten der Wert u = (u1 , . . . ,uD ) benötigt, der unbekannt ist und eigentlich durch x abgeschätzt werden soll. Wie mit diesem Problem umzugehen ist, wird in Abschnitt 10.6 diskutiert. Wie Wahrscheinlichkeitsverteilungen berücksichtigt werden können, die mehrere Parameter besitzen, die mit denselben Beobachtungen geschätzt werden, wird in Abschnitt 10.5 beschrieben. 10.2 Kostenoptimale Inverse Unschärfepropagierung Es soll nun für eine Simulation die epistemische Unschärfe v̊ gefunden werden, welche zu einer Ausgabeunschärfe vout führt und cost(v) minimiert. Von der Simulation sind analog zu Abschnitt 8.1.1 die Beobachtungen B = {(xi ,ti )}N i=1 bekannt. Die Simulation wird 142 Kapitel 10 Inverse Unschärfepropagierung ausgehend von diesen Beobachtungen durch einen Gaußprozess approximiert, so dass die vorgestellten Methoden zur Unschärfepropagierung angewendet werden können. Girards exakte UP führt zu Gleichungen, die nichtlinear von Σ u abhängig sind [Gir04]. Aus diesem Grund wird in diesem Abschnitt die approximative UP als Grundlage hergenommen, da diese zu Gleichungen führt, die linear von Σ u abhängig sind. Die approximative UP wurde in (8.22) [S. 127] definiert. Da angenommen wird, dass u bekannt ist und Σ u = diag(v) gilt, wird (8.22) nun als Funktion von v geschrieben: vu (v) = σ 2 (u) + 12 Tr[C′′ (u,u)Σ u ] − N (Kij−1 − βi βj ) Tr[C′ (u,xi )C′ (u,xj )T Σ u ] i,j=1 − N 1 2 Kij−1 C(u,xi ) Tr[C (u,xj )Σ u ] + C(u,xj ) Tr[C (u,xi )Σ u ] ′′ ′′ (10.4) i,j=1 Dies ist eine lineare Funktion und somit konvex [Gra08a]. Hierbei ist zu beachten, dass je nach Bedarf die aleatorische Unschärfe vt , welche in σ 2 (u) enthalten ist, und die Surrogat-Unschärfe σ 2 (u) − vt aus (10.4) entfernt werden können. Auf diese Weise können verschiedene Arten der Ausgabeunschärfe betrachtet werden. Im Folgenden soll (10.4) unverändert verwendet werden. Die vorgestellten Methoden sind jedoch für alle Varianten von (10.4) anwendbar. Die Kostenfunktion (10.3) auf der vorherigen Seite hat die Hesse-Matrix: [cost′′ (v)]ij = δij 2κi vi3 (10.5) cost′′ (v) ist also eine Diagonalmatrix und somit für vi > 0 ∀i positiv definit, da κi = ci /Ii (ui ) positiv ist (siehe Anhang D.2.2). Somit ist cost(v) strikt konvex [Gra08a]. Damit lässt sich das in diesem Abschnitt zu lösende Problem als konvexes Optimierungsproblem schreiben: min cost(v) v ∈ (R+ )D vu (v) − vout ≤ 0 10.2 Kostenoptimale Inverse Unschärfepropagierung 143 Somit kann die in Anhang D.3.2 beschriebene Methode zur konvexen Optimierung verwendet werden. Die Lösung v̊ dieses Optimierungsproblems muss zusätzlich zur Nebenbedingung für ein λ > 0 die folgenden hinreichenden Bedingungen erfüllen: ∇ cost(v̊) = −λ∇vu (v̊) (10.6) λ(vu (v̊) − vout ) = 0 (10.7) ∃v vu (v) − vout < 0 (10.8) Die Slater-Bedingung (10.8) ist offensichtlich erfüllt, wenn vout größer ist als vu (0) = σ 2 (u). Andernfalls hätte das Optimierungsproblem keine Lösung. Bedingung (10.7) dient der Bestimmung, ob die Nebenbedingung vu (v) − vout ≤ 0 scharf ist, d.h. vu (v) = vout . Aufgrund der Struktur der Kostenfunktion und der Nebenbedingung lässt sich feststellen, dass dies hier der Fall ist. Läge das Optimum v̊ nicht auf der durch die Nebenbedingung definierten Grenze, so ließe sich durch Vergrößern einer Komponente von v̊ ein v̊∗ finden, welches weniger Kosten verursacht. Die Gleichungen (10.6) und (10.7) lassen sich also auch folgendermaßen schreiben: − ∂vu (v̊) κh = −λ 2 v̊h ∂vh ∀h = 1 . . . D (10.9) vu (v̊) = vout (10.10) (10.9) lässt sich nach vh auflösen: v̊h = λ ∂vu (v̊) κh ∂vh −1/2 ∀h = 1 . . . D (10.11) Da vu (v) linear ist, ist ∂vu (v̊)/∂vh konstant: N ∂vu (v̊) = 12 [C ′′ (u,u)]hh − (Kij−1 − βi βj )[C′ (u,xi )C′ (u,xj )T ]hh ∂vh i,j=1 − 1 2 N Kij−1 C(u,xi )[C (u,xj )]hh + C(u,xj )[C (u,xi )]hh ′′ ′′ (10.12) i,j=1 Nun lassen sich die v̊h aus (10.11) als Vektor v̊ in (10.10) einsetzen und nach λ auflösen. Dazu wird τ = λ−1/2 definiert und die Matrix Σ ∗ wird folgendermaßen definiert: 1 ∂vu (v̊) Σ ∗ = diag κ1 ∂v1 −1/2 1 ∂vu (v̊) ,..., κD ∂vD −1/2 (10.13) 144 Kapitel 10 Inverse Unschärfepropagierung Damit ist τ Σ ∗ = diag(v̊). Dann gilt: vout = σ (u) + Tr[C (u,u)τ Σ ∗ ] − 2 ′′ 1 2 N (Kij−1 − βi βj ) Tr[C′ (u,xi )C′ (u,xj )T τ Σ ∗ ] i,j=1 − 12 N Kij−1 C(u,xi ) Tr[C (u,xj )τ Σ ∗ ] + C(u,xj ) Tr[C (u,xi )τ Σ ∗ ] ′′ ′′ (10.14) i,j=1 =σ 2 (u) + τ 1 2 Tr[C (u,u)Σ ∗ ] − ′′ N (Kij−1 − βi βj ) Tr[C′ (u,xi )C′ (u,xj )T Σ ∗ ] i,j=1 − 12 N Kij−1 C(u,xi ) Tr[C′′ (u,xj )Σ ∗ ] + C(u,xj ) Tr[C′′ (u,xi )Σ ∗ ] (10.15) i,j=1 Dies lässt sich nach τ auflösen: τ = vout − σ 2 (u) / . . . (10.16) Wird nun λ = τ −2 in (10.11) auf der vorherigen Seite eingesetzt, so ergibt dies die v̊h und somit die optimale Lösung v̊, welche die Kostenfunktion minimiert. Diese Methode wird im Folgenden approximative IUP genannt. Die Lösung v̊ lässt sich mit Hilfe von (10.1) [S. 141] dazu benutzen, um für jeden Schätzer die Anzahl an Beobachtungen abzuschätzen, die nötig sind, damit die Simulationsausgabe eine Unschärfe von vout hat. Es ergibt sich also eine kostenoptimale Datenakquisitionsstrategie. Im Folgenden wird v̊ als kostenoptimale Datenakquisitionsstrategie bezeichnet. Da Girards exakte UP [GMS05] zu nichtlinearen Gleichungen führt, lässt sich hierfür keine analytische Lösung für das Optimum finden. Alternativ lässt sich die exakte UP in Kombination mit numerischen Optimierungsverfahren verwenden, um eine exakte IUP zu ermöglichen. Hierbei ist zu beachten, dass die exakte UP auf bestimmte Kovarianzfunktionen beschränkt ist, während die approximative UP nur die zweimalige Differenzierbarkeit voraussetzt. Die exakte IUP ist allerdings nur hinsichtlich der Verwendung der exakten UP exakt. Numerische Optimierungsverfahren können bei der exakten IUP Näherungsfehler verursachen. In der Evaluation 11.3 wird die exakte IUP mit der approximativen IUP hinsichtlich Effizienz und Genauigkeit verglichen. Im Folgenden wird die IUP an einem Beispiel verdeutlicht. In den Abschnitten 10.3 bis 10.7 wird die approximative IUP erweitert, um die noch offenen Probleme zu lösen. Beispiel 19. Mit der approximativen IUP kann nun das Problem vom Anfang des Kapitels gelöst werden. Dabei soll die Anzahl an Beobachtungen für die Pa- 10.3 Feste Eingabeparameter 145 rameter ra und rb des M/M/1-Warteschlangensystems so gewählt werden, dass die Ausgabeunschärfe der Simulation auf eine Standardabweichung von 0.25 reduziert wird. Die Gesamtzahl an Beobachtungen für die Schätzung von ra und rb soll dabei minimal sein. Für dieses Beispiel werden für die Kosten pro Beobachtung ca = cb = 1 gewählt. Die Gesamtzahl an Beobachtungen stellt also die Kosten der Datensammlung dar. Die passende Kostenfunktion wurde in Abschnitt 10.1 vorgestellt. Es gilt x = (ra , rb ) ∼ Nu,Σ u mit Mittelwert u = (0.5,0.6) und Kovarianzmatrix Σ u = diag(va ,vb ) = diag(σr2a ,σr2b ). Nun kann mit Hilfe der approximativen IUP die optimale Anzahl Nra bzw. Nrb an Beobachtungen für die Abschätzung der Parameter ra und rb angenähert werden, so dass die kombinierte aleatorische und epistemische Ausgabeunschärfe 0.25 beträgt. Tabelle 10.1 stellt die gefundenen optimalen Lösungen mit der nötigen Gesamtzahl an Beobachtungen dar. In dieser Tabelle werden die Resultate der approximativen IUP mit der exakten IUP verglichen. Die exakte IUP nutzt Girards exakte UP in Kombination mit dem Cobyla-Optimierungsverfahren [Pow94]. Beide Verfahren nutzen den Gaußprozess für die Unschärfepropagierung, da mit einer Monte-Carlo-Propagierung aufgrund des Rechenaufwands die Anwendung eines Optimierungsverfahrens zu zeitaufwändig wäre. Für beide Verfahren werden die gefundenen optimalen Lösungen mit Girards exakter UP durch den Gaußprozess propagiert, um zu überprüfen, ob die gewünschte Ausgabeunschärfe erreicht wurde. Die approximative IUP ist wesentlich schneller als die exakte IUP, da in diesem Fall die optimale Lösung analytisch gefunden wird. In diesem Beispiel wird bei der approximativen IUP die nötige Gesamtzahl an Beobachtungen leicht unterschätzt. Dies resultiert in einer geringen Überschreitung der gewünschten Ausgabeunschärfe. Approx. IUP Exakte IUP Laufzeit (s) 0.15 4.87 Nra Nrb 70842 71540 69037 69973 Exakte UP 0.2505 0.2500 Gesamtzahl an Beob. 139879 141513 Tabelle 10.1: Inverse Unschärfepropagierung für das M/M/1-Warteschlangensystem. 10.3 Feste Eingabeparameter Bisher wurde davon ausgegangen, dass die Unschärfe aller Eingabeparameter unbekannt ist und für jeden Eingabeparameter eine kostenoptimale Datenakquisitionsstrategie ge- 146 Kapitel 10 Inverse Unschärfepropagierung funden werden soll. Laut Annahme 18 [S. 105] müssen allerdings unter Umständen auch weitere Eingabeparameter berücksichtigt werden, welche eine feste Unschärfe besitzen. Zusätzlich zu den n Eingabeparametern, für die das kostenoptimale (v̊1 , . . . ,v̊n ) bestimmt werden soll, wird also von o Eingabeparametern mit fester Varianz (ṽ1 , . . . ,ṽo ) ausgegangen. Dabei gilt n + o = D ist die Anzahl der Eingabeparameter der Simulation. Die Matrix Σ ∗ in (10.14) [S. 144] wird in Blockmatrizen aufgeteilt: Σ∗ = τ Σ ∗1 0 0 Σ ∗2 τ Σ ∗1 = diag(v̊1 , . . . ,v̊n ), , Σ ∗2 = diag(ṽ1 , . . . ,ṽo ) Σ ∗1 wird dabei analog zu (10.13) [S. 143] bestimmt. Der Gradient und die Hesse-Matrix werden auch in Blockmatrizen entsprechender Größe aufgeteilt: C (u,xi ) = ′ C′i1 C′i2 , C (u,xi ) = ′′ C′′i11 C′′i12 C′′i21 C′′i22 , C (u,u) = ′′ C′′11 C′′12 C′′21 C′′22 Die Gleichung (10.14) [S. 144] lässt sich nun mit den Regeln für die Multiplikation von Blockmatrizen folgendermaßen schreiben (siehe Anhang E.4): vout = σ 2 (u) + τ 12 Tr[C′′11 Σ ∗1 ] − N (Kij−1 − βi βj ) Tr[C′i1 C′T j1 Σ ∗1 ] i,j=1 − 1 2 N Kij−1 C(u,xi ) Tr[C′′j11 Σ ∗1 ] + C(u,xj ) Tr[C′′i11 Σ ∗1 ] i,j=1 1 2 Tr[C′′22 Σ ∗2 ] − N (Kij−1 − βi βj ) Tr[C′i2 C′T j2 Σ ∗2 ] i,j=1 − 1 2 N Kij−1 C(u,xi ) Tr[C′′j22 Σ ∗2 ] + C(u,xj ) Tr[C′′i22 Σ ∗2 ] (10.17) i,j=1 Damit lässt sich τ bestimmen und τ Σ ∗1 ergibt die kostenoptimalen v̊h . 10.4 Simulationen mit mehreren Ausgabewerten In manchen Fällen sind mehrere Ausgabewerte einer Simulation relevant. Im Falle der Regression und Unschärfepropagierung ließen sich die Methoden trivial auf Simulationen mit mehreren Ausgabewerten erweitern, da jede Ausgabe getrennt betrachtet werden konnte. Für die IUP ist dies nicht der Fall. Es wird von einer Simulation mit q Ausgabewerten ausgegangen. Für jeden Ausgabewert wird eine Gaußprozess-Regression 10.4 Simulationen mit mehreren Ausgabewerten 147 anhand von Beobachtungen durchgeführt. Ausgehend von der epistemischen Unschärfe v lassen sich für die q Ausgabewerte die Ausgabeunschärfen v1 (v), . . . ,vq (v) bestimmen. Falls für die gewünschten Ausgabeunschärfen v1,out , . . . ,vq,out eine kostenoptimale Datenakquisitionsstrategie gefunden werden soll, so ergibt sich das folgende konvexe Optimierungsproblem: min cost(v) (10.18) v ∈ (R ) (10.19) + D vk (v) − vk,out ≤ 0 ∀k = 1, . . . ,q (10.20) Es lässt sich nun wieder die in Anhang D.3.2 beschriebene Methode zur konvexen Optimierung anwenden. Das Minimum v̊ muss wieder zusätzlich zu den Nebenbedingungen für ein λ ≥ 0 folgende hinreichende Bedingungen erfüllen: ∇ cost(v̊) = − q λk ∇vk (v̊) (10.21) k=1 λk (vk (v̊) − vk,out ) = 0, ∃v∀k = 1, . . . ,q ∀k = 1, . . . ,q vk (v) − vk,out < 0 (10.22) (10.23) Die Slater-Bedingung (10.23) muss wieder erfüllt sein, damit eine sinnvolle Lösung überhaupt möglich ist. Die weiteren Bedingungen (10.22) dienen wieder der Bestimmung, welche Nebenbedingungen scharf sind. Da in diesem Fall mehrere Nebenbedingungen vorliegen, müssen diese nun nicht mehr zwingend scharf sein. (10.21) lässt sich folgendermaßen umformen: − q κh ∂vk (v̊) = − λk , 2 v̊h ∂vh k=1 ∀h = 1 . . . D (10.24) Aufgelöst nach v̊h ergibt sich: λk ∂vk (v̊) v̊h = k=1 κh ∂vh q −1/2 , ∀h = 1 . . . D (10.25) ∂vk (v̊)/∂vh ist wieder konstant und lässt sich analog zu (10.12) [S. 143] bestimmen. Da sich die λk in (10.25) allerdings nicht mehr aus der Summe herausziehen lassen, resultiert das Einsetzen der v̊h in (10.22) in einem nichtlinearen Gleichungssystem. Dieses System muss nach den λk aufgelöst werden. Dabei ist das System nicht mehr analytisch lösbar und es muss eine numerische Lösung gefunden werden. Da eine Simulation meist mehr 148 Kapitel 10 Inverse Unschärfepropagierung Eingabeparameter als relevante Ausgabewerte besitzt und somit oft q ≪ D gilt, ist dies effizienter, als direkt eine numerische Lösung für das Optimierungsproblem zu suchen. 10.5 Gemeinsam geschätzte Parameter In diesem Abschnitt wird beschrieben, wie eine Lösung gefunden werden kann, wenn die Wahrscheinlichkeitsverteilungen, deren Parameter geschätzt werden sollen, mehrere Eingabeparameter haben. Ohne Beschränkung der Allgemeinheit wird davon ausgegangen, dass von den Schätzern x = (x1 , . . . ,xk , . . . ,xD ) die ersten k Schätzer die Parameter einer einzelnen Wahrscheinlichkeitsverteilung darstellen und gemeinsam geschätzt werden. Laut Annahme 21 [S. 109] wird davon ausgegangen, dass diese Schätzer unabhängig voneinander sind. Die Varianz der Schätzer lässt sich mit (7.5) [S. 108] abschätzen. Allerdings wird für die Schätzer von mehreren Parametern einer einzelnen Verteilung die gleiche Stichprobe verwendet. Durch die gleiche Stichprobengröße der Schätzer xi und xj ∀i,j ≤ k folgt, dass vi Ii (ui ) = vj Ij (uj ) und somit vi = vj Ij (uj )/Ii (ui ) sein muss. Soll nun für das Optimierungsproblem aus Abschnitt 10.2 eine kostenoptimale Lösung v̊ gefunden werden, so muss dies berücksichtigt werden. In (10.4) [S. 142] werden für i = 2, . . . ,k die vi , die entlang der Diagonale von Σ u liegen, durch v1 I1 (u1 )/Ii (ui ) ersetzt. Die Anzahl der zu bestimmenden Variablen reduziert sich also um k −1. In (10.3) [S. 141] müssen die Kosten der Schätzer x2 , . . . ,xk nicht mehr berücksichtigt werden. Bei der Bestimmung der Ableitung in (10.12) [S. 143] ergibt sich eine weitere Änderung, da v1 durch die Ersetzung der v2 , . . . ,vk mehrfach in vu (v̊) vorkommt. Zur Vereinfachung der Notation wird dh analog zu (10.12) definiert: dh = 12 [C ′′ (u,u)]hh − N (Kij−1 − βi βj )[C′ (u,xi )C′ (u,xj )T ]hh i,j=1 − 1 2 N Kij−1 C(u,xi )[C (u,xj )]hh + C(u,xj )[C (u,xi )]hh ′′ ′′ (10.26) i,j=1 Da die vi linear in vu (v̊) vorkommen, ergibt sich für die Ableitung: k ∂vu (v̊) = d1 + dh ∗ I1 (u1 )/Ih (uh ) ∂v1 h=2 (10.27) Mit der Ersetzung v̊i = v̊1 I1 (u1 )/Ii (ui ) ∀i = 2, . . . ,k ergibt sich dann das Optimum analog zu Abschnitt 10.2. 10.6 Das unbekannte u 149 10.6 Das unbekannte u Bei der inversen Unschärfepropagierung wurde bisher immer davon ausgegangen, dass der zu schätzende Parameterwert u bekannt ist. Dies wurde sowohl für die Kostenfunktion (Abschnitt 10.1) als auch für die Formeln der IUP (Abschnitt 10.2) benötigt. Diese Annahme wurde bisher vorausgesetzt. Sie ist allerdings nicht realistisch, da u die Parameter darstellt, welche mit MLE geschätzt werden sollen. Die Tatsache, dass der Parameterwert, der geschätzt werden soll, für die Bestimmung der Unschärfe der Abschätzung benötigt wird, ist ein klassisches Problem des optimalen Designs von Experimenten [Fed10, Sch14]. In Annahme 19 [S. 107] wurde davon ausgegangen, dass für den Wert von u eine grobe initiale Abschätzung û∗ existiert, welche mit einer Varianz v∗ ≫ v̊ normalverteilt ist. Die IUP bestimmt für ein u und eine gewünschte Ausgabeunschärfe vout die optimale Eingabeunschärfe v̊. Aus v̊ folgt dann direkt mit der Cramér-Rao-Ungleichung (7.1) [S. 106] die optimale Datenakquisitionsstrategie, d.h. die Anzahl an Beobachtungen, die für die Schätzung von u benötigt werden. Die IUP lässt sich also als deterministische Funktion IUP : RD ×R → RD , (u, vout ) →→ v̊ betrachten. Analog zur Kostenfunktion (10.2) [S. 141] muss die Anzahl an Beobachtungen dabei nicht ganzzahlig sein. Dies ermöglicht die Anwendung von kontinuierlichen Optimierungsverfahren. Es liegt also eine deterministische Funktion IUP(u,vout ) mit einem unscharfen Parameter û∗ vor. In Abschnitt 9.1 wurden verschiedene Methoden für die Unschärfepropagierung für deterministische Funktionen vorgestellt, die nun angewendet werden können. Das Ergebnis dieser Unschärfepropagierung UP(v∗ ) ist ein unscharfes Optimum, das über eine Wahrscheinlichkeitsdichte p(v̊) dargestellt wird. Aus p(v̊) folgt somit eine unscharfe Datenakquisitionsstrategie. Für jeden Parameter kann damit für die Anzahl an Beobachtungen, die nötig sind, um eine gewünschte Ausgabeunschärfe zu erzielen, ein Konfidenzintervall angegeben werden. Dieses Konfidenzintervall kann für die Abschätzung der Kosten einer Datensammlung verwendet werden. Es liegen nun mehrere Ebenen der Unschärfepropagierung vor, die in Abbildung 10.1 auf der nächsten Seite und Tabelle 10.2 veranschaulicht werden. Die Unschärfe der Eingabeparameter kann durch die Simulation propagiert werden (vu (v)). Die gewünschte Ausgabeunschärfe kann invers durch die Simulation propagiert werden (IUP(u,vout )). Zusätzlich kann die Unschärfe v∗ des initial geschätzten û∗ durch die IUP propagiert werden (UP(v∗ )). Da die approximative IUP das Optimum analytisch findet, ist diese Methode effizient genug, um numerische Unschärfepropagierungsmethoden für UP(v∗ ) anwenden zu können. Dies soll im Folgenden an einem Beispiel veranschaulicht werden. 150 Kapitel 10 Inverse Unschärfepropagierung f (x) + ε x ε vu (v) f (x) + ε v ∗ v̊ x t vout p(v̊) t vu (v) IUP(u,vout ) vout v̊ IUP(u,vout ) UP(v∗ ) v∗ UP(v∗ ) Abbildung 10.1: Ebenen der Unschärfepropagierung p(v̊) Simulation Eingabe aleatorische Unschärfe Ausgabe UP inverse UP gewünschte Ausgabeunschärfe optimale Eingabeunschärfe UP durch Funk. IUP(u,vout ) grobe intiale Unschärfe Verteilung der optimalen Eingabeunschärfe Tabelle 10.2: Legende Beispiel 20. In diesem Beispiel wird wieder das M/M/1-Warteschlangensystem verwendet. Wie im Beispiel in Beispiel 17 [S. 128] wird davon ausgegangen, dass x = (ra , rb ) normalverteilt ist (x ∼ Nu,Σ u ), mit Mittelwert u = (0.5,0.6) und Kovarianzmatrix Σ u = diag(0.0052 ,0.0052 ). Mit Girards approximativer UP wurde in Beispiel 17 die Standardabweichung der Ausgabe auf annähernd 0.42 geschätzt. In der motivierenden beispielhaften Problemstellung am Anfang dieses Kapitels sollte die Standardabweichung der Ausgabe auf 0.25 reduziert werden. In Beispiel 19 [S. 144] wurde mit der IUP die optimale Datenakquisitionsstrategie gefunden, die zu einer maximalen Standardabweichung der Ausgabe von 0.25 führt. Dazu musste davon ausgegangen werden, dass u = (0.5,0.6) bekannt ist. In diesem Beispiel soll nun davon ausgegangen werden, dass für u nur eine grobe initiale Schätzung û∗ = x ∼ Nu,Σ u vorliegt. Für dieses Beispiel werden die Genz-Keister Integrationsregeln verwendet [GK96], die in Abschnitt 9.1 vorgestellt wurden. Diese ermöglichen eine Propagierung der Unschärfe von û∗ durch die deterministische Funktion IUP(u,vout ), welche die optimale Datenakquisitionsstrategie bestimmt. Da IUP(u,vout ) keine lineare Funktion ist, ist die Ausgabeverteilung keine Normalverteilung mehr. Die Genz-Keister Inte- 10.6 Das unbekannte u 151 grationsregeln ermöglichen dennoch eine Bestimmung von beliebigen Momenten der Ausgabeverteilung. Dies erlaubt die Approximation der Ausgabeverteilung durch das Pearson-System von Verteilungen [Pea95, Cra46]. Das Pearson-System approximiert eine beliebige Verteilung basierend auf den ersten vier Momenten (Mittelwert, Varianz, Schiefe und Wölbung) der Verteilung. Das Pearson-System ermöglicht auch eine Approximation der Konfidenzintervalle der Ausgabe. Die Approximation der Ausgabeverteilung durch das Pearson-System wird in Abbildung 10.2 auf der nächsten Seite dargestellt. Dabei wird als Ausgabe von IUP(u,vout ) die Gesamtzahl an Beobachtungen betrachtet, die nötig sind, um eine Standardabweichung der Ausgabe der Simulation von 0.25 zu erreichen. In dieser Abbildung wird das Pearson-System, das mit der approximativen IUP und den Genz-KeisterIntegrationsregeln erstellt wurde, mit einer Monte-Carlo-Propagierung der Unschärfe von û∗ durch IUP(u,vout ) verglichen. Für die Monte-Carlo-Propagierung wurden 105 Werte durch IUP(u,vout ) propagiert. Zusätzlich wird in der Abbildung ein PearsonSystem dargestellt, das mit der exakten (numerischen) IUP erstellt wurde. Die Abbildung zeigt also, dass das Pearson-System gut geeignet ist, die Ausgabeverteilung zu approximieren. Ebenso zeigt die Abbildung, dass die Ergebnisse der approximativen IUP sehr nahe an den Ergebnissen der exakten IUP liegen. In Tabelle 10.3 werden die 95%-Konfidenzintervalle für die Gesamtzahl an Beobachtungen aufgelistet. Dabei zeigt sich, dass das Pearson-System für die Abschätzung der Konfidenzintervalle gut geeignet ist. Im Gegensatz dazu ist die Normalverteilung für die Abschätzung der Konfidenzintervalle ungeeignet. Normalverteilung Pearson-System Pearson-System (exakte IUP) Monte-Carlo (48959, (83955, (85277, (83144, 254080) 282600) 283968) 283325) Tabelle 10.3: 95%-Konfidenzintervall für die Gesamtzahl an Beobachtungen 152 Kapitel 10 Inverse Unschärfepropagierung 1e-05 Monte-Carlo Pearson Pearson (exakte IUP) 9e-06 8e-06 7e-06 Dichte 6e-06 5e-06 4e-06 3e-06 2e-06 1e-06 0 100000 200000 300000 400000 Gesamtzahl an Beobachtungen 500000 Abbildung 10.2: Verteilung der Gesamtzahl an Beobachtungen 10.7 Optimale Datenakquisitionsstrategie mit unscharfem u Im letzten Abschnitt wurde eine Methode vorgestellt, die es erlaubt, die initiale Unschärfe des Parametervektors u bei der inversen Unschärfepropagierung zu berücksichtigen. Dies ist erforderlich, da für die IUP ein konkreter Wert für u bekannt sein muss, obwohl u eigentlich die Parameter darstellt, die erst geschätzt werden sollen. Es wurde angenommen, dass für u eine grobe initiale Schätzung û∗ existiert, die mit einer Varianz v∗ normalverteilt ist (Annahme 19 [S. 107]). Die im letzten Abschnitt vorgestellte Methode lässt sich anwenden, um die Konfidenzintervalle der Kosten einer Datensammlung unter Berücksichtigung der Unschärfe von û∗ zu bestimmen. Dies ermöglicht es, die Kosten einer Datensammlung im Vorfeld abzuschätzen. Allerdings erlaubt dieser Ansatz keine konkrete Suche nach einer optimalen Datenakquisitionsstrategie, die trotz der Unschärfe von û∗ die gewünschte Ausgabeunschärfe vout mit minimalen Kosten erreicht. Trotz der Unschärfe von û∗ lässt sich iterativ eine optimale Datenakquisitionsstrategie finden. Hierzu wird die optimale Strategie für die grobe initiale Abschätzung û∗ ermittelt. Während der Datensammlung muss nun die Abschätzung û∗ iterativ verbessert werden 10.7 Optimale Datenakquisitionsstrategie mit unscharfem u 153 und die optimale Strategie angepasst werden. Dieses Verfahren sollte in weiteren Arbeiten genauer evaluiert und verbessert werden. Um trotz der Unschärfe von û∗ direkt eine Aussage über eine konkrete Datenakquisitionsstrategie treffen zu können, muss für ein konkretes ṽ bestimmt werden, mit welcher Wahrscheinlichkeit die gewünschte Ausgabeunschärfe vout unterschritten wird. Dies lässt sich mit der Wahrscheinlichkeitsdichte p(v̊) bestimmen. Wenn ein v̊ in der gewünschten Ausgabeunschärfe vout resultiert, so erreicht oder unterschreitet eine Simulation mit Eingabeunschärfe ṽ ebenfalls vout , wenn ṽ komponentenweise kleiner oder gleich v̊ ist (ṽi ≤ v̊i , ∀i = 1, . . . ,D). Diese Bedingung ist hinreichend aber nicht notwendig. Es gibt auch weitere Fälle, in denen ṽ die gewünschte Ausgabeunschärfe unterschreitet. Über diese lässt sich allerdings aufgrund der Unschärfe von u keine konkrete Aussage treffen, da in diesen Fällen u beeinflusst, ob eine Simulation mit Eingabeunschärfe ṽ die Grenze vout unterschreitet. Eine Unterschranke für die Wahrscheinlichkeit, dass eine Simulation mit Eingabeunschärfe ṽ die Grenze vout unterschreitet, lässt sich also folgendermaßen bestimmen: P (vu (ṽ) ≤ vout ) ≥ ∞ ṽD ... ∞ p(v̊) dv̊1 , . . . , dv̊D (10.28) ṽ1 Das Integral in (10.28) lässt sich nur numerisch bestimmen, da für p(v̊) keine geschlossene Formel angegeben werden kann. In weiteren Arbeiten müssen also effiziente approximative Methoden für die Bestimmung dieses Integrals gefunden werden. Mit der Abschätzung (10.28) lässt sich direkt ohne iteratives Vorgehen eine Datenakquisitionsstrategie finden, die mit einer bestimmten Wahrscheinlichkeit die gewünschte Ausgabeunschärfe vout nicht überschreitet. Ein konkretes Verfahren dafür muss in weiteren Arbeiten entwickelt und evaluiert werden. 155 11 Evaluation der inversen Unschärfepropagierung Die Ergebnisse dieser Evaluation wurden in verkürzter Fassung bereits in [BEWL14] publiziert. In diesem Kapitel wird Hypothese 3 [S. 30] evaluiert, welche die inverse Unschärfepropagierung betrifft. Diese Hypothese gehört zu Problem 6 [S. 23], das sich mit der bedarfsgetriebenen Datenakquisition befasst, und besagt, dass eine optimale Datenakquisestrategie mit Gaußprozessen effizient näherungsweise gefunden werden kann. Dabei sollte ein relativer Fehler von 0.1 nicht überschritten werden. Diese Grenze repräsentiert eine domänenabhängige Anforderung an die Güte der Abschätzungen und wurde für diese Evaluation exemplarisch gewählt. Für konkrete Problemstellungen sollte Hypothese 3 mit einem der Domäne entsprechenden relativen Fehler evaluiert werden. Die Genauigkeit der approximativen IUP, die im letzten Kapitel als Methode für die bedarfsgetriebene Datenakquisition vorgestellt wurde, hängt von folgenden Näherungen ab: 1. Kostenfunktion Die Cramér-Rao-Ungleichung [Cra46, S. 480][Rao45], die als Grundlage für die Kostenfunktion verwendet wird, approximiert die Stichprobengröße, die für das Erreichen einer bestimmten tolerierbaren Varianz mit einem MLE benötigt wird. Die Qualität dieser Approximation hängt von der Stichprobengröße ab, die geschätzt werden soll, da die Cramér-Rao-Ungleichung auf der Tatsache beruht, dass MLE asymptotisch normal und effizient sind. In Annahme 11 [S. 30] wurde festgehalten, dass die Methoden dieser Arbeit voraussetzen, dass die Approximation der Kosten für den jeweiligen Anwendungsfall genau genug ist. 2. Regression Gaußprozesse sind Annäherungen an die Simulationen, die untersucht werden sollen. Wie gut ein Gaußprozess eine Simulation approximieren kann, hängt von vielen Faktoren ab. Eine Voraussetzung für die Anwendbarkeit von Gaußprozessen ist beispielsweise, dass die Funktion, die durch die Simulation berechnet wird, eine Realisierung eines Gaußprozesses sein muss (Annahme 22 auf Seite 116). Somit 156 Kapitel 11 Evaluation der inversen Unschärfepropagierung muss für jeden Einzelfall entschieden werden, ob eine Regression mit einem Gaußprozess eine ausreichende Genauigkeit der Analysen ermöglicht. In Annahme 8 [S. 29] wird deswegen vorausgesetzt, dass Gaußprozesse für die Approximation einer Simulation geeignet sein müssen, damit die Methoden dieser Arbeit anwendbar sind. 3. Approximative UP Die approximative IUP basiert auf Girards [Gir04, GMS05] approximativer UP, die eine Approximation der Unschärfepropagierung durch Gaußprozesse darstellt. Girard stellt in ihrer Arbeit auch eine exakte Methode zur Unschärfepropagierung durch Gaußprozesse vor. Allerdings ermöglicht die approximative UP eine analytische Optimierung für die IUP. Deswegen wird in Annahme 9 [S. 29] davon ausgegangen, dass die approximative UP für den jeweiligen Anwendungsfall genau genug sein muss, damit die approximative IUP anwendbar ist. Ob diese drei Stufen der Approximation genau genug sind, muss für jeden Anwendungsfall konkret entschieden werden. Die Optimierung, die für die approximative IUP verwendet wird, ist exakt und ist somit keine weitere Quelle von Näherungsfehlern (siehe Kapitel 10). In dieser Evaluation wird für die Kostenfunktion und für die approximative UP exemplarisch aufgezeigt, wie sich überprüfen lässt, ob die Annahmen 9 [S. 29] und 11 [S. 30] zutreffend sind. Die Regression mit Gaußprozessen wurde von Rasmussen [Ras96] schon ausgiebig evaluiert. Aus diesem Grund wird in dieser Arbeit nicht weiter darauf eingegangen, wie für eine konkrete Simulation evaluiert werden kann, ob ein Gaußprozess eine akzeptable Approximation ermöglicht. Zunächst wird im nächsten Abschnitt gezeigt, wie die Genauigkeit der Kostenfunktion überprüft werden kann. Anschließend wird in Abschnitt 11.2 die Güte der approximativen UP anhand von synthetischen Simulationen evaluiert. Dieses Vorgehen lässt sich dann anwenden, um die approximative UP für konkrete Probleme zu evaluieren. Für die approximative IUP wird in Abschnitt 11.3 anhand von synthetischen Simulationen und einem realen Beispiel evaluiert wie gut und wie schnell die Approximation im Vergleich zur exakten IUP ist. Zum Zweck der Evaluation wurden die Methoden, die in dieser Arbeit beschrieben wurden, mit Python1 , SciPy2 und NumPy3 prototypisch implementiert. Die Erweiterungen SPGP und SPGP-DR für Gaußprozesse wurden nicht evaluiert, da diese nur bei der Erstellung der Gaußprozesse einen Geschwindigkeitsvorteil bringen und 1 http://www.python.org 2 http://www.scipy.org 3 http://www.numpy.org 11.1 Kostenfunktion 157 die Unschärfepropagierung nicht beschleunigen (siehe Abschnitt 8.2). Eine Evaluation der Genauigkeit und Geschwindigkeit von SPGP und SPGP-DR ist in den Arbeiten von Snelson und Ghahramani zu finden [Sne06, SG06, Sne07]. Die Evaluation der Genauigkeit der Unschärfepropagierung mit SPGP wurde bereits von Groot et al. [GLB11] durchgeführt. Die Eigenschaften der exakten UP mit SPGP-DR, welche in Anhang E.3 hergeleitet wurden, sollten in zukünftigen Arbeiten detailliert untersucht werden. Auf eine Evaluation der UP mit SPGP-DR wurde in dieser Arbeit verzichtet, da dies nicht der Fokus dieser Arbeit ist. 11.1 Kostenfunktion In Annahme 11 [S. 30] wird davon ausgegangen, dass die Kosten einer Datensammlung mit der Cramér-Rao-Ungleichung geschätzt werden können. Diese Ungleichung schätzt die Varianz von MLE asymptotisch korrekt ein [Cra46, S. 500] und kann für die Abschätzung der Anzahl an Beobachtungen verwendet werden, die nötig sind, um einen Parameter einer Verteilung mit einer bestimmten Unschärfe zu messen. Für eine kleine Anzahl an Beobachtungen stellt die Cramér-Rao-Ungleichung allerdings nur eine Näherung dar. In dieser Evaluation wird die Genauigkeit der Cramér-Rao-Ungleichung exemplarisch für folgende Parameter untersucht: 1. Der Mittelwert µ einer Normalverteilung 2. Die Standardabweichung σ einer Normalverteilung 3. Die Wahrscheinlichkeit p einer Bernoulli-Verteilung 4. Die Rate r einer Exponentialverteilung Diese Parameter wurden gewählt, da sie für die Beispiele, die in dieser Arbeit verwendet werden, von Bedeutung sind. Für diese Parameter findet sich die Herleitung der FisherInformation, welche für die Cramér-Rao-Ungleichung benötigt wird, in Anhang E.5. In Abbildung 11.1 ist der relative Fehler der Cramér-Rao-Ungleichung für unterschiedliche N (Anzahl an Beobachtungen) dargestellt. Dabei wird die Abschätzung der Varianz durch die Cramér-Rao-Ungleichung mit einer Monte-Carlo-Abschätzung der Varianz der MLE für die verschiedenen Parameter verglichen. Für die Monte-Carlo-Abschätzung der Varianz werden 106 mal N Werte aus einer entsprechenden Verteilung gezogen und für eine Parameterschätzung mittels MLE verwendet. Die Parameterwerte, die geschätzt werden sollen, sind µ = 1, σ = 1, p = 0.75 und r = 1. Die Parameter und Parameterwerte wurden willkürlich gewählt, um aufzuzeigen, wie eine Evaluation der Kostenfunktion durchgeführt werden kann. 158 Kapitel 11 Evaluation der inversen Unschärfepropagierung 0.25 µ (Normalverteilung) σ (Normalverteilung) p (Binomialverteilung) r (Exponentialverteilung) Relativer Fehler 0.2 0.15 0.1 0.05 0 0 50 100 150 200 250 Anzahl an Beobachtungen N Abbildung 11.1: Relativer Fehler der Cramér-Rao-Ungleichung In Abbildung 11.1 zeigt sich, dass die Abschätzung der Varianz von MLE durch die Cramér-Rao-Ungleichung für den Mittelwert µ der Normalverteilung und die Wahrscheinlichkeit p exakt ist. Die Schwankungen ergeben sich durch den Vergleich mit der numerischen Monte-Carlo-Abschätzung. Für σ und r zeigt sich, dass die Varianz asymptotisch korrekt eingeschätzt wird, allerdings mit unterschiedlichen Konvergenzraten. Da die Konvergenzraten von den jeweiligen Verteilungen, Parametern und Parameterwerten abhängig sind, sollte vor einer Anwendung der IUP untersucht werden, ob die Kostenschätzung mit der Cramér-Rao-Ungleichung im jeweiligen Fall anwendbar ist. Dies kann durch einen Vergleich mit einer Monte-Carlo-Abschätzung überprüft werden, wie in diesem Abschnitt gezeigt wurde. 11.2 Unschärfepropagierung Für die Evaluation der UP wird in Annahme 8 [S. 29] davon ausgegangen, dass Gaußprozesse für die Regression von Simulationen geeignet sind. Es soll also nicht evaluiert werden, wie gut Gaußprozesse Simulationen approximieren können, sondern vielmehr wie gut die approximative UP von Girard [Gir04] die exakte UP abschätzt. Gaußprozesse stellen Verteilungen von Funktionen dar und es wird davon ausgegangen, dass die zu approximierenden Funktionen, die durch Simulationsmodelle berechnet werden, Realisierungen von Gaußprozessen sind (Annahme 22 auf Seite 116). Aus diesem Grund lassen sich zufällige Realisierungen von Gaußprozessen als synthetische Funktionen für die Evaluation der UP heranziehen. Diese synthetischen Funktionen repräsentie- 11.2 Unschärfepropagierung 159 ren somit synthetische Simulationen und lassen sich mit einem Gaußprozess generieren. Dies wurde in Beispiel 15 [S. 114] bereits exemplarisch dargestellt. Synthetische Funktionen lassen sich für eine beliebige Zahl D von Eingaben erstellen und für jede Funktion lässt sich eine Menge von N Beobachtungen B = {(xi ,ti )}N i=1 D mit xi ∈ R generieren. Für die Erzeugung der synthetischen Funktionen muss eine konkrete Kovarianzfunktion gewählt werden. In dieser Evaluation wird die gaußsche Kovarianzfunktion (8.2) [S. 117] verwendet, da diese in der Literatur ausgiebig evaluiert wurde und für die Approximation von glatten Funktionen gut geeignet ist [Ras96]. Für die Hyperparameter dieser Kovarianzfunktion werden willkürlich W−1 = diag(0.04, . . . ,0.04) bzw. W−1 = diag(0.01, . . . ,0.01), v = 2 und vt = 0.01 gewählt. Für die Beobachtungen B werden die xi zufällig und gleichverteilt aus der Menge [0, 10]D gewählt. Die ti sind dann die Werte einer synthetischen Funktion f für die Eingaben xi . Die Beobachtungen B = {(xi ,ti )}N i=1 der synthetischen Funktion f werden dann für die Regression mit einem weiteren Gaußprozess verwendet. Auf diese Weise wird die Annahme, dass die zu approximierende Funktion eine Realisierung eines Gaußprozesses ist, für die Generierung von zufälligen Funktionen für die Evaluation genutzt. Die Abbildungen 11.2 auf der nächsten Seite und 11.3 [S. 161] zeigen die Ergebnisse der Evaluation für verschiedene N und D. Abbildung 11.2 zeigt die Resultate für W−1 = diag(0.04, . . . ,0.04) und Abbildung 11.3 zeigt die Ergebnisse für W−1 = diag(0.01, . . . ,0.01). Dabei wird der relative Fehler der approximativen UP im Vergleich zur exakten UP jeweils in Abhängigkeit von einer Eingabestandardabweichung σ dargestellt. Diese Standardabweichung gilt für alle Eingaben. Somit ist Σ u = diag(σ 2 , . . . σ 2 ). Für jeden Wert wurden 100 Messungen mit zufälligen synthetischen Funktionen durchgeführt. Diese Anzahl an Messungen wurde gewählt, da sie eine gute Einschätzung des mittleren relativen Fehlers ermöglicht. In den Abbildungen sind jeweils Mittelwert und Standardabweichung des relativen Fehlers dargestellt. Die Ergebnisse zeigen, dass die Güte der approximativen UP von vielen Faktoren abhängig ist. Für einen konkreten Anwendungsfall kann vor und nach einer Abschätzung der kostenoptimalen Datenakquisestrategie mit der approximativen IUP ein Vergleich zwischen approximativer UP und exakter UP durchgeführt werden, um die Genauigkeit der Ergebnisse einschätzen zu können. Dies ermöglicht eine Überprüfung ohne eine aufwändige numerische exakte IUP durchführen zu müssen. In Beispiel 19 [S. 144] wurde für das M/M/1-Warteschlangensystem eine kostenoptimale Datenakquisestrategie mit der approximativen IUP gefunden. Anschließend wurde mit der exakten UP validiert, dass diese Strategie näherungsweise zu der gewünschten Ausgabeunschärfe führt. 160 Kapitel 11 Evaluation der inversen Unschärfepropagierung 0.12 0.12 Approximative UP Approximative UP 0.1 Relativer Fehler Relativer Fehler 0.1 0.08 0.06 0.04 0.02 0.08 0.06 0.04 0.02 0 0 0 0.2 0.4 0.6 0.8 1 0 0.2 Standardabweichung der Eingaben (a) D = 5, N = 100 0.09 Approximative UP 0.07 0.08 0.06 0.07 0.05 0.04 0.03 0.8 1 Approximative UP 0.06 0.05 0.04 0.03 0.02 0.02 0.01 0.01 0 0 0 0.2 0.4 0.6 0.8 1 0 0.2 Standardabweichung der Eingaben 0.025 0.4 0.6 0.8 1 Standardabweichung der Eingaben (c) D = 10, N = 100 (d) D = 10, N = 200 0.035 Approximative UP Approximative UP 0.03 Relativer Fehler 0.02 Relativer Fehler 0.6 (b) D = 5, N = 200 Relativer Fehler Relativer Fehler 0.08 0.4 Standardabweichung der Eingaben 0.015 0.01 0.005 0.025 0.02 0.015 0.01 0.005 0 0 0 0.2 0.4 0.6 0.8 Standardabweichung der Eingaben (e) D = 20, N = 100 1 0 0.2 0.4 0.6 0.8 1 Standardabweichung der Eingaben (f) D = 20, N = 200 Abbildung 11.2: Genauigkeit der approximativen UP für W−1 = diag(0.04, . . . ,0.04) 11.2 Unschärfepropagierung 0.03 161 0.035 Approximative UP Relativer Fehler Relativer Fehler Approximative UP 0.03 0.025 0.02 0.015 0.01 0.005 0.025 0.02 0.015 0.01 0.005 0 0 0 0.2 0.4 0.6 0.8 1 0 Standardabweichung der Eingaben (a) D = 5, N = 100 0.035 0.04 Approximative UP 0.6 0.8 1 Approximative UP 0.035 0.03 0.025 Relativer Fehler Relativer Fehler 0.4 (b) D = 5, N = 200 0.03 0.02 0.015 0.01 0.025 0.02 0.015 0.01 0.005 0.005 0 0 0 0.2 0.4 0.6 0.8 1 0 Standardabweichung der Eingaben 0.05 0.4 0.6 0.8 1 (d) D = 10, N = 200 0.06 Approximative UP 0.045 0.2 Standardabweichung der Eingaben (c) D = 10, N = 100 Approximative UP 0.05 0.04 0.035 Relativer Fehler Relativer Fehler 0.2 Standardabweichung der Eingaben 0.03 0.025 0.02 0.015 0.01 0.04 0.03 0.02 0.01 0.005 0 0 0 0.2 0.4 0.6 0.8 Standardabweichung der Eingaben (e) D = 20, N = 100 1 0 0.2 0.4 0.6 0.8 1 Standardabweichung der Eingaben (f) D = 20, N = 200 Abbildung 11.3: Genauigkeit der approximativen UP für W−1 = diag(0.01, . . . ,0.01) 162 Kapitel 11 Evaluation der inversen Unschärfepropagierung 11.3 Inverse Unschärfepropagierung Da die approximative IUP der approximativen UP keinen zusätzlichen Näherungsfehler hinzufügt, wird im nächsten Abschnitt nur die Geschwindigkeit der approximativen IUP mit einer numerischen exakten IUP verglichen und anhand von synthetischen Funktionen evaluiert. Die Güte der approximativen IUP wurde in den Beispielen 19 [S. 144] und 20 [S. 150] bereits für das M/M/1-Warteschlangensystem evaluiert. In Abschnitt 11.3.2 wird die Güte der IUP abschließend für ein reales Beispiel evaluiert. 11.3.1 Evaluation der Geschwindigkeit Für die Evaluation der Geschwindigkeit der approximativen IUP werden wieder synthetische Funktionen für verschiedene D (Anzahl an Eingaben) und verschiedene N (Anzahl an Beobachtungen) verwendet. Die Kovarianzfunktion für die Generierung der synthetischen Funktionen entspricht der in Abschnitt 11.2 beschriebenen Kovarianzfunktion für W−1 = diag(0.04, . . . ,0.04). Als Vergleich dient eine exakte numerische IUP, welche die exakte UP von Girard [Gir04, GMS05] mit einer numerischen Optimierung kombiniert. Für die numerische Optimierung wurde die Cobyla-Methode [Pow94] aus der SciPyBibliothek verwendet, da sich diese bei einer Evaluation aller Optimierungsmethoden der SciPy-Bibliothek für dieses Problem als am effizientesten und zuverlässigsten herausgestellt hatte. Die Ausstattung des Testrechners entspricht der aus Abschnitt 6.5.1. Um zu garantieren, dass für jede IUP durch eine synthetische Funktion eine Lösung existiert, wurde zunächst eine Eingabeunschärfe Σ u = diag(σ 2 , . . . σ 2 ) = (0.01, . . . , 0.01) mit der UP durch die synthetische Funktion propagiert. Die resultierende Ausgabeunschärfe wurde dann als gewünschte Ausgabeunschärfe für die IUP verwendet. Für jeden Wert von D und N , der betrachtet wurde, wurden 25 Messungen mit unterschiedlichen synthetischen Funktionen durchgeführt. Abbildung 11.4 auf der nächsten Seite zeigt jeweils den Mittelwert und die Standardabweichung der Messreihen. Es lässt sich erkennen, dass die approximative IUP im Vergleich zur exakten IUP auch große Probleme schnell lösen kann. Die Geschwindigkeit hängt bei der approximativen IUP im Gegensatz zur exakten IUP nicht von der jeweiligen synthetischen Funktion ab, was die geringe Standardabweichung zeigt. Die analytische Lösung der approximativen IUP hängt dennoch quadratisch von N und D ab. N beeinflusst die verschachtelten Summen in (10.4) [S. 142] und D bestimmt die Größe von Σ u , C′ und C′′ und die Anzahl an Ableitungen (10.12) [S. 143], die für die approximative IUP benötigt werden. 11.3 Inverse Unschärfepropagierung 163 Als Vergleich wurde auch die Geschwindigkeit der approximativen UP in Abbildung 11.4 dargestellt. Der zusätzliche Aufwand für die approx. IUP gegenüber der UP besteht nur aus der Bestimmung der Ableitungen (10.12). 120 80 Approx. IUP Exakte IUP Approx. UP 100 Approx. IUP Exakte IUP Approx. UP 70 60 Zeit (s) Zeit (s) 80 60 50 40 30 40 20 20 10 0 0 0 20 40 60 Anzahl an Eingaben D (a) N = 1000 80 100 0 1000 2000 3000 4000 5000 Anzahl an Beobachtungen N (b) D = 5 Abbildung 11.4: Geschwindigkeit der IUP in Abhängigkeit von (a) D und (b) N Methoden, die den Umgang mit einem unscharfen u ermöglichen, wie sie in Abschnitt 10.6 vorgestellt wurden, werden im Rahmen dieser Arbeit nicht ausführlich anhand von synthetischen Funktionen evaluiert. Hierfür eignen sich beliebige Methoden zur Unschärfepropagierung durch deterministische Funktionen, von denen einige bereits in Abschnitt 9.1 vorgestellt wurden. In Beispiel 20 [S. 150] wurde eine dieser Methoden exemplarisch für die M/M/1- Warteschlange angewendet und im nächsten Abschnitt wird diese Methode an einem weiteren Beispiel evaluiert. Für eine weiterführende ausführliche Evaluation der Methoden zur Unschärfepropagierung durch deterministische Funktionen wird auf die Arbeit von Lee und Chen [LC07] verwiesen. Die Evaluation der Genauigkeit der approximativen IUP mit Hilfe von synthetischen Funktionen erfolgte bereits indirekt durch die Evaluation der approximativen UP. Eine direkte Evaluation der IUP mit synthetischen Funktionen ist nicht möglich, da die Genauigkeit der IUP von der Unschärfe der Eingaben abhängig ist und somit nur indirekt von der gewünschten Unschärfe der Ausgabe. Eine gewünschte Ausgabeunschärfe führt für verschiedene synthetische Funktionen zu stark unterschiedlichen Eingabeunschärfen und somit zu einer stark schwankenden Güte der Approximation. Es muss also immer im Einzelfall nach einer IUP durch eine exakte UP verifiziert werden, ob die approximative IUP anwendbar ist. 164 Kapitel 11 Evaluation der inversen Unschärfepropagierung 11.3.2 Evaluation an einem realen Beispiel Für dieses Beispiel wird eine Simulation aus einem realen Szenario verwendet, das auf M2 etis (Massive Multiuser EvenT InfraStructure) [Fis14, FWL14] basiert. M2 etis ist eine konfigurierbare Middleware, die für die Ereignisverarbeitung bei Onlinespielen konzipiert wurde. Für eine automatisierte Suche nach einer optimalen Konfiguration der Middleware werden ereignisorientierte Simulationen verwendet, welche die verteilte Ereignisverarbeitung für verschiedene Eingabewerte simulieren. Da die Suche nach den optimalen Eingabewerten aufgrund der Komplexität der Simulation aufwändig ist, werden für die Optimierung Surrogatmodelle, wie z. B. Gaußprozesse verwendet [Fis14]. Für dieses Beispiel wird mit dem M2 etis-Simulator die durchschnittliche Übertragungslatenz in einem Netzwerk für ein Content-Delivery-Szenario simuliert. Ein Netzwerk bestehend aus 100 Knoten erhält Nachrichten eines einzelnen Servers über ein IPv6Netzwerk mit einer symmetrischen Bandbreite von 1 Gbit/s. Dabei können die Knoten direkt mit dem Server kommunizieren. Die Nachrichten werden mit einer Frequenz von 10Hz gesendet und enthalten eine Nutzlast von 1024 Byte. Die Ankunft der Nachrichten wird durch eine Bestätigungsnachricht an den Server gemeldet. M2 etis versucht über die Optimierung mit Surrogatmodellen die optimalen Werte für konfigurierbare Parameter zu finden. Im Gegensatz dazu soll in diesem Beispiel mit der IUP eine Datenakquisestrategie gefunden werden, welche die zugrundeliegenden Netzwerkeigenschaften für die Simulation kostenoptimal bestimmt. Dabei wird eine Normalverteilung mit Mittelwert µ und Standardabweichung σ für die Modellierung der Verzögerung im Netzwerk verwendet. Zusätzlich modelliert die Wahrscheinlichkeit p den Paketverlust. Für dieses Beispiel wird davon ausgegangen, dass von früheren Messungen eine grobe Abschätzung û∗ = (µ, σ, p) = (15.05, 5, 0.025) mit der Unschärfe Σ u = diag(22 , 12 , 0.0052 ) existiert. Für die Erstellung eines Gaußprozesses werden 1000 Werte aus der Menge [0.1, 30] × [0, 10] × [0, 0.05] gezogen. Diese werden gemäß einem Latin Hypercube Design [SWN03, S. 127] ausgewählt. Für die unscharfe Eingabe û∗ war die Ausgabe der Simulation (durchschnittliche Übertragungslatenz) ungefähr 0.3037. Die kombinierte epistemische und aleatorische Ausgabeunschärfe (Standardabweichung), die mit der approximativen UP und dem Gaußprozess bestimmt wurde, war ungefähr 0.0411. Zum Vergleich wurde eine Monte-CarloPropagierung der Unschärfe mit 104 Beobachtungen direkt durch die Simulation durchgeführt. Dies ergab eine Ausgabeunschärfe von ca. 0.0417 (95%-Konfidenzintervall: [0.0411, 0.0422]). Aus diesem Grund wird davon ausgegangen, dass die Regression mit einem Gaußprozess in diesem Fall anwendbar ist. Mit Hilfe der IUP soll nun die Anzahl an Messungen bestimmt werden, um eine Ausgabeunschärfe von 0.005 (Standardabweichung) zu erzielen. Dabei ist zu beachten, dass µ 11.3 Inverse Unschärfepropagierung 165 und σ Parameter derselben Verteilung sind und mit einer einzelnen Messreihe bestimmt werden können (siehe Abschnitt 10.5). Zunächst bleibt die Unschärfe von û∗ unberücksichtigt. Die Ergebnisse der approximativen und exakten IUP sind in Tabelle 11.1 aufgelistet. Dabei wird die geschätzte optimale Anzahl Nµ,σ an Beobachtungen für die Abschätzung von µ und σ und die geschätzte optimale Anzahl Np an Beobachtungen für die Bestimmung von p dargestellt. Ebenso ist die Gesamtzahl an Beobachtungen dargestellt. Für die Verifikation der Anwendbarkeit der approximativen IUP werden die gefundenen optimalen Lösungen mit der exakten UP durch den Gaußprozess propagiert, um zu testen, ob die geforderte Ausgabeunschärfe erreicht wird. Die Tatsache, dass auch die exakte IUP den gewünschten Ausgabewert nicht exakt erreicht, liegt an der numerischen Optimierung, die in diesem Fall verwendet wird. Falls die Tatsache, dass µ und σ Parameter derselben Verteilung sind, nicht berücksichtigt wird, wäre die Gesamtzahl an Beobachtungen, die nötig sind, um eine Ausgabeunschärfe von 0.005 zu erreichen, ungefähr 25308. Approx. IUP Exakte IUP Laufzeit (s) 0.23 7.06 Nµ,σ Np 8610 8620 9946 10239 Exakte UP 0.0050079 0.0050004 Gesamtzahl an Beob. 18556 18859 Tabelle 11.1: Inverse Unschärfepropagierung für M2 etis Nun wird noch die Unschärfe Σ u = diag(22 , 12 , 0.0052 ) von û∗ berücksichtigt. Wie in Beispiel 20 [S. 150] wird diese Unschärfe mit Genz-Keister-Integrationsregeln [GK96] durch die deterministische Funktion IUP(u,vout ) propagiert. Als Ausgabe wird dabei wieder die geschätzte optimale Gesamtzahl an Beobachtungen betrachtet. Für die Approximation der Ausgabeverteilung wird wieder das Pearson-System [Pea95] herangezogen. Als Vergleich dient eine Monte-Carlo Propagierung der Unschärfe Σ u durch IUP(u,vout ) mit 105 Funktionsauswertungen. Zusätzlich wird ein Pearson-System für die Ausgabeverteilung mit der exakten IUP erstellt. Die 95%-Konfidenzintervalle für die geschätzte optimale Gesamtzahl an Beobachtungen, um eine Ausgabeunschärfe von 0.005 zu erreichen, werden in Tabelle 11.2 auf der nächsten Seite aufgelistet. Die Verteilungen werden in Abbildung 11.5 auf der nächsten Seite dargestellt. Es lässt sich erkennen, dass das Pearson-System in diesem Fall nur bedingt geeignet ist, um die Ausgabeverteilung anzunähern. Für die Abschätzung der 95%Konfidenzintervalle ist es dennoch gut geeignet. Zudem ist die Abschätzung durch die approximative IUP nahe an der exakten IUP. 166 Kapitel 11 Evaluation der inversen Unschärfepropagierung Normalverteilung Pearson-System Pearson-System (exakte IUP) Monte-Carlo (12374, (16163, (16384, (15138, 30768) 33668) 33485) 34833) Tabelle 11.2: 95%-Konfidenzintervall für die Gesamtzahl an Beobachtungen 0.00014 0.00012 Monte-Carlo Pearson Pearson (exakte IUP) Dichte 0.0001 8e-05 6e-05 4e-05 2e-05 0 10000 20000 30000 Gesamtzahl an Beobachtungen 40000 Abbildung 11.5: Verteilung der Gesamtzahl an Beobachtungen 11.4 Diskussion In diesem Kapitel wurde diskutiert, dass die Annahmen 8 (Regression) und 9 (approximative Unschärfepropagierung) auf Seite 29 und Annahme 11 (Cramér-Rao-Ungleichung) auf Seite 30 erfüllt sein müssen, damit die in dieser Arbeit vorgestellten Methoden anwendbar sind. Es wurde beispielhaft gezeigt, dass die Gültigkeit der Annahmen im Einzelnen für konkrete Probleme validiert werden muss, um eine Anwendbarkeit der approximativen IUP zu gewährleisten. Für die Evaluation der Annahmen 9 und 11 wurden in diesem Kapitel Methoden aufgezeigt. Abschließend muss noch Hypothese 3 [S. 30] überprüft werden. Diese besagte, dass die kostenoptimale Datenakquisestrategie mit Hilfe von Surrogatmodellen und analytischen Optimierungsverfahren effizient approximiert werden kann. Dabei sollte ein relativer Fehler von 0.1 nicht überschritten werden. Die Effizienz der approximativen IUP wurde 11.4 Diskussion 167 bereits in Abschnitt 11.3.1 evaluiert. Die Evaluation der Genauigkeit der Approximation geschieht anhand der M/M/1- und der M2 etis-Simulation. Für die M2 etis-Simulation war die geforderte Ausgabeunschärfe 0.005 (Standardabweichung). Die approximative IUP führte zu einer Ausgabeunschärfe (bestimmt mit der exakten UP) von 0.0050079. Dies entspricht einem relativen Fehler von ca. 0.0016. Bei der M/M/1-Simulation wurde in Beispiel 20 [S. 150] eine Ausgabeunschärfe von 0.25 gefordert. Die approximative IUP erreichte eine Ausgabeunschärfe von 0.2505, was einem relativen Fehler von 0.002 entspricht. Für diese beiden Beispielszenarien trifft Hypothese 3 also zu. Da die approximative IUP ausgehend von der approximativen UP das exakte Optimum findet, lässt sich für weitere Szenarien feststellen, dass Hypothese 3 zutrifft, falls die Annahmen 8, 9 [S. 29] und 11 [S. 30] erfüllt sind und die approximative UP eine entsprechend genaue Unschärfepropagierung ermöglicht. Für die Propagierung der Unschärfe der groben initialen Abschätzung û∗ durch die Funktion IUP(u,vout ) wurde eine Kombination aus Genz-Keister-Integrationsregeln und dem Pearson-System für die Abschätzung der 95%-Konfidenzintervalle für die Gesamtzahl an Beobachtungen verwendet. Das Pearson-System ist allerdings nicht in jedem Fall zur Approximation der Ausgabeverteilung geeignet, wie in Abbildung 11.5 zu erkennen ist. Aus diesem Grund muss in zukünftigen Arbeiten eine genauere Methode zur Abschätzung der 95%-Konfidenzintervalle gefunden werden. 169 III Epilog 171 12 Zusammenfassung, Diskussion und Ausblick In diesem Kapitel werden die Ergebnisse dieser Arbeit zusammengefasst. Außerdem wird für die getroffenen Annahmen diskutiert, inwieweit diese die Allgemeingültigkeit der in dieser Arbeit vorgestellten Lösungsansätze einschränken. Abschließend wird ein Ausblick auf offene Fragestellungen und zukünftige Arbeiten gegeben. 12.1 Zusammenfassung Die ursprüngliche Motivation dieser Arbeit war es, ein Datenverwaltungskonzept für Simulationsmodelle zu entwerfen. Dafür wurden verschiedene Probleme identifiziert, die in einem solchen Szenario auftreten. Dabei lag der Fokus dieser Arbeit auf einer bedarfsgetriebenen Datenverwaltung, da andernfalls die Anwendung eines DBMS für kleine Simulationsprojekte zu aufwändig wäre. Sowohl der Schemaentwurf als auch die semantische Datenintegration sollten keinen initialen Aufwand erfordern und bedarfsgetrieben im Laufe des Simulationsprojekts verbessert werden. Die gewünschte Qualität der Simulationsausgabe sollte als Steuerungsinstrument verwendet werden, um auch die Datensammlung bedarfsgetrieben zu gestalten. Zur besseren Übersichtlichkeit werden die in Kapitel 1 definierten Probleme und Hypothesen in diesem Abschnitt wiederholt. 12.1.1 Simulationsdatenmanagement Der initiale Schemaentwurf ist laut Howe et al. [HCS+ 11, HHR+ 13] für viele Simulationsprojekte zu aufwändig. Aus diesem Grund wird häufig auf die Verwendung eines DBMS für Simulationsdaten verzichtet. Dies wurde in Problem 1 [S. 19] festgehalten. Problem 1. Wie lässt sich ein generisches und erweiterbares Schema entwerfen, welches der Speicherung von Eingabewerten für agentenbasierte und SD-Simulationen dient? 172 Kapitel 12 Zusammenfassung, Diskussion und Ausblick Um dieses Problem zu lösen, wurde in dieser Arbeit ein generisches Schema basierend auf EAV/CR entwickelt, das die Speicherung von Eingabedaten für agentenbasierte und SD-Simulationen ermöglicht. Die Daten werden dabei als einzelne Fakten gespeichert und können über beliebige Attribute annotiert werden. Um zu gewährleisten, dass das generische Schema mächtig genug ist, um die Eingabedaten von beliebigen agentenbasierten und SD-Simulationen speichern zu können, wurde Hypothese 1 [S. 25] aufgestellt. Hypothese 1. Alle Eingabewerte von agentenbasierten und SD-Simulationen lassen sich als Tupel von Fakten mit jeweils einem Attribut u ∈ R darstellen. Diese Hypothese wurde anhand von formalen Modellen für agentenbasierte und SDSimulationen bestätigt. Auf diese Weise können die Eingabedaten einer Simulation initial als einfache Fakten gespeichert werden. Es ist also kein Schemaentwurf notwendig. Dabei ist zu beachten, dass bei der Verwendung eines domänenunabhängigen generischen Schemas die semantische Kontrolle über die Daten verloren geht. Bei der Speicherung der reinen Fakten fehlt die Information über deren Semantik. Bei Bedarf können den Fakten allerdings weitere benutzerdefinierte Attribute hinzugefügt werden. Dadurch können dynamisch domänenspezifische Referenzmodelle erstellt werden. Die Verantwortung für diese Modelle wird in dieser Arbeit allein dem Benutzer überlassen. Es wurde jedoch exemplarisch ein Schema für die Speicherung von Klassifikationshierarchien vorgestellt. Dieses Schema erlaubt die Erstellung von benutzerdefinierten Klassifikationshierarchien, welche als Referenzmodelle für die Beschreibung der Semantik der Fakten dienen können. Für die Implementierung des generischen Schemas in einem DBMS wurde Hypothese 2 [S. 26] aufgestellt. Hypothese 2. Es gibt nicht-relationale Datenmodelle, die inhärent schemafrei sind und die Verarbeitung von EAV/CR-Daten gegenüber der relationalen EAV/CR-Abbildung beschleunigen. Anhand eines Benchmarks mit einer synthetischen Arbeitslast, die auf den Charakteristika des Projekts ProHTA basiert, wurde gezeigt, dass es nichtrelationale DBMS gibt, mit denen EAV-basierte Schemata effizienter implementiert werden können als mit relationalen Datenbanken. Die Ergebnisse dieser Evaluation wurden in Abschnitt 6.5.5 diskutiert. Ein weiteres Problem, das im Rahmen dieser Arbeit gelöst werden sollte, war die bedarfsgetriebene semantische Integration. Problem 2. Wie lassen sich Simulationseingabedaten automatisiert technisch integrieren und mittels Volltextsuche durchsuchbar machen, mit der zusätzlichen Möglichkeit, die Daten bei Bedarf semantisch zu integrieren? 12.1 Zusammenfassung 173 Dieses Problem wurde exemplarisch für Fakten gelöst, die in Pivot-Tabellen gespeichert sind. Dabei werden für die Integration einer Pivot-Tabelle sowohl die enthaltenen Fakten in die Datenbank übertragen als auch die Informationen über ihr ursprüngliches Schema. Für die semantische Integration wurden Entitätstypen entworfen, mit denen das ursprüngliche Schema der Pivot-Tabellen mit semantischen Informationen annotiert werden kann. Allerdings ist der vorgestellte Ansatz generisch und nicht nur auf PivotTabellen beschränkt. Somit lässt sich diese Lösung bei Bedarf um weitere Arten von Datenquellen erweitern. Für diese Erweiterung müssen Spezialisierungen der generischen Entitätstypen für die semantische Integration, Adapter für das Einlesen der Datenquellen und Transformatoren für die Integration implementiert werden. Zusätzlich zu einem generischen Schema und einer bedarfsgetriebenen semantischen Integration sollten die konzeptuellen Simulationsmodelle zusammen mit den Daten in einem DBMS verwaltet werden. Auf diese Weise können Daten und Modelle verknüpft werden und später für die automatische Generierung von Gerüsten für lauffähige Simulationen verwendet werden. Diese Idee wurde in Problem 3 [S. 22] festgehalten. Problem 3. Wie lassen sich konzeptuelle Simulationsmodelle in einer Datenbank speichern und für die Annotation der Daten verwenden? Dieses Problem wurde exemplarisch für UML-Zustandsdiagramme gelöst, indem eine existierende RDF-Ontologie zur Speicherung von Zustandsdiagrammen auf Entitätstypen abgebildet wurde. 12.1.2 Unschärfepropagierung Um die Qualität der Simulationsausgabe als Steuerungsinstrument für eine bedarfsgetriebene Datenakquisition verwenden zu können, mussten zunächst die relevanten Datenqualitätsdimensionen identifiziert werden. Dies wurde in Problem 4 [S. 23] festgehalten. Problem 4. Welche Datenqualitätsdimensionen sind für Eingabewerte und Simulationsausgaben relevant und wie lassen sich diese Dimensionen messen? Für die aus der Literatur bekannten Datenqualitätsdimensionen wurde diskutiert, inwieweit diese für Simulationen relevant sind. Dabei wurde die Unschärfe als die wichtigste Datenqualitätsdimension für Eingabewerte und Ausgabewerte von Simulationen identifiziert. Die Betrachtung der Unschärfe der Ein- und Ausgabe erfordert eine Propagierung der Unschärfe durch die Simulation. Dies wurde in Problem 5 [S. 23] beschrieben. 174 Kapitel 12 Zusammenfassung, Diskussion und Ausblick Problem 5. Wie lässt sich die Güte der Simulationsausgabe anhand der Qualität der Eingabewerte bestimmen? Um den Zusammenhang zwischen der Unschärfe der Eingabewerte und der Unschärfe der Ausgabewerte bestimmen zu können, wurden existierende Methoden der Unschärfepropagierung vorgestellt. Als Grundlage für diese Arbeit wurde dabei eine Methode gewählt, welche auf der Approximation der Simulationsausgabe durch Gaußprozesse basiert. Die Frage nach einer bedarfsgetriebenen Datenakquisition wurde in Problem 6 [S. 23] festgehalten. Problem 6. Wie lässt sich die Datensammlung steuern, so dass mit minimalem Aufwand die geforderte Qualität der Simulationsausgabe erreicht wird? Im Laufe der Arbeit wurde dieses Problem weiter konkretisiert, indem die bedarfsgetriebene Datenakquisition als Optimierungsproblem formalisiert wurde. Als Lösung für dieses Problem wurde in Hypothese 3 [S. 30] vorgeschlagen, Surrogatmodelle für die Approximation der Simulationsausgabe und die Unschärfepropagierung zu verwenden und das Optimierungsproblem analytisch zu lösen. Hypothese 3. Die kostenoptimale Strategie zur Datenakquise kann mit Hilfe von Surrogatmodellen und analytischen Optimierungsverfahren effizient näherungsweise mit einem maximalen relativen Fehler von r gefunden werden. Im Laufe der Arbeit wurde diese Hypothese durch Annahmen weiter konkretisiert. Die analytische Lösung für das Optimierungsproblem wurde im Rahmen dieser Arbeit entwickelt und vorgestellt. Abschließend wurde Hypothese 3 anhand von synthetischen Funktionen und zwei Beispielen evaluiert. Die Ergebnisse dieser Evaluation wurden in Abschnitt 11.4 diskutiert. 12.2 Diskussion der getroffenen Annahmen In diesem Abschnitt wird für die getroffenen Annahmen diskutiert, inwieweit diese zutreffend sind und wie die Allgemeingültigkeit der vorgestellten Methoden durch die Annahmen eingeschränkt wird. Zudem wird beschrieben, wie die Methoden in dieser Arbeit erweitert werden können, um einzelne Annahmen zu relaxieren. Eine Übersicht über die getroffenen Annahmen befindet sich am Ende dieser Arbeit [S. 241]. 12.2 Diskussion der getroffenen Annahmen 175 12.2.1 Simulationsdatenmanagement Annahmen 1 und 2 [S. 24] befassen sich damit, dass ein domänenspezifischer Schemaentwurf für Simulationen zu aufwändig ist. Dies wird damit begründet, dass der Aufwand, für jede Simulation ein eigenes Schema zu entwerfen, zu groß ist und dass kein festes domänenspezifisches Schema im Voraus für mehrere Simulationen entworfen werden kann. Diese Annahmen wurden mit Verweisen auf die Literatur [HCS+ 11, HHR+ 13] begründet. Falls diese Annahmen nicht zutreffen sollten, so kann das in dieser Arbeit vorgestellte Schema dennoch angewendet werden. Die Annahmen schränken die Allgemeingültigkeit der vorgestellten Methoden also nicht ein, sondern dienen nur als Motivation für die Verwendung eines generischen Schemas. Bei der Verwendung eines generischen domänenunabhängigen Schemas geht allerdings die semantische Kontrolle verloren. Es werden keine Informationen über die Bedeutung der Daten gespeichert. Die Beschreibung der Daten wird in dieser Arbeit dem Benutzer überlassen, der die Fakten mit weiteren Attributen annotieren kann. Allerdings erlaubt dies nicht, die Einhaltung von semantischen Regeln zu kontrollieren und die Konsistenz des Datenbestandes zu garantieren. Die Verantwortung für die Konsistenz der Daten wird also auch dem Benutzer überlassen. Die Annahmen 3 [S. 25], 13 [S. 76] und 14 [S. 82] befassen sich mit den Eigenschaften der Daten, die für die Evaluation der Implementierungsalternativen für das EAV-basierte Schema relevant sind. Diese Annahmen beruhen auf den Eigenschaften der Daten im Projekt ProHTA. Falls diese nicht zutreffend sein sollten, muss der Benchmark mit einem entsprechend angepassten Lastprofil erneut durchgeführt werden und Hypothese 2 [S. 26] muss erneut evaluiert werden. Die Annahmen 4 und 5 [S. 27] betreffen die bedarfsgetriebene Integration von Daten, schränken die Typen von betrachteten Daten auf Pivot-Tabellen ein und definieren die semantische Integration von Pivot-Tabellen. Da die in dieser Arbeit vorgestellte Lösung für die semantische Integration generisch ist und für andere Datenmodelle erweitert werden kann, schränken diese Annahmen die Allgemeingültigkeit nicht ein, sondern dienen nur dazu, die in dieser Arbeit zu bearbeitende Problemstellung einzugrenzen. Annahme 6 [S. 27] beschreibt, dass EAV/CR mächtig genug ist, um Simulationsmodelle speichern zu können. Falls diese Annahme nicht zutreffen sollte, so wären die in dieser Arbeit beschriebenen Methoden nicht in der Lage, Problem 3 [S. 22] zu lösen. Allerdings ist RDF und auch XML trivial auf EAV/CR abbildbar, was zeigt, dass die Annahme in den meisten Fällen gerechtfertigt ist, da die meisten Simulationsmodelle in XML gespeichert werden können. 176 Kapitel 12 Zusammenfassung, Diskussion und Ausblick Für die Evaluation von Hypothese 1 [S. 25] wird in Annahme 12 [S. 49] vorausgesetzt, dass für kontinuierliche Verteilungen nur die Parameter von exakten Verteilungsfunktionen gespeichert werden. Falls dies nicht der Fall ist, zum Beispiel wenn die Beobachtungen der Verteilung selbst gespeichert werden sollen, so reichen unter Umständen Fakten als Entitätstyp für die Speicherung der Daten nicht mehr aus. Das generische Schema ist allerdings mächtig genug, um Rohdaten speichern zu können, indem für jeden Datensatz der entsprechende domänenspezifische Entitätstyp entworfen wird. Das bedeutet jedoch, dass für die Speicherung von Rohdaten ein initialer domänenspezifischer Schemaentwurf nötig ist. 12.2.2 Unschärfepropagierung In Annahme 7 [S. 28] wird davon ausgegangen, dass die Unschärfe die wichtigste Datenqualitätsdimension für Simulationen ist. Dies wurde im Rahmen dieser Arbeit begründet und schränkt die erzielten Ergebnisse auf diese Datenqualitätsdimension ein. Falls diese Annahme nicht zutrifft und weitere Datenqualitätsdimensionen für die Ein- und Ausgabedaten von Simulationen betrachtet werden müssen, so müssen die Methoden, die in dieser Arbeit vorgestellt wurden, erweitert werden. Dazu können die entwickelten Methoden als Baustein in existierende Frameworks für das Datenqualitätsmanagement eingebettet werden. Ein Beispiel für ein solches flexibles Framework ist TDQM (Total Data Quality Management) [WZL02]. Dabei werden Datenqualitätsregeln kontinuierlich ausgewertet, angepasst und für die Verbesserung der Datenqualität verwendet. In den Annahmen 8 und 9 [S. 29] wird vorausgesetzt, dass Gaußprozesse eine Analyse der Ausgabeunschärfe von Simulationen mit ausreichender Genauigkeit erlauben. Dies wird mit den weiteren Annahmen 22 [S. 116] und 24 [S. 127] konkretisiert. In der Evaluation in Kapitel 11 wurde gezeigt, wie überprüft werden kann, ob Annahme 9 für einen bestimmten Anwendungsfall zutrifft. Ebenso kann Annahme 8 mit einer Evaluation der Genauigkeit der Regression mit Gaußprozessen für ein konkretes Szenario überprüft werden. Falls diese Annahmen nicht zutreffen sollten, so müssten numerische Methoden für die Unschärfepropagierung und für die Suche nach der kostenoptimalen Datenakquisestrategie verwendet werden. Die Evaluation zeigte jedoch, dass numerische Optimierungsmethoden für komplexe Simulationen zu ineffizient sind. Die Suche nach einer kostenoptimalen Datenakquisestrategie ist also ohne die Entwicklung weiterer Methoden für komplexe Simulationen, welche die getroffenen Annahmen nicht erfüllen, nicht möglich. Für die Regression mit Gaußprozessen wird in Annahme 23 [S. 116] davon ausgegangen, dass die Mittelwertfunktion des Gaußprozesses konstant 0 ist. Die in dieser Arbeit vorgestellten Methoden können auf weitere Mittelwertfunktionen erweitert werden. Die 12.2 Diskussion der getroffenen Annahmen 177 Regression mit Gaußprozessen mit komplexeren Mittelwertfunktionen wird beispielsweise von Santner et al. beschrieben [SWN03]. Allerdings muss für diese Gaußprozesse die Unschärfepropagierung erneut hergeleitet werden, was eine erneute Bestimmung eines analytischen Optimierungsverfahrens für die inverse Unschärfepropagierung erfordert. Für die Datensammlung wird in den Annahmen 10 [S. 30] und 18 [S. 105] davon ausgegangen, dass sie aus dem Sammeln von Beobachtungen einer Verteilung und der Abschätzung von Verteilungsparametern mittels MLE besteht. Falls diese Annahmen nicht zutreffen sollten, so muss für die Suche nach einer kostenoptimalen Datenakquisestrategie eine neue Kostenfunktion definiert werden und das Optimierungsproblem kann nicht mehr mit den in dieser Arbeit beschriebenen analytischen Methoden gelöst werden. In Annahme 15 [S. 104] wird davon ausgegangen, dass die Beobachtungen einer exakten Verteilung entsprechen. Zusätzlich wird davon ausgegangen, dass die Daten von anderen Datenqualitätsproblemen bereinigt sind und die Unschärfe und Richtigkeit der Parameterschätzung nur vom Schätzer abhängig sind (Annahme 17 auf Seite 105). Falls diese beiden Annahmen nicht zutreffen sollten, so müssten weitere Quellen von Unschärfe berücksichtigt werden und die in dieser Arbeit vorgestellten Methoden müssten in zukünftigen Arbeiten entsprechend erweitert werden. Falls der Einfluss dieser weiteren Quellen von Unschärfe nur gering ist, so können die in dieser Arbeit beschriebenen Methoden zumindest für grobe Abschätzungen verwendet werden. Für die Kostenfunktion wird in Annahme 11 [S. 30] davon ausgegangen, dass die CramérRao-Ungleichung eine adäquate Abschätzung der Kosten der Datensammlung liefert. Dies wird in Annahme 16 [S. 104] konkretisiert. Für diese Annahmen wurde in Kapitel 11 eine Methode vorgestellt, wie sich überprüfen lässt, ob sie zutreffend sind. Falls dies nicht der Fall ist, wenn zum Beispiel die betrachteten Stichprobengrößen zu gering sind, so müssen alternative Kostenfunktionen gefunden werden. Dies führt dazu, dass das Optimierungsproblem nicht mehr mit dem in dieser Arbeit beschriebenen analytischen Lösungsverfahren gelöst werden kann. In Annahme 19 [S. 107] wird davon ausgegangen, dass bereits eine grobe Abschätzung für die realen Parameterwerte existiert. Falls dies nicht der Fall sein sollte, so muss eine initiale Sammlung von Beobachtungen durchgeführt werden, für die keine kostenoptimale Strategie gefunden werden kann. Falls die initiale Abschätzung zu ungenau ist, so dass die unscharfen Aussagen über die kostenoptimale Datenakquisestrategie keine genaue Planung der Datensammlung ermöglichen, so kann das Verfahren der inversen Unschärfepropagierung iterativ für die Verbesserung der Datenqualität angewendet werden. Die Annahmen 20 und 21 [S. 109] beschreiben, dass die Parameter der einzelnen Verteilungen orthogonal zueinander sein müssen. Falls dies nicht zutrifft, so kann eine lokale Orthogonalisierung durchgeführt werden. Ob dies eine ausreichende Genauigkeit der 178 Kapitel 12 Zusammenfassung, Diskussion und Ausblick Abschätzungen ermöglicht, muss im Einzelfall evaluiert werden. Um die Annahme der Orthogonalität relaxieren zu können, müsste das in dieser Arbeit vorgestellte Verfahren für den Fall erweitert werden, dass Σ u keine Diagonalmatrix ist. 12.3 Ausblick Aufgrund der Breite der Fragestellungen konnte im Rahmen dieser Arbeit nicht jedes betrachtete Problem umfassend gelöst werden. In diesem Abschnitt werden einige der offenen Forschungsfragen vorgestellt. 12.3.1 Simulationsdatenmanagement Die bedarfsgetriebene Datenintegration und die Speicherung von Simulationsmodellen konnte im Rahmen dieser Arbeit nur beispielhaft gelöst werden. Dafür mussten die ursprünglichen Probleme durch Annahmen eingeschränkt werden. In weiteren Arbeiten müsste der Ansatz für die bedarfsgetriebene Datenintegration für Simulationsdaten weitergeführt und für verschiedene Datenmodelle umgesetzt werden. Anschließend müsste der Ansatz umfassend hinsichtlich Mächtigkeit und Benutzerfreundlichkeit evaluiert werden. Alleine die Evaluation der Verringerung des Arbeitsaufwands bei der manuellen Integration gegenüber herkömmlichen Methoden stellt eine große Herausforderung dar. Für die Speicherung von Simulationsmodellen sollten neben Zustandsdiagrammen noch weitere standardisierte Modelltypen umgesetzt werden und es sollte eine Übersetzung der Modelle in Gerüste für lauffähige Simulationen implementiert werden. In dieser Arbeit wurde es alleine dem Benutzer überlassen, die domänenspezifischen semantischen Referenzmodelle zu erstellen, welche die Beschreibung der Bedeutung von Fakten ermöglichen. Es wurde exemplarisch aufgezeigt, wie Klassifikationshierarchien und Simulationsmodelle als semantische Modelle gespeichert werden können. Dennoch sollte in weiteren Arbeiten eine Methode entworfen werden, die den Anwender bei der Erstellung und Verwaltung von semantischen Referenzmodellen unterstützt. Dabei könnten Techniken des semantischen Internets benutzt werden, um existierende Ontologien für bestimmte Domänen wiederzuverwenden. Zusätzlich muss eine Möglichkeit gefunden werden, wie die Einhaltung semantischer Regeln garantiert werden kann, wenn sie nicht mehr über ein domänenspezifisches Schema kontrolliert werden. Ein weiteres Problem ist die Evolution der semantischen Referenzmodelle. Es ist durchaus üblich, dass sich beispielsweise Klassifikationshierarchien im Laufe der Zeit verändern. In weiteren Arbeiten sollten Möglichkeiten gefunden werden, wie die Modelle, die den 12.3 Ausblick 179 Daten eine Bedeutung verleihen, versioniert werden können. Dabei muss berücksichtigt werden, dass bestehende Daten ihre Gültigkeit nicht verlieren dürfen und alle Simulationsergebnisse reproduzierbar bleiben. Die Evaluation der verschiedenen Alternativen für die Implementierung des generischen Schemas sollte in zukünftigen Arbeiten weitergeführt werden. Einerseits muss eine realistische Arbeitslast gefunden werden, die aus Daten und Anfragen besteht, welche die Anforderungen der typischen Anwendungsszenarien wiederspiegeln. Andererseits müssen auch weitere Implementierungsalternativen umgesetzt und evaluiert werden. Das Ziel sollte ein Kriterienkatalog sein, anhand dessen ein Anwender aufgrund der Charakteristika des jeweiligen Szenarios die für ihn effizienteste Implementierungsalternative finden kann. 12.3.2 Unschärfepropagierung Wie bei der Diskussion über die getroffenen Annahmen schon angedeutet, sollten die Verfahren dieser Arbeit für Gaußprozesse mit komplexeren Mittelwertfunktionen erweitert werden, um eine größere Bandbreite von Funktionen approximieren zu können. Hierfür müssen die Gleichungen für die Unschärfepropagierung und die inverse Unschärfepropagierung erneut hergeleitet werden. Ebenso kann versucht werden, weitere Annahmen zu relaxieren, indem beispielsweise bereits unscharfe Daten für die Parameterbestimmung mittels MLE berücksichtigt werden. Ebenso sollten die Verfahren auf nicht-orthogonale Parameter erweitert werden. Neben der Relaxierung der getroffenen Annahmen gibt es noch weitere Verbesserungen, die umgesetzt werden könnten. Für die Optimierung könnte beispielsweise berücksichtigt werden, dass unter Umständen bereits Messungen vorliegen. Dies lässt sich mit den Methoden dieser Arbeit dadurch realisieren, dass die inverse Unschärfepropagierung zunächst normal angewendet wird. Falls für einen Eingabeparameter bei der resultierenden kostenoptimalen Datenakquisestrategie weniger Messungen nötig sind als bereits vorliegen, so wird die Unschärfe von diesem Parameter als fix angenommen (basierend auf den vorliegenden Messungen) und die inverse Unschärfepropagierung kann erneut durchgeführt werden. So kann auch bei bereits vorliegenden Messungen iterativ die kostenoptimale Datenakquisestrategie gefunden werden. In weiteren Arbeiten sollten die bereits vorliegenden Messungen direkt berücksichtigt werden, um direkt die optimale Strategie zu finden. Eine weitere mögliche Verbesserung der Kostenfunktion ist die Berücksichtigung der initialen Kosten einer Messreihe. Die bisherige Kostenfunktion geht davon aus, dass jede Messung einen bestimmten Kostenwert verursacht. In der Realität verursacht jedoch eine 180 Kapitel 12 Zusammenfassung, Diskussion und Ausblick Messreihe oft auch initiale Kosten für die Vorbereitung. Dies erzeugt ein kombinatorisches Problem, da für jeden Parameter entschieden werden muss, ob eine neue Messreihe durchgeführt werden soll oder nicht. Für die Lösung dieses Problems sollten die Methoden dieser Arbeit mit Verfahren für ganzzahlige Optimierung und mit Heuristiken kombiniert werden. Um die Unschärfe der groben initialen Parameterschätzung berücksichtigen zu können, wurden in dieser Arbeit Methoden der numerischen Integration angewendet, mit denen die initiale Unschärfe durch die inverse Unschärfepropagierung propagiert werden konnte. In weiteren Arbeiten sollte untersucht werden, ob eine analytische Propagierung der initialen Unschärfe möglich ist. Das in dieser Arbeit vorgestellte Verfahren erlaubt es, unter Berücksichtigung der Unschärfe der groben initialen Parameterschätzung die Kosten einer Datensammlung abzuschätzen. In Abschnitt 10.7 wurden anschließend Ansätze für die Suche nach der optimalen Datenakquisestrategie vorgestellt, die diese initiale Unschärfe berücksichtigen können. Die vorgeschlagenen Ansätze erlauben bereits die iterative Suche nach der optimalen Strategie für die Datensammlung. Allerdings sollte in weiteren Arbeiten untersucht werden, wie diese optimale Strategie näherungsweise direkt gefunden werden kann. Dafür muss für eine Datenakquisestrategie effizient bestimmt werden können, mit welcher Wahrscheinlichkeit die gewünschte maximal tolerierbare Unschärfe der Simulationsausgabe erreicht oder unterschritten wird. 181 Anhang 183 A Notation Die Notation in dieser Arbeit orientiert sich an Petersen und Pedersen [PP12] und Girard [Gir04]. Dabei wird für Zahlen der Dezimalpunkt als Dezimaltrennzeichen verwendet. δij Kronecker-Delta: δij = 1 für i = j und δij = 0 für i ̸= j x, µ Skalare x, µ (Spalten)-Vektoren xT (Zeilen)-Vektor Die Unterscheidung zwischen Spalten und Zeilenvektoren wird weggelassen, falls die Vektoren nicht für Matrixprodukte benötigt werden. xi i-tes Element des Vektors x xi Mit einem Parameter indizierter Vektor (x,y) Implizite Vektorkonkatenation: (x,y) = (x1 , . . . ,xn ,y1 , . . . ,yn ) A, Σ Matrizen Aij Element von A in Zeile i und Spalte j [A]ij Element von A in Zeile i und Spalte j (Notation für Matrix-Ausdrücke) Ai Mit einem Parameter indizierte Matrix A−1 Inverse Matrix AT Transponierte Matrix |A| Determinante der Matrix A I Einheitsmatrix: Iij = δij 1 0 Nullmatrix oder -vektor: [0]ij = 0 Die Größe von I und 0 ergibt sich aus dem jeweiligen Kontext. Tr(A) Spur der Matrix: Tr(A) = i Aii 184 Anhang A Notation diag(x) Diagonalmatrix: [diag(x)]ij = δij xi diag(A) Diagonalmatrix: [diag(A)]ij = δij Aij A≥B A ≥ B : ⇐⇒ A − B ist positiv semidefinit A>B A > B : ⇐⇒ A − B ist positiv definit ∇C(x) Gradient: ∇C(x) = C′ (x) Alternative Schreibweise für den Gradienten C′′ (x) Hesse-Matrix: [C′′ (x)]ij = ||x1 − x2 ||2 Euklidische Distanz zwischen zwei Vektoren Nµ,Σ Mehrdimensionale Normalverteilung mit Mittelwert µ und Kovarianzmatrix Σ x∼p Die Zufallsvariable x hat die Verteilung p p(x) Die Wahrscheinlichkeitsdichte der Verteilung p an der Stelle x Ex [f (x)] Erwartungswert: Ex [f (x)] = p(x|y) Wahrscheinlichkeitsdichte der Verteilung p an der Stelle x unter der Bedingung, dass y gegeben ist ⌈x⌉ Die kleinste Zahl ∈ Z, die größer oder gleich x ist B⊗F B und F sind σ-Algebren, B ⊗ F ist eine Produkt-σ-Algebra [HN01, S. 349] ∂C ∂C , . . . , ∂x ∂x1 n T ∂2C ∂xi ∂xj Rn f (x)p(x) dx falls x ∈ Rn und x ∼ p Für eine Abbildung Φ : X × Y → Z, (x,y) →→ Φ(x,y) wird definiert: Abbildung Φx : Y → Z, y →→ Φ(x,y) Φx Φ x=1 (y) Abbildung Φ x=1 (y) : Y → Z, y →→ Φ(1,y) 185 B Aggregationssemantik In diesem Kapitel wird die Aggregation von durchschnittlichen Zeiten und Kosten in Zustandsdiagrammen definiert. Zunächst werden nur Zustandsdiagramme betrachtet, welche keine orthogonalen Regionen enthalten. Die Definition der Aggregationssemantik wird dann in Abschnitt B.2 um parallele Regionen erweitert. Die für diese Definitionen notwendige Wahrscheinlichkeit eines Pfades wird in Abschnitt B.3 definiert. Der Einfachheit halber werden nur Zeiten und Kosten von Zuständen betrachtet. Die Aggregation von Zeiten und Kosten von Transitionen oder von einer Kombination von Transitionen und Zuständen kann dann darüber definiert werden, dass jede Transition durch zwei synthetische Transitionen mit einem Zwischenzustand repräsentiert wird. B.1 Aggregation von Fakten für einfache Zustandsdiagramme Es wird im Folgenden nicht zwischen Verzweigungen und einfachen Zuständen unterschieden. Jeder Zustand mit mehr als einer ausgehenden Transition ist eine Verzweigung. Ein Zustandsdiagramm M ist ein Tupel M = (S,T ) mit einer Menge von Zuständen S und einer Menge von Transitionen T ⊂ S × S. Es wird davon ausgegangen, dass M genau einen Start- und einen Endzustand besitzt. Der Startzustand hat keine eingehenden Transitionen und der Endzustand hat keine ausgehenden Transitionen. P ist die Menge aller möglichen Pfade durch M . Ein Pfad w ∈ P ist eine Liste von Zuständen (s1 , . . . ,sn ), wobei zwischen zwei aufeinander folgenden Zuständen eine Transition (sk ,sk+1 ) ∈ T existiert. s1 ist dabei immer der Startzustand und sn ist immer der Endzustand. Da in Zustandsdiagrammen Zyklen vorkommen dürfen, kann ein Zustand in einem Pfad mehrfach vorkommen und P kann somit unendlich viele Pfade enthalten. time(s) sei eine Funktion, welche zu einem Zustand die zugehörige durchschnittliche Dauer zurückliefert. Analog dazu liefert die Funktion cost(s) die durchschnittlichen Kosten eines Zustands. 186 Anhang B Aggregationssemantik Die durchschnittliche Zeit eines Pfades w ∈ P ist time(w) = time(s) (B.1) s∈w Die durchschnittlichen Kosten eines Pfades w ∈ P sind cost(w) = cost(s) (B.2) s∈w p(w) sei die Wahrscheinlichkeit des Pfades w mit w∈P p(w) = 1. Dann kann die aggregierte durchschnittliche Dauer von M nach dem Gesetz der iterierten Erwartungswerte [Kü05] über die gewichtete Summe der durchschnittlichen Dauern der einzelnen Pfade definiert werden: time(M ) = p(w) · time(w) (B.3) w∈P Die aggregierten durchschnittlichen Kosten von M lassen sich analog definieren: cost(M ) = p(w) · cost(w) (B.4) w∈P B.2 Aggregation von Fakten für orthogonale Regionen In diesem Abschnitt wird die Aggregation der durchschnittlichen Zeiten und Kosten für einen zusammengesetzten Zustand C mit orthogonalen Regionen definiert. C besitzt r orthogonale Regionen Ri mit i = 1 . . . r. Si sei die Menge der Zustände in der Region Ri . S ∗ sei die Menge der Zustände außerhalb von C. Ti ⊂ Si × Si ist die Menge der Transitionen zwischen Zuständen in Ri . Ti∗ ⊂ Si × S ∗ ist die Menge der aus Ri ausbrechenden Transitionen. Es wird davon ausgegangen, dass jede Region genau einen Start- und einen Endzustand besitzt. Nun lässt sich ein einfaches Zustandsdiagramm Mpar ohne orthogonale Regionen definieren, welches dieselbe Semantik, wie C besitzt. Die Menge von Zuständen von Mpar ist Spar = S1 × . . . × Sr . Es wird die folgende Notation verwendet: s1i ∈ Si ist das i-te Element des Vektors s1 ∈ Spar . Damit lässt sich nun die Menge der Transitionen Tpar definieren. Jede Transition B.2 Aggregation von Fakten für orthogonale Regionen 187 in Tpar basiert auf genau einer Transition t ∈ i Ti in einer der orthogonalen Regionen oder auf genau einer ausbrechenden Transition t∗ ∈ i Ti∗ : Tpar = {(s1 ,s2 ) ∈ Spar × Spar |∃i ∈ {1, . . . ,r} : (s1i ,s2i ) ∈ Ti ∧ s1j = s2j ∀j ̸= i} ∪ {(s,f ) ∈ Spar × {f }|∃i ∈ {1, . . . ,r} : (si ,s∗ ) ∈ Ti∗ } (B.5) f = (f1 , . . . ,fr ) ist dabei der Endzustand in Spar , wobei fi der Endzustand von Si ist. Der erste Teil von (B.5) bedeutet, dass für jede Transition (s1 ,s2 ) ∈ Tpar , die nicht auf einer ausbrechenden Transition basiert, genau eine Transition (s1i ,s2i ) ∈ Ti in einer der Regionen Ri existiert. s1 und s2 unterscheiden sich dabei nur an Position i (s1j = s2j ∀j ̸= i). Der zweite Teil von (B.5) bedeutet, dass für jede Transition (s,f ) ∈ Tpar , die auf einer ausbrechenden Transition basiert, genau eine Transition (si ,s∗ ) ∈ Ti∗ in einer Region Ri existiert, wobei die i-te Position von s gleich si ist. Beispielsweise wird in Abbildung 5.4(b) [S. 67] Mpar für den zusammengesetzten Zustand aus Abbildung 5.4(a) [S. 67] dargestellt. “i” und “f” sind dabei die Start- und Endzustände in den jeweiligen Regionen. “i,i” und “f,f” werden als Start- und Endzustand des gesamten Zustandsdiagramms dargestellt. Ppar ist die Menge aller möglichen Pfade durch Mpar . Ein Pfad w ∈ Ppar ist wieder eine Liste von Zuständen (s1 , . . . ,sn ), wobei aufeinander folgende Zustände durch eine Transition verknüpft sind. s1 ist der Startzustand von Mpar und sn ist der Endzustand von Mpar . Jede Transition t ∈ Tpar im Pfad w basiert nach (B.5) auf genau einer Transition t ∈ i Ti und nur die letzte Transition im Pfad w kann optional auch auf genau einer ausbrechen den Transition t∗ ∈ i Ti∗ basieren. Die ursprünglichen Transitionen ti ∈ Ti und t∗i ∈ Ti∗ in den einzelnen Regionen ergeben nach (B.5) konkateniert selbst wieder Pfade. Ein Pfad w ∈ Ppar basiert also auf Pfaden in den einzelnen Regionen w1 ∈ P1 , . . . , wr ∈ Pr . Aus diesem Grund existiert eine Funktion Pi (w), welche zu dem Pfad w den zugehörigen Pfad in Region Ri angibt. Beispielsweise bedeutet in Abbildung 5.4(b) [S. 67] der Pfad ((i,i),(A,i),(A,B),(A,f ),(f,f )), dass im ursprünglichen zusammengesetzten Zustand in Abbildung 5.4(a) [S. 67] die Pfade (i,A,f ) und (i,B,f ) genommen wurden. Auf Grund der ausbrechenden Transitionen müssen diese Pfade nicht zwangsweise den finalen Zustand in Region Ri erreichen. Nun lassen sich die aggregierte durchschnittliche Dauer und die aggregierten durchschnittlichen Kosten von Mpar = (Spar ,Tpar ) definieren. Die aggregierte durchschnittliche Dauer eines Pfades w ∈ Ppar ist: r time(w) = max i=1 s∈Pi (w) time(s) (B.6) 188 Anhang B Aggregationssemantik Die durchschnittliche Dauer wird durch die langsamste Region in C bestimmt. Pfade, die ausbrechende Transitionen enthalten, berücksichtigen dabei automatisch den Abbruch der Ausführung von C. Dabei wird davon ausgegangen, dass auch bei ausbrechenden Transitionen das Verweilen in einem einzelnen Zustand nicht unterbrochen werden kann und somit die für die einzelnen Zustände bekannten durchschnittlichen Dauern nicht teilbar sind. Eine alternative Definition für den Fall, dass das Verweilen in einem Zustand durch eine ausbrechende Transition unterbrochen werden kann, lautet folgendermaßen: time(w) = s∈Pi (w) maxr time(s) s∈Pi (w) i=1 Ausbrechende Transition in w in Ri time(s) Keine ausbrechende Transition in w (B.7) Die aggregierten Kosten eines Pfades w ∈ Ppar sind: cost(w) = r cost(s) (B.8) i=1 s∈Pi (w) Dabei wird davon ausgegangen, dass die Kosten eines Zustandes auch dann voll anfallen, wenn das Verweilen in diesem Zustand durch eine ausbrechende Transition unterbrochen wird. Die aggregierte Dauer von Mpar ist nun anlog zu (B.3) [S. 186] die gewichtete Summe der Dauer der einzelnen Pfade: time(Mpar ) = p(w) · time(w) (B.9) w∈Ppar Ebenso lassen sich die aggregierten Kosten von Mpar bestimmen: cost(Mpar ) = p(w) · cost(w) (B.10) w∈Ppar p(w) ist wieder die Wahrscheinlichkeit des Pfads w mit w∈Ppar p(w) = 1. B.3 Wahrscheinlichkeit von Pfaden Die Wahrscheinlichkeit eines Pfades wird durch die Wahrscheinlichkeiten der von Verzweigungen ausgehenden Transitionen bestimmt. Für jeden Zustand ist die Summe der Wahrscheinlichkeiten der ausgehenden Transitionen gleich 1. Es soll wieder ein Zu- B.3 Wahrscheinlichkeit von Pfaden 189 standsdiagramm M = (S,T ) betrachtet werden. Die Wahrscheinlichkeit eines Pfades w = (s1 , . . . ,sn ) ist p(w) = n−1 p((sk ,sk+1 )) (B.11) k=1 Dabei ist (sk ,sk+1 ) eine Transition in T . Es soll davon ausgegangen werden, dass die Wahrscheinlichkeiten der Transitionen für ein Zustandsdiagramm bekannt sind. Bei Verzweigungen, die dadurch entstanden sind, dass ein zusammengesetzter Zustand mit orthogonalen Regionen durch ein Zustandsdiagramm ohne Parallelität ersetzt wurde, können die Wahrscheinlichkeiten der Verzweigungen folgendermaßen bestimmt werden: p((sk ,sk+1 )) = pStep (sk ,i) · p(t) (B.12) Dabei wird davon ausgegangen, dass die Transition (sk ,sk+1 ) auf der Transition t ∈ i Ti ∪ ∗ i Ti basiert, also auf einer Transition in Region Ri oder auf einer aus Ri ausbrechenden Transition (siehe (B.5) [S. 187]). pStep (sk ,i) mit rj=1 pStep (sk ,j) = 1 repräsentiert dabei die Wahrscheinlichkeit, dass im Zustand sk als nächstes eine Transition in Region Ri stattfindet, und entspricht einer Scheduling-Strategie für die parallele Ausführung der orthogonalen Regionen. Da davon ausgegangen wurde, dass p(t) bekannt ist, muss nur die Scheduling-Wahrscheinlichkeit pStep (sk ,i) bestimmt werden. Diese ist abhängig von der Ausführung der parallelen Regionen durch das jeweilige Simulationsprogramm und kann beispielsweise auf Basis von Wahrscheinlichkeitsverteilungen für die Zeitdauern der Zustände in den orthogonalen Regionen bestimmt werden. Beispielsweise können die pStep (sk ,i) initial durch eine Monte-Carlo-Simulation des Zustandsdiagramms geschätzt werden. 191 C Abbildung der Anfragen In diesem Kapitel werden die Anfragen aus Abschnitt 6.4 auf die Anfragesprachen der jeweiligen Datenmodelle abgebildet. Dabei wird diskutiert, inwieweit die Anfragekomplexität von der Anzahl der Attribute d abhängig ist. Bei SQL wird für die Anfragekomplexität die Anzahl an Joins und Selektionsbedingungen betrachtet. Bei SPARQL wird die Anzahl an Tripeln und Filtern betrachtet, die mit Joins bzw. Selektionsbedingungen vergleichbar sind. Bei MapReduce und MongoDB-QL werden die Sprachkonstrukte betrachtet, die jeweils von d abhängig sind. Da die einzelnen Anfragen von d und n abhängig sind, werden in diesem Kapitel Beispielanfragen für d = 2 und n = 10 vorgestellt. Als einzige Ausnahme davon wird für die Aggregation d = 4 angenommen. Das Einfügen von Fakten wird hier nicht im Detail vorgestellt. C.1 Relationale Abbildung Für die relationale Abbildung ergeben sich folgende SQL-Anfragen: Selektion 1 2 3 4 5 6 SELECT f . id AS fact , f . value , e0 . avalue AS avalue0 , e1 . avalue AS avalue1 FROM fact f , eav e0 , eav e1 WHERE f . source = ’ Test ’ AND e0 . entity = f . id AND e0 . attribute = 0 AND e0 . avalue <= 5 AND e1 . entity = f . id AND e1 . attribute = 1 AND e1 . avalue <= 5; Für die Selektion sind d Joins und 3d + 1 Selektionsbedingungen nötig. Aggregation 1 2 3 4 5 6 7 SELECT SUM ( f . value ) AS sumvalue , e0 . avalue AS avalue0 , e1 . avalue AS avalue1 FROM fact f , eav e0 , eav e1 WHERE f . source = ’ Test ’ AND e0 . entity = f . id AND e0 . attribute = 0 AND e1 . entity = f . id AND e1 . attribute = 1 GROUP BY e0 . avalue , e1 . avalue ; 192 Anhang C Abbildung der Anfragen Für die Aggregation sind max(⌊d/2⌋,1) Joins und 2 max(⌊d/2⌋,1) + 1 Selektionsbedingungen nötig. Join 1 2 3 4 5 6 7 8 9 10 11 SELECT lf . value AS leftvalue , rf . value AS rightvalue , le0 . avalue AS avalue0 , le1 . avalue AS avalue1 FROM fact lf , fact rf , eav le0 , eav re0 , eav le1 , eav re1 WHERE lf . source = ’ Test ’ AND rf . source = ’ Test2 ’ AND le0 . entity = lf . id AND re0 . entity = rf . id AND le0 . attribute = 0 AND re0 . attribute = 0 AND le0 . avalue = re0 . avalue AND le1 . entity = lf . id AND re1 . entity = rf . id AND le1 . attribute = 1 AND re1 . attribute = 1 AND le1 . avalue = re1 . avalue ; Hier werden die Fakten lf und rf aus zwei Faktenwürfeln mittels Join verknüpft. Da in diesem Beispiel d = 2 ist, müssen für lf die Attribute 0 und 1 mit den entsprechenden Attributen des Fakts rf verglichen werden. Es sind also 2d + 1 Joins und 5d + 2 Selektionsbedingungen nötig. Attribut hinzufügen 1 2 3 4 INSERT INTO eav ( entity , attribute , avalue ) SELECT id as entity , 2 , 0 FROM fact WHERE source = ’ Test ’; Die Komplexität beim Hinzufügen eine Attributs ist unabhängig von d. C.2 Klassisches relationales Schema Für das klassische relationale Schema ergeben sich folgende SQL-Anfragen: Selektion 1 2 3 4 5 SELECT f . id AS FROM fact f WHERE f . source AND avalue0 <= AND avalue1 <= fact , f . value , avalue0 , avalue1 = ’ Test ’ 5 5; C.3 Hybride Abbildung 193 Aggregation 1 2 3 4 SELECT SUM ( f . value ) AS sumvalue , avalue0 , avalue1 FROM fact f WHERE f . source = ’ Test ’ GROUP BY avalue0 , avalue1 ; Join 1 2 3 4 5 6 SELECT lf . value AS leftvalue , rf . value AS rightvalue , lf . avalue0 , lf . avalue1 FROM fact lf , fact rf WHERE lf . source = ’ Test ’ AND rf . source = ’ Test2 ’ AND lf . avalue0 = rf . avalue0 AND lf . avalue1 = rf . avalue1 ; Attribute hinzufügen 1 2 ALTER TABLE fact ADD COLUMN avalue2 integer NOT NULL DEFAULT 0; Hier steigt nur die Anzahl der Selektions- bzw. Joinbedingungen bei der Selektion bzw. bei dem Join in Abhängigkeit von d. C.3 Hybride Abbildung Für die hybride Abbildung mit dem hstore-Datentyp ergaben sich folgende SQLAnfragen: Selektion 1 2 3 4 5 6 7 SELECT f . id AS fact , f . value , ( attributes - > ’0 ’) :: integer ( attributes - > ’1 ’) :: integer FROM fact f WHERE f . source = ’ Test ’ AND ( attributes - > ’0 ’) :: integer AND ( attributes - > ’1 ’) :: integer AS a0 , AS a1 <= 5 <= 5; 194 Anhang C Abbildung der Anfragen Aggregation 1 2 3 4 5 6 SELECT SUM ( f . value ) AS svalue , ( attributes - > ’0 ’) :: integer AS a0 , ( attributes - > ’1 ’) :: integer AS a1 FROM fact f WHERE f . source = ’ Test ’ GROUP BY ( attributes - > ’0 ’) :: integer , ( attributes - > ’1 ’) :: integer ; Join 1 2 3 4 5 6 7 SELECT lf . value as leftvalue , rf . value as rightvalue , ( lf . attributes - > ’0 ’) :: integer AS a0 , ( lf . attributes - > ’1 ’) :: integer AS a1 FROM fact lf , fact rf WHERE lf . source = ’ Test ’ AND rf . source = ’ Test2 ’ AND ( lf . attributes - > ’0 ’) :: integer = ( rf . attributes - > ’0 ’) :: integer AND ( lf . attributes - > ’1 ’) :: integer = ( rf . attributes - > ’1 ’) :: integer ; Attribute hinzufügen 1 2 UPDATE fact set attributes = attributes || hstore ( ’2 ’ , ’0 ’) WHERE source = ’ Test ’; Bei den SQL-Anfragen für die hybride Abbildung zeigte sich, dass die Umwandlung aller Werte in Integer die Anfragen beschleunigte. Die Anfragekomplexität ist äquivalent zu der Komplexität für die relationale Abbildung mit einer Relation, da die im hstoreAttribut gespeicherten Attribut-Wert-Paare mit leicht veränderter Syntax wie normale relationale Attribute abgefragt werden können. Beim Hinzufügen von Attributen wird der Konkatenationsoperator || verwendet, um ein Attribut-Wert-Paar hinzuzufügen. C.4 Dokumentenorientierte Abbildung Für die dokumentenorientierte Abbildung lassen sich die Anfragen einerseits auf MapReduce und andererseits auf die speziell für MongoDB definierte Anfragesprache abbilden. Diese beiden Varianten werden in den folgenden Abschnitten vorgestellt. C.4.1 MapReduce Für die dokumentenorientierte Abbildung wurden die folgenden Map- und ReduceFunktionen in JavaScript verwendet: C.4 Dokumentenorientierte Abbildung 195 Selektion Map: 1 2 3 4 5 6 7 function () { if ( this . source == ’ Test ’ && this [ ’0 ’] <= 5 && this [ ’1 ’] <= 5) { emit ( this . _id , this ) ; } } Reduce: 1 2 3 4 function ( key , values ) { var result = values [0]; return result ; } Bei der Selektion wird zunächst in der Map-Funktion überprüft, ob ein Fakt den gewünschten Bedingungen entspricht. Die Anzahl an Attributen, die in der Map-Funktion überprüft werden müssen, entspricht dabei d. Als Schlüssel wird der Identifikator eines Dokuments verwendet, da jedes einzelne Dokument, welches den Bedingungen entspricht, in der Reduce-Funktion zurückgegeben werden soll. Aggregation Map: 1 2 3 4 5 6 7 function () { if ( this . source == ’ Test ’) { var key = {}; key [ ’0 ’] = this [ ’0 ’ ]; key [ ’1 ’] = this [ ’1 ’ ]; emit ({ key : key , source : this . source } , this ) ; } } Reduce: 1 2 3 4 5 6 7 8 function ( key , values ) { var result = { source : key . source , value : 0}; result [ ’0 ’] = key [ ’0 ’ ]; result [ ’1 ’] = key [ ’1 ’ ]; values . forEach ( function ( value ) { result . value += value . value ; }) ; return result ; } 196 Anhang C Abbildung der Anfragen Bei der Aggregation wird der Schlüssel dazu benutzt die jeweiligen Fakten zu gruppieren. Hierbei wird der Schlüssel in der Map-Funktion aus den ersten max(⌊d/2⌋,1) Attributen, nach denen gruppiert werden soll, zusammengesetzt. In der Reduce-Funktion werden dann die Werte aufsummiert. Join Map: 1 2 3 4 5 6 7 8 function () { if ( this . source == ’ Test ’ || this . source == ’ Test2 ’) { key = {}; key [ ’0 ’] = this [ ’0 ’ ]; key [ ’1 ’] = this [ ’1 ’ ]; emit ( key , this ) ; } } Reduce: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 function ( key , values ) { var result = { source : " Joined " }; result [ ’0 ’] = key [ ’0 ’ ]; result [ ’1 ’] = key [ ’1 ’ ]; values . forEach ( function ( value ) { if ( value . source == ’ Test ’) { result . leftvalue = value . value ; } else if ( value . source == ’ Test2 ’) { result . rightvalue = value . value ; } if ( ’ leftvalue ’ in value ) { result . leftvalue = value . leftvalue ; } if ( ’ rightvalue ’ in value ) { result . rightvalue = value . rightvalue ; } }) ; return result ; } Für den Join wird die Liste der Join-Attribute als Schlüssel in der Map-Funktion verwendet. Die Reduce-Funktion erhält somit pro Schlüssel jeweils ein Dokument aus den beiden Faktenwürfeln und generiert daraus das Ergebnisdokument. Die Komplexität dieser Anfrage ist bis auf die Schlüsselkonstruktion unabhängig von d. Dies entspricht einem Standard-Repartition-Join [BPE+ 10] mit exakt einem Joinpartner. C.4 Dokumentenorientierte Abbildung 197 Attribut hinzufügen Map: 1 2 3 4 5 6 function () { if ( this . source == ’ Test ’) { this [ ’2 ’] = 0; emit ( this . _id , this ) ; } } Reduce: 1 2 3 4 function ( key , values ) { var result = values [0]; return result ; } Hier wird den Dokumenten in der Map-Funktion ein zusätzliches Attribut hinzugefügt. Es wird wieder der Identifikator der Dokumente als Schlüssel verwendet, so dass jedes einzelne Dokument in der Reduce-Funktion zurückgegeben wird. Die Komplexität ist unabhängig von der Anzahl der Dimensionen. C.4.2 MongoDB Query Language MongoDB unterstützt neben MapReduce auch eine systemeigene Anfragesprache [Pro14]. Allerdings werden von MongoDB keine Joins unterstützt. Seit Version 2.2. wird das Aggregation-Framework [Pro14, S. 391] angeboten, das erweiterte Aggregationsfunktionalität bietet. Dieses Aggregation-Framework kann auch verwendet werden, um die in dieser Arbeit definierte Join-Anfrage umzusetzen, da jeder Fakt exakt einen Joinpartner besitzt. Die Anfragen können folgendermaßen abgebildet werden: Selektion 1 2 3 4 collection . find ( { ’ $and ’: [{ ’ source ’: ’ Test ’} , { ’0 ’: { ’ $lte ’: 5}} , { ’1 ’: { ’ $lte ’: 5}}]}) Die Anfrage wird über die find-Funktion der Anfragesprache umgesetzt [Pro14, S. 55]. Die Anzahl der Bedingungen in dieser Anfrage beträgt d + 1. 198 Anhang C Abbildung der Anfragen Aggregation 1 2 3 4 5 collection . aggregate ( [{ ’ $match ’ : { ’ source ’: ’ Test ’}} , { ’ $group ’ : { ’ _id ’: { ’0 ’: ’ $0 ’ , ’1 ’: ’ $1 ’} , ’ value ’: { ’ $sum ’: ’ $value ’ }}} , { ’ $project ’: { ’0 ’: ’ $_id .0 ’ , ’1 ’: ’ $_id .1 ’ , ’ value ’: 1}}]) Für die Aggregation wurde das Aggregation-Framework verwendet. Dieses ermöglicht die Aneinanderreihung von mehreren Operatoren zu einer Pipeline. Alternativ könnte auch die einfachere group-Funktion der Anfragesprache verwendet werden [Pro14, S. 397]. Diese war bei Tests allerdings langsamer in der Ausführung und wurde aus diesem Grund nicht verwendet. Bei der Aggregation werden zunächst mittels $match die Fakten des gesuchten Faktenwürfels herausgefiltert. Im $group-Operator wird mittels _id angegeben nach welchem Kriterium gruppiert werden soll. In diesem Fall besteht das _id-Subdokument aus den ersten max(⌊d/2⌋,1) Attributen. Der sum-Operator summiert pro Gruppe die Werte der Fakten auf. Anschließend werden die Ergebnisdokumente mittels Projektion noch in das richtige Format gebracht, indem das aus $group resultierende Feld _id wieder in die einzelnen Attribute aufgeteilt wird. Join 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 collection . aggregate ( [{ ’ $match ’: { ’ $or ’: [{ ’ source ’: ’ Test ’} , { ’ source ’: ’ Test2 ’ }]}} , { ’ $project ’: { ’1 ’: 1 , ’0 ’: 1 , ’ leftvalue ’: { ’ $cond ’: [{ ’ $eq ’: [ ’ $source ’ , ’ Test ’]} , ’ $value ’ , 0]} , ’ rightvalue ’: { ’ $cond ’: [{ ’ $eq ’: [ ’ $source ’ , ’ Test2 ’]} , ’ $value ’ , 0]}}} , { ’ $group ’: { ’ _id ’: { ’0 ’: ’ $0 ’ , ’1 ’: ’ $1 ’} , ’ rightvalue ’: { ’ $sum ’: ’ $rightvalue ’} , ’ leftvalue ’: { ’ $sum ’: ’ $leftvalue ’ }}} , { ’ $project ’: { ’0 ’: ’ $_id .0 ’ , ’1 ’: ’ $_id .1 ’ , ’ leftvalue ’: 1 , ’ rightvalue ’: 1}}]) Da die Join-Anfrage in dieser Arbeit einen Gleichverbund darstellt, bei dem pro Fakt aus dem einen Faktenwürfel genau ein Fakt aus einem zweiten Faktenwürfel gefunden wird, lässt sich dies auch über das Aggregation-Framework abbilden. C.5 Abbildung auf RDF 199 Mittels bedingten Werten werden in einem $project-Operator die value Attribute in leftvalue und rightvalue aufgeteilt. Es wird nach den Join-Attributen gruppiert, welche in diesem Fall die d Attribute sind. Da pro Gruppe genau zwei Dokumente aggregiert werden, die für leftvalue und rightvalue den richtigen Wert oder 0 besitzen, können leftvalue und rightvalue für das Ergebnisdokument einfach aufsummiert werden. Anschließend bringt ein zweites project die Ergebnisdokumente wieder in das richtige Format. Attribut hinzufügen 1 2 3 collection . update ( { ’ source ’ : ’ Test ’} , { " $set " : { ’2 ’ : 0}}) Das Hinzufügen eines Attributs lässt sich mit Hilfe der update- Funktion der Anfragesprache umsetzen. Hier wird zunächst die Bedingung angegeben, dass sich die Funktion auf den gewünschten Faktenwürfel beschränkt. Anschließend wird mit Hilfe des $set Befehls jedem Fakt ein Attribut hinzugefügt. Die Komplexität ist dabei unabhängig von d. C.5 Abbildung auf RDF SPARQL [Gro13] – die Anfragesprache für RDF – unterstützt seit der Version 1.1 Aggregation und Updates. Aus diesem Grund konnten alle Anfragen in SPARQL formuliert werden. Für die Abbildung auf RDF ergeben sich folgende SPARQL-Anfragen: Selektion 1 2 3 4 5 6 7 8 9 SELECT ? fact ? value WHERE { ? fact : value : source :0 :1 FILTER ( ? avalue0 <= FILTER ( ? avalue1 <= } ? avalue0 ? avalue1 ? value " Test " ? avalue0 ? avalue1 5 ) 5 ) ; ; ; . Für die Selektion beträgt die Anzahl der Tripel in der Abfrage d + 2. Zusätzlich werden d Selektionsbedingungen benötigt. 200 Anhang C Abbildung der Anfragen Aggregation 1 2 3 4 5 6 7 SELECT ( SUM (? value ) WHERE { ? fact : value : source :0 :1 } GROUP BY ? avalue0 AS ? svalue ) ? avalue0 ? avalue1 ? value " Test " ? avalue0 ? avalue1 ? avalue1 ; ; ; . Für die Aggregation werden d + 2 Tripel in der Abfrage benötigt. Join 1 2 3 4 5 6 7 8 9 10 11 SELECT ? leftvalue ? rightvalue ? avalue0 ? avalue1 WHERE { ? leftfact : value ? leftvalue ; : source " Test " ; :0 ? avalue0 ; :1 ? avalue1 . ? rightfact : value ? rightvalue ; : source " Test2 " ; :0 ? avalue0 ; :1 ? avalue1 . } Für den Join werden 2d + 4 Tripel in der Anfrage benötigt. Attribut hinzufügen 1 2 3 4 INSERT { ? fact } WHERE { ? fact 5 6 :2 0 . a : source : Fact ; " Test " . } Für das Hinzufügen eines Attributs können mit Hilfe eines INSERT-Befehls zusätzliche Tripel generiert und eingefügt werden. Die Komplexität ist dabei unabhängig von der Anzahl der Dimensionen. 201 Mathematische Grundlagen D “ There’s a lot more to mathematics than two-times-two. ” (Donald Duck) D.1 Die mehrdimensionale Normalverteilung Die Beschreibung der mehrdimensionalen Normalverteilung orientiert sich an Petersen und Pedersen [PP12]. Für die Wahrscheinlichkeitsdichte gilt: Nµ,Σ (x) = (2π)−N/2 |Σ|−1/2 exp(− 12 (x − µ)T Σ −1 (x − µ)) (D.1) Sind x = (x1 ,x2 ), µ = (µ1 ,µ2 ) und die Blockmatrix Σ 11 Σ 12 Σ= Σ 21 Σ 22 (D.2) mit den entsprechenden Blockgrößen gegeben, so folgt aus p(x) = Nµ,Σ : p(x1 ) = Nµ1 ,Σ 11 (x1 ) (D.3) p(x1 |x2 ) = Nµ∗ ,Σ ∗ (x1 ) (D.4) ∗ −1 Dabei ist µ∗ = µ1 + Σ 12 Σ −1 22 (x2 − µ2 ) und Σ = Σ 11 − Σ 12 Σ 22 Σ 21 . D.2 Matrizen Für die Grundlagen von Matrizen wird dem Leser ein Blick in „The Matrix Cookbook“ von Petersen und Pedersen [PP12] empfohlen. An dieser Stelle sollen nur die wichtigsten Regeln aus [PP12] wiederholt werden. 202 Anhang D Mathematische Grundlagen D.2.1 Woodbury-Matrix-Identität Die folgende Gleichung wird die Woodbury-Matrix-Identität genannt: (A + CBCT )−1 = A−1 − A−1 C(B−1 + CT A−1 C)−1 CT A−1 (D.5) Diese Gleichung hilft in gewissen Fällen die Invertierung eines Matrix-Ausdrucks effizienter zu gestalten. Ein Beispiel dafür ist, wenn A eine Diagonalmatrix und somit einfach invertierbar ist, B eine m × m-Matrix ist und B durch die Multiplikation CBCT zu einer n × n-Matrix mit n ≫ m vergrößert wird. D.2.2 Definitheit von Matrizen Eine Matrix A heißt positiv definit, wenn für alle x ̸= 0 xT Ax > 0 gilt. Falls für alle x xT Ax ≥ 0 gilt, so wird A positiv semidefinit genannt. Ist A eine Diagonalmatrix mit ausschließlich Einträgen > 0 (≥ 0), so ist A positiv (semi-) definit, da für eine Diagonalmatrix xT Ax = i xi2 Aii gilt. D.3 Optimierung Für die Grundlagen der Konvexen Optimierung werden dem Leser die Vorlesungsskripten [Gra08b] und [Gra08a] von Graef empfohlen. An dieser Stelle sollen die Grundlagen aus diesen Skripten kurz zusammengefasst werden. D.3.1 Lagrange-Multiplikator Sind die Funktionen f : Rn → R und g : Rn → R mit der Nebenbedingung g(x) = 0 gegeben, so gilt für ein Extremum x̊, falls f und g stetig partiell differenzierbar sind und falls ∇g(x̊) ̸= 0: ∇f (x̊) + λ∇g(x̊) = 0 (D.6) Dabei ist λ ∈ R. Diese Bedingung sagt aus, dass der Gradient von f , welcher die Richtung des steilsten Anstiegs angibt, in einem Extremum parallel zum Gradienten D.3 Optimierung 203 der Nebenbedingung sein muss. Dabei müssen die Gradienten nicht gleich lang sein und auch nicht in die gleiche Richtung zeigen. D.3.2 Konvexe Optimierung Es ist ein konvexes Optimierungsproblem min f (x) x ∈ Rn g(x) ≤ 0 gegeben mit den konvexen Funktionen f : Rn → R und gi : Rn → R ∀i = 1, . . . ,m. Dann ist x̊ genau dann ein Minimum, wenn für ein λ ≥ 0 folgende Bedingungen erfüllt sind: ∇f (x̊) + m λi ∇gi (x̊) = 0 (D.7) i=1 λi gi (x̊) = 0 ∀i = 1, . . . ,m ∃x ∀i = 1, . . . ,m gi (x) < 0 (D.8) (D.9) (D.7) ist ähnlich zu (D.6) auf der vorherigen Seite nur für mehrere Nebenbedingungen. (D.8) bedeutet, dass entweder λi oder gi (x̊) gleich 0 sein müssen. Ist gi (x̊) = 0, so liegt das Optimum genau an der Grenze der Nebenbedingung gi (x̊) ≤ 0. In diesem Fall muss λi nicht gleich 0 sein und somit wird ∇gi (x̊) in (D.7) berücksichtigt. Eine solche Bedingung wird scharf genannt. Ist gi (x̊) < 0, muss λi = 0 gelten und somit wird ∇gi (x̊) in (D.7) nicht berücksichtigt. (D.9) ist die sogenannte Slater-Bedingung. Falls statt dem Rn der (R+ )n verwendet wird und das Minimum komponentenweise größer 0 ist (∀j x̊j > 0), so gelten die gleichen Bedingungen. Dies lässt sich leicht zeigen, indem bei obigem Optimierungsproblem zusätzliche Nebenbedingungen eingeführt werden, welche das Minimum auf (R+ )n beschränken. Da das Minimum komponentenweise größer 0 ist, ist keine der neu eingeführten Nebenbedingungen scharf und somit entfallen diese wieder aus (D.7). 205 E Herleitungen In diesem Kapitel sollen verschiedene Herleitungen beschrieben werden, welche in den einzelnen Kapiteln nicht im Detail vorgestellt wurden. E.1 Invertierung der Kovarianzmatrix für SPGP Für SPGP wurde in (8.12) [S. 123] folgende Kovarianzfunktion definiert [Sne06, Sne07, CRW07]: −1 T CSPGP (xi ,xj ) = k̄(xi )T Σ −1 M M k̄(xj ) + δij [C(xi ,xj ) − k̄(xi ) Σ M M k̄(xj )] (E.1) Dabei ist k̄(xi ) = (C(xi ,x̄1 ), . . . ,C(xi ,x̄M ))T der Kovarianzvektor zwischen den Pseudobeobachtungen und den xi . Σ M M ist die M ×M -Kovarianzmatrix der Pseudobeobachtungen ([Σ M M ]ij = C(x̄i ,x̄j )). Mit dieser Kovarianzfunktion ergibt sich folgende Kovarianzmatrix [Sne06, Sne07, CRW07]: −1 K = Σ N M Σ −1 M M Σ M N + diag(Σ − Σ N M Σ M M Σ M N ) + vt I (E.2) Dabei ist Σ N M die N × M -Kovarianzmatrix zwischen den Pseudobeobachtungen und den xi : [Σ N M ]ij = C(xi ,x̄j ). Es gilt: Σ M N = Σ TN M . Weiterhin ist Σ die N × N Kovarianzmatrix mit [Σ]ij = C(xi ,xj ). Zur Vereinfachung der Schreibweise wird folgende Diagonalmatrix definiert [Sne07]: ∆ = diag(Σ − Σ N M Σ −1 M M Σ M N ) + vt I (E.3) Zur weiteren Vereinfachung wird B = Σ M M + Σ M N ∆−1 Σ N M definiert [Sne07]. Mit Hilfe der Woodbury-Matrix-Identität (D.5) [S. 202] ergibt sich für die Inverse der Kovarianzmatrix: −1 K−1 = [Σ N M Σ −1 = ∆−1 − ∆−1 Σ N M B−1 Σ M N ∆−1 M M Σ M N + ∆] (E.4) 206 Anhang E Herleitungen Während die direkte Invertierung von K den Aufwand O(N 3 ) hat, lässt sich dies mit der Woodbury-Matrix-Identität auf O(N 2 M ) reduzieren. Die Invertierung von ∆ hat den Aufwand O(N ). Die Subtraktion hat den Aufwand O(N 2 ). Die Multiplikation mit der Diagonalmatrix ∆ hat den Aufwand O(N 2 ). Die Berechnung von B hat den Aufwand O(M 2 N ) und die Invertierung von B hat den Aufwand O(M 3 ). Der Aufwand für die Invertierung von K wird also durch die Multiplikation Σ N M B−1 Σ M N dominiert und ist somit O(N 2 M ). Die Ausdrücke für die Bestimmung von µ(x∗ ) und σ 2 (x∗ ) lassen sich noch weiter vereinfachen. Da die Vereinfachungsschritte in [Sne07] nur angedeutet wurden, sollen diese hier explizit angegeben werden. Dabei wird, wie in [Sne07] beschrieben, die Ersetzung Σ M N ∆−1 Σ N M = B − Σ M M verwendet, welche auf der Definition von B basiert. Der Vektor Σ ∗M wird dabei folgendermaßen definiert: Σ ∗M = (C(x∗ ,x̄1 ), . . . ,C(x∗ ,x̄M ))T . Dann ergibt sich für µ(x∗ ): −1 −1 µ(x∗ ) = Σ ∗M Σ −1 M M Σ M N [Σ N M Σ M M Σ M N + ∆] t = = = = = (E.5) −1 Σ ∗M Σ −1 M M Σ M N [∆ −1 [Σ ∗M Σ −1 M M ΣM N ∆ −1 [Σ ∗M Σ −1 M M ΣM N ∆ − ∆ Σ N M B Σ M N ∆ ]t (E.6) −1 −1 −1 − Σ ∗M Σ −1 M M Σ M N ∆ Σ N M B Σ M N ∆ ]t (E.7) −1 [Σ ∗M Σ −1 M M ΣM N ∆ −1 [Σ ∗M Σ −1 M M ΣM N ∆ − −1 − − −1 −1 −1 −1 Σ ∗M Σ −1 M M (B − Σ M M )B Σ M N ∆ ]t −1 −1 Σ ∗M (Σ −1 M M − B )Σ M N ∆ ]t −1 Σ ∗M Σ −1 + Σ ∗M B−1 Σ M N ∆−1 ]t MM ΣM N ∆ (E.8) (E.9) (E.10) = Σ ∗M B−1 Σ M N ∆−1 t (E.11) Für σ 2 (x∗ ) ergibt sich: −1 −1 −1 2 σ 2 (x∗ ) = Σ∗ − Σ ∗M Σ −1 M M Σ M N [Σ N M Σ M M Σ M N + ∆] Σ N M Σ M M Σ M ∗ + σ (E.12) 2 = Σ∗ − Σ ∗M B−1 Σ M N ∆−1 Σ N M Σ −1 MM ΣM ∗ + σ (E.13) Σ ∗M B (B − Σ M M )Σ −1 MM ΣM ∗ −1 2 Σ ∗M (Σ −1 M M − B )Σ M ∗ + σ (E.14) = Σ∗ − = Σ∗ − −1 +σ 2 (E.15) (E.16) Dabei ist Σ∗ := C(x∗ ,x∗ ). Der erste Schritt dieser Vereinfachung verwendet dabei die gleichen Vereinfachungsschritte wie sie auch für µ(x∗ ) verwendet werden. E.2 Gradient und Hesse-Matrix für Kovarianzfunktionen 207 E.2 Gradient und Hesse-Matrix für Kovarianzfunktionen In diesem Abschnitt werden Gradient und Hesse-Matrix für verschiedene Kovarianzfunktionen vorgestellt, da diese für die approximative UP von Girard in (8.22) [S. 127] benötigt werden. Konkret werden die Vektoren bzw. Matrizen C′ (u,x), C′′ (u,x) und C′′ (u,u) benötigt. Dabei wird jeweils nach u abgeleitet, da x eine feste Beobachtung ist. Zu beachten ist, dass in dieser Arbeit, in Anlehnung an Girard [Gir04], der Gradient als Spaltenvektor betrachtet wird. E.2.1 Gaußsche Kovarianzfunktion Die gaußsche Kovarianzfunktion wurde folgendermaßen definiert: C(u,x) = v exp − 12 (u − x)T W−1 (u − x) (E.17) W−1 wurde in Abschnitt 8.1.1.1 folgendermaßen definiert: W−1 = diag(w1 , . . . ,wD ). Damit lassen sich nun die geforderten Ableitungen bestimmen. Für C′ (u,x) werden die partiellen Ableitungen nach den Komponenten von u benötigt: ∂ C(u,x) = −(uk − xk )wk v exp − 12 (u − x)T W−1 (u − x) ∂uk (E.18) Dies ergibt sich aus der Kettenregel und der Tatsache, dass (u − x)T W−1 (u − x) eine 2 Summe aus Termen ist: (u − x)T W−1 (u − x) = D ℓ=1 (uℓ − xℓ ) wℓ . Für C′′ (u,x) werden die zweifachen partiellen Ableitungen nach den Komponenten von u benötigt: ∂2 C(u,x) = [(uk −xk )wk (ul −xl )wl +δkl wk ]v exp − 12 (u − x)T W−1 (u − x) (E.19) ∂uk ∂ul Dabei wurde wieder die Kettenregel angewendet. Im Falle von k = l wurde zusätzlich die Produktregel benötigt. Diese resultierte in diesem Fall im zusätzlichen Term δkl wk . C′′ (u,u) lässt sich einfach bestimmen, da in diesem Fall u in der Gleichung (E.17) nicht mehr vorkommt: ∂2 C(u,u) = 0 ∂uk ∂ul (E.20) 208 Anhang E Herleitungen E.2.2 SPGP-Kovarianzfunktion Snelson [Sne07] stellte in seiner Arbeit die Ableitungen der Kovarianzfunktion nach den Hyperparametern vor. Da für den Gradienten und die Hesse-Matrix allerdings die Ableitungen nach den u benötigt werden, werden diese hier kurz vorgestellt. Die Kovarianzfunktion ist (hier in einer Darstellung ohne Deltafunktion): k̄(u)T Σ −1 CSPGP (u,x) = C(u,x) M M k̄(x) für u ̸= x für u = x (E.21) Dabei gilt: k̄(u) = (C(u,x̄1 ), . . . ,C(u,x̄M ))T . Die Ableitung dieser Kovarianzfunktion ist möglich, wenn davon ausgegangen wird, dass u ̸= x gilt. In diesem Fall lassen sich die Ableitungen der SPGP-Kovarianzfunktion auf die Ableitungen der zugrundeliegenden Kovarianzfunktion zurückführen: M ∂ ∂ CSPGP (u,x) = C(u,x̄i )[Σ −1 M M k̄(x)]i ∂uk ∂u k i=1 (E.22) M ∂2 ∂2 CSPGP (u,x) = C(u,x̄i )[Σ −1 M M k̄(x)]i ∂uk ∂ul i=1 ∂uk ∂ul (E.23) Für die Ableitung von CSPGP (u,u) gilt u = x: ∂2 ∂2 CSPGP (u,u) = C(u,u) ∂uk ∂ul ∂uk ∂ul (E.24) E.2.3 SPGP-DR-Kovarianzfunktion Für SPGP-DR werden die Ableitungen der Kovarianzfunktion zwischen u und einer dimensionsreduzierten Pseudobeobachtung x̃ = Px̄ benötigt: C(u,x̃) = v exp − 12 (Pu − x̃)T (Pu − x̃) (E.25) P ist die G × D-Projektionsmatrix. Für die Vereinfachung der Ableitung lässt sich der Term (Pu − x̃)T (Pu − x̃) in Summenschreibweise folgendermaßen darstellen: (Pu − x̃)T (Pu − x̃) = G i=1 ( D j=1 2 Pij uj ) − x̃i (E.26) E.3 Exakte Unschärfepropagierung für SPGP-DR 209 Damit ergeben sich mit Hilfe der Ketten- und Produktregel folgende Ableitungen: G D ∂ C(u,x̃) = − Pik ( Pij uj ) − x̃i v exp − 12 (Pu − x̃)T (Pu − x̃) (E.27) ∂uk i=1 j=1 G D G D ∂2 C(u,x̃) = Pik ( Pij uj ) − x̃i · Pil ( Pij uj ) − x̃i ∂uk ∂ul i=1 j=1 i=1 j=1 − G Pik Pil v exp − 12 (Pu − x̃)T (Pu − x̃) i=1 (E.28) Die Ableitung der Kovarianzfunktion C(u,u) erfolgt analog zur gaußschen Kovarianzfunktion (Abschnitt E.2.1): ∂2 C(u,u) = 0 ∂uk ∂ul (E.29) E.3 Exakte Unschärfepropagierung für SPGP-DR Für die exakte Unschärfepropagierung müssen die Integrale (8.19) [S. 127], (8.20) [S. 127] und (8.21) [S. 127] aus Abschnitt 8.2 für die jeweilige Kovarianzfunktion gelöst werden. Zur besseren Übersichtlichkeit werden diese Intergrale hier wiederholt: l := Ex [C(x,x)] = C(x,x)p(x|u,Σ u ) dx (E.30) C(x,xi )p(x|u,Σ u ) dx (E.31) RD li := Ex [C(x,xi )] = RD lij := Ex [C(x,xi )C(x,xj )] = C(x,xi )C(x,xj )p(x|u,Σ u ) dx (E.32) RD Girard entwickelte Lösungen für diese Integrale für die gaußsche Kovarianzfunktion. Groot et al. [GLB11] diskutierten eine Erweiterung dieser Lösung für die SPGPKovarianzfunktion. Dabei ließ sich die Lösung als Kombination von l, li und lij für die 210 Anhang E Herleitungen gaußsche Kovarianzfunktion darstellen. Für die SPGP-Kovarianzfunktion sind l, li und lij allerdings abhängig von den Pseudobeobachtungen x̄i [GLB11]: l := Ex [C(x,x)] (E.33) li := Ex [C(x,x̄i )] (E.34) lij := Ex [C(x,x̄i )C(x,x̄j )] (E.35) Die Lösung dieser Integrale lautet [Gir04, GLB11]: l =v (E.36) li =v|W−1 Σ x + I|−1/2 exp − 21 (u − x̄i )T (W + Σ x )−1 (u − x̄i ) (E.37) lij =v 2 |2W−1 Σ x + I|−1/2 exp − 12 (u − (x̄i + x̄j )/2)T (W/2 + Σ x )−1 (u − (x̄i + x̄j )/2) − 12 (x̄i − x̄j )T (2W)−1 (x̄i − x̄j ) (E.38) In der SPGP-DR-Kovarianzfunktion werden statt den Pseudobeobachtungen x̄i dimensionsreduzierte Pseudobeobachtungen x̃i = Px̄i verwendet. Die Gleichungen (E.37) und (E.38) müssen also so umgeformt werden, dass die x̄i nicht mehr vorkommen. Es gilt: W−1 = PT P. Mit Hilfe der Woodbury-Matrix-Identität (D.5) [S. 202] lassen sich die x̄i aus li eliminieren: (u − x̄i )T (W + Σ x )−1 (u − x̄i ) −1 −1 = (u − x̄i )T (W−1 − W−1 (W−1 + Σ −1 x ) W )(u − x̄i ) (E.39) −1 T = (u − x̄i )T PT P(u − x̄i ) − (u − x̄i )T PT P(W−1 + Σ −1 x ) P P(u − x̄i ) (E.40) = (Pu − x̃i ) (Pu − x̃i ) − (Pu − x̃i ) P(W T T −1 + −1 T Σ −1 x ) P (Pu − x̃i ) (E.41) Für lij lassen sich die x̄i aus dem Term (x̄i − x̄j )T (2W)−1 (x̄i − x̄j ) trivial eliminieren. Die Eliminierung von x̄i aus dem Term (u − (x̄i + x̄j )/2)T (W/2 + Σ x )−1 (u − (x̄i + x̄j )/2) erfolgt analog zu li . Auf diese Weise lassen sich l, li und lij für die SPGP-DR-Kovarianzfunktion auswerten. Somit lässt sich die exakte UP für SPGP-DR bestimmen. E.4 Auf der Spur von Blockmatrixprodukten 211 E.4 Auf der Spur von Blockmatrixprodukten Es sind folgende Blockmatrizen gegeben: Σ∗ = τ Σ ∗1 0 0 Σ ∗2 C′i1 C′i2 C (u,xi ) = ′ τ Σ ∗1 = diag(v̊1 , . . . ,v̊n ), , , C (u,xi ) = ′′ C′′i11 C′′i12 C′′i21 C′′i22 Σ ∗2 = diag(ṽ1 , . . . ,ṽo ) C (u,u) = ′′ , C′′11 C′′12 C′′21 C′′22 C′i1 ist ein Vektor der Länge n und C′i2 ist ein Vektor der Länge o. C′′11 und C′′i11 sind n×n-Matrizen und C′′22 und C′′i22 sind o×o-Matrizen. Die Größen der restlichen Matrizen ergeben sich damit automatisch. Es folgt: Tr[C (u,xi )Σ ∗ ] = Tr ′′ = Tr C′′i11 C′′i12 C′′i21 C′′i22 τ Σ ∗1 0 0 Σ ∗2 τ C′′i11 Σ ∗1 C′′i12 Σ ∗2 τ C′′i21 Σ ∗1 C′′i22 Σ ∗2 (E.42) (E.43) = τ Tr[C′′i11 Σ ∗1 ] + Tr[C′′i22 Σ ∗2 ] (E.44) Dies gilt analog für Tr[C′′ (u,u)Σ ∗ ]. Außerdem ergibt sich: Tr[C (u,xi )C (u,xj ) Σ ∗ ] = Tr ′ ′ T = Tr C′i1 C′i2 ′T (C′T j1 ,Cj2 ) τ Σ ∗1 0 0 Σ ∗2 ′ ′T τ C′i1 C′T j1 Σ ∗1 Ci1 Cj2 Σ ∗2 ′ ′ ′T τ C′T j1 Ci2 Σ ∗1 Ci2 Cj2 Σ ∗2 (E.45) ′ ′T = τ Tr[C′i1 C′T j1 Σ ∗1 ] + Tr[Ci2 Cj2 Σ ∗2 ] (E.46) (E.47) E.5 Die Fisher-Information für verschiedene Verteilungen Für die Kostenfunktion der IUP wird die Fisher-Information für die Parameter unterschiedlicher Verteilungen benötigt. In diesem Abschnitt wird die Herleitung für drei Verteilungen vorgestellt, welche im Rahmen dieser Arbeit in Beispielen verwendet werden. Dafür wird die folgende Definition der Fisher-Information verwendet: I(u) = − Ed 2 ∂ 2 log pu (d) ∂ log pu (d) =− pu (d) dd 2 ∂u ∂u2 (E.48) 212 Anhang E Herleitungen E.5.1 Exponentialverteilung Für die Rate der Exponentialverteilung expr (x) = re−rx ergibt sich: ∂ 2 log(r) − rx Iexp (r) = − Ex ∂r2 ∂1/r − x = − Ex ∂r 1 1 = − Ex − 2 = 2 r r (E.49) E.5.2 Trefferwahrscheinlichkeit Für die Abschätzung der Trefferwahrscheinlichkeit p bei einem Ereignis gilt die BernoulliVerteilung Bp (k) = pk (1 − p)1−k mit k ∈ {0,1}. Für die Trefferwahrscheinlichkeit lässt sich also ebenfalls die Fisher-Information bestimmen: ∂ 2 log(pk (1 − p)1−k ) IB (p) = − Ek ∂p2 ∂ 2 k log(p) + (1 − k) log(1 − p) = − Ek ∂p2 ∂k/p − (1 − k)/(1 − p) = − Ek ∂p k (1 − k) = − Ek − 2 − p (1 − p)2 p 1−p 1 = 2+ = 2 p (1 − p) p(1 − p) Dabei wurde die Tatsache verwendet, dass Ek [k] = p gilt. (E.50) E.5 Die Fisher-Information für verschiedene Verteilungen 213 E.5.3 Mittelwert der Normalverteilung Für den Mittelwert der Normalverteilung Nµ,σ (x) = 1 2 2 √1 e− 2 (x−µ) /σ σ 2π − log(σ) − 12 log(2π) − 12 (x − µ)2 /σ 2 IN (µ) = − Ex ∂µ2 ∂(x − µ)/σ 2 = − Ex ∂µ 1 1 = − Ex − 2 = 2 σ σ 2 ∂ ergibt sich: (E.51) E.5.4 Standardabweichung der Normalverteilung Die Fisher-Information für die Standardabweichung der Normalverteilung lässt sich analog bestimmen: − log(σ) − 12 log(2π) − 12 (x − µ)2 /σ 2 IN (σ) = − Ex ∂σ 2 ∂ − 1/σ + (x − µ)2 /σ 3 = − Ex ∂σ 1 (x − µ)2 = − Ex 2 − 3 σ σ4 σ2 1 2 =3 4− 2 = 2 σ σ σ 2 ∂ (E.52) Für diese Herleitung wird die Tatsache verwendet, dass Ex [(x − µ)2 ] = σ 2 gilt. Hierbei ist zu beachten, dass in dieser Arbeit die Fisher-Information für die Standardabweichung verwendet wird. Diese unterscheidet sich von der Fisher-Information für die Varianz. Analog zu den Herleitungen für den Mittelwert und die Standardabweichung lässt sich zeigen, dass der Mittelwert und die Standardabweichung der Normalverteilung orthogonal zueinander sind. 215 Literaturverzeichnis [AAC12] Arendt, Paul D. ; Apley, Daniel W. ; Chen, Wei: Quantification of Model Uncertainty: Calibration, Model Discrepancy, and Identifiability. In: Journal of Mechanical Design 134 (2012), Nr. 10 [ACA11] Arendt, Paul D. ; Chen, Wei ; Apley, Daniel W.: Improving Identifiability in Model Calibration Using Multiple Responses. In: ASME Conference Proceedings 2011 (2011), Nr. 54822, S. 1213–1222 [AKD10] Ailamaki, Anastasia ; Kantere, Verena ; Dash, Debabrata: Managing Scientific Data. In: Commun. ACM 53 (2010), S. 68–78 [Ana10] Anashin, Vladimir: Non-Archimedean Ergodic Theory and Pseudorandom Generators. In: The Computer Journal 53 (2010), Nr. 4, S. 370–392 [ANS10] Ankenman, Bruce ; Nelson, Barry L. ; Staum, Jeremy: Stochastic Kriging for Simulation Metamodeling. In: Oper. Res. 58 (2010), Nr. 2, S. 371–382 [Arn95] Arnold, Ludwig: Random Dynamical Systems. In: Johnson, Russell (Hrsg.): Dynamical Systems Bd. 1609. Springer Berlin Heidelberg, 1995, S. 1–43 [Bar12] Barton, R.R.: Tutorial: Input Uncertainty in Output Analysis. In: Laroque, C. (Hrsg.) ; Himmelspach, J. (Hrsg.) ; Pasupathy, R. (Hrsg.) ; Rose, O. (Hrsg.) ; Uhrmacher, A.M. (Hrsg.): Proceedings of the 2012 Winter Simulation Conference. Piscataway, New Jersey : Institute of Electrical and Electronics Engineers, Inc., 2012, S. 67–78 [BDT13] Banerjee, Anjishnu ; Dunson, David B. ; Tokdar, Surya T.: Efficient Gaussian Process Regression for Large Datasets. In: Biometrika 100 (2013), Nr. 1, S. 75–89 [BDV05] Barbarisi, O. ; Del Vecchio, C.: UML Simulation Model for Hybrid Manufacturing Systems. In: Intelligent Control, 2005. Proceedings of the 2005 IEEE International Symposium On, Mediterrean Conference on Control and Automation, 2005, S. 358–363 216 Literaturverzeichnis [BEL13] Baumgärtel, Philipp ; Endler, Gregor ; Lenz, Richard: A Benchmark for Multidimensional Statistical Data. In: Catania, Barbara (Hrsg.) ; Guerrini, Giovanna (Hrsg.) ; Pokorný, Jaroslav (Hrsg.): Advances in Databases and Information Systems Bd. 8133. Springer Berlin Heidelberg, 2013, S. 358–371 [BEL14] Baumgärtel, Philipp ; Endler, Gregor ; Lenz, Richard: Toward PayAs-You-Go Data Integration for Healthcare Simulations. In: Bienkiewicz, Marta (Hrsg.) ; Verdier, Christine (Hrsg.) ; Plantier, Guy (Hrsg.) ; Schultz, Tanja (Hrsg.) ; Fred, Ana (Hrsg.) ; Gamboa, Hugo (Hrsg.): Proceedings of the International Conference on Health Informatics, SciTePress - Science and Technology Publications, 2014, S. 172–177 [BEWL14] Baumgärtel, Philipp ; Endler, Gregor ; Wahl, Andreas M. ; Lenz, Richard: Inverse Uncertainty Propagation for Demand Driven Data Acquisition. In: Tolk, A. (Hrsg.) ; Diallo, S. Y. (Hrsg.) ; Ryzhov, I. O. (Hrsg.) ; Yilmaz, L. (Hrsg.) ; Buckley, S. (Hrsg.) ; Miller, J. A. (Hrsg.): Proceedings of the 2014 Winter Simulation Conference. Piscataway, NJ, USA : IEEE Press, 2014 (WSC ’14), S. 710–721 [BFRW97] Baumann, Peter ; Furtado, Paula ; Ritsch, Roland ; Widmann, Norbert: The RasDaMan Approach to Multidimensional Database Management. In: Proceedings of the 1997 ACM Symposium on Applied Computing. New York, NY, USA : ACM, 1997 (SAC ’97), S. 166–173 [BG08] Bauer, Andreas ; Günzel, Holger: Data-Warehouse-Systeme: Architektur, Entwicklung, Anwendung. 3. Auflage. dpunkt Verlag, 2008 [BG10] Biller, Bahar ; Gunes, Canan: Introduction to Simulation Input Modeling. In: Johansson, B. (Hrsg.) ; Jain, S. (Hrsg.) ; Montoya-Torres, J. (Hrsg.) ; Hugan, J. (Hrsg.) ; Yücesan, E. (Hrsg.): Proceedings of the 2010 Winter Simulation Conference. Piscataway, New Jersey : Institute of Electrical and Electronics Engineers, Inc., 2010, S. 49–58 [BGM14] Brickley, Dan ; Guha, R.V. ; McBride, Brian: RDF Schema 1.1. http://www.w3.org/TR/2014/REC-rdf-schema-20140225/ (Abgerufen am 24.4.2014), 2014 [BH08] Barker, Adam ; Hemert, Jano: Scientific Workflow: A Survey and Research Directions. In: Wyrzykowski, Roman (Hrsg.) ; Dongarra, Jack (Hrsg.) ; Karczewski, Konrad (Hrsg.) ; Wasniewski, Jerzy (Hrsg.): Parallel Processing and Applied Mathematics Bd. 4967. Springer Berlin Heidelberg, 2008, S. 746–753 Literaturverzeichnis 217 [BINM01] Banks, Jerry ; II, John S. C. ; Nelson, Barry L. ; M.Nicol, David ; Fabrycky, W. J. (Hrsg.) ; Mize, J.H. (Hrsg.): Discrete-Event System Simulation. 3rd ed. Upper Saddle River, NJ : Prentice Hall, 2001 [BJSA10] Boulonne, Adrien ; Johansson, Björn ; Skoogh, Anders ; Aufenanger, Mark: Simulation Data Architecture for Sustainable Development. In: Proceedings of the 2010 Winter Simulation Conference, 2010, S. 3435–3446 [Ble12] Blechinger, Juliane: Ein Metadatenrepositorium zum Datenqualitätsmonitoring im Concurrent Engineering, Technische Fakultät der Universität Erlangen-Nürnberg, Diss., 2012 [BM10] Beckert, Walter ; McFadden, Daniel L.: Maximal Uniform Convergence Rates in Parametric Estimation Problems. In: Econometric Theory 26 (2010), S. 469–500 [BMR11] Bernstein, Philip A. ; Madhavan, Jayant ; Rahm, Erhard: Generic Schema Matching, Ten Years Later. In: Proceedings of the VLDB Endowment 4 (2011), Nr. 11, S. 695–701 [BNX10] Barton, R.R. ; Nelson, B.L. ; Xie, Wei: A Framework for Input Uncertainty Analysis. In: Johansson, B. (Hrsg.) ; Jain, S. (Hrsg.) ; MontoyaTorres, J. (Hrsg.) ; Hugan, J. (Hrsg.) ; Yücesan, E. (Hrsg.): Proceedings of the 2010 Winter Simulation Conference. Piscataway, New Jersey : Institute of Electrical and Electronics Engineers, Inc., 2010, S. 1189–1198 [BNX13] Barton, Russell R. ; Nelson, Barry L. ; Xie, Wei: Quantifying Input Uncertainty via Simulation Confidence Intervals. In: INFORMS Journal on Computing (2013) [BPE+ 10] Blanas, Spyros ; Patel, Jignesh M. ; Ercegovac, Vuk ; Rao, Jun ; Shekita, Eugene J. ; Tian, Yuanyuan: A Comparison of Join Algorithms for Log Processing in MapReduce. In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. New York, NY, USA : ACM, 2010 (SIGMOD ’10), S. 975–986 [BS06] Batini, Carlo ; Scannapieco, Monica: Data Quality: Concepts, Methodologies and Techniques (Data-Centric Systems and Applications). Secaucus, NJ, USA : Springer-Verlag New York, Inc., 2006 [BSJ+ 09] Bengtsson, N. ; Shao, G. ; Johansson, B. ; Lee, Y.T. ; Leong, S. ; Skoogh, A. ; Mclean, C.: Input Data Management Methodology for Discrete Event Simulation. In: Winter Simulation Conference (WSC), Proceedings of the 2009, 2009, S. 1335 –1344 218 Literaturverzeichnis [BTL14] Baumgärtel, Philipp ; Tenschert, Johannes ; Lenz, Richard: A Query Language for Workflow Instance Data. In: Catania, Barbara (Hrsg.) ; Cerquitelli, Tania (Hrsg.) ; Chiusano, Silvia (Hrsg.) ; Guerrini, Giovanna (Hrsg.) ; Kämpf, Mirko (Hrsg.) ; Kemper, Alfons (Hrsg.) ; Novikov, Boris (Hrsg.) ; Palpanas, Themis (Hrsg.) ; Pokorný, Jaroslav (Hrsg.) ; Vakali, Athena (Hrsg.): New Trends in Databases and Information Systems Bd. 241. Springer International Publishing, 2014, S. 79–86 [BWC+ 08] Belhajjame, K. ; Wolstencroft, K. ; Corcho, O. ; Oinn, T. ; Tanoh, F. ; William, A. ; Goble, C.: Metadata Management in the Taverna Workflow System. In: Cluster Computing and the Grid, 2008. CCGRID ’08. 8th IEEE International Symposium On, 2008, S. 651 –656 [CBL11] Cohen-Boulakia, Sarah ; Leser, Ulf: Search, Adapt, and Reuse: The Future of Scientific Workflows. In: SIGMOD Rec. 40 (2011), S. 6–16 [CD97] Chaudhuri, Surajit ; Dayal, Umeshwar: An Overview of Data Warehousing and OLAP Technology. In: SIGMOD Rec. 26 (1997), S. 65–74 [CG08] Ćurčin, V. ; Ghanem, M.: Scientific Workflow Systems - Can One Size Fit All? In: Biomedical Engineering Conference, 2008. CIBEC 2008. Cairo International, 2008, S. 1 –9 [CGG+ 02] Ćurčin, V. ; Ghanem, M. ; Guo, Y. ; Köhler, M. ; Rowe, A. ; Syed, J. ; Wendel, P.: Discovery Net: Towards a Grid of Knowledge Discovery. In: Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, NY, USA : ACM, 2002 (KDD ’02), S. 658–663 [CGH+ 06] Churches, David ; Gombas, Gabor ; Harrison, Andrew ; Maassen, Jason ; Robinson, Craig ; Shields, Matthew ; Taylor, Ian ; Wang, Ian: Programming Scientific and Distributed Workflow With Triana Services. In: Concurrency and Computation: Practice and Experience 18 (2006), Nr. 10, S. 1021–1037 [CI12] Chantrasmi, Tonkid ; Iaccarino, Gianluca: Forward and Backward Uncertainty Propagation for Discontinuous System Response Using the Padé-Legendre Method. In: International Journal for Uncertainty Quantification 2 (2012), Nr. 2, S. 125–143 [CM12] Cain, R. ; Moorsel, A. van: Optimization of Data Collection Strategies for Model-Based Evaluation and Decision-Making. In: Dependable Sys- Literaturverzeichnis 219 tems and Networks (DSN), 2012 42nd Annual IEEE/IFIP International Conference On, 2012, S. 1–10 [CR87] Cox, D. R. ; Reid, N.: Parameter Orthogonality and Approximate Conditional Inference. In: Journal of the Royal Statistical Society. Series B (Methodological) 49 (1987), Nr. 1, S. pp. 1–39 [CR05] Candela, Joaquin Quiñ. ; Rasmussen, Carl E.: A Unifying View of Sparse Approximate Gaussian Process Regression. In: J. Mach. Learn. Res. 6 (2005), S. 1939–1959 [Cra46] Cramér, Harald: Mathematical Methods of Statistics. Princeton University Press, 1946 [CRW07] Kapitel Approximation Methods for Gaussian Process Regression. In: Candela, Joaquin Quiñ. ; Rasmussen, Carl E. ; Williams, Christopher K.: Large-Scale Kernel Machines. Cambridge, MA: MIT Press, 2007, S. 203–224 [CWM13] Chalupka, Krzysztof ; Williams, Christopher K. ; Murray, Iain: A Framework for Evaluating Approximation Methods for Gaussian Process Regression. In: Journal of Machine Learning Research 14 (2013), S. 333– 350 [DG11] Djanatliev, Anatoli ; German, Reinhard: ProHTA - Prospective Assessment of Innovative Health Technology by Simulation. In: Jain, R.R. Creasey S. (Hrsg.): Proceedings of the 2011 Winter Simulation Conference, 2011 [DH01] Dumas, Marlon ; Hofstede, Arthur ter: UML Activity Diagrams as a Workflow Specification Language. In: Gogolla, Martin (Hrsg.) ; Kobryn, Cris (Hrsg.): «UML» 2001 - the Unified Modeling Language. Modeling Languages, Concepts, and Tools Bd. 2185. Springer Berlin / Heidelberg, 2001, S. 76–90 [DIN97] DIN ISO 5725-1: Genauigkeit (Richtigkeit und Präzision) von Meßverfahren und Meßergebnissen - Teil 1: Allgemeine Grundlagen und Begriffe. 1997 [DKRHG12] Djanatliev, Anatoli ; Kolominsky-Rabas, Peter ; Hofmann, Bernd M. ; German, Reinhard: Hybrid Simulation With Loosely Coupled System Dynamics and Agent-Based Models for Prospective Health Technology Assessments. In: Proceedings of the 2012 Winter Simulation Conference, 2012, S. 770–781 220 Literaturverzeichnis [Dol04] Dolog, Peter: Model-Driven Navigation Design for Semantic Web Applications With the UML-Guide. In: Matera, Maristella (Hrsg.) ; Comai, Sara (Hrsg.): Engineering Advanced Web Applications. Rinton Press, 2004, S. 75–86 [DP09] Dessi, Nicoletta ; Pes, Barbara: Towards Scientific Dataspaces. In: Web Intelligence and Intelligent Agent Technologies, 2009. WI-IAT ’09. IEEE/WIC/ACM International Joint Conferences On Bd. 3, 2009, S. 575 –578 [DSDH08] Das Sarma, Anish ; Dong, Xin ; Halevy, Alon: Bootstrapping PayAs-You-Go Data Integration Systems. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. New York, NY, USA : ACM, 2008 (SIGMOD ’08), S. 861–874 [EB10] Elsayed, Ibrahim ; Brezany, Peter: Towards Large-Scale Scientific Dataspaces for E-Science Applications. In: Yoshikawa, Masatoshi (Hrsg.) ; Meng, Xiaofeng (Hrsg.) ; Yumoto, Takayuki (Hrsg.) ; Ma, Qiang (Hrsg.) ; Sun, Lifeng (Hrsg.) ; Watanabe, Chiemi (Hrsg.): Database Systems for Advanced Applications Bd. 6193. Springer Berlin Heidelberg, 2010, S. 69–80 [Fed10] Fedorov, Valerii: Optimal Experimental Design. In: Wiley Interdisciplinary Reviews: Computational Statistics 2 (2010), Nr. 5, S. 581–589 [FFML05] Fonseca, José R. ; Friswell, Michael I. ; Mottershead, John E. ; Lees, Arthur W.: Uncertainty Identification by the Maximum Likelihood Method. In: Journal of Sound and Vibration 288 (2005), Nr. 3, S. 587 – 599 [FHM05] Franklin, Michael ; Halevy, Alon ; Maier, David: From Databases to Dataspaces: A New Abstraction for Information Management. In: SIGMOD Rec. 34 (2005), S. 27–33 [Fis22] Fisher, R. A.: On the Mathematical Foundations of Theoretical Statistics. In: Philosophical Transactions of the Royal Society of London. Series A, Containing Papers of a Mathematical or Physical Character 222 (1922), S. pp. 309–368 [Fis14] Fischer, Thomas: Quality-Of-Service-Aware Configuration of Distributed Publish-Subscribe Systems - a Massive Multiuser Virtual Environment Perspective, Friedrich Alexander University, Diss., 2014 [FS02] Freimer, Mike ; Schruben, Lee: Simulation Input Analysis: Collecting Data and Estimating Parameters for Input Distributions. In: Proceedings Literaturverzeichnis 221 of the 34th Conference on Winter Simulation: Exploring New Frontiers, Winter Simulation Conference, 2002 (WSC ’02), S. 393–399 [FWL14] Fischer, Thomas ; Wahl, Andreas M. ; Lenz, Richard: Automated QoS-Aware Configuration of Publish-Subscribe Systems at Design-Time. In: Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, 2014, S. 118–129 [Gir04] Girard, Agathe: Approximate Methods for Propagation of Uncertainty With Gaussian Process Models, University of Glasgow, Diss., 2004 [GK96] Genz, Alan ; Keister, B.D.: Fully Symmetric Interpolatory Rules for Multiple Integrals Over Infinite Regions With Gaussian Weight. In: Journal of Computational and Applied Mathematics 71 (1996), Nr. 2, S. 299 – 309 [GLB11] Groot, Perry ; Lucas, Peter ; Bosch, Paul van d.: Multiple-Step Time Series Forecasting With Sparse Gaussian Processes. In: Proceedings of the 23rd Benelux Conference on Artificial Intelligence (BNAIC 2011), Ghent, 2011, S. 105–112 [GMS05] Girard, Agathe ; Murray-Smith, Roderick: Gaussian Processes: Prediction at a Noisy Input and Application to Iterative Multiple-Step Ahead Forecasting of Time-Series. In: Murray-Smith, Roderick (Hrsg.) ; Shorten, Robert (Hrsg.): Switching and Learning in Feedback Systems Bd. 3355. Springer Berlin Heidelberg, 2005, S. 158–184 [Gow01] Gowri, Krishnan: EnerXML - a Schema for Representing Energy Simulation Data. In: Proceedings of the Seventh International IBPSA Conference, 2001, S. 257–261 [Gra03] Graef, Friedrich: Wahrscheinlichkeitsrechnung 1 für Informatiker und Ingenieure. Vorlesungsskript, 2003 [Gra08a] Graef, Friedrich: Mathematik für Ingenieure C3. Vorlesungsskript, 2008 [Gra08b] Graef, Friedrich: Mathematik für Ingenieure II - C. Vorlesungsskript, 2008 [Gro13] Group, The W3C SPARQL W.: SPARQL 1.1 Overview. http: //www.w3.org/TR/2013/REC-sparql11-overview-20130321/ (Abgefragt am 10.10.2014), 2013 [Gro14] Group, The PostgreSQL Global D.: PostgreSQL 9.4beta2 Documentation. http://www.postgresql.org/files/documentation/pdf/9.4/ postgresql-9.4-A4.pdf (Abgerufen am 9.10.2014), 2014 222 Literaturverzeichnis [GUA12] Gutjahr, Tobias ; Ulmer, Holger ; Ament, Christoph: Sparse Gaussian Processes With Uncertain Inputs for Multi-Step Ahead Prediction. In: 16th IFAC Symposium on System Identification Bd. 16, 2012, S. 107–112 [HBF+ 09] Hedeler, Cornelia ; Belhajjame, Khalid ; Fernandes, Alvaro ; Embury, Suzanne ; Paton, Norman: Dimensions of Dataspaces. In: Sexton, Alan (Hrsg.): Dataspace: The Final Frontier Bd. 5588. Springer Berlin / Heidelberg, 2009, S. 55–66 [HCH70] Huddleston, H. F. ; Claypool, P. L. ; Hocking, R. R.: Optimal Sample Allocation to Strata Using Convex Programming. In: Journal of the Royal Statistical Society. Series C (Applied Statistics) 19 (1970), Nr. 3, S. pp. 273–278 [HCS+ 11] Howe, Bill ; Cole, Garret ; Souroush, Emad ; Koutris, Paraschos ; Key, Alicia ; Khoussainova, Nodira ; Battle, Leilani: Database-AsA-Service for Long-Tail Science. In: Bayard Cushing, Judith (Hrsg.) ; French, James (Hrsg.) ; Bowers, Shawn (Hrsg.): Scientific and Statistical Database Management Bd. 6809. Springer Berlin / Heidelberg, 2011, S. 480–489 [HFM06] Halevy, Alon ; Franklin, Michael ; Maier, David: Principles of Dataspace Systems. In: Proceedings of the Twenty-Fifth ACM SIGMODSIGACT-SIGART Symposium on Principles of Database Systems. New York, NY, USA : ACM, 2006 (PODS ’06), S. 1–9 [HHR+ 13] Howe, B. ; Halperin, D. ; Ribalet, F. ; Chitnis, S. ; Armbrust, E.V.: Collaborative Science Workflows in SQL. In: Computing in Science Engineering 15 (2013), Nr. 3, S. 22–31 [HN01] Hunter, John K. ; Nachtergaele, Bruno: Applied Analysis. 5 Toh Tuck Link, Singapore 596224 : World Scientific Publishing Co. Pte. Ltd., 2001 [HSD04] Hirsch, Morris W. ; Smale, Stephen ; Devaney, Robert L.: Pure and Applied Mathematics. Bd. 60: Differential Equations, Dynamical Systems, and an Introduction to Chaos. 2nd ed. Academic press, 2004 [Huz50] Huzurbazar, V. S.: Probability Distributions and Orthogonal Parameters. In: Mathematical Proceedings of the Cambridge Philosophical Society 46 (1950), S. 281–284 [Jef61] Jeffreys, Sir H.: Theory of Probability. 3rd. Oxford University Press, 1961 Literaturverzeichnis 223 [JFH08] Jeffery, Shawn R. ; Franklin, Michael J. ; Halevy, Alon Y.: Pay-AsYou-Go User Feedback for Dataspace Systems. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. New York, NY, USA : ACM, 2008 (SIGMOD ’08), S. 847–860 [JU96] Julier, Simon J. ; Uhlmann, Jeffrey K.: A General Method for Approximating Nonlinear Transformations of Probability Distributions / Technical report, Robotics Research Group, Department of Engineering Science, University of Oxford. 1996. – Forschungsbericht [JU97] Julier, Simon J. ; Uhlmann, Jeffrey K.: New Extension of the Kalman Filter to Nonlinear Systems. In: Signal Processing, Sensor Fusion, and Target Recognition VI Bd. 3068, 1997, S. 182–193 [JU04] Julier, S.J. ; Uhlmann, J.K.: Unscented Filtering and Nonlinear Estimation. In: Proceedings of the IEEE 92 (2004), Nr. 3, S. 401–422 [KE09] Kemper, Alfons ; Eickler, André: Datenbanksysteme: Eine Einführung. 7. Oldenbourg Verlag, 2009 [Kle08] Kleijnen, Jack P. ; Hillier, Fred (Hrsg.): International Series in Operations Research & Management Science. Bd. 111: Design and Analysis of Simulation Experiments. Springer US, 2008 [Kü05] Künsch, H.R.: Skript zur Vorlesung Mathematische Statistik. 2005 [LAB+ 06] Ludäscher, Bertram ; Altintas, Ilkay ; Berkley, Chad ; Higgins, Dan ; Jaeger, Efrat ; Jones, Matthew ; Lee, Edward A. ; Tao, Jing ; Zhao, Yang: Scientific Workflow Management and the Kepler System. In: Concurrency and Computation: Practice and Experience 18 (2006), Nr. 10, S. 1039–1065 [Law07] Law, Averill M.: Simulation Modeling and Analysis. 4th. McGraw Hill, 2007 [LBK07] Lenz, Richard ; Beyer, Mario ; Kuhn, Klaus A.: Semantic Integration in Healthcare Networks. In: International Journal of Medical Informatics 76 (2007), Nr. 2-3, S. 201 – 207 [LC07] Lee, Sang H. ; Chen, Wei: A Comparative Study of Uncertainty Propagation Methods for Black-Box Type Functions. In: ASME Conference Proceedings 2007 (2007), Nr. 48078, S. 1275–1284 [Len13a] Lenz, Richard: Konzeptionelle Modellierung. Vorlesungsskript, 2013 224 Literaturverzeichnis [Len13b] Lenz, Richard: Vorlesung Evolutionäre Informationssysteme - Datenqualität in Informationssystemen. Vorlesungsskript, 2013 [LHLH12] Liu, Zhenyu ; Hu, Jingyuan ; Li, Yang ; Huang, Yi: Towards Virtual Dataspaces for Material Scientific Data Cloud. In: Concurrency and Computation: Practice and Experience (2012) [LJMR12] Laubenbacher, Reinhard ; Jarrah, AbdulS. ; Mortveit, HenningS. ; Ravi, S.S.: Agent Based Modeling, Mathematical Formalism For. In: Meyers, Robert A. (Hrsg.): Computational Complexity. Springer New York, 2012, S. 88–104 [LLB+ 06] Ludäscher, Bertram ; Lin, Kai ; Bowers, Shawn ; Jaeger-Frank, Efrat ; Brodaric, Boyan ; Baru, Chaitan: Managing Scientific Data: From Data Integration to Scientific Workflows. In: Geological Society of America Special Papers 397 (2006), S. 109–129 [LS97] Lehtonen, Juha-Matti ; Seppala, Ulla: A Methodology for Data Gathering and Analysis in a Logistics Simulation Project. In: Integrated Manufacturing Systems 8 (1997), S. 351–358(8) [LSWC99] Lassila, Ora ; Swick, Ralph R. ; Wide, World ; Consortium, Web: Resource Description Framework (RDF) Model and Syntax Specification. http://www.w3.org/TR/1999/REC-rdf-syntax-19990222 (Abgerufen am 24.4.2014), 1999 [Mer09] Merrick, Jason R. W.: Bayesian Simulation and Decision Analysis: An Expository Survey. In: Decision Analysis 6 (2009), Nr. 4, S. 222–238 [MM10] Magnani, Matteo ; Montesi, Danilo: A Survey on Uncertainty Management in Data Integration. In: J. Data and Information Quality 2 (2010), Nr. 1, S. 5:1–5:33 [MMF06] Mares, C. ; Mottershead, J.E. ; Friswell, M.I.: Stochastic Model Updating: Part 1 - Theory and Simulated Example. In: Mechanical Systems and Signal Processing 20 (2006), Nr. 7, S. 1674 – 1695 [Mot95] Motro, Amihai: Management of Uncertainty in Database Systems. In: Kim, Won (Hrsg.): Modern Database Systems. New York, NY, USA : ACM Press/Addison-Wesley Publishing Co., 1995, S. 457–476 [MR08] Mortveit, Henning S. ; Reidys, Christian M.: An Introduction to Sequential Dynamical Systems. Springer US, 2008 Literaturverzeichnis 225 [Nad11] Nadkarni, P.M.: Metadata-Driven Software Systems in Biomedicine: Designing Systems That Can Adapt to Changing Knowledge. Springer, 2011 (Health Informatics) [NC01] Ng, Szu H. ; Chick, S.E.: Reducing Input Parameter Uncertainty for Simulations. In: Simulation Conference, 2001. Proceedings of the Winter Bd. 1, 2001, S. 364–371 vol.1 [NC06] Ng, Szu H. ; Chick, Stephen E.: Reducing Parameter Uncertainty for Stochastic Systems. In: ACM Trans. Model. Comput. Simul. 16 (2006), Nr. 1, S. 26–51 [NM65] Nelder, John A. ; Mead, Roger: A Simplex Method for Function Minimization. In: The computer journal 7 (1965), Nr. 4, S. 308–313 [NMC+ 99] Nadkarni, Prakash M. ; Marenco, Luis ; Chen, Roland ; Skoufos, Emmanouil ; Shepherd, Gordon ; Miller, Perry: Organization of Heterogeneous Scientific Data Using the EAV/CR Representation. In: Journal of the American Medical Informatics Association 6 (1999), Nr. 6, S. 478–493 [NR99] Novak, Erich ; Ritter, Klaus: Simple Cubature Formulas With High Polynomial Exactness. In: Constructive Approximation 15 (1999), Nr. 4, S. 499–522 [NT95] Nigam, Swami D. ; Turner, Joshua U.: Review of Statistical Approaches to Tolerance Analysis. In: Computer-Aided Design 27 (1995), Nr. 1, S. 6 – 15 [O’H06] O’Hagan, A.: Bayesian Analysis of Computer Code Outputs: A Tutorial. In: Reliability Engineering & System Safety 91 (2006), Nr. 10-11, S. 1290 – 1300 [O’H13] O’Hagan, Anthony: Polynomial Chaos: A Tutorial and Critique From a Statisticianís Perspective. http://www.tonyohagan.co.uk/academic/ pdf/Polynomial-chaos.pdf (Abgerufen am 07.11.2014), 2013 [OO04] Oakley, Jeremy E. ; O’Hagan, Anthony: Probabilistic Sensitivity Analysis of Complex Models: A Bayesian Approach. In: Journal of the Royal Statistical Society, Series B 66 (2004), S. 751–769 [Par94] Parnas, David L.: Software Aging. In: Proceedings of the 16th International Conference on Software Engineering. Los Alamitos, CA, USA : IEEE Computer Society Press, 1994 (ICSE ’94), S. 279–287 226 Literaturverzeichnis [Pea95] Pearson, Karl: Contributions to the Mathematical Theory of Evolution. II. Skew Variation in Homogeneous Material. In: Philosophical Transactions of the Royal Society of London. A 186 (1895), S. pp. 343–414 [Ped13] Pedersen, TorbenBach: Managing Complex Multidimensional Data. In: Aufaure, Marie-Aude (Hrsg.) ; Zimányi, Esteban (Hrsg.): Business Intelligence Bd. 138. Springer Berlin Heidelberg, 2013, S. 1–28 [PJ99] Pedersen, T.B. ; Jensen, C.S.: Multidimensional Data Modeling for Complex Data. In: Data Engineering, 1999. Proceedings., 15th International Conference On, 1999, S. 336 –345 [PJD01] Pedersen, Torben B. ; Jensen, Christian S. ; Dyreson, Curtis E.: A Foundation for Capturing and Querying Complex Multidimensional Data. In: Information Systems 26 (2001), Nr. 5, S. 383 – 423 [PL00] Perera, T. ; Liyanage, K.: Methodology for Rapid Identification and Collection of Input Data in the Simulation of Manufacturing Systems. In: Simulation Practice and Theory 7 (2000), S. 645–656(12) [PL01] Perera, Terrence ; Liyanage, Kapila: IDEF Based Methodology for Rapid Data Collection. In: Integrated Manufacturing Systems 12 (2001), S. 187–194(8) [Pow94] Powell, M.J.D.: A Direct Search Optimization Method That Models the Objective and Constraint Functions by Linear Interpolation. In: Gomez, Susana (Hrsg.) ; Hennart, Jean-Pierre (Hrsg.): Advances in Optimization and Numerical Analysis Bd. 275. Springer Netherlands, 1994, S. 51–67 [PP12] Petersen, K. B. ; Pedersen, M. S.: The Matrix Cookbook. 2012 [Pro14] Project, MongoDB D.: MongoDB Documentation Release 2.6.4. http://docs.mongodb.org/master/MongoDB-manual.pdf (Abgerufen am 10.10.2014), 2014 [PWH+ 10] Pfeifer, B. ; Wurz, M. ; Hanser, F. ; Seger, M. ; Netzer, M. ; Osl, M. ; Modre-Osprian, R. ; Schreier, G. ; Baumgartner, C.: An Epidemiological Modeling and Data Integration Framework. In: Methods of Information in Medicine 3 (2010), S. 290–296 [Rao45] Rao, Radhakrishna C.: Information and the Accuracy Attainable in the Estimation of Statistical Parameters. In: Bull. Calcutta Math. Soc. 37 (1945), Nr. 3, S. 81–91 [Ras96] Rasmussen, Carl E.: Evaluation of Gaussian Processes and Other Methods for Non-Linear Regression, University of Toronto, Diss., 1996 Literaturverzeichnis 227 [Ras04] Rasmussen, Carl E.: Gaussian Processes in Machine Learning. In: Bousquet, Olivier (Hrsg.) ; Luxburg, Ulrike von (Hrsg.) ; Rätsch, Gunnar (Hrsg.): Advanced Lectures on Machine Learning Bd. 3176. Springer Berlin Heidelberg, 2004, S. 63–71 [RB01] Rahm, Erhard ; Bernstein, Philip A.: A Survey of Approaches to Automatic Schema Matching. In: The VLDB Journal 10 (2001), S. 334–350 [RM00] Richter, Hendrik ; März, Lothar: Toward a Standard Process: The Use of UML for Designing Simulation Models. In: Proceedings of the 32Nd Conference on Winter Simulation. San Diego, CA, USA : Society for Computer Simulation International, 2000 (WSC ’00), S. 394–398 [RP02] Robertson, N. ; Perera, T.: Automated Data Collection for Simulation? In: Simulation Practice and Theory 9 (2002), Nr. 6-8, S. 349 – 364 [RRS+ 11] Reimann, Peter ; Reiter, Michael ; Schwarz, Holger ; Karastoyanova, Dimka ; Leymann, Frank: SIMPL - a Framework for Accessing External Data in Simulation Workflows. In: Datenbanksysteme für Business, Technologie und Web (BTW), 2011, S. 534–553 [RS13] Reimann, Peter ; Schwarz, Holger: Datenmanagementpatterns in Simulationsworkflows. In: 15. GI-Fachtagung Datenbanksysteme für Business, Technologie und Web, 2013, S. 279–293 [RSS+ 10] Rogers, J. ; Simakov, R. ; Soroush, E. ; Velikhov, P. ; Balazinska, M. ; DeWitt, D. ; Heath, B. ; Maier, D. ; Madden, S. ; Patel, J. ; Stonebraker, M. ; Zdonik, S. ; Smirnov, A. ; Knizhnik, K. ; Brown, Paul G.: Overview of SciDB, Large Scale Array Storage, Processing and Analysis. In: Proceedings of the SIGMOD’10, 2010, S. 963–968 [RW06] Rasmussen, Carl E. ; Williams, Christopher K. I.: Gaussian Processes for Machine Learning. Cambridge, Mass., MIT Press, 2006 [SBD+ 09] Stonebraker, M. ; Becla, J. ; DeWitt, D. ; Lim, K-T. ; Maier, D. ; Ratzesberger, O. ; Zdonik, S.: Requirements for Science Data Bases and SciDB. In: Proceedings of the CIDR 2009 Conference, 2009, S. 173–184 [SBW11] Soroush, Emad ; Balazinska, Magdalena ; Wang, Daniel: ArrayStore: A Storage Manager for Complex Parallel Array Processing. In: Proceedings of the SIGMOD’11, 2011, S. 253–264 [Sch14] Schenkendorf, René: Optimal Experimental Design for Parameter Identification and Model Selection, Fakultät für Elektrotechnik und Informationstechnik der Otto-von-Guericke-Universität Magdeburg, Diss., 2014 228 Literaturverzeichnis [SG06] Snelson, Ed ; Ghahramani, Zoubin: Sparse Gaussian Processes Using Pseudo-Inputs. In: Advances in Neural Information Processing Systems 18 (2006) [SHC12] Silva Hack, P. da ; Caten, C.S. ten: Measurement Uncertainty: Literature Review and Research Trends. In: Instrumentation and Measurement, IEEE Transactions on 61 (2012), Nr. 8, S. 2116–2124 [Sho97] Shoshani, Arie: OLAP and Statistical Databases: Similarities and Differences. In: Proceedings of the Sixteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems. New York, NY, USA : ACM, 1997 (PODS ’97), S. 185–196 [Sho03] Shoshani, Arie: Multidimensionality in Statistical, OLAP, and Scientific Databases. In: Rafanelli, Maurizio (Hrsg.): Multidimensional Databases: Problems and Solutions. Hershey, PA, USA : Idea Group Publishing, 2003, S. 46–68 [SJ08] Skoogh, Anders ; Johansson, Björn: A Methodology for Input Data Management in Discrete Event Simulation Projects. In: Proceedings of the 40th Conference on Winter Simulation, 2008, S. 1727–1735 [SJ11] Singh, Mrityunjay ; Jain, S.K.: A Survey on Dataspace. In: Wyld, David C. (Hrsg.) ; Wozniak, Michal (Hrsg.) ; Chaki, Nabendu (Hrsg.) ; Meghanathan, Natarajan (Hrsg.) ; Nagamalai, Dhinaharan (Hrsg.): Advances in Network Security and Applications Bd. 196. Springer Berlin Heidelberg, 2011, S. 608–621 [SL90] Sheth, Amit P. ; Larson, James A.: Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases. In: ACM Comput. Surv. 22 (1990), S. 183–236 [SMB10] Skoogh, Anders ; Michaloski, John ; Bengtsson, Nils: Towards Continuously Updated Simulation Models: Combingin Automated Raw Data Collection and Automated Data Processing. In: Proceedings of the 2010 Winter Simulation Conference, 2010, S. 1678–1689 [SN13] Song, Eunhye ; Nelson, Barry L.: A Quicker Assessment of Input Uncertainty. In: Pasupathy, R. (Hrsg.) ; Kim, S.-H. (Hrsg.) ; Tolk, A. (Hrsg.) ; Hill, R. (Hrsg.) ; Kuhl, M. E. (Hrsg.): Proceedings of the 2013 Winter Simulation Conference. Piscataway, New Jersey : Institute of Electrical and Electronics Engineers, Inc., 2013, S. 474–485 Literaturverzeichnis 229 [Sne06] Snelson, Edward: Variable Noise and Dimensionality Reduction for Sparse Gaussian Processes. In: Proceedings of the 22nd Annual Conference on Uncertainty in AI, AUAI Press, 2006 [Sne07] Snelson, Edward L.: Flexible and Efficient Gaussian Process Models for Machine Learning, Gatsby Computational Neuroscience Unit University College London, Diss., 2007 [SNP14] Song, Eunhye ; Nelson, Barry L. ; Pegden, C. D.: Input Uncertainty Quantification: Advanced Tutorial. In: Proceedings of the 2014 Winter Simulation Conference. Piscataway, NJ, USA : IEEE Press, 2014 (WSC ’14), S. 162–176 [SORK11] Suciu, Dan ; Olteanu, Dan ; Ré, Christopher ; Koch, Christoph: Probabilistic Databases. In: Synthesis Lectures on Data Management 3 (2011), Nr. 2, S. 1–180 [SS00] Schaft, Abraham J. d. ; Schumacher, Johannes M.: Lecture Notes in Control and Information Sciences. Bd. 251: An Introduction to Hybrid Dynamical Systems. Springer London, 2000 [Ste00] Sterman, John D.: Business Dynamics: System Thinking and Modeling for a Complex World. McGraw-Hill„ 2000 [SWMW89] Sacks, Jerome ; Welch, William J. ; Mitchell, Toby J. ; Wynn, Henry P.: Design and Analysis of Computer Experiments. In: Statistical Science 4 (1989), Nr. 4, S. pp. 409–423 [SWN03] Santner, T.J. ; Williams, B.J. ; Notz, W.I.: The Design and Analysis of Computer Experiments. Springer, 2003 (Springer Series in Statistics) [Ten12] Tenschert, Johannes C.: Anfragesprache für Workflowmodelle, Lehrstuhl für Informatik 6 (Datenmanagement), Friedrich-AlexanderUniversität Erlangen-Nürnberg, Bachelorarbeit, 2012 [Tes12] Teschl, Gerald: Graduate Studies in Mathematics. Bd. 140: Ordinary Differential Equations and Dynamical Systems. American Mathematical Society, 2012 [TMK08a] Tavakoli, S. ; Mousavi, A. ; Komashie, A.: Flexible Data Input Layer Architecture (FDILA) for Quick-Response Decision Making Tools in Volatile Manufacturing Systems. In: Communications, 2008. ICC ’08. IEEE International Conference On, 2008, S. 5515 –5520 230 Literaturverzeichnis [TMK08b] Tavakoli, Siamak ; Mousavi, Alireza ; Komashie, Alexander: A Generic Framework for Real-Time Discrete Event Simulation (DES) Modelling. In: Proceedings of the 40th Conference on Winter Simulation, Winter Simulation Conference, 2008 (WSC ’08), S. 1931–1938 [UML11] OMG Unified Modeling Language (OMG UML), Superstructure. 2011 [VIM12] International Vocabulary of Metrology – Basic and General Concepts and Associated Terms. JCGM - Joint Committee for Guides in Metrology, 2012 [VSDK+ 07] Vaz Salles, Marcos A. ; Dittrich, Jens-Peter ; Karakashian, Shant K. ; Girard, Olivier R. ; Blunschi, Lukas: iTrails: Pay-As-You-Go Information Integration in Dataspaces. In: Proceedings of the 33rd International Conference on Very Large Data Bases, VLDB Endowment, 2007 (VLDB ’07), S. 663–674 [WS96] Wang, Richard Y. ; Strong, Diane M.: Beyond Accuracy: What Data Quality Means to Data Consumers. In: J. Manage. Inf. Syst. 12 (1996), S. 5–33 [WZL02] Wang, Richard Y. ; Ziad, Mostapha ; Lee, Yang W.: Data Quality. Kluwer Academic Publishers, 2002 [XNB14] Xie, Wei ; Nelson, Barry L. ; Barton, Russell R.: A Bayesian Framework for Quantifying Uncertainty in Stochastic Simulation. In: Operations Research (2014) [XS13] Xie, Min-ge ; Singh, Kesar: Confidence Distribution, the Frequentist Distribution Estimator of a Parameter: A Review. In: International Statistical Review 81 (2013), Nr. 1, S. 3–39 [ZKIN11] Zhang, Ying ; Kersten, Martin ; Ivanova, Milena ; Nes, Niels: SciQL, Bridging the Gap Between Science and Relational DBMS. In: Proceedings of the IDEAS11, 2011, S. 124–133 Eigene Publikationen 231 Eigene Publikationen Vorläufige Versionen von Teilen dieser Arbeit wurden in den folgenden Publikationen veröffentlicht: [BEHL12] Baumgärtel, Philipp ; Endler, Gregor ; Held, Johannes ; Lenz, Richard: Pay-As-You-Go Data Integration for Large Scale Healthcare Simulations. In: 57. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie e.V. (GMDS), 2012 [BEL13] Baumgärtel, Philipp ; Endler, Gregor ; Lenz, Richard: A Benchmark for Multidimensional Statistical Data. In: Catania, Barbara (Hrsg.) ; Guerrini, Giovanna (Hrsg.) ; Pokorný, Jaroslav (Hrsg.): Advances in Databases and Information Systems Bd. 8133. Springer Berlin Heidelberg, 2013, S. 358–371 [BEL14] Baumgärtel, Philipp ; Endler, Gregor ; Lenz, Richard: Toward PayAs-You-Go Data Integration for Healthcare Simulations. In: Bienkiewicz, Marta (Hrsg.) ; Verdier, Christine (Hrsg.) ; Plantier, Guy (Hrsg.) ; Schultz, Tanja (Hrsg.) ; Fred, Ana (Hrsg.) ; Gamboa, Hugo (Hrsg.): Proceedings of the International Conference on Health Informatics, SciTePress - Science and Technology Publications, 2014, S. 172–177 [BEWL14] Baumgärtel, Philipp ; Endler, Gregor ; Wahl, Andreas M. ; Lenz, Richard: Inverse Uncertainty Propagation for Demand Driven Data Acquisition. In: Tolk, A. (Hrsg.) ; Diallo, S. Y. (Hrsg.) ; Ryzhov, I. O. (Hrsg.) ; Yilmaz, L. (Hrsg.) ; Buckley, S. (Hrsg.) ; Miller, J. A. (Hrsg.): Proceedings of the 2014 Winter Simulation Conference. Piscataway, NJ, USA : IEEE Press, 2014 (WSC ’14), S. 710–721 [BL12] Baumgärtel, Philipp ; Lenz, Richard: Towards Data and Data Quality Management for Large Scale Healthcare Simulations. In: Proceedings of the International Conference on Health Informatics, SciTePress - Science and Technology Publications, 2012, S. 275–280 [BTL14] Baumgärtel, Philipp ; Tenschert, Johannes ; Lenz, Richard: A Query Language for Workflow Instance Data. In: Catania, Barbara (Hrsg.) ; Cerquitelli, Tania (Hrsg.) ; Chiusano, Silvia (Hrsg.) ; Guerrini, Giovanna (Hrsg.) ; Kämpf, Mirko (Hrsg.) ; Kemper, Alfons (Hrsg.) ; Novikov, Boris (Hrsg.) ; Palpanas, Themis (Hrsg.) ; Pokorný, Jaroslav (Hrsg.) ; Vakali, Athena (Hrsg.): New Trends in Databases and Information Systems Bd. 241. Springer International Publishing, 2014, S. 79–86 232 Literaturverzeichnis Weitere Publikationen Die folgenden Publikationen wurden in Kooperation mit anderen Lehrstuhlmitarbeitern veröffentlicht. Diese Publikationen stehen in keinem Zusammenhang zu dieser Dissertation und enthalten keine Teile dieser Arbeit. [DLB+ 11a] Daum, Michael ; Lauterwald, Frank ; Baumgärtel, Philipp ; Pollner, Niko ; Meyer-Wegener, Klaus: Black-Box Determination of Cost Models’ Parameters for Federated Stream-Processing Systems. In: Bernardino, Jorge (Hrsg.) ; Cruz, Isabel (Hrsg.) ; Desai, Bipin C. (Hrsg.): Proceedings of IDEAS’11, 2011, S. 226–232 [DLB+ 11b] Daum, Michael ; Lauterwald, Frank ; Baumgärtel, Philipp ; Pollner, Niko ; Meyer-Wegener, Klaus: Efficient and Cost-Aware Operator Placement in Heterogeneous Stream-Processing Environments. In: ACM (Hrsg.): Proceedings of the 5th ACM International Conference on Distributed Event-Based Systems, 2011, S. 393–394 [DLBMW10] Daum, Michael ; Lauterwald, Frank ; Baumgärtel, Philipp ; MeyerWegener, Klaus: Propagation of Densities of Streaming Data Within Query Graphs. In: Gertz, Michael (Hrsg.) ; Ludäscher, Bertram (Hrsg.): Scientific and Statistical Database Management: 22nd International Conference, 2010, S. 584–601 [DLBMW11] Daum, Michael ; Lauterwald, Frank ; Baumgärtel, Philipp ; MeyerWegener, Klaus: Kalibrierung von Kostenmodellen für föderierte DSMS. In: Fischer, Peter M. ; H. (Hrsg.): Proceedings BTW 2011 - Workshops und Studierendenprogramm, 2011 (Schriftenreihe des Fachbereichs Informatik), S. 13–23 [EBHL12] Endler, Gregor ; Baumgärtel, Philipp ; Held, Johannes ; Lenz, Richard: Data Quality for Managers of Medical Supply Centers. In: 57. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie e.V. (GMDS), 2012 [EBL13] Endler, Gregor ; Baumgärtel, Philipp ; Lenz, Richard: Pay-As-YouGo Data Quality Improvement for Medical Centers. In: Ammenwerth, E. (Hrsg.) ; Hörbst, A. (Hrsg.) ; Hayn, D. (Hrsg.) ; Schreier, G. (Hrsg.): Proceedings of the eHealth2013, 2013, S. 13–18 Studentische Abschlussarbeiten [HEBL12] 233 Held, Johannes ; Endler, Gregor ; Baumgärtel, Philipp ; Lenz, Richard: Verbesserte Integration von Medizintechnik durch Testdatenqualität. In: 57. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie e.V. (GMDS), 2012 Studentische Abschlussarbeiten Die folgende Bachelorarbeit wurde am Lehrstuhl betreut: [Ten12] Tenschert, Johannes C.: Anfragesprache für Workflowmodelle, Lehrstuhl für Informatik 6 (Datenmanagement), Friedrich-Alexander-Universität ErlangenNürnberg, Bachelorarbeit, 2012 235 Abkürzungsverzeichnis BSON CKAN CMSD CSV DBMS DSDC EAV/CR EAV ER ETL FFNI FITC GIN GiST IUP JSON MLE M2 etis OLAP OWL PCE ProHTA RDFS RDF SDMS SD SPARQL SPGP-DR SPGP SQL SWMS TDQM Binary JSON Comprehensive Knowledge Archive Network Core Manufacturing Simulation Data Comma Seperated Values Database Management System Domain Scientific Data Cloud EAV with classes and relationships Entity Attribute Value Entity Relationship Extract, Tranform, Load Full Factorial Numerical Integration Fully Independent Training Conditional Generalized Inverted Index Generalized Search Tree Inverse Unschärfepropagierung JavaScript Object Notation Maximum Likelihood Estimator Massive Multiuser EvenT InfraStructure Online analytical processing Web Ontology Language Polynomial Chaos Expansion Prospective Health Technology Assessment RDF Schema Resource Description Framework Simulationsdatenmanagementsystem System Dynamics SPARQL Protocol and RDF Query Language SPGP with Dimensionality Reduction Sparse Pseudo-Input Gaussian Process Structured Query Language Scientific Workflow Management System Total Data Quality Management 236 Abkürzungsverzeichnis Turtle UML UP URI XML Terse RDF Triple Language Unified Modeling Language Unschärfepropagierung Uniform Resource Identifier Extensible Markup Language 237 Abbildungsverzeichnis 2.1 Vereinfachtes ER-Schema für EAV/CR . . . . . . . . . . . . . . . . . . . 38 5.1 5.2 5.3 5.4 5.5 5.6 . . . . . 60 63 65 67 68 . . . 71 72 73 6.1 Vereinfachtes Schema für die Evaluation . . . . . . . . . . . . . . . . . . 6.2 Evaluationsergebnisse für das Einfügen . . . . . . . . . . . . . . . . . . . 6.3 Evaluationsergebnisse für die einzelnen Anfragen . . . . . . . . . . . . . 76 89 90 Erweiterung des Schemas von EAV/CR für Eingabewerte . . . . . . . . Erweiterung des Schemas für Simulationsläufe . . . . . . . . . . . . . . Schema für mehrdimensionale Daten . . . . . . . . . . . . . . . . . . . UML-Zustandsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . Schema für Zustandsdiagramme (nach Dolog [Dol04]) . . . . . . . . . . Architektur für die bedarfsgetriebene Datenintegration (Grafik bereits publiziert in [BEL14][S.173]) . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Schema für semantische Annotationen . . . . . . . . . . . . . . . . . . 5.8 Schema für die semantische Annotation von Pivot-Tabellen . . . . . . . 7.1 Prozess für das Management von Simulationseingabedaten (Grafik von Skoogh und Johansson [SJ08][S. 1730]) . . . . . . . . . . . . . . . . . . . 102 8.1 8.2 8.3 8.4 Realisierungen eines Gaußprozesses . . . . Regression mit Gaußprozessen . . . . . . . Unschärfepropagierung . . . . . . . . . . . Approximation der Simulation durch einen . . . . . . . . . . . . . . . . . . . . . . . . Gaußprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 121 126 129 10.1 Ebenen der Unschärfepropagierung . . . . . . . . . . . . . . . . . . . . . 150 10.2 Verteilung der Gesamtzahl an Beobachtungen . . . . . . . . . . . . . . . 152 11.1 11.2 11.3 11.4 11.5 Relativer Fehler der Cramér-Rao-Ungleichung . . . . . . . . . . . . Genauigkeit der approximativen UP für W−1 = diag(0.04, . . . ,0.04) Genauigkeit der approximativen UP für W−1 = diag(0.01, . . . ,0.01) Geschwindigkeit der IUP in Abhängigkeit von (a) D und (b) N . . Verteilung der Gesamtzahl an Beobachtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 160 161 163 166 239 Tabellenverzeichnis 1.1 Beispiel für die semantische Integration . . . . . . . . . . . . . . . . . . . 20 4.1 Übersicht über die einzelnen Datenmodelle der verschiedenen SWMS . . 55 5.1 Beispiel für eine relational gespeicherte Pivot-Tabelle . . . . . . . . . . . 74 6.1 6.2 6.3 6.4 6.5 85 86 87 88 92 Zeit Zeit Zeit Zeit Zeit (s) (s) (s) (s) (s) und und und und und Standardabweichung Standardabweichung Standardabweichung Standardabweichung Standardabweichung für die unterschiedlichen Indizes . . . . für die unterschiedlichen hstore-Indizes für die unterschiedlichen Datentypen . der Ausführungsdauer . . . . . . . . . der Anfragen . . . . . . . . . . . . . . 9.1 Übersicht über die einzelnen UP-Methoden . . . . . . . . . . . . . . . . . 134 10.1 Inverse Unschärfepropagierung für das M/M/1-Warteschlangensystem. . 145 10.2 Legende . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.3 95%-Konfidenzintervall für die Gesamtzahl an Beobachtungen . . . . . . 151 11.1 Inverse Unschärfepropagierung für M2 etis . . . . . . . . . . . . . . . . . . 165 11.2 95%-Konfidenzintervall für die Gesamtzahl an Beobachtungen . . . . . . 166 241 Liste von Annahmen Annahme 1. Der initiale Aufwand eines domänenspezifischen Schemaentwurfs lohnt sich für Simulationsprojekte nicht. Seite 24 Annahme 2. Für das Datenmanagement in einen Simulationsbaukasten kann kein festes domänenspezifisches Schema entworfen werden. Seite 24 Annahme 3. Die Datenhaltung verwaltet voraggregierte mehrdimensionale statistische Daten, die aus öffentlichen Datenquellen stammen. Seite 25 Annahme 4. In gesundheitsökonomischen Simulationsprojekten liegen alle Daten tabellarisch in Form von Pivot-Tabellen vor. Seite 26 Annahme 5. Die semantische Integration von Pivot-Tabellen besteht darin, die Zellen, die Fakten enthalten, und die Zeilen und Spalten, die beschreibende Informationen enthalten, zu identifizieren. Zusätzlich müssen die Zeilen und Spalten, die beschreibende Informationen enthalten, den Attributen eines kanonischen Schemas zugeordnet werden. Seite 27 Annahme 6. EAV/CR eignet sich zur Beschreibung und Speicherung von Simulationsmodellen. Seite 27 242 Liste von Annahmen Annahme 7. Die normalverteilte Unschärfe ist die wichtigste Datenqualitätsdimension für Eingabewerte. Seite 28 Annahme 8. Gaußprozesse sind als Surrogatmodelle für die Analyse von Simulationen geeignet. Seite 29 Annahme 9. Gaußprozesse ermöglichen eine effiziente approximative Propagierung der Unschärfe durch Simulationen mit ausreichender Genauigkeit. Seite 29 Annahme 10. Die Datensammlung besteht aus der Beschaffung einer Stichprobe von Messdaten, die mittels MLE zur Bestimmung von Parametern von Wahrscheinlichkeitsverteilungen herangezogen werden. Seite 30 Annahme 11. Die Kosten, um eine bestimmte Unschärfe der Eingabewerte bei einer Datensammlung zu erreichen, kann durch die Cramér-Rao-Ungleichung mit ausreichender Genauigkeit approximiert werden. Seite 30 Annahme 12. Zur Beschreibung von kontinuierlichen Wahrscheinlichkeitsverteilungen werden ausschließlich die Parameter von exakten kontinuierlichen Verteilungen gespeichert. Seite 49 Annahme 13. Die pro Anfrage verarbeitete Menge an Fakten dominiert den Aufwand. Der Aufwand für die Verarbeitung von Schemainformationen kann vernachlässigt werden. Kontext: Für die Evaluation von EAV/CR wird das Schema durch diese Annahme auf ein reines EAV basiertes Schema reduziert. Seite 76 Liste von Annahmen 243 Annahme 14. Fakten sind in Faktenwürfeln angeordnet mit d ≤ 6 Attributen und n = 10 unterschiedlichen Attributwerten für jedes Attribut. Attributwerte sind ganze Zahlen. Die Faktenwürfel bestehen also aus nd Fakten. Die Werte der Fakten sind zufällig und gleichverteilt aus dem Intervall [0, 1]. Die Standardabweichung der Fakten wird in der Evaluation nicht berücksichtigt. Jeder Fakt eines Faktenwürfels hat die gleiche Quelle, die für die Evaluation dem willkürlichen Namen des Faktenwürfels entspricht. Kontext: Diese Annahme definiert die Fakten für die Evaluation. Seite 82 Annahme 15. Die gesammelten Daten (d1 , . . . ,dn ) sind entsprechend der exakten Wahrscheinlichkeitsverteilung p(d) verteilt. Kontext: Diese Annahme wird für das Simulation-Input-Modeling getroffen. Es gilt: di ∈ Rn . Seite 104 Annahme 16. Im Folgenden wird davon ausgegangen, dass alle Stichproben genügend groß sind und MLE annähernd normalverteilt sind. Kontext: Bei genügend großen Stichproben sind MLE asymptotisch normalverteilt. Seite 104 Annahme 17. Die Unschärfe und Richtigkeit der Parameterschätzung hängt nur vom Schätzer û ab. Kontext: û ist dabei ein MLE, der den Parametervektor u einer Verteilung anhand einer zufälligen Stichprobe abschätzt. Seite 105 Annahme 18. Die Eingabeparameter einer Simulation sind entweder Parameter von exakten Wahrscheinlichkeitsverteilungen und werden mittels MLE aus Stichproben bestimmt oder sie sind weitere Parameter, die mit einer festen normalverteilten Unschärfe behaftet sind. Seite 105 244 Liste von Annahmen Annahme 19. Für den Wert von u existiert eine Abschätzung û∗ . Diese ist normalverteilt mit einer Varianz Var(û∗ ) ≫ Var(û). Kontext: u ist der Parameter einer Wahrscheinlichkeitsverteilung, der mit dem MLE û geschätzt werden soll. û∗ ist dabei eine gegebene grobe initiale Abschätzung von u. Seite 107 Annahme 20. pu besitzt eine orthogonale Parametrierung u. Kontext: Ein Verteilung pu mit dem Parametervektor u besitzt eine orthogonale Parametrierung, wenn die Fisher-Informationsmatrix I(u) eine Diagonalmatrix ist. Die Komponenten des Schätzers û sind damit unabhängig voneinander. Seite 108 Annahme 21. Die Parameter verschiedener Verteilungen p1,u1 , . . . ,pk,uk und ein weiterer Parametervektor u+ sollen geschätzt werden. Der Vektor von Schätzern û = (û1 , . . . ,ûk ,û+ ) ist normalverteilt mit û ∼ Nu,Σ u . û+ ist dabei ein Pseudoschätzer, der die normalverteilte Schätzung für den weiteren Parametervektor u+ beschreibt. u ist hier der Vektor der tatsächlichen Parameter (u1 , . . . ,uk ,u+ ). Die einzelnen Verteilungen pi,ui sind paarweise unabhängig voneinander und die Komponenten der einzelnen Parametervektoren ui sind orthogonal zueinander. Σ u ist dann aufgrund der Unabhängigkeit und Orthogonalität eine Diagonalmatrix, welche entlang der Diagonale die Varianzen der einzelnen Schätzer enthält. Kontext: In Annahme 20 wurde davon ausgegangen, dass die einzelnen Schätzer für die Parameter einer einzelnen Verteilung unabhängig voneinander sind. In dieser Annahme wird nun davon ausgegangen, dass auch die Schätzer für die Parameter mehrerer Verteilungen unabhängig voneinander sind. Seite 109 Annahme 22. Es wird angenommen, dass f eine mögliche Realisierung von GX ist. Kontext: f ist eine Funktion f : RD → R und GX ist ein Gaußprozess, also eine Menge von Zufallsvariablen mit Indexmenge X = RD . Mit der Abbildung G : RD → GX lässt sich für jedes x ∈ RD die zugehörige Zufallsvariable in GX finden. Seite 116 Liste von Annahmen 245 Annahme 23. Es wird von der Mittelwertfunktion m : x →→ 0 ausgegangen. Kontext: Die Mittelwertfunktion m : RD → R liefert für jedes x ∈ RD den Mittelwert der Zufallsvariable G(x). Seite 116 Annahme 24. Es wird angenommen, dass die Unschärfe Σ u klein ist, so dass die approximative UP anwendbar ist. Kontext: Σ u ist die Kovarianzmatrix, welche die Unschärfe des um den Mittelwert u normalverteilten Parametervektors x ∼ Nu,Σ u beschreibt. Seite 127 247 Stichwortverzeichnis Aktualität, 100 Attribut, 15 Ausgaben, 15 Ausgabewerte, 15 Ausprägung, 15, 98 Bedarfsgetriebene Datenakquisition, 107 Computerexperiment, 15 Computermodell, 14 Dataspaces, 42 Datenmodell, 15 Datensammlung, 30, 242 Datenwürfel, 64 Domänenmodell, 15 Donald Duck, 201 Dynamisches System, 44 Diskretes dynamisches System, 44 Kontinuierliches dynamisches System, 44 Stochastisches dynamisches System, 45 Eingaben, 14 Eingabeparameter, 14 Eingabevariablen, 14 Eingabewerte, 15 Entität, 15, 37 Entitätstyp, 15, 37 Faktenwürfel, 61 Föderiertes Schema, 41 Gaußprozess, 114 Genauigkeit, 99 Gültigkeit von Fakten, 61 Heteroskedastizität, 116 Homoskedastizität, 116 Integration Semantische Integration, 19 Technische Integration, 19 Inverse Unschärfepropagierung Approximativ, 144 Exakt, 144 Klasse, 37 Klassenhierarchie, 37 Konsistenz, 100 Korrektheit, 99 Semantische Korrektheit, 99 Syntaktische Korrektheit, 99 Maßerhaltender Fluss, 45 Modell, 14 Monte-Carlo-Propagierung, 28 Objekt, 37 Orthogonale Region, 67 Präzision, 99 Propagierung, 15 Rechtzeitigkeit, 100 Relation, 98 Richtigkeit, 99 Schema, 15, 98 Exportschemata, 41 Externe Schemaebene, 41 248 Externes Schema, 41 Internes Schema, 41 Komponentenschema, 41 Konzeptionelles Schema, 41 Lokales Schema, 41 Schema-Abbildung, 41 Schema-Abgleich, 41 Simulation, 15 Simulationslauf, 15 Simulationsmodell, 14 Agentenbasiertes Simulationsmodell, 17 System Dynamics, 17 Surrogatmodelle, 15 Transition, 67 Ausbrechende Transition, 67 Tupel, 98 Unschärfe, 99 Aleatorische Unschärfe, 111 Epistemische Unschärfe, 111 Surrogat-Unschärfe, 111 Unschärfepropagierung Approximativ, 127 Exakt, 127 Unsicherheit, 100 Verzweigung, 67 Vollständigkeit, 100 Attributvollständigkeit, 100 Populationsvollständigkeit, 100 Relationsvollständigkeit, 100 Tupelvollständigkeit, 100 Zustand, 67 Zusammengesetzter Zustand, 67 Stichwortverzeichnis