Introduction to Agent-Based Modeling (ABM)

M. Drew LaMar
February 2, 2022

“In science, we usually want to understand how things work, explain patterns that we have observed, and predict a system's behavior in response to some change.”
- Railsback & Grimm

Course Announcements

  • Homework #1 posted on Blackbaord - we will work on it in lab tomorrow
  • Please bring your laptops to lab tomorrow and to class on Friday (we will begin Chapter 2: Getting Started with NetLogo)

Phenomenological vs mechanistic

Mechanistic model: A hypothesized relationship between the variables in the data set where the nature of the relationship is specified in terms of the biological processes that are thought to have given rise to the data. The parameters in the mechanistic model all have biological definitions and so they can be measured independently of the data set referenced above.

Phenomenological/Statistical model: A hypothesized relationship between the variables in the data set, where the relationship seeks only to best describe the data.

Phenomenological vs mechanistic

“All other things being equal, mechanistic models are more powerful since they tell you about the underlying processes driving patterns. They are more likely to work correctly when extrapolating beyond the observed conditions.”
- Bolker (2008) Ecological models and Data in R, p7

“A statistical model foregoes any attempt to explain why the variables interact the way they do, and simply attempts to describe the relationship, with the assumption that the relationship extends past the measured values. Regression models are the standard form of such descriptions…”
- in “Ecological Detective” by Hilborn and Mangel

Mechanistic Modeling (process-driven modeling)

The process-driven modeling cycle

Modeling cycle

  1. Formulate the question and Assemble hypotheses: The Scientific “Deep Thinking” part
  2. Choose model structure: Model Design \( \leftrightarrow \) Experimental Design
  3. Implement the model: Model formulation, model fitting, model diagnostics, and model selection.
  4. Analyze the model: What information is contained in our model? What does it imply or predict about the real world?

Model Diagnostics

“Because the assumptions in the first version of a model are experimental, we have to test whether they are appropriate and useful. For this, we need criteria for whether the model can be considered a good representation of the real system. These criteria are based on patterns or regularities that let us identify and characterize the real system in the first place.”
- Railsback & Grimm

tl;dr ->

  • Statistical models are validated by comparison to quantitative information (data).
  • Mechanistic models are validated by comparison to qualitative information (patterns).

Model Diagnostics

“Because the assumptions in the first version of a model are experimental, we have to test whether they are appropriate and useful. For this, we need criteria for whether the model can be considered a good representation of the real system. These criteria are based on patterns or regularities that let us identify and characterize the real system in the first place.”
- Railsback & Grimm

Process of modeling (POM) is not “linear”

Just like process of science (POS)

1. Formulate the question

“We need to start with a very clear research question…”

“Very often, even our questions are only experimental and later we might need to reformulate the question, perhaps because it turned out to be not clear enough, or too simple, or too complex.”

2. Assemble hypotheses...

…for essential processes and structures

“But whatever technique we prefer, this task has to combine existing knowledge and understanding, a 'brainstorming' phase in which we wildly hypothesize, and, most importantly, a simplification phase.”

“The modeling cycle must be started with the most simple model possible, because we want to develop understanding gradually, while iterating through the cycle.”

“…just our preliminary understanding of a system is not sufficient for deciding whether things are more or less important for a model. It is the very purpose of the model to teach us what is important.”

3. Choose model structure

Definition: A model is a concrete or abstract simplification of objects and their relationships or processes in the real world.

In this step, we choose:

  • Objects (spatial scale, entities, state variables, parameters)
  • Processes (time scale, parameters)

Verbal formulation of the model!!

4. Implement the model

Mathematical or computational formulation of the model!!

5. Analyze, test, and revise the model

Doing science with models

  • Extract information from model through:

    • Simulation
    • Analysis
  • Use results to:

    • Explain
    • Predict
    • Use as evidence for hypotheses

Railsback & Grimm - Exercise 1

Exercise 1: One famous example of how different models must be used to solve different problems in the same system is grocery store checkout queues.

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Customer: If you are a customer deciding which queue to enter, how would you model the problem?

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Manager: If you were a store manager deciding how to operate the queues for the next hour or so, what questions would your model address and what would it look like?

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Designer: If you were a store designer and the question is how to design the checkout area so that 100 customers can check out per hour with the fewest employees, what things would you model?