Agent-based Models for
Frequently asked questions about agent-based models
While agent-based models are not a new methodology, they are not currently widely used in population health. We’ve put together a list of frequently asked questions about agent-based models, to make this methodology more accessible and to start discussions around how agent-based models could be used to address population health challenges.
Agent-based models are computer simulations of the behaviour and interactions of autonomous ‘agents’ such as individuals, groups or organisations. The goals of using an agent-based model in a health context include: discovering how the individual-level actions of agents and their interactions with each other and with their wider environment lead to population-level outcomes and patterns of health-related behaviour; revealing which of these actions and interactions we need to research more; and designing or testing interventions virtually before committing resources in the real world.
How is it different from the usual kinds of evidence or models that health policy/practice uses?
More traditional methods, such as statistical modelling and machine learning, use data we already have about a system or process and use this to predict future behaviour. In contrast, agent-based models are built on theories about the mechanisms underlying a system or process, which are used to construct decision-making agents and virtual environments. Agent-based models are particularly useful when we are interested in exploring and explaining the behaviour of a system, and not just predicting outcomes.
How is it different from other kinds of simulations?
Agent-based modelling is often compared with microsimulation in which individuals in the model move through their life entering and leaving different states based on probabilities. In contrast, in agent-based modelling, agents are granted the capacity to decide when, or if, they should change state or behaviour: they have built-in decision rules that govern how they will react when environmental or social factors change around them. The consequence is that agents in agent-based models are far more complex than an individual in a microsimulation.
Are agent-based models new?
That depends on your definition of ‘new’! Many credit Thomas Schelling as the creator of the first agent-based model – he developed a simple and elegant model of residential housing segregation in 1971. So, compared to statistical methods, which have a long and storied history stretching across centuries, agent-based models are relatively new – however, they have been around for nearly 50 years. While agent-based models have been successfully applied across wide range of disciplines, they have not yet been widely used in population health.
We know that population health is a complex ‘system’ driven by multiple influences that interact with other. These systems are very difficult to model statistically due to the many different relationships between individuals and the environment which are often non-linear and bi-directional. Agent-based models are ideal for these situations and sometimes the development of an agent-based model can be the only way to improve our understanding of the system’s behaviour.
Can agent-based models replace other modelling techniques?
Agent-based models are often a more suitable tool than other modelling techniques when we deal with complex systems, and they are necessary to answer certain questions about population-level behaviour. However, agent-based models have both strengths and weaknesses and shouldn't be viewed as a replacement for other modelling techniques, but as an additional tool in the researchers’ tool-box.
What can agent-based model do that conventional approaches to providing evidence about population health cannot?
For public health outcomes that are driven by individual-level actions and the interactions of individuals with their social and physical environments (e.g. obesity), building an agent-based model can provide insight into the mechanisms underlying these outcomes. Agent-based modelling can help us to understand and predict a system’s behaviour by developing a theory of the individual behaviours and interactions between agents and their environment that are relevant to the chosen system. Statistical methods don’t model these behaviours and environmental interactions explicitly, so in these cases they’re less suitable than an agent-based model.
What can’t they do that more conventional approaches to providing evidence can?
When outcomes are characterised by relatively simple and causal relationships, the relationships between variables can be effectively and precisely analysed by statistical modelling tools. Agent-based modelling would not add much to our knowledge, and the time taken to build and tune an agent-based model is likely to be misplaced to answer these types of questions.
What kind of questions are agent-based models most suited to answer?
In general, we suggest agent-based modelling for when you want to investigate, understand, and probe the complex interactions and relationships underlying population health challenges. Agent-based models are most useful when we're interested in explaining and exploring the behaviour of a complex system – such as population health questions that may involve interactions between individual health behaviours, social and economic policy, and environmental factors. We can also use agent-based modelling to develop and evaluate complex interventions, such as policy solutions aimed at population behaviour change.
In agent-based models agent decision-making is based on decision rules that lead them to change their state or behaviour in response to other agents or environmental changes. While technically speaking, any computer program will only do ‘what we’ve programmed it to do’, in practice the consequences of our programmed decision rules are often far from obvious.
Agent-based models have been applied to a range of different population health challenges including physical activity, active travel, alcohol, diet, obesity, smoking and tobacco control, and social care. We have provided some examples of how agent-based models have been applied to help understand population health questions and evaluate the potential impacts of policy implementation in our full-length FAQs.
There are no hard and fast rules on how to create an agent-based model. In general, the key steps in developing an agent-based model are:
- Define the topic, or system of interest, for your model
- Identify the key dynamics of the system. i.e. agents, environment, actions, interactions
- Develop a modelling plan
- Build, refine and validate your model
- Close the modelling project
Our full-length FAQs provide additional guidance on each of these steps.
How long does it take?
The length of time to create an agent-based model depends entirely on the characteristics and complexity of the system of interest. A basic model could be developed by an individual in a few hours, while a more complex agent-based model relating to a specific real-world problem might involve a team of people working for several years.
Not necessarily, however some experience with computer programming or scripting languages is extremely valuable. There is a range of accessible agent-based modelling software, including NetLogo, AnyLogic, GAMA Platform, and Repast Simphony, some of which require programming experience, while others have a visual interface. Getting into agent-based modelling does require more programming knowledge than some statistical methods, but probably not as much as you might think, and there are lots of resources and examples available to help you get started.
In order to determine if the agent-based model is right it needs to be validated as an accurate representation of the real-world system that the model was based on. Validation methods often involve comparison of the model output with real-world data to test for similarity in the properties or patterns of population level outcomes. Cross-validation against another model that has already been validated is another option.
By building an agent-based model we try to provide an explanation for the outcomes of a real-world system by including the process and the mechanism that generates the system and outcome of interest. The agent-based model simulation generates data, and once a model is validated the data it generates are considered as crediable, and provide insights into certain aspects of the system.
Join our mailing list to be the first to hear about upcoming events and training, new resources and funding opportunities. If you’d like to be involved in planning PHASE events and activities or if you’re interested in joining one of our working groups, please email email@example.com.
Agent-based models applied to public health challenges
These case studies provide examples of how agent-based models can be applied to address public health challenges. Click on each example below to find out more about the model and the question it addresses, as well as trying out the model yourself.
Exploiting Social Networks to Mitigate the Obesity Epidemic
Gorman DM, et al. 2006. Am. J. Public Health 96(11):2055–60
This is a good model to explore and understand network theory. One of the most important features of an agent-based model is the way in which the agents interact with each other. In this model social networks within a population are created by forming links between agents. The agent-to-agent links represent connections between a person and their friends. In this model this friendship network is used to simulate the effect that a person’s friends have on their body weight. This abstract model shows that the structure of this friendship network is very important in determining population level patterns of behaviour.
Agent-Based Modelling of Drinking Behaviour
Bahr DB, et al. 2008. Obesity 17.4: 723-728
This is a particularly good example of using an abstract, spatially discrete agent-based model to investigate the fundamental drivers of behaviour. The model looks at the effect that other people’s drinking behaviour has on an individual’s drinking behaviour and places this in a simple spatial context. It finds that the spatial aspects of social interactions are an important driver in determining population level drinking behaviour. This model has also been used as a precursor to more applied ABMs investigating drinking behaviour.