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
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.
Methods
__init__
(l, **kwargs)Create gamma random variable node
add_plate_axis
(to_plate)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
()Return parameters of the VB distribution.
Computes the Riemannian/natural gradient.
get_shape
(ind)Return True if the node has a plotter
initialize_from_parameters
(*args)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) ]
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 the parameters of the VB distribution.
set_plotter
(plotter)show
()Print the distribution using standard parameterization.
update
([annealing])Attributes
Plate multiplier is applied to messages to parents