-
Notifications
You must be signed in to change notification settings - Fork 2
Description
We would like to allow for the user to specify a schedule that allows for different adaptation strategies to be used at different points during warm-up.
For example:
Stage 1: For the first 50 iterations, adapt the scale and use the identity matrix as a fixed proposal covariance.
Stage 2: For the next 50 iterations adapt the scale, and adaptively learn a diagonal proposal covariance.
Stage 3: For the remaining warm-up iterations adapt the scale and adaptively learn a dense proposal covariance.
At each stage adaptation parameters would be initialised at the values at the end of the previous stage.
This could be specified as an argument in the sample_chain function as
results <- sample_chain(
# Other arguments
adapters = list(
list(scale_adapter(), fixed_shape(), 50), # Stage 1 (scale adapter, shape adapter, number of iterations)
list(scale_adapter(), variance_shape_adapter(), 50), # Stage 2 (scale adapter, shape adapter, number of iterations)
# Stage 3 (scale adapter, shape adapter)
# Number of iterations taken as remaining warm-up iterations
list(scale_adapter(), covariance_shape_adapter())
)
)
In addition to the above, is it possible for the user to fix either the scale or shape of the proposal but learn the other adaptively?