pymc.Interpolated#

class pymc.Interpolated(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)[source]#

Univariate probability distribution defined as a linear interpolation of probability density function evaluated on some lattice of points.

The lattice can be uneven, so the steps between different points can have different size and it is possible to vary the precision between regions of the support.

The probability density function values don not have to be normalized, as the interpolated density is any way normalized to make the total probability equal to $1$.

Both parameters x_points and values pdf_points are not variables, but plain array-like objects, so they are constant and cannot be sampled.

(Source code, png, hires.png, pdf)

../../../_images/pymc-Interpolated-1.png

Support

\(x \in [x\_points[0], x\_points[-1]]\)

Parameters
x_pointsarray_like

A monotonically growing list of values. Must be non-symbolic.

pdf_pointsarray_like

Probability density function evaluated on lattice x_points. Must be non-symbolic.

Methods

Interpolated.__init__(*args, **kwargs)

Interpolated.dist(x_points, pdf_points, ...)

Creates a tensor variable corresponding to the cls distribution.

Interpolated.logp(x_points, pdf_points, ...)

Calculate log-probability of Interpolated distribution at specified value.

Interpolated.moment(size, x_points, ...)

Estimates the expectation integral using the trapezoid rule; cdf_points are not used.

Attributes

bound_args_indices

rv_op