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...>]

__init__(alpha, **kwargs)[source]

Create beta node

Methods

 __init__(alpha, **kwargs) Create beta node add_plate_axis(to_plate) broadcasting_multiplier(plates, *args) Delete this node and the children Computes gradient with respect to the natural parameters. Return parameters of the VB distribution. Computes the Riemannian/natural gradient. get_shape(ind) Return True if the node has a plotter 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 Draw a random sample from the distribution. save(filename) Set the parameters of the VB distribution. set_plotter(plotter) Print the distribution using standard parameterization. update([annealing])

Attributes

 dims plates plates_multiplier Plate multiplier is applied to messages to parents