SliceMCMC
Purpose
SliceMCMC uses directional slice-style proposals.
Full Sampling Section Keys
Sampling.Method(required): must beSliceMCMC.Sampling.Variables(required):name,description,distribution.type,distribution.parameters- runtime-safe parameter sets:
Flat(min,max),Log(min,max),Normal(mean,stddev),Log-Normal(mean,stddev),Logit(location,scale) Sampling.LogLikelihood(required): array of{name, expression}Sampling.selection(optional, string)Sampling.Bounds:- base keys:
num_chains,num_iters,proposal_scale - slice keys:
slice_mode(optional, string, defaultrandom_direction)slice_width(optional, number, default0.2)slice_max_steps_out(optional, integer, default16)slice_max_shrink(optional, integer, default32)slice(optional object alias):mode,width,max_steps_out,max_shrink
Full Skeleton
Sampling:
Method: "SliceMCMC"
Variables:
- name: x
description: variable x
distribution:
type: Flat
parameters:
min: -5
max: 5
LogLikelihood:
- name: L_x
expression: "-0.5*(x/1.0)^2"
Bounds:
num_chains: 6
num_iters: 9000
proposal_scale: [0.08, 0.08, 0.08, 0.08, 0.08, 0.08]
slice_mode: random_direction
slice_width: 0.25
slice_max_steps_out: 20
slice_max_shrink: 40
slice:
mode: random_direction
width: 0.25
max_steps_out: 20
max_shrink: 40
Example
Sampling:
Method: "SliceMCMC"
Variables:
- name: x
description: variable x
distribution:
type: Flat
parameters:
min: -5
max: 5
LogLikelihood:
- name: L_x
expression: "-0.5*(x/1.0)^2"
Bounds:
num_chains: 6
num_iters: 9000
proposal_scale: [0.08, 0.08, 0.08, 0.08, 0.08, 0.08]
slice_mode: random_direction
slice_width: 0.25
slice_max_steps_out: 20
slice_max_shrink: 40