Toggle menu
122
332
11
3.4K
Information Rating System Wiki
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Software for social and economics modeling

From Information Rating System Wiki

Main article: System modeling

We’ve discussed the need for systems thinking and optimization at the societal level. Our argument has been that an objective, rigorous approach to problems will both improve public policy and quiet partisan discord. Community members will literally have to become knowledgeable about modeling social systems. Needless to say, education will have to be made available to folks in this area.

In this vein we might provide an overview of the types of software that exist for social & economics modeling. These often overlap with engineering simulation and can be broadly classified as continuous, discrete-event, and agent-based simulators. They overlap to some extent and some software allows all three to coexist in the same package.

Continuous, aka rate-based system simulators, model known trends as a function of time that in many cases are described by ordinary differential equations (ODEs). They often assume a high level continuum of average properties so they don’t delve into what each individual person (or particle) is doing. Engineering simulation of physical phenomena is frequently in this category. But one doesn’t necessarily need an ODE to perform the modeling, however. Just understanding what the rates of change are going to be over time is enough. Simple interest rate calculations work this way. If we have a bank account earning interest all we need to know is the initial amount in the account, the interest rate (and how it’s compounded), and how long we want to wait for the account to grow. If we additionally make periodic withdrawals from the account we only need to know how much each one is and when it is made. A simple computer program can be written to handle the iterations over time. We could also model the effects of inflation if we wanted our account balances in constant 2024 dollars, for example. Here we would simply discount the total in the account by the inflation rate every year (or quarter or month). We could certainly use an ODE to perform these calculations but financial calculations are typically performed over fixed periods of time whereas ODEs work best for truly continuous variations. Social systems, like financial calculations, are also frequently modeled over fixed periods of time (eg women in the US have about 10,000 babies a day, whereas about 7,500 people die every day). One might say this means it’s discrete but for modeling purposes it is handled as continuous.

This type of model was used in the Limits to Growth and is used by commercial simulators, such as Vensim (see below). It is also relatively simple to program in a language with good mathematical library support (eg Python).

Another class of software is discrete event simulation which models systems in time and uses events to change their behavior. It is used heavily in logistics applications, such as train scheduling. Suppose we have a number of trains that transport cargo to a central hub and from there the cargo is forwarded on outgoing trains. If one of the incoming trains is delayed by a bridge closure, how does that delay affect the rest of the system? How do we schedule the trains to minimize overall delays which taking into account some probability of such closures? Discrete event simulators can yield these answers.

A closely related category is agent-based simulation. In this case we model a number of individual agents, provide them with rules, and watch their interactions in the simulator. War gaming often uses agent based simulations (and real people inserted into the simulation) since much of what happens is driven by the semi-random nature of what each individual does. Agent-based simulation provides, as the name implies, a degree of agency to the individuals in the simulation.

These three types of simulation can be tied together. For example, we might develop subsystems using a continuous approach because this is conducive to more rigorous engineering modeling. Those subsystems might then be combined into whole systems which can interact with each other using a discrete event or agent-based approach.

Continuous

Vensim https://vensim.com/

Stella https://www.iseesystems.com/

Simulink https://www.mathworks.com/products/simulink.html

Discrete-Event

Simpy https://simpy.readthedocs.io/en/latest/contents.html

VeriLogger Extreme https://www.syncad.com/verilogger_verilog_simulator.htm

SimEvents https://www.mathworks.com/products/simevents.html

Agent Based

MASON https://cs.gmu.edu/~eclab/projects/mason/

Repast https://repast.github.io/index.html

SWARM https://www.swarm.org/wiki/Main_Page

All 3

Anylogic https://www.anylogic.com

Simio https://www.simio.com