|
Model Optimisation, Fitting, or Calibration
We define model optimisation as the process of adjusting the parameters
of a model in order to minimise (or maximise) some quantity calculated
by the model.
Model fitting or calibration (the terms seem to be used inter-changeably)
is the special case where the quantity to be minimised is a quantity
which measures the distance between predicted and observed values
(e.g. residual sums of squares).
These definitions require a definition of the term 'parameter!'.
We define parameters as constants whose value must be set before
a model can be evaluated. They may be known values (e.g. the charge
on the electron), physically meaningful values (e.g. soil hydraulic
conductivity), or arbitrary values used empirically within a model
(e.g. fudge factors!).
It is common for some model parameters to be estimated by fitting
the model to observed data. This task can be difficult! We approach
it in a number of ways.
|
Classical Model Fitting
Classical numerical optimisation methods can be applied to simulation
models fairly easily. We have used methods such as Powell's conjugate
vector method, Simplex and for model fitting Marquardt (lots of
practice with this).
In the case of Marquardt 'slope' information is required and in
the case of simulation models we typically obtained numerically
(i.e. re-running the model to estimate the slope for a small finite
difference in each parameter value).
If sensible starting estimates for parameters are available then
we find Marquardt works well, and is not too numerically intensive.
The well known drawback is that it is a deterministic method and
therefore can be prone to getting lost in false minima, especially
if good starting parameter estimates are not available.
All these methods are well described in the classic Numerical
Recipes book.
Our MatLab implementation of Marquardt (developed by Tim Reid)
is available [click here]
Stochastic Model Fitting
A range of stochastic methods have been developed to try and overcome
the problem of local minima in optimisation surfaces. Most notably
these are simulated annealing and genetic optimisation. They are
numerically intensive (not always a limitation) and, in our experience,
can work very well, once their setup is customised for the particular
application (not always easy).
Lots of online information (e.g. simulated
annealing; genetic
algorithms)
Our local implementations are not currently available (not because
they are secret; just because we haven't had a chance to make them
presentable).
Bayesian Model Calibration (i.e. Monte Carlo Markov Chain)
This is quickly becoming a standard method for model fitting. As
with the other stochastic methods it is numercally intensive but
does, in our experience, generally find the global minimum even
if provided with only rough initial parameter estimates (although
of course this does depend on the application to some extent).
The method requires less customisation to a particular problem,
than for example simulated annealing. Whats more it doesn't just
find the best fitting parameter set, but rather their joint posterior
distribution.
A good introduction in the context of environmental models is:
Bayesian calibration of process-based forest models: bridging
the gap between models and data Van Oijen M, Rougier J, Smith
R Source (2005) TREE PHYSIOLOGY 25: 915-927.
|