“Things should be made as simple as possible – but no simpler.” (Albert Einstein)
Mathematical models are abstractions of complex systems. Such systems are used in physical sciences, and also in social science disciplines such as economics. In their book Complex Adaptive Systems, Miller and Page have some important advice about good practice for modeling. Here are some of their points with brief comments:
- Keep the model simple: a simple and easy to analyse but expressive model should be the goal.
- Focus on the science, not the computer: the quality of the model is more important than fancy graphics or the type of software used.
- Avoid black boxes: it is best for each part of the model to be as well understood as possible.
- Nest your models: check the outputs for special conditions and take these conditions into account
- Have tunable dials: have a flexible method of controlling assumptions. This will help you to avoid extra work later on.
- Create multiple implementations: it might be better to model key modeling variations in different ways.
- Check the parameters: sensitivity analysis of important parameters is essential
- Document code: (doesn’t require much justification!)
- Beware of debugging bias: people tend to debug more when they get unexpected results, which may actually be correct.
- Avoid false precision: being reasonable and taking into account uncertainty is important to give sensible results.
- Distribute your code: software which can easily be accessed by different users is preferable.
- Keep a lab notebook: (for record keeping)
- Prove your results: (verify everything!)