Please wait...
Agent-Based Computational Modeling
About
Location:
Mannheim, B6 4-5
Mannheim, B6 4-5
Course duration:
09:30-16:30 (CEST / UTC+2)
General Topics:
Course Level:
Format:
Software used:
Duration:
Language:
Fees:
Students: 550 €
Academics: 825 €
Commercial: 1650 €
Keywords
Additional links
Lecturer(s): Daniel Mayerhoffer
Course description
Agent-based models (ABMs) are becoming increasingly attractive in the social sciences. Examples could be given from virtually all subfields, cf. the additional recommended literature; famous ABMs describe the formation of values and political beliefs as well as polarisation in different social environments, transmission of disease (this has received some attention during the CoViD-19 pandemic), diffusion of innovation in households and firms, or the formation of street protests. BMs are used to simulate the emergence of complex macro phenomena based on individual actions. Such simulation can be integrated into the pipeline of data-driven research in various ways.
Before data collection or analysis, ABMs can help operationalise theory and explore candidate explanations in preparation of subsequent empirical work; furthermore, simulation can identify key actors to further investigate with quantitative as well as qualitative designs. After data analysis, simulation can help fill gaps or detail the causal inferences identified in the analysis. On some occasions, simulation may be the only way to retrieve data (in an ethically acceptable way) at all.
Because researchers have full control over their ABM, they can monitor all cognitive processes of their agents and social interactions they deem interesting in arbitrary granularity, while at the same time running virtually unlimited repetitions and parameter settings. Consequently, data from ABMs combines advantages of quantitative (large N) and qualitative (rich, detailed) data. However, simulation output is only meaningful if the simulated social system resembles the real world in the relevant respects. Thus, appropriate calibration and validation is key to successful research using ABMs.
The aim of this course is to provide an epistemic and methodological background on agent-based modelling and guide participants through the conceptual development of ABMs as well as their implementation using the free software NetLogo . Its programming language is intuitively accessible even without previous programming or computer science knowledge. Therefore, the tool is ideally suited for social scientists who aspire to use simulated data from ABMs to pilot or complement empirical data.
As a complement to NetLogo, we will discuss the implementation of ABMs in other programming languages such as Python, Julia, R, or C++. Moreover, we will experiment with using Large Language Models to conceptualise and implement ABMs. With that, participants can integrate ABMs into their individual research pipelines.
For additional details on the course and a day-to-day schedule, please download the full-length syllabus.
Organizational Structure of the Course
The course will consist of a basic unit (day 1-3), an intensification module (days 2-4), and a hackathon phase (days 2-5) that will allow participants to kickstart their own research project either individually or in collaboration with other participants. This design will allow participants without prior knowledge to get from the basics to productive application during the course, while those who have some experience have a chance to take shortcuts and progress faster.
The basic unit introduces you to the fundamentals of agent-based modelling using three exemplary models, showcasing potential application scenarios in the Social Sciences as well as discussing underlying concepts and methodological considerations. The practical programming will follow an intensively guided hands-on approach covering movement in space and strategic interaction, simulating network generation, and diffusion processes. The background topics will be integrated with these practical exercises to show their importance for ABM research practice.
The intensification module will practice the development of a larger model (the so-called Hegselmann Krause Model of bounded confidence opinion dynamics) in multiple steps and with various extensions based on the participants' preferences. Thereby, you can apply what you have learned in the basic unit and try out individual solutions while still receiving guidance and feedback.
The hackathon or research incubator phase is meant to support you in developing an ABM to answer their own research question. You can bring an existing research question but we will also allocate time during the course for developing an appropriate one based on participants' research interests. If you want, you may collaborate with other participants on this project. In the hackathon, the lecturer will act as coach to guide participants through the modelling cycle of conceptualisation, technical implementation, analysis, potential refinements and communication of results. By the end of the week, you will have a first version of your own ABM and ideally already some insights to be used in a paper.
Target group
You will find the course useful if:
- …you are an empirical (social) scientist but frequently encounter research puzzles that you cannot solve based on available or easy-to-collect data, or want to explore which data is worth collecting.
- …you are a (social) theorist but want to see whether the theories that you come up with can indeed explain a certain phenomenon.
- …you are a decision-maker or (social) researcher who studies these decision makers but do not know beforehand which outcomes certain decisions might entail and hence want to explore counterfactual scenarios.
- …you enjoy playing God and controlling whole societies or individuals but seek a way for doing so that is less harmful to others than becoming a dictator. ;-)
- …you are a novice in coding or an experienced coder: For many parts of the course, you will be able to adjust your speed of learning individually so that you will not feel overwhelmed without prior experience, nor bored if you find the technical aspects of the course to be easy.
Learning objectives
By the end of the course, you will:
- …be able to conceptualise common types of ABMs and implement them in NetLogo.
- …understand and apply all major NetLogo commands.
- …know the fundamentals of implementing ABMs independent of programming language.
- …use Large Language Models as “collaborators” for defining and refining ABM concepts and implement these concepts in the programming language of your choice.
- …critically evaluate your own and others' ABMs in terms of internal and external validity.
- …identify potential use-cases of ABMs in your research settings.
- …have a first version of your own ABM ready to be analysed for a future research paper.
Prerequisites
Fundamentals acquired in any academic degree (such as how to formulate a research question/puzzle), basic descriptive statistics. middle-school level math.
Software and Hardware Requirements
You should bring your own laptops for use in the course and have the latest version of NetLogo installed (available for Windows, Linux, and MacOS). You should also have admin rights on your device so that you can install additional software during the course if required.
If you have experience in programming (e.g., Python, Julia, C++, Java, but also R or Mathematica), it might also be good to have your favourite setup for this prepared on your machine.
An account for the LLM service of your choice, premium subscriptions are nice to have but free versions are typically fine. No API access required, using a chat interface will fully suffice for our purposes.