Learn R Programming

bbricks (version 0.1.4)

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

Description

Generate the marginal likelihood of the following model structure: $$x \sim Gaussian(mu,Sigma)$$ $$Sigma \sim InvWishart(v,S)$$ mu is known. Gaussian() is the Gaussian distribution. See ?dGaussian and ?dInvWishart for the definition of the distributions. The model structure and prior parameters are stored in a "GaussianInvWishart" object. Marginal likelihood = p(x|v,S,mu)

Usage

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

Arguments

obj

A "GaussianInvWishart" object.

x

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

Gelman, Andrew, et al. Bayesian data analysis. CRC press, 2013.

MARolA, K. V., JT KBNT, and J. M. Bibly. Multivariate analysis. AcadeInic Press, Londres, 1979.

See Also

GaussianInvWishart, marginalLikelihood_bySufficientStatistics.GaussianInvWishart

Examples

Run this code
# NOT RUN {
obj <- GaussianInvWishart(gamma=list(mu=c(-1.5,1.5),v=3,S=diag(2)))
x <- rGaussian(100,mu = c(-1.5,1.5),Sigma = matrix(c(0.1,0.03,0.03,0.1),2,2))
xNew <- rGaussian(100,mu = c(-1.5,1.5),Sigma = matrix(c(0.1,0.03,0.03,0.1),2,2))
ss <- sufficientStatistics(obj=obj,x=x,foreach = FALSE)
## update piror with x
posterior(obj=obj,ss = ss)
## use the posterior to calculate the likelihood of xNew
marginalLikelihood(obj = obj,x = xNew,LOG = TRUE)
# }

Run the code above in your browser using DataLab