queens.variational_distributions package#

Variational distributions.

Modules containing probability distributions for variational inference.

Submodules#

queens.variational_distributions.full_rank_normal module#

Full-Rank Normal Variational Distribution.

class FullRankNormalVariational(dimension)[source]#

Bases: VariationalDistribution

Full-rank multivariate normal distribution.

Uses the parameterization (as in [1]) \(parameters=[\mu, \lambda]\), where \(\mu\) are the mean values and \(\lambda\) is an array containing the nonzero entries of the lower Cholesky decomposition of the covariance matrix \(L\): \(\lambda=[L_{00},L_{10},L_{11},L_{20},L_{21},L_{22}, ...]\). This allows the parameters \(\lambda\) to be unconstrained.

References

[1]: Kucukelbir, Alp, et al. “Automatic differentiation variational inference.”

The Journal of Machine Learning Research 18.1 (2017): 430-474.

n_parameters#

Number of parameters used in the parameterization.

Type:

int

conduct_reparameterization(variational_parameters, n_samples)[source]#

Conduct a reparameterization.

Parameters:
  • variational_parameters (np.ndarray) – Array with variational parameters

  • n_samples (int) – Number of samples for current batch

Returns:
  • samples_mat (np.ndarray) – Array of actual samples from the variational

  • distribution

static construct_variational_parameters(mean, covariance)[source]#

Construct the variational parameters from mean and covariance.

Parameters:
  • mean (np.ndarray) – Mean values of the distribution (n_dim x 1)

  • covariance (np.ndarray) – Covariance matrix of the distribution (n_dim x n_dim)

Returns:

variational_parameters (np.ndarray) – Variational parameters

draw(variational_parameters, n_draws=1)[source]#

Draw n_draw samples from the variational distribution.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • n_draws (int) – Number of samples to draw

Returns:

samples (np.ndarray) – Row-wise samples of the variational distribution

export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

fisher_information_matrix(variational_parameters)[source]#

Compute the Fisher information matrix analytically.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

FIM (np.ndarray) – Matrix (num parameters x num parameters)

grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. to the variational parameters.

Evaluated at samples x. Also known as the score function.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

score (np.ndarray) – Column-wise scores

grad_params_reparameterization(variational_parameters, standard_normal_sample_batch, upstream_gradient)[source]#

Calculate the gradient of the reparameterization.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • standard_normal_sample_batch (np.ndarray) – Standard normal distributed sample batch

  • upstream_gradient (np.array) – Upstream gradient

Returns:

gradient (np.ndarray) – Gradient of the upstream function w.r.t. the variational parameters.

Note:

We assume that grad_reconstruct_params is a row-vector containing the partial derivatives of the reconstruction mapping of the actual distribution parameters w.r.t. the variational parameters.

The variable jacobi_parameters is the (n_parameters \(\times\) dim_sample) Jacobi matrix of the reparameterization w.r.t. the distribution parameters, with differentiating after the distribution parameters in different rows and different output dimensions of the sample per column.

grad_sample_logpdf(variational_parameters, sample_batch)[source]#

Computes the gradient of the logpdf w.r.t. to the x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • sample_batch (np.ndarray) – Row-wise samples

Returns:
  • gradients_batch (np.ndarray) – Gradients of the log-pdf w.r.t. the

  • sample *x*. The first dimension of the

  • array corresponds to the different samples.

  • The second dimension to different dimensions

  • within one sample. (Third dimension is empty

  • and just added to keep slices two-dimensional.)

initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

Default initialization:

\(\mu=0\) and \(L=diag(1)\) where \(\Sigma=LL^T\)

Random intialization:

\(\mu=Uniform(-0.1,0.1)\) \(L=diag(Uniform(0.9,1.1))\) where \(\Sigma=LL^T\)

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

logpdf(variational_parameters, x)[source]#

Logpdf evaluated using the at samples x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

logpdf (np.ndarray) – Row vector of the logpdfs

pdf(variational_parameters, x)[source]#

Pdf of evaluated at given samples x.

First computes the logpdf, which is numerically more stable for exponential distributions.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

