bayespy.nodes.Binomial

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

Node for binomial random variables.

The node models the number of successes x \in \{0, \ldots, n\} in n trials with probability p for success:

x \sim \mathrm{Binomial}(n, p).

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(*args)
delete() Delete this node and the children
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