What is a good model? A tweet by my colleague Hiroki Sayama a while ago prompted me to see if I could formulate my own description.
— Hiroki Sayama (@HirokiSayama) August 21, 2015
Another reason this is worth contemplating for me is that I’m teaching a class in complex systems & agent-based models partly using Sayama’s great book. Of course there is an entire field of philosophy dealing with this, but I think a practical-minded scientist can allow her/himself to be a bit more succinct. So here’s my take:
There are both objective and relative aspects to this question, and in any kind of explanation you need to mention both.
It has to be able to predict something about the real system. This also implies it should be falsifiable.
If the model’s purpose is explanation, not only prediction, it has to either reduce the hypotheses of the original system, or identify mechanisms. This implies it has to be as simple as possible.
It should be possible to simulate, analyze, and describe it fairly easy and fast. This also means in- and output should be easy to match with empirical data.
A new model has to be able to do the above, at least some aspects of it, better than existing models.
For an understudied or complicated problem, you can demand less (in terms of the above criteria) of a good model.