pdf (np.ndarray) – Row vector of the pdfs

reconstruct_distribution_parameters(variational_parameters, return_cholesky=False)[source]#

Reconstruct mean value, covariance and its Cholesky decomposition.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • return_cholesky (bool, optional) – Return the L if desired

Returns:
  • mean (np.ndarray) – Mean value of the distribution (n_dim x 1)

  • cov (np.ndarray) – Covariance of the distribution (n_dim x n_dim)

  • L (np.ndarray) – Cholesky decomposition of the covariance matrix (n_dim x n_dim)

total_grad_params_logpdf(variational_parameters, standard_normal_sample_batch)[source]#

Total logpdf reparameterization gradient.

Total logpdf reparameterization gradient w.r.t. the variational parameters.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • standard_normal_sample_batch (np.ndarray) – Standard normal distributed sample batch

Returns:

total_grad (np.ndarray) – Total Logpdf reparameterization gradient

queens.variational_distributions.joint module#

Joint Variational Distribution.

class JointVariational(distributions, dimension)[source]#

Bases: VariationalDistribution

Joint variational distribution class.

This distribution allows to join distributions in an independent fashion: \(q(\theta|\lambda)=\prod_{i=1}^{N}q_i(\theta_i | \lambda_i)\)

NOTE: \(q_i(\theta_i | \lambda_i)\) can be multivariate or of different families. Hence it is a generalization of the mean field distribution

distributions#

List of variational distribution objects for the different independent distributions.

Type:

list

n_parameters#

Total number of parameters used in the parameterization.

Type:

int

distributions_n_parameters#

Number of parameters per distribution

Type:

np.ndarray

distributions_dimension#

Number of dimension per distribution

Type:

np.ndarray

construct_variational_parameters(distributions_parameters_list)[source]#

Construct the variational parameters from the distribution list.

Parameters:

distributions_parameters_list (list) – List of the parameters of the distributions

Returns:

variational_parameters (np.ndarray) – Variational parameters

draw(variational_parameters, n_draws=1)[source]#

Draw n_draw samples from the variational distribution.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • n_draws (int) – Number of samples to draw

Returns:

samples (np.ndarray) – Row wise samples of the variational distribution

export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

fisher_information_matrix(variational_parameters)[source]#

Approximate the Fisher information matrix using Monte Carlo.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

FIM (np.ndarray) – Matrix (num parameters x num parameters)

grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. the variational parameters.

Evaluated at samples x. Also known as the score function. Is a general implementation using the score functions of the components.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

score (np.ndarray) – Column-wise scores

initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

The distribution initialization is handle by the component itself.

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

logpdf(variational_parameters, x)[source]#

Logpdf evaluated using the variational parameters at samples x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

logpdf (np.ndarray) – Row vector of the logpdfs

pdf(variational_parameters, x)[source]#

Pdf evaluated using the variational parameters at given samples x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

pdf (np.ndarray) – Row vector of the pdfs

reconstruct_distribution_parameters(variational_parameters)[source]#

Reconstruct the parameters of distributions.

The list is nested, each entry correspond to the parameters of a distribution.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

distribution_parameters_list (list) – List of the distribution parameters of the components

split_array_by_chunk_sizes(array, chunk_sizes)[source]#

Split up array by a list of chunk sizes.

Parameters:
  • array (np.ndarray) – Array to be split

  • chunk_sizes (np.ndarray) – List of chunk sizes

Returns:

list – with the chunks

queens.variational_distributions.mean_field_normal module#

Mean-Field Normal Variational Distribution.

class MeanFieldNormalVariational(dimension)[source]#

Bases: VariationalDistribution

Mean field multivariate normal distribution.

Uses the parameterization (as in [1]): \(parameters=[\mu, \lambda]\) where \(\mu\) are the mean values and \(\sigma^2=exp(2 \lambda)\) the variances allowing for \(\lambda\) to be unconstrained.

References

[1]: Kucukelbir, Alp, et al. “Automatic differentiation variational inference.”

The Journal of Machine Learning Research 18.1 (2017): 430-474.

n_parameters#

Number of parameters used in the parameterization.

Type:

int

