This piece is the third of four I will publish this spring in which I describe particular techniques used to make sense of or mine large data sets. This post covers agent-based modeling.
As technology advances, so does our access to data. As stressed in earlier posts, it isn’t the sheer enormity of the data that matters; it’s what we do with it. An Excel spreadsheet with 250 million data points is still just an Excel spreadsheet. In making sense of big data, we’ve looked at network analysis and text mining so far. Another way to leverage big data is with agent-based modeling. With data being collected and organized into databases at finer levels of granularity, there is now access to “micro-data” that can support individual-based simulations. This, combined with computational power that is advancing rapidly, makes large-scale micro-simulation models plausible that would not have been just a couple of years ago. On its surface it sounds a bit paradoxical, but big data can also help us drill down to the “small.”
What is agent-based modeling? Well, the concept of modeling (an attempt to represent some phenomenon in the world using general rules and concepts) isn’t new. Agent-based modeling, however, is different as it is designed around autonomous, interacting agents. The fundamental feature of an “agent” is its capability to make independent decisions. This requires agents to be active responders and planners rather than purely passive components. [I] Through agent-based modeling, researchers hope to learn about complex phenomena that would otherwise be difficult to conceptualize and understand. An early example of this is an agent-based model created by Nobel Prize-winning economist Thomas Schelling in the 1960s to explore segregation preferences in urban housing. Simple agents moving around a hypothetical urban environment are able to demonstrate results that mimic real housing segregation patterns seen in large cities. Today, agent-based modeling has been applied across many contexts, such as to studies that attempt to illuminate how complex marketing phenomena emerge from simple decision rules [v], to capture the complexities of social dynamics [vi], to model the diffusion of water-saving innovations [vii] and to model how people make decisions about land-use while considering both social and environmental drivers of land change [viii].
To better understand this concept, let’s look at what the researchers Wilensky and Rand identified as the four primary assumptions behind agent-based modeling. The first is that simple rules can be used to generate complex phenomena. The second assumption is that randomness in individual behavior can result in consistent patterns of population behavior. The third assumption is that complex patterns can “self-organize” without any leader orchestrating the behavior. The fourth is that different models emphasize different aspects of the world. [iv] Creating an agent-based model can greatly vary in complexity, scope and amount of data included. Some lean on massive amounts of data, others are much simpler. Many researchers use existing software in order to create their model. Once such tool is Netlogo[iii], which is a free, open-source environment. This tool is a multi-agent programming language and modeling environment for simulating complex phenomena. It is designed for both research and education and is used across a wide range of disciplines and education levels. Users can go in and experiment with existing models or attempt to build their own.
A topic that I am particularly interested in is climate. There have been a number of studies using agent-based modeling around the topic of climate. In one such example, the scholars used an agent-based social simulation model, based on empirical evidence from field work in Lesotho, to assess the impact of using seasonal forecasts among smallholder farmers. They used this to model the interaction of climate, crop productivity and social factors in order to determine how much household-agents benefit or lose, evaluated in terms of crop yields and likelihood of exhausting food storage, and found that adoption of the forecast has the potential to decrease starvation among marginal household-agents but poor forecasts may do more harm than good. Their work suggests that if forecasts are not correct more than 60–70% of the time, then they are unlikely to benefit poor farmers. [x]
Some challenges for using agent-based modeling is that it requires a basic knowledge of coding. In order to manipulate the model, the researcher should be able to go into the code of the model and add and amend the existing code in order to make new commands, or in some cases, even create a model from scratch. This can prove a challenge because many people have no knowledge or only superficial knowledge of coding. Yet this shouldn’t dissuade interest, and for those who wish to learn this method; be creative and confident. Modeling is not and should not be constrained to any particular discipline. There are many ways in which we can write out rules to model any number of scenarios as we attempt to garner insight into how our world works. Additionally, do not be afraid of coding. There exist tools to create models that will assist those who are not advanced coders, such as Netlogo, which I referenced earlier.
To conclude, agent-based modeling is a technique to capture the complexity of the world in which we live. It is a helpful new tool to conceptualize and gain insights into complex phenomena and I daresay it carries much potential for understanding things that, on their surface, appear impossibly complex.
[i]Macal, C. M., & North, M. J. (2008, December). Agent-based modeling and simulation: ABMS examples. In Simulation Conference, 2008. WSC 2008. Winter (pp. 101-112). IEEE.
[ii]Scott, S., & Koehler, M. (2011). A Field Guide to Net Logo. George Mason University, Department of Computational Social Science, Version, 1.
[iii]Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
[iv]Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
[v]Rand, W., & Rust, R. T. (2011). Agent-based modeling in marketing: Guidelines for rigor. International Journal of Research in Marketing, 28(3), 181-193.
[vi]Berry, B. J., Kiel, L. D., & Elliott, E. (2002). Adaptive agents, intelligence, and emergent human organization: Capturing complexity through agent-based modeling. Proceedings of the National Academy of Sciences, 99(suppl 3), 7187-7188.
[vii]Schwarz, N., & Ernst, A. (2009). Agent-based modeling of the diffusion of environmental innovations—an empirical approach. Technological forecasting and social change, 76(4), 497-511.
[viii]Manson, S. M. (2005). Agent-based modeling and genetic programming for modeling land change in the Southern Yucatan Peninsular Region of Mexico. Agriculture, ecosystems & environment, 111(1-4), 47-62.
[ix]Filatova, T., Verburg, P. H., Parker, D. C., & Stannard, C. A. (2013). Spatial agent-based models for socio-ecological systems: Challenges and prospects. Environmental modelling & software, 45, 1-7.
[x]Ziervogel, G., Bithell, M., Washington, R., & Downing, T. (2005). Agent-based social simulation: a method for assessing the impact of seasonal climate forecast applications among smallholder farmers. Agricultural systems, 83(1), 1-26.
[xi]Troost, C., & Berger, T. (2015). Dealing with Uncertainty in Agent-Based Simulation: Farm-Level Modeling of Adaptation to Climate Change in Southwest Germany. American Journal of Agricultural Economics, 97(3), 833-854.