Learn R Programming

bbricks (version 0.1.4)

marginalLikelihood_bySufficientStatistics: Get the marginal likelihood of a "BayesianBrick" object

Description

This is a generic function that will generate the marginal likelihood of a set of observations conditioned on a given "BayesianBrick" object. i.e. for the model structure: $$theta|gamma \sim H(gamma)$$ $$x|theta \sim F(theta)$$ Marginal likelihood is p(x|gamma), p() is the probability density/mass function for continuous/discrete x. For a given Bayesian bricks object obj and a sample set x, marginalLikelihood_bySufficientStatistics() will calculate the marginal likelihood for different model structures:

class(obj)="LinearGaussianGaussian"

Where $$x \sim Gaussian(A z + b, Sigma)$$ $$z \sim Gaussian(m,S)$$ marginalLikelihood_bySufficientStatistics() will return p(x|m,S,A,b,Sigma) See ?marginalLikelihood_bySufficientStatistics.LinearGaussianGaussian for details.

class(obj)="GaussianGaussian"

Where $$x \sim Gaussian(mu,Sigma)$$ $$mu \sim Gaussian(m,S)$$ Sigma is known. marginalLikelihood_bySufficientStatistics() will return p(x|m,S,Sigma) See ?marginalLikelihood_bySufficientStatistics.GaussianGaussian for details.

class(obj)="GaussianInvWishart"

Where $$x \sim Gaussian(mu,Sigma)$$ $$Sigma \sim InvWishart(v,S)$$ mu is known. marginalLikelihood_bySufficientStatistics() will return p(x|mu,v,S) See ?marginalLikelihood_bySufficientStatistics.GaussianInvWishart for details.

class(obj)="GaussianNIW"

Where $$x \sim Gaussian(mu,Sigma)$$ $$Sigma \sim InvWishart(v,S)$$ $$mu \sim Gaussian(m,Sigma/k)$$ marginalLikelihood_bySufficientStatistics() will return p(x|m,k,v,S) See ?marginalLikelihood_bySufficientStatistics.GaussianNIW for details.

class(obj)="GaussianNIG"

Where $$x \sim Gaussian(X beta,sigma^2)$$ $$sigma^2 \sim InvGamma(a,b)$$ $$beta \sim Gaussian(m,sigma^2 V)$$ X is a row vector, or a design matrix where each row is an obervation. marginalLikelihood_bySufficientStatistics() will return p(x,X|m,V,a,b) See ?marginalLikelihood_bySufficientStatistics.GaussianNIG for details.

class(obj)="CatDirichlet"

Where $$x \sim Categorical(pi)$$ $$pi \sim Dirichlet(alpha)$$ marginalLikelihood_bySufficientStatistics() will return p(x|alpha) See ?marginalLikelihood_bySufficientStatistics.CatDirichlet for details.

class(obj)="CatDP"

Where $$x \sim Categorical(pi)$$ $$pi \sim DirichletProcess(alpha)$$ marginalLikelihood_bySufficientStatistics() will return p(x|alpha) See ?marginalLikelihood_bySufficientStatistics.CatDP for details.

Usage

marginalLikelihood_bySufficientStatistics(obj, ...)

Arguments

obj

A "BayesianBrick" object used to select a method.

...

further arguments passed to or from other methods.

Value

numeric, the marginal likelihood

See Also

marginalLikelihood_bySufficientStatistics.LinearGaussianGaussian for Linear Gaussian and Gaussian conjugate structure, marginalLikelihood_bySufficientStatistics.GaussianGaussian for Gaussian-Gaussian conjugate structure, marginalLikelihood_bySufficientStatistics.GaussianInvWishart for Gaussian-Inverse-Wishart conjugate structure, marginalLikelihood_bySufficientStatistics.GaussianNIW for Gaussian-NIW conjugate structure, marginalLikelihood_bySufficientStatistics.GaussianNIG for Gaussian-NIG conjugate structure, marginalLikelihood_bySufficientStatistics.CatDirichlet for Categorical-Dirichlet conjugate structure, marginalLikelihood_bySufficientStatistics.CatDP for Categorical-DP conjugate structure ...