# bayespy.nodes.Multinomial¶

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

Node for multinomial random variables.

Assume there are categories and trials each of which leads a success for exactly one of the categories. Given the probabilities for the categories, multinomial distribution is gives the probability of any combination of numbers of successes for the categories.

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

Parameters
nscalar or array

, number of trials

pDirichlet-like node or (…,K)-array

, probabilities of successes for the categories

__init__(n, p, **kwargs)[source]

Create Multinomial node.

Methods

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