15.1 Model Building

Model building is a fairly involved process that includes several unavoidable steps:

  • There must be some motivation for building a model, which usually starts with a conversation, boxes and arrows drawn on paper or a chalkboard or whiteboard. The process involves refining the questions, until there’s a well-formed idea – a reason for building a model.

  • The idea gets translated into mathematics. The boxes get translated into variables, the arrows are rate parameters, a mathematical formalism is selected.

  • The model gets analyzed. In some cases, when the model complexity exceeds a very low threshold on complexity, this is done with pencil and paper. It is only possible to analyze individual parts of the model this way.

  • The model gets translated into pseudo-code, and then it gets implemented as software that can produce output. This is followed by a long and painful process of verifying that the software does what the pseudo-code says it should do. After awhile, the software is trusted, and it’s time to use it.

  • Some thought is given to the correspondence between the variables in a model, observable quantities, and the observational process itself. This process can be a part of what happens above, but at some point, the models need to be fitted to data.

  • The software produces output and then: the outputs are visualized; models are fitted to data; graphs are made; papers or reports are published; and careers advance.

That’s the simple story of model development. What happens next is could be one of the following:

  • Someone re-examines an existing model and notices it is inadequate in some way: it is missing some features, or it might make an assumption that ought to be modified. Simple models become spatial models, single populations are structured.

  • Someone decides to implement the model in a different way, perhaps with a different mathematical formalism. Continuous time models are translated into discrete time models. Deterministic models become stochastic. Autonomous processes become non-autonomous.

Through this process, hundreds of malaria models were published.

A problem with this process has been that the software is often developed for bespoke tasks (i.e. to publish a paper). The software is often poorly documented and difficult to reuse. The costs of building a model for one task limited the complexity of the model. It was difficult to combine elements of one model developed for one purpose, with someone else’s model developed for another purpose.

In malaria, this ad hoc process of writing new models was found to be inadequate to serve the broad range of policy questions. One way of dealing with the complexity was to build individual-based models, but individual-based models have some of the same limitations as reality.