bayespy.nodes.GaussianARD

class bayespy.nodes.GaussianARD(mu, alpha, ndim=None, shape=None, **kwargs)[source]

Node for Gaussian variables with ARD prior.

The node represents a D-dimensional vector from the Gaussian distribution:

\mathbf{x} &\sim \mathcal{N}(\boldsymbol{\mu}, \mathrm{diag}(\boldsymbol{\alpha})),

where \boldsymbol{\mu} is the mean vector and \mathrm{diag}(\boldsymbol{\alpha}) is the diagonal precision matrix (i.e., inverse of the covariance matrix).

\mathbf{x},\boldsymbol{\mu} \in \mathbb{R}^{D}, \quad \alpha_d > 0 \text{
for } d=0,\ldots,D-1

Note: The form of the posterior approximation is a Gaussian distribution with full covariance matrix instead of a diagonal matrix.

Parameters
muGaussian-like node or GaussianGamma-like node or array Mean vector
alphagamma-like node or array

Diagonal elements of the precision matrix

__init__(mu, alpha, ndim=None, shape=None, **kwargs)[source]

Create GaussianARD node.

Methods

__init__(mu, alpha[, ndim, shape])

Create GaussianARD node.

add_plate_axis(to_plate)

broadcasting_multiplier(plates, *args)

delete()

Delete this node and the children

get_gradient(rg)

Computes gradient with respect to the natural parameters.

get_mask()

get_moments()

get_parameters()

Return parameters of the VB distribution.

get_pdf_nodes()

get_riemannian_gradient()

Computes the Riemannian/natural gradient.

get_shape(ind)

has_plotter()

Return True if the node has a plotter

initialize_from_mean_and_covariance(mu, Cov)

initialize_from_parameters(mu, alpha)

initialize_from_prior()

initialize_from_random()

Set the variable to a random sample from the current distribution.

initialize_from_value(x, *args)

load(filename)

logpdf(X[, mask])

Compute the log probability density function Q(X) of this node.

lower_bound_contribution([gradient, …])

Compute E[ log p(X|parents) - log q(X) ]

lowerbound()

move_plates(from_plate, to_plate)

observe(x, *args[, mask])

Fix moments, compute f and propagate mask.

pdf(X[, mask])

Compute the probability density function of this node.

plot([fig])

Plot the node distribution using the plotter of the node

random()

Draw a random sample from the distribution.

rotate(R[, inv, logdet, axis, Q, subset, debug])

rotate_plates(Q[, plate_axis])

Approximate rotation of a plate axis.

save(filename)

set_parameters(x)

Set the parameters of the VB distribution.

set_plotter(plotter)

show()

Print the distribution using standard parameterization.

translate(b[, debug])

Transforms the current posterior by adding a bias to the mean

unobserve()

update([annealing])

Attributes

dims

plates

plates_multiplier

Plate multiplier is applied to messages to parents