InferenceΒΆ
Marginal inference (or just inference) is the process of reifying the distribution on return values implicitly represented by a stochastic computation.
(In general, computing this distribution is intractable, so often the goal is to compute an approximation to it.)
This is achieved in WebPPL using the Infer
function, which takes a
function of zero arguments representing a stochastic computation and
returns the distribution on return values represented as a
distribution object. For example:
Infer(function() {
return flip() + flip();
});
This example has no inference options specified. By default, Infer
will perform inference using one of the methods among enumeration,
rejection sampling, SMC and MCMC. The method to use is chosen by a decision
tree based on the characteristics of the given model, such as whether it
is enumerable in a timely manner, whether there are interleaving
samples and factors etc. Several other implementations of marginal
inference are also built into WebPPL. Information about the individual
methods is available here: