# bayespy.nodes.Binomial¶

class bayespy.nodes.Binomial(n, p, **kwargs)[source]

Node for binomial random variables.

The node models the number of successes in trials with probability for success:

Parameters:
• n (scalar or array) – Number of trials

• p (beta-like node or scalar or array) – Probability of a success in a trial

Examples

>>> import warnings
>>> warnings.filterwarnings('ignore', category=RuntimeWarning)
>>> from bayespy.nodes import Binomial, Beta
>>> p = Beta([1e-3, 1e-3])
>>> x = Binomial(10, p)
>>> x.observe(7)
>>> 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__(n, p, **kwargs)[source]

Create binomial node

Methods

 __init__(n, p, **kwargs) Create binomial 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