bayespy.nodes.Exponential

class bayespy.nodes.Exponential(l, **kwargs)[source]

Node for exponential random variables.

Warning

Use Gamma instead of this. Exponential(l) is equivalent to Gamma(1, l).

Parameters:

l (gamma-like node or scalar or array) – Rate parameter

See also

Gamma, Poisson

Notes

For simplicity, this is just a gamma node with the first parent fixed to one. Note that this is a bit inconsistent with the BayesPy philosophy which states that the node does not only define the form of the prior distribution but more importantly the form of the posterior approximation. Thus, one might expect that this node would have exponential posterior distribution approximation. However, it has a gamma distribution. Also, the moments are gamma moments although only E[x] would be the moment of a exponential random variable. All this was done because: a) gamma was already implemented, so there was no need to implement anything, and b) people might easily use Exponential node as a prior definition and expect to get gamma posterior (which is what happens now). Maybe some day a pure Exponential node is implemented and the users are advised to use Gamma(1,b) if they want to use an exponential prior distribution but gamma posterior approximation.

__init__(l, **kwargs)[source]

Create gamma random variable node

Methods

__init__(l, **kwargs)

Create gamma random variable node

add_plate_axis(to_plate)

as_diagonal_wishart()

as_wishart([ndim])

broadcasting_multiplier(plates, *args)

delete()

Delete this node and the children

diag()

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_parameters(*args)

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.

save(filename)

set_parameters(x)

Set the parameters of the VB distribution.

set_plotter(plotter)

show()

Print the distribution using standard parameterization.

unobserve()

update([annealing])

Attributes

dims

plates

plates_multiplier

Plate multiplier is applied to messages to parents