Model calibration

Ben Bolker

2022-06-14

This document is intended to give a more detailed description (beyond what’s described in the “Getting Started” vignette) of model calibration with MacPan.

Initial (kernel-based) parameter calibration

The fix_pars function takes an initial/baseline set of parameters and user-specified values of summary “moments” of the parameters (one or more of the intrinsic growth rate \(r\), the intrinsic reproductive number \(R_0\), and the generation interval \(\bar G\)). For each summary metric, the user also gives a set of parameters that are to be adjusted (all by the same multiplier) to achieve the target. The function returns an adjusted set of parameters that correspond to the requested metrics.

This step is useful to get the initial values into a reasonable ballpark, or to adjust parameters that will not be tuned in the full calibration step.

Breakpoint-based calibration

Time-varying parameters

In general, time-varying parameters are specified by a data frame (params_timevar argument) of the following form:

        Date Symbol Relative_value
1 2020-03-23  beta0             0.9
2 2020-03-30  beta0             NA
3 2020-04-01  beta0             1.2

where Date is the date of a breakpoint Symbol refers to the name of a value in the parameter vector. If numeric, Relative_value is the relative value (i.e., relative to the value in the baseline params vector) to switch to at the specified date. If NA, the relative value will be a calibrated parameter.

The opt_pars list specifies which parameters to calibrate, and their starting value:

Log-linear calibration

Computational details

optim vs DEoptim

Obsolete material

Describe model calibration here: by (1) MLE fitting or (2) log-linear regression to exponential-phase data.

OLD (phenomenological) Log-linear method

The top-level function is calibrate(): the machinery is in R/calibrate.R

Possible calibration issues:


Brain dump from e-mail:

Our calibration is/will be based on

Note that we could fake a testing lag (for now) by simple post-hoc adjustment of case times vs. other times. Don’t yet have a good solution for dependence of case numbers on testing intensity though (see testing_flow.md).

priors