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:

mu : Gaussian-like node or GaussianGamma-like node or array Mean vector

alpha : gamma-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