bayespy.nodes.Beta¶
- class bayespy.nodes.Beta(alpha, **kwargs)[source]¶
Node for beta random variables.
The node models a probability variable as
where and are prior counts for success and failure, respectively.
- Parameters:
alpha ((...,2)-shaped array) – Two-element vector containing and
Examples
>>> import warnings >>> warnings.filterwarnings('ignore', category=RuntimeWarning) >>> from bayespy.nodes import Bernoulli, Beta >>> p = Beta([1e-3, 1e-3]) >>> z = Bernoulli(p, plates=(10,)) >>> z.observe([0, 1, 1, 1, 0, 1, 1, 1, 0, 1]) >>> p.update() >>> import bayespy.plot as bpplt >>> import numpy as np >>> bpplt.pdf(p, np.linspace(0, 1, num=100)) [<matplotlib.lines.Line2D object at 0x...>]
Methods
__init__
(alpha, **kwargs)Create beta 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
()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