Tuesday, November 22, 2016

Information equilibrium in agent-based models

In response to this post (or at least the link to it on Twitter), Ian Wright directed me to his paper using a Closed Social Architecture (CSA) agent-based model based on random agent actions that happily included Mathematica code that I was able to get up and running in no time. Here is the abstract:
A large market economy has a huge number of degrees of freedom with weak micro-level coordination. The "implicit microfoundations" approach considers this property of micro-level interactions to more strongly determine macro-level outcomes compared to the precise details of individual choice behavior; that is, the "particle" nature of individuals dominates their "mechanical" nature. So rather than taking an "explicit microfoundations" approach, in which individuals are represented as "white-box" sources of fully-specified optimizing behavior ("rational agents"), we instead represent individuals as "black box" sources of unpredictable noise subject to objective constraints ("zero-intelligence agents"). To illustrate the potential of the approach we examine a parsimonious, agent-based macroeconomic model with implicit microfoundations. It generates many of the reported empirical distributions of capitalist economies, including the distribution of income, firm sizes, firm growth, GDP and recessions.
My emphasis. This is essentially the idea behind the maximum entropy approaches that underlie the information transfer framework. I decided to test for information equilibrium (IE) relationships in the outputs of the model (I did a simple version with only 100 agents and 100 time steps) and found a few. Specifically:


where W are total wages of employees, U is the total number of people unemployed and P is the total profit of firms. In each case, I took the IT index to be 1 (allowing it to vary doesn't change much). The first two are IE relationships I've previously observed in macro data; the last one is new. The first one is not that surprising -- total output in this model is effectively NGDP = W + P, and since P is small (W ~ 70% of NGDP), W ~ NGDP. In the following, the IE model is blue while the data is yellow [1]:

The other two are non-trivial:

One wouldn't expect high unemployment to be associated with high output, and I'm not sure of the mechanism generating it (note that unemployment is very noisy in this model). Note that since NGDP ⇄ U is a reasonable description, this let's us define a price level p ~ NGDP/U per the IE version of the model. Here is an example trajectory for output in terms of unemployment NGDP = f(U) and the corresponding price level p = f(NGDP, U) = dNGDP/dU:

I plan on trying to add growth to the CSA model so that we can see some non-trivial IE relationships with IT index k ≠ 1.


PS As I was exploring, I came up with different things to look at, and since the model is stochastic, I didn't have the same outputs each time because I didn't seed the random number generator. Basically, the first 3 graphs in the post above are a single economy, the next 2 are a different economy (but correspond to each other), and the last two profit graphs and the two unemployment graphs in the footnote correspond to each other.



[1] I ran the model several times and here are some example outputs for profit:

And here are a couple of output-unemployment models (corresponding to the last two profit graphs above):

No comments:

Post a Comment

Comments are welcome. Please see the Moderation and comment policy.

Also, try to avoid the use of dollar signs as they interfere with my setup of mathjax. I left it set up that way because I think this is funny for an economics blog. You can use € or £ instead.