Towards Rigorous Agent-Based Modelling Linking, Extending, and Using Existing Software Platforms
Total Page:16
File Type:pdf, Size:1020Kb
Towards Rigorous Agent-Based Modelling Linking, Extending, and Using Existing Software Platforms Dissertation zur Erlangung des mathematisch-naturwissenschaftlichen Doktorgrades "Doctor rerum naturalium" der Georg-August-Universität Göttingen im Promotionsprogramm Umweltinformatik (PEI) der Georg-August University School of Science (GAUSS) vorgelegt von Jan Christoph Thiele geboren in Braunschweig Göttingen, 2014 Betreuungsausschuss Prof. Dr. Winfried Kurth (Abteilung Ökoinformatik, Biometrie und Waldwachstum, Georg-August-Universität Göttingen) Prof. Dr. Volker Grimm (Department Ökologische Systemanalyse, Helmholtz-Zentrum für Umweltforschung - UFZ, Leipzig und Institut für Biochemie und Biologie, Universität Potsdam und German Centre for Integrative Biodiversity Research - iDiv, Halle-Jena-Leipzig) Mitglieder der Prüfungskommission Referent: Prof. Dr. Winfried Kurth (Abteilung Ökoinformatik, Biometrie und Waldwachstum, Georg-August-Universität Göttingen) Korreferent: Prof. Dr. Volker Grimm (Department Ökologische Systemanalyse, Helmholtz-Zentrum für Umweltforschung - UFZ, Leipzig und Institut für Biochemie und Biologie, Universität Potsdam und German Centre for Integrative Biodiversity Research - iDiv, Halle-Jena-Leipzig) 2. Korreferent: Prof. Dr. Steven Lytinen (School of Computing, DePaul University, Chicago) Weitere Mitglieder der Prüfungskommission Prof. Dr. Niko Balkenhol, (Abteilung Wildtierwissenschaften, Georg-August-Universität Göttingen) Prof. Dr. Holger Kreft, (Free Floater Nachwuchsgruppe - Biodiversität, Makroökologie und Biogeographie , Georg-August-Universität Göttingen) Prof. Dr. Stefan Schütz, (Abteilung Forstzoologie und Waldschutz, Georg-August-Universität Göttingen) Prof. Dr. Kerstin Wiegand, (Abteilung Ökosystemmodellierung, Georg-August-Universität Göttingen) Tag der mündlichen Prüfung: 08.12.2014 dedicated to Lea & Lukas the most important outputs of the period of PhD Acknowledgement I would like to thank ... • Prof. Dr. Winfried Kurth - for supervising me and giving me the freedom to follow my mind • Prof. Dr. Volker Grimm - for being more than just a supervisor - becoming a teacher, inspirator, and friend • Prof. Dr. Steven Lytinen - for kindly accepting to be co-referee • Tanja - for her love and endurance • Lea & Lukas - for showing me the meaning of life • Mum and Dad - for their believe in my abilities and their continuous support • my brother - for advices at the beginning of my programming experiences long time ago and for always having an open ear • my grandfather - for never believing that modelling makes sense but believing in me • Kent - for being my friend and brother in spirit • Janka, Daniela, Thomas, and Marco - for being friends • Michael, Niki, Robert, Sebastian and Tim - for being my colleagues and friends • Tim for proofreading parts of the thesis • Ilona - for doing all the secretary and organizational work and always having an open ear • Prof. Dr. Dr. h.c. Branislav Sloboda and Prof. Dr. Joachim Saborowski - for giving me the chance to become a researcher • Mr. Bellmund - for his help in darker days • the colleagues from the Department of Ecoinformatics, Biometrics and Forest Growth and from the Department of Ecosystem Modelling for the joint lunches • Uri Wilensky, Seth Tisue and the other developers - for NetLogo • R Core Team - for R • all people who crossed my way - for making me happy, my life easier, my dreams come true, or for just making me wiser and stronger. Happy modelling! V Abstract Agent- or individual-based modelling is a modelling approach where the heterogeneity of entities, i.e. agents, matters. In the past ten to twenty years agent-based models became increasingly popular and were applied in many different research areas, from computer science over sociology and economy to ecology. Built by rule systems instead of differen- tial equations they cannot be solved analytically but have to be implemented as computer software and analysed by running simulations. As the field of agent-based modelling is rela- tively young compared to, for example, mathematical modelling with differential equations, established standards in developing, implementing, describing, and analysing are missing or currently being arising. Instead, many modellers build, implement and analyse their models from scratch and reinvent the wheel. The work at hand aims to support the process of establishment of standards in agent- based modelling. After a short general introduction in the first chapter, the second chapter gives an introduction into the history of agent-based modelling in different research areas, discusses open issues in agent-based modelling, presents the most important toolkits/lan- guages/Integrated Development Environments (IDE) for implementing agent-based models, and closes with a deeper look on the IDE/language NetLogo and some extensions developed here. In the third chapter a framework for building and analysing agent-based models by link- ing two existing and well-known toolkits/languages, NetLogo and R, is described. Such a seamless integration of an agent-based modelling environment with a statistics software enables the modeller to design simulation experiments, store simulation results, and anal- yse simulation output in a more systematic way. It can therefore help close the gaps in agent-based modelling regarding standards of description and analysis. The fourth chapter of this theses provides a "cookbook" of many important methods for calibration of agent-based models as well as for sensitivity analysis. Such a comprehensive overview of well-known and established techniques enables the modeller to become aware of existing methods, learn what they can deliver and where to apply them. Furthermore, the recipes contain application examples implemented and adaptable to other models im- plemented in NetLogo under the use of the framework introduced in the third chapter. A key feature of science - the replication of experiments - is discussed in chapter five with focus on the field of agent-based modelling in ecology. It should encourage the community to replicate models and publish the replications. Replication of models fulfils different pur- poses: it uncovers implementation-dependent differences in model results, it shows lacks in documentation and/or documentation protocols as well as robustness tests, and it is a first step towards community-tested standard models or model components. The work closes with an integrated discussion and outlook on open issues. VII Contents Contents IX List of Tables XV List of Figures XVII I. Introduction 1 I.1. Agent-Based Modelling...............................2 I.2. Rigorous Agent-Based Modelling.........................3 I.3. NetLogo.......................................7 I.4. Structure of This Thesis..............................8 I.5. References......................................9 II. Agent- and Individual-Based Modelling with NetLogo: Introduction and New Net- Logo Extensions 15 II.1. Abstract....................................... 17 II.2. Agent-/Individual-Based Modelling........................ 17 II.2.1. Introduction................................ 17 II.2.2. ABM in Computer Science......................... 18 II.2.3. ABM in Social Sciences........................... 18 II.2.4. ABM in Economics............................. 19 II.2.5. ABM in Ecology............................... 20 II.2.6. Synopsis................................... 21 II.2.7. Current Challenges in ABMs........................ 22 II.3. Software Libraries, Environments and Languages for ABMs........... 23 II.4. NetLogo: Modelling Language and Simulation Platform............. 26 II.4.1. History of NetLogo............................. 26 II.4.2. NetLogo Programming Language..................... 26 II.4.3. NetLogo Integrated Simulation Environment............... 29 II.4.4. NetLogo Extensions and Controlling API................. 29 II.5. Extensions to NetLogo............................... 31 II.5.1. MultiView.................................. 31 II.5.2. R-Extension................................. 34 II.5.3. Pygments Parser.............................. 38 II.6. Outlook....................................... 39 II.7. Acknowledgements................................. 40 IX CONTENTS II.8. References...................................... 40 III. Linking NetLogo and R 49 III.1. Agent-Based Modelling: Tools for Linking NetLogo and R............ 50 III.1.1. Abstract................................... 52 III.1.2. Introduction................................ 52 III.1.3. Embedding R in NetLogo......................... 54 III.1.4. Embedding NetLogo in R......................... 56 III.1.5. Conclusions................................. 58 III.1.6. Acknowledgements............................. 59 III.1.7. References................................. 59 III.2. NetLogo Meets R: Linking Agent-Based Models With a Toolbox for Their Anal- ysis.......................................... 62 III.2.1. Abstract................................... 64 III.2.2. Introduction................................ 65 III.2.3. New Primitives............................... 66 III.2.4. Examples.................................. 71 III.2.5. Concluding Remarks............................ 76 III.2.6. References................................. 76 III.3. RNetLogo: An R Package for Running and Exploring Individual-Based Models Implemented in NetLogo.............................. 78 III.3.1. Abstract................................... 80 III.3.2. Introduction................................ 80 III.3.3. Examples.................................