Neal’s Funnel Distribution

class pints.toy.NealsFunnelLogPDF(dimensions=10)[source]

Toy distribution based on a d-dimensional distribution of the form,

\[f(x_1, x_2,...,x_d,\nu) = \left[\prod_{i=1}^d\mathcal{N}(x_i|0,e^{\nu/2})\right] \times \mathcal{N}(\nu|0,3)\]

where x is a d-dimensional real. This distribution was introduced in [1].

Extends pints.toy.ToyLogPDF.

Parameters:

dimensions (int) – The dimensionality of funnel (by default equal to 10) which must exceed 1.

References

distance(samples)[source]

See pints.toy.ToyLogPDF.distance().

evaluateS1(x)[source]

See LogPDF.evaluateS1().

kl_divergence(samples)[source]

Calculates the KL divergence of samples of the \(nu\) parameter of Neal’s funnel from the analytic \(\mathcal{N}(0, 3)\) result.

marginal_log_pdf(x, nu)[source]

Yields the marginal density \(\text{log } p(x_i,\nu)\).

mean()[source]

Returns the mean of the target distribution in each dimension.

n_parameters()[source]

See pints.LogPDF.n_parameters().

sample(n_samples)[source]

See pints.toy.ToyLogPDF.sample().

suggested_bounds()[source]

See pints.toy.ToyLogPDF.suggested_bounds().

var()[source]

Returns the variance of the target distribution in each dimension. Note \(nu\) is the last entry.