conduct_reparameterization(variational_parameters, n_samples)[source]#

Conduct a reparameterization.

Parameters:
  • variational_parameters (np.ndarray) – Array with variational parameters

  • n_samples (int) – Number of samples for current batch

Returns:
  • * samples_mat (np.ndarray) – Array of actual samples from the variational distribution

  • * standard_normal_sample_batch (np.ndarray) – Standard normal distributed sample batch

static construct_variational_parameters(mean, covariance)[source]#

Construct the variational parameters from mean and covariance.

Parameters:
  • mean (np.ndarray) – Mean values of the distribution (n_dim x 1)

  • covariance (np.ndarray) – Covariance matrix of the distribution (n_dim x n_dim)

Returns:

variational_parameters (np.ndarray) – Variational parameters

draw(variational_parameters, n_draws=1)[source]#

Draw n_draw samples from the variational distribution.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • n_draws (int) – Number of samples to draw

Returns:

samples (np.ndarray) – Row-wise samples of the variational distribution

export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

fisher_information_matrix(variational_parameters)[source]#

Compute the Fisher information matrix analytically.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

FIM (np.ndarray) – Matrix (n_parameters x n_parameters)

grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. the variational parameters.

Evaluated at samples x. Also known as the score function.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

score (np.ndarray) – Column-wise scores

grad_params_reparameterization(variational_parameters, standard_normal_sample_batch, upstream_gradient)[source]#

Calculate the gradient of the reparameterization.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • standard_normal_sample_batch (np.ndarray) – Standard normal distributed sample batch

  • upstream_gradient (np.array) – Upstream gradient

Returns:

gradient (np.ndarray) – Gradient of the upstream function w.r.t. the variational parameters.

Note

We assume that grad_reconstruct_params is a row-vector containing the partial derivatives of the reconstruction mapping of the actual distribution parameters w.r.t. the variational parameters.

The variable jacobi_parameters is the (n_parameters \(\times\) dim_sample) Jacobi matrix of the reparameterization w.r.t. the distribution parameters, with differentiating after the distribution parameters in different rows and different output dimensions of the sample per column.

grad_sample_logpdf(variational_parameters, sample_batch)[source]#

Computes the gradient of the logpdf w.r.t. to the x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • sample_batch (np.ndarray) – Row-wise samples

Returns:
  • gradients_batch (np.ndarray) – Gradients of the log-pdf w.r.t. the

  • sample *x*. The first dimension of the array corresponds to

  • the different samples. The second dimension to different dimensions

  • within one sample. (Third dimension is empty and just added to

  • keep slices two dimensional.)

initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

Default initialization:

\(\mu=0\) and \(\sigma^2=1\)

Random intialization:

\(\mu=Uniform(-0.1,0.1)\) and \(\sigma^2=Uniform(0.9,1.1)\)

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

logpdf(variational_parameters, x)[source]#

Logpdf evaluated using the variational parameters at samples x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

logpdf (np.ndarray) – Row vector of the logpdfs

pdf(variational_parameters, x)[source]#

Pdf of the variational distribution evaluated at samples x.

First computes the logpdf, which is numerically more stable for exponential distributions.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

pdf (np.ndarray) – Row vector of the pdfs

reconstruct_distribution_parameters(variational_parameters)[source]#

Reconstruct mean and covariance from the variational parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:
  • mean (np.ndarray) – Mean value of the distribution (n_dim x 1)

  • cov (np.ndarray) – Covariance matrix of the distribution (n_dim x n_dim)

total_grad_params_logpdf(variational_parameters, standard_normal_sample_batch)[source]#

Total logpdf reparameterization gradient.

Total logpdf reparameterization gradient w.r.t. the variational parameters.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • standard_normal_sample_batch (np.ndarray) – Standard normal distributed sample batch

Returns:

total_grad (np.ndarray) – Total Logpdf reparameterization gradient

queens.variational_distributions.mixture_model module#

Mixture Model Variational Distribution.

class MixtureModelVariational(base_distribution, dimension, n_components)[source]#

Bases: VariationalDistribution

Mixture model variational distribution class.

