Artificial Intelligence
12 decisions when designing maps for the Sustainable Development Goals
8 min
Agent-based models (ABMs) are a simulation technique that we can use to study complex systems and agents' behaviour within them.
These models are created by constructing artificial populations and placing them in an artificial environment that resembles the real world. The artificial agents within the simulation interact with each other and their environment in a way that mirrors real-life interactions.
Take the study of food security. With an agent-based model, it is possible to create a simulation of a very specific rural population, modify elements to reflect different policy scenarios and observe their impacts in the model. That can inform policymakers about the potential consequences of their choices in the real world.
For such models mimicking specific places and complex systems in the real world, it's important to understand the system being modelled by visiting the place, talking to experts in the field, and consulting policy documents and data.
Other agent-based models, in economics or theoretical ecology, for example, are used to test hypotheses or foster system understanding. They often do not represent a specific place or population but instead use an abstract setting. The outcomes of such models can shed light on processes that may drive patterns we observe in the real world.
To develop agent-based models, we need to follow certain steps for building and testing them.
One difficult but crucial step is simplifying our understanding of the complex system into a model concept. It's often helpful to start with a very simple model version and slowly add model processes. That allows us to get started quickly and check whether the code works and aids our understanding of how newly added processes change model behaviour.
Having code running doesn't mean we can run the model and take its outcomes as the answer to our question. We still need to feed our model with data and assumptions. These can come from literature, qualitative data and quantitative data.
Researchers also conduct their own surveys to inform their agent-based models, as data on agent populations are often unavailable.
A sensitivity analysis tells us which elements of our model are more or less important and which ones we need to focus on in our next steps.
And, before we run the model to answer our questions, we need to check that the model is actually valid. That step of validation can have many components, including double-checking the data going into the model, reflecting on the processes included in the model, to comparing the outcomes of the model with our expectations or other, independent data.
Only then do we use the model to answer our original question.
In most cases, that does not mean running the model once and looking at the output. Instead, we often run many, even thousands of simulations. For example, we might compare outputs for different scenarios - such as different policies playing out in our model.
In most agent-based models, random processes are also included, such as: where are agents such as farmers located in the environment? In what order are they interacting? To consider uncertainties from these random processes or uncertain parameters, we also run every scenario many times.
Our agent-based model is like a lab experiment: we conduct the experiment not only once but repeat it several times.
These steps are key for models to succeed and thus to help us find solutions to the world's problems.
Imagine you had the chance to build your own Agent-Based Model. Well, now you can do exactly that, with a new course exclusively available on Geoversity.
Advanced Agent-Based Modelling is an intensive 1-week course that dives deeper into the topics covered in this article and introduced in our beginner's course. This includes model parameterisation, validation, sensitivity analysis and scenarios.
In the course, you will work on a specific modelling project throughout the week. You can bring your own idea to the course or select from a set of suggested projects with varying levels of difficulty. You'll analyze your specific case with experts, practice advanced techniques, and plan the next steps for your own fully functional model.
Interested? Follow this link to register for the course.