Learn R Programming

bbricks (version 0.1.1)

marginalLikelihood.GaussianNIW: Marginal likelihood of a "GaussianNIW" object

Description

Generate the marginal likelihood of the following model structure: theta|gamma ~ NIW(gamma) x|theta ~ Gaussian(theta) where theta = (mu,Sigma) is the Gaussian parameter, gamma = (m,k,v,S) is the Normal-Inverse-Wishart(NIW) parameter. The model structure and prior parameters are stored in a "GaussianNIW" object. Marginal likelihood is the likelihood of x|gamma.

Usage

# S3 method for GaussianNIW
marginalLikelihood(obj, x, LOG = TRUE, ...)

Arguments

obj

A "GaussianNIW" object.

x

matrix, or the ones that can be converted to matrix. each row of x is an observationobservation matrix, or the ones that can be converted to matrix. each row of x is an observation

LOG

Return the log density if set to "TRUE".

...

Additional arguments to be passed to other inherited types.

Value

numeric, the marginal likelihood.

References

Murphy, Kevin P. "Conjugate Bayesian analysis of the Gaussian distribution." def 1.22 (2007): 16.

Gelman, Andrew, et al. "Bayesian Data Analysis Chapman & Hall." CRC Texts in Statistical Science (2004).

See Also

@seealso GaussianNIW, marginalLikelihood_bySufficientStatistics.GaussianNIW

Examples

Run this code
# NOT RUN {
x <- rGaussian(1000,mu = c(1,1),Sigma = matrix(c(1,0.5,0.5,3),2,2))
obj <- GaussianNIW(gamma=list(m=c(0,0),k=1,v=2,S=diag(2)))
marginalLikelihood(obj = obj,x=x)
## or...
ss <- sufficientStatistics(obj=obj,x=x,foreach = FALSE)
marginalLikelihood_bySufficientStatistics(obj = obj,ss=ss)
# }

Run the code above in your browser using DataLab