Frequently Asked Questions
We have organized our frequently asked questions into categories to make it easier for you to find your answers.
Don't see your question here? You can submit your question for the OpenABM-CoMSES Admin team.
(NOTE: You need to be logged in to submit a question. If you aren't a CoMSES Member yet, please click here for information on joining the Network
Agent-Based Modeling Questions (10)
Agent-based models are (computational) models of a heterogeneous population of agents and their interactions. The result of the micro-level interactions can be interesting macro-level behavior like cooperation, segregation, fashion, culture, etc. ABMs are also known as multi-agent systems, agent-based systems etc., and is an important field in computer science where agent-based models are developed to do tasks, like searching for information on the internet. Within social science we are interested in agent-behavior that is based on our understanding of human decision making. Agents can represent individuals, households, firms, nations, depending on the application. The heterogeneity of agents is an important aspect of ABM. Heterogeneity can originate from differences is location, knowledge, wealth, social connections, cognitive processes, experience, motivations, preferences, etc. Agents can interact in various ways such as changing the shared environment by harvesting or pollution, exchange of information and resources, and by imitation.
It is important to have a clear research question what kind of emergent process one likes to study. Often scholars use ABM to describe a lot of details of a complicated system. The resulting model is often not useful since it is too complicated to perform a rigorous analysis required for understanding the behavior of the model. Often an agent-based model is not necessary. When there is a small set of agents, or a very large of agents who interact randomly, sets of differential equations, such as system dynamics models, may be a suitable tool too. ABMs are especially useful when the agents interact in non-random ways, like social networks, of spatial explicit ecological systems. Furthermore, they are useful to test different cognitive processes and heterogeneity of decision-making processes in a population.
Models are tools for communication, education, exploration and experimentation. Models are not holy tools for prediction, especially not for non-linear systems. Unfortunately, there is a lot of misunderstanding about models. People who are not very familiar with them have sometimes high expectations of the details that are included. A common critique of non-modelers is that more details need to be included. But more details might only make the model less useful for exploration of the parameter space. The goal is to make “the models as simple as possible, but no simpler than that”. One confuses often the use of a model with a description of the real systems.
There are a number of ABM platforms like Swarm, Starlogo, Netlogo, Mason, Cormas, Repast, etc (List of ABM Platforms can be found here). The main benefits of these platforms are the provision of a graphical interface, an open source community who may develop similar models you are interested in, and libraries. A drawback is that these platforms are not always userfriendly and that libraries only include the more straightforward algorithms. One can also develop ABMs in more standard packages like MATLAB when one is already familiar with such a platform. A good platform to get started is Netlogo, which has good tutorials and a elaborative library of demo models. For more experienced modelers, a platform like Repast might be more applicable since the run time is faster and more tailored procedures can be implemented.
The terms validation and calibration originate in engineering and are sensitive to many social scientists. What we want to test is how well our model explains the data compared with alternative models. Therefore it is important to use different models of decision making. Human decision making is so complicated that we do not have the illusion to argue that we have the true model. Model comparison is, however, not a straightforward activity. There are different dimensions in which a model may be evaluated. One way social scientists test models is use maximum likelihood estimation. Since more complicated models with more degrees of freedom result in better fits, some scholars use a penalty for the complexity of the model. Especially the use of minimum description length might be a promising tool. Increasingly experimental researchers and agent-based modeling start to be combined. Traditionally experiments where used to challenge the standard model of rational choice, nowadays alternative models are tested in more complicated dynamic and spatial settings, in the lab and in the field. This may lead to better tested alternative models that one can use in ABMS. Other ways to evaluate models is the participatory model development with stakeholders, or the use of Turing-tests.
A standard rule is that one should be able to replicate the basic results of your research. Simple models should be documented in such a way, that a colleague is able to reimplement the model and derive similar results. It is striking that some results of models published in high level journals were difficult to be replicated. At least the assumptions others had to made led to doubt whether the results were robust. Within openabm.org we use the ODD protocol of Grimm et al. (2006) as a starting point for model documentation. For more information about the ODD protocol please see here.
System dynamics is characterized by causal feedback loops and is formalized by sets of differential equations which are numerically solved in user-friendly packages like Stella and Vensim. One can write simple agent-based models in packages like Stella and Vensim, using arrays of differential equations and a fixed topology of interactions. But this use of system dynamics packages restrict the possibilities of more dynamic interactions of agents, heterogeneity of agents, more complex recursive reasoning processes.
A Markov process is a random process whose future probabilities are determined by its most recent values. Sometimes ABM fits this description very well, but in many cases the decisions are dependent on the state of the systems of more than one step ago. This is especially the case when agents learn or have a memory.
ABMs are especially used to study complex systems. With complex systems we refer to systems that use simple micro-level rules that generate macro-level phenomena. These emergent phenomena can not be explained by the micro-level units alone. The interactions of the units lead to a nonlinear transformation to macro-level phenomena. For example, we can not understand the emergence of ant-colonies by studying one ant. Complex systems are different from complicated systems. Complex systems are in fact simplified versions of very complicated systems. Scholars studying complex systems and complexity are interested in discovering the basic underlying rules that describe most of the phenomena, not the details for specific empirical applications.
This is one of the main open questions. It is well known that rational choice theory which assumes selfish rational decision makers is a reasonable model of decision making only in specific conditions, such as high competitive markets. In most other situations we lack a standard model, but there are a lot of insights of regularities and anomalies in decision making. Instead of assuming selfish individuals with perfect information, we often assume agents who have simple heuristics of satisfying behavior. Cognitive scientists test many types of models on experimental data, and this provides us some useful models like reinforcement learning models, or other regarding preferences. Another way to elicit heuristics for decision making of the agents is to interview stakeholders on their decision making. Although people can not clearly express how they make decisions, they may provide useful information.
General OpenABM Questions (4)
As a scientific community of practice, members of the CoMSES Network have access to a suite of community resources and also share a responsibility to contribute to the community. There are two categories of membership in the network: Affiliates and Full Members.
To view the benefits and responsibilities of CoMSES membership: please visit the CoMSES Membership Page.
CoMSES Members are able to add calendar events to the site calendar. Such events may include conferences or workshops. To add an event, go to the Events Calendar and choose Add Event.
A full tutorial on how to add an event to the Events Calendar is available here : Calendar Event Tutorial.
CoMSES Full Members can add new publications to the Bibliographic Library, as well as new content elsewhere to OpenABM. If you would like more information on becoming a Full Member, click here for information on CoMSES Membership.
If you are already a Full Member, make sure you are logged in to OpenABM, and you should see a “Create New Content” menu item that provides links to the types of content you can add to OpenABM, including for the Bibliographic Library.
The Modeling Platforms page located in the Resources section of OpenABM (Platforms page) is where new platforms should be added. We are in the process of adjusting the OpenABM website to make it easier for Members to contribute directly to these types of pages. For now, please submit your suggestions to the OpenABM-CoMSES Admin team through the Contact page.
Model Library Questions (9)
To contribute a model and its documentation to the Library, you need to be logged in to OpenABM as an Affiliate or Full member of CoMSES Net (Network for Computational Modeling in the Social and Ecological Sciences), a simple process. A membership is needed for security reasons (to avoid postings by spam bots). To become a member and learn more about CoMSES membership go to: CoMSES Membership Page.
The model upload system guides you through a sequence of steps that asks you to provide relevant information, such as a reference to an associated publication, the documentation of your model, the files with model code, which programming platform is used, etc. The Computational Model Library requires a description of the model that enables others to understand its purpose and structure, and to replicate your results. The ODD protocol (reference below) is recommended as a format for documenting models, but use of this protocol is not a requirement.
A full tutorial on how to add a model to the Model Library is available here : Model Library Tutorial.
There is no restriction to the topics of models that are submitted. We ask people to provide tags so that our search engine can find relevant models when you search on keywords.
When you click on the “Submitted” button you sort the models on the date the model is submitted.
When you submit a paper for publication you can archive your model for yourself, and/or to provide it for the review process. We work with a number of journals who require (Ecology and Society) or recommend (Journal of Artificial Societies and Social Simulation) the use of the model library for archiving computational models submitted to their journal. When you submit a model to the library you don’t have to “publish” it. This means that the archived model cannot be found in the search engine.
The model library focuses on models that are known as agent-based models, but we are open to a broader set of computational models such as geosimulation, cellular automata, dynamic networks, etc.
You must choose to Publish the model in order to make it publicly viewable and searchable. After the initial submission, a model is not published. You may choose to keep a model unpublished, if for example it is associated with a publication under review, and you do not wish to make the model public until the paper has been published. To publish a model click the green publish model button as seen below.
Model authors may request that their models be reviewed for completeness and fulfilling CoMSES Modeling Standards. Models that meet these modeling standards will be certified and will display a Certification badge as well as be included on OpenABM’s home page as a Featured Model.
Models cannot generally be removed from the library. When a model is published, it becomes a matter of public record. Think of this like a journal article, once it is published, there are consequences to erasing it.
With that understood, if you have a specific need to retract a model from the library, you will need to contact the OpenABM management team, via the Contact form, to explain your situation, and we will determine the course of action we can take for your case.