Every component is a member of the same distribution family. Uses the parameterization: \(parameters=[\lambda_0,\lambda_1,...,\lambda_{C},\lambda_{weights}]\) where \(C\) is the number of components, \(\\lambda_i\) are the variational parameters of the ith component and \(\\lambda_{weights}\) parameters such that the component weights are obtained by: \(weight_i=\frac{exp(\lambda_{weights,i})}{\sum_{j=1}^{C}exp(\lambda_{weights,j})}\)

This allows the weight parameters \(\lambda_{weights}\) to be unconstrained.

n_components#

Number of mixture components.

Type:

int

base_distribution#

Variational distribution object for the components.

n_parameters#

Number of parameters used in the parameterization.

Type:

int

construct_variational_parameters(component_parameters_list, weights)[source]#

Construct the variational parameters from the probabilities.

Parameters:
  • component_parameters_list (list) – List of the component parameters of the components

  • weights (np.ndarray) – Probabilities of the distribution

Returns:

variational_parameters (np.ndarray) – Variational parameters

draw(variational_parameters, n_draws=1)[source]#

Draw n_draw samples from the variational distribution.

Uses a two-step process:
  1. From a multinomial distribution, based on the weights, select a component

  2. Sample from the selected component

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • n_draws (int) – Number of samples to draw

Returns:

samples (np.ndarray) – Row wise samples of the variational distribution

export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

fisher_information_matrix(variational_parameters, n_samples=10000)[source]#

Approximate the Fisher information matrix using Monte Carlo.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • n_samples (int, optional) – number of samples for a MC FIM estimation

Returns:

FIM (np.ndarray) – Matrix (num parameters x num parameters)

grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. the variational parameters.

Evaluated at samples x. Also known as the score function. Is a general implementation using the score functions of the components.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

score (np.ndarray) – Column-wise scores

initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

Default weights initialization:

\(w_i=\frac{1}{N_\text{sample space}}\)

Random weights intialization:

\(w_i=\frac{s}{N_\text{experiments}}\) where \(s\) is a sample of a multinomial distribution with \(N_\text{experiments}\)

The component initialization is handle by the component itself.

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

logpdf(variational_parameters, x)[source]#

Logpdf evaluated using the variational parameters at samples x.

Is a general implementation using the logpdf function of the components. Uses the log-sum-exp trick [1] in order to reduce floating point issues.

References: [1] : David M. Blei, Alp Kucukelbir & Jon D. McAuliffe (2017) Variational Inference: A

Review for Statisticians, Journal of the American Statistical Association, 112:518

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

logpdf (np.ndarray) – Row vector of the logpdfs

pdf(variational_parameters, x)[source]#

Pdf evaluated using the variational parameters at given samples x.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters

  • x (np.ndarray) – Row-wise samples

Returns:

pdf (np.ndarray) – Row vector of the pdfs

reconstruct_distribution_parameters(variational_parameters)[source]#

Reconstruct the weights and parameters of the mixture components.

The list is nested, each entry correspond to the parameters of a component.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:
  • distribution_parameters_list (list) – List of the distribution parameters of the components

  • weights (np.ndarray) – Weights of the mixture

queens.variational_distributions.particle module#

Particle Variational Distribution.

class ParticleVariational(sample_space)[source]#

Bases: VariationalDistribution

Variational distribution for particle distributions.

The probabilities of the distribution are parameterized by softmax: \(p_i=p(\lambda_i)=\frac{\exp(\lambda_i)}{\sum_k exp(\lambda_k)}\)

particles_obj#

Particle distribution object

Type:

ParticleDiscreteDistribution

dimension#

Number of random variables

Type:

int

construct_variational_parameters(probabilities, sample_space)[source]#

Construct the variational parameters from the probabilities.

Parameters:
  • probabilities (np.ndarray) – Probabilities of the distribution

  • sample_space (np.ndarray) – Sample space of the distribution

Returns:

variational_parameters (np.ndarray) – Variational parameters

draw(variational_parameters, n_draws=1)[source]#

Draw n_draws samples from distribution.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters of the distribution

  • n_draws (int) – Number of samples

Returns:

