c-rutter / imabc

Home Page:https://c-rutter.github.io/imabc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Continue Runs

cmaerzluft opened this issue · comments

Allow for previous run results and objects to be resubmitted to the function if they aren't completed yet.

Multiple phases:

  1. Straight restart - nothing has changed between run attempts
  2. Target modification - Targets can be added and/or removed between one run and the next
  3. Parameter modification - Parameters can be added and/or removed between one run the next

UPDATED: 7/16/20
Straight restart is now implemented.

Straight restart is implemented with #17.

Dev branch code revised to allow a straight continuation (phase 1) or a "warm start", meaning the algorithm will accept a user-provided sample of model parameters. The warm start partially addresses phases 2 and 3. The user can modify targets (phase 2) and can revise the parameters (phase 3). Adding parameter(s) would require the user to think about how to add sampled values for this unknown parameter. This adds functionality but does not fully address the phase 2 goal.

Using the warm start approach is complicated by the sampling assumptions that underlie the imabc algorithm. At this time, the warm start is most useful for troubleshooting the algorithm.

Issue: the algorithm requires calculation of the prior density for all parameters. At this time, the algorithm only allows independent uniform or truncated normal prior distributions. The algorithm does not have a mechanism for calculating the prior density when the parameter values provided for a warm start, even if these reflect a mixture distribution built up from a previous imabc run. The ability to carry forward these distributions will be required to implement phases 2 (target modification). Phase 3 (parameter modification) is more complicated.

One point for clarification, on this point:

When using the warm start approach, it is important to understand that the sample provided is assumed to be drawn from the prior distribution of model parameters, with uniform priors specified to indicate the prior ranges.

Is the point here that the uniform priors are used just for the prior ranges? That is, we'd assume that the warm start is a sample from, e.g., a posterior generated previously, but that the parameter ranges are needed to constrain the parameter space, and we only use the prior ranges to do the latter. Or am I misunderstanding the intent of the warm start and prior specifications?

@jozik I have edited my comment: it was wrong. The use of warm start is complicated by the need to be able to calculate prior densities for all sampled parameters. Warm start is best viewed as an exploration tool and a step toward our phase 2 goal of being able to add/revise targets.

@carolyner thanks! Could the empirical densities be used directly, either easily now or with some modifications later?

@jozik No, the empirical densities cannot be used directly and we don't have plans to include them. Phase 2 would use the mixture distribution in combination with the original prior distributions. An alternative to using the warm start would be to use samples to estimate marginal truncated normal (TN) distributions for each parameter and then start the algorithm with these informative priors. TN distributions are flexible but they are unimodal so this approach would not allow specification of multi-modal priors, nor would it allow specification of a priori correlation among parameters.