# bayespy.nodes¶

Package for nodes used to construct the model.

## Stochastic nodes¶

Nodes for Gaussian variables:

 `Gaussian`(mu, Lambda, \*\*kwargs) Node for Gaussian variables. `GaussianARD`(mu, alpha[, ndim, shape]) Node for Gaussian variables with ARD prior.

Nodes for precision and scale variables:

 `Gamma`(a, b, \*\*kwargs) Node for gamma random variables. `Wishart`(n, V, \*\*kwargs) Node for Wishart random variables. `Exponential`(l, \*\*kwargs) Node for exponential random variables.

Nodes for modelling Gaussian and precision variables jointly (useful as prior for Gaussian nodes):

 `GaussianGamma`(\*args, \*\*kwargs) Node for Gaussian-gamma (isotropic) random variables. `GaussianWishart`(\*args, \*\*kwargs) Node for Gaussian-Wishart random variables.

Nodes for discrete count variables:

 `Bernoulli`(p, \*\*kwargs) Node for Bernoulli random variables. `Binomial`(n, p, \*\*kwargs) Node for binomial random variables. `Categorical`(p, \*\*kwargs) Node for categorical random variables. `Multinomial`(n, p, \*\*kwargs) Node for multinomial random variables. `Poisson`(l, \*\*kwargs) Node for Poisson random variables.

Nodes for probabilities:

 `Beta`(alpha, \*\*kwargs) Node for beta random variables. `Dirichlet`(\*args, \*\*kwargs) Node for Dirichlet random variables.

Nodes for dynamic variables:

 `CategoricalMarkovChain`(pi, A[, states]) Node for categorical Markov chain random variables. `GaussianMarkovChain`(mu, Lambda, A, nu[, n, ...]) Node for Gaussian Markov chain random variables. `SwitchingGaussianMarkovChain`(mu, Lambda, B, ...) Node for Gaussian Markov chain random variables with switching dynamics. `VaryingGaussianMarkovChain`(mu, Lambda, B, S, nu) Node for Gaussian Markov chain random variables with time-varying dynamics.

Other stochastic nodes:

 `Mixture`(z, node_class, \*params[, cluster_plate]) Node for exponential family mixture variables.

Point-estimation nodes:

 `MaximumLikelihood`(array[, regularization]) `Concentration`(D[, regularization]) `GammaShape`(\*\*kwargs) ML point estimator for the shape parameter of the gamma distribution

## Deterministic nodes¶

 `Dot`(\*args, \*\*kwargs) Node for computing inner product of several Gaussian vectors. `SumMultiply`(\*args[, iterator_axis]) Node for computing general products and sums of Gaussian nodes. `Add`(\*nodes, \*\*kwargs) Node for computing sums of Gaussian nodes: . `Gate`(Z, X[, gated_plate, moments]) Deterministic gating of one node. `Take`(node, indices[, plate_axis]) Choose elements/sub-arrays along a plate axis `Function`(function, \*nodes_gradients[, shape]) `ConcatGaussian`(\*nodes, \*\*kwargs) Concatenate Gaussian vectors along the variable axis (not plate axis) `Choose`(z, \*nodes) Choose plate elements from nodes based on a categorical variable.