samples (np.ndarray) – samples (n_draws x n_dim)

export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

fisher_information_matrix(variational_parameters)[source]#

Compute the fisher information matrix.

For the given parameterization, the Fisher information yields: \(\text{FIM}_{ij}=\delta_{ij} p_i -p_i p_j\)

Parameters:

variational_parameters (np.ndarray) – Variational parameters of the distribution

Returns:

fim (np.ndarray) – Fisher information matrix (n_params x n_params)

grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. the variational parameters.

Evaluated at samples x. Also known as the score function.

For the given parameterization, the score function yields: \(\nabla_{\lambda_i}\ln p(\theta_j | \lambda)=\delta_{ij}-p_i\)

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters of the distribution

  • x (np.ndarray) – Locations at which to evaluate the distribution (n_samples x n_dim)

Returns:

score_function (np.ndarray) – Score functions at the locations x

initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

Default initialization:

\(w_i=\frac{1}{N_\text{sample space}}\)

Random intialization:

\(w_i=\frac{s}{N_\text{experiments}}\) where \(s\) is a sample of a multinomial distribution with \(N_\text{experiments}\)

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

logpdf(variational_parameters, x)[source]#

Evaluate the natural logarithm of the logpdf at sample.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters of the distribution

  • x (np.ndarray) – Locations at which to evaluate the distribution (n_samples x n_dim)

Returns:

logpdf (np.ndarray) – Logpdfs at the locations x

pdf(variational_parameters, x)[source]#

Evaluate the probability density function (pdf) at sample.

Parameters:
  • variational_parameters (np.ndarray) – Variational parameters of the distribution

  • x (np.ndarray) – Locations at which to evaluate the distribution (n_samples x n_dim)

Returns:

logpdf (np.ndarray) – Pdfs at the locations x

reconstruct_distribution_parameters(variational_parameters)[source]#

Reconstruct probabilities from the variational parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

probabilities (np.ndarray) – Probabilities of the distribution

queens.variational_distributions.variational_distribution module#

Variational Distribution.

class VariationalDistribution(dimension)[source]#

Bases: object

Base class for probability distributions for variational inference.

dimension#

dimension of the distribution

Type:

int

abstract draw(variational_parameters, n_draws=1)[source]#

Draw n_draws samples from distribution.

Parameters:
  • variational_parameters (np.ndarray) – variational parameters (1 x n_params)

  • n_draws (int) – Number of samples

abstract export_dict(variational_parameters)[source]#

Create a dict of the distribution based on the given parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters

Returns:

export_dict (dictionary) – Dict containing distribution information

abstract fisher_information_matrix(variational_parameters)[source]#

Compute the fisher information matrix.

Depends on the variational distribution for the given parameterization.

Parameters:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

abstract grad_params_logpdf(variational_parameters, x)[source]#

Logpdf gradient w.r.t. the variational parameters.

Evaluated at samples x. Also known as the score function.

Parameters:
  • variational_parameters (np.ndarray) – variational parameters (1 x n_params)

  • x (np.ndarray) – Locations to evaluate (n_samples x n_dim)

abstract initialize_variational_parameters(random=False)[source]#

Initialize variational parameters.

Parameters:

random (bool, optional) – If True, a random initialization is used. Otherwise the default is selected

Returns:

variational_parameters (np.ndarray) – variational parameters (1 x n_params)

abstract logpdf(variational_parameters, x)[source]#

Evaluate the natural logarithm of the logpdf at sample.

Parameters:
  • variational_parameters (np.ndarray) – variational parameters (1 x n_params)

  • x (np.ndarray) – Locations to evaluate (n_samples x n_dim)

abstract pdf(variational_parameters, x)[source]#

Evaluate the probability density function (pdf) at sample.

Parameters:
  • variational_parameters (np.ndarray) – variational parameters (1 x n_params)

  • x (np.ndarray) – Locations to evaluate (n_samples x n_dim)

abstract reconstruct_distribution_parameters(variational_parameters)[source]#

Reconstruct distribution parameters from variational parameters.

Parameters:

variational_parameters (np.ndarray) – Variational parameters