Learn R Programming

bbricks (version 0.1.4)

marginalLikelihood_bySufficientStatistics.GaussianNIG: Marginal likelihood of a "GaussianNIG" object, using sufficient statistics

Description

Generate the marginal likelihood of a set of observations of the following model structure: $$x \sim Gaussian(X beta,sigma^2)$$ $$sigma^2 \sim InvGamma(a,b)$$ $$beta \sim Gaussian(m,sigma^2 V)$$ Where X is a row vector, or a design matrix where each row is an obervation. InvGamma() is the Inverse-Gamma distribution, Gaussian() is the Gaussian distribution. See ?dInvGamma and dGaussian for the definitions of these distribution. The model structure and prior parameters are stored in a "GaussianNIG" object. Marginal likelihood = p(x|m,V,a,b,X)

Usage

# S3 method for GaussianNIG
marginalLikelihood_bySufficientStatistics(obj, ss, LOG = TRUE, ...)

Arguments

obj

A "GaussianNIG" object.

ss

Sufficient statistics of (x,X). In Gaussian-NIG case the sufficient statistic of sample (x,X) is a object of type "ssGaussianLinear", it can be generated by the function sufficientStatistics().

LOG

Return the log density if set to "TRUE".

...

Additional arguments to be passed to other inherited types.

Value

numeric, the marginal likelihood.

References

Banerjee, Sudipto. "Bayesian Linear Model: Gory Details." Downloaded from http://www. biostat. umn. edu/~ph7440 (2008).

See Also

GaussianNIG, marginalLikelihood.GaussianNIG

Examples

Run this code
# NOT RUN {
obj <- GaussianNIG(gamma=list(m=0,V=1,a=1,b=1))
X <- 1:20
x <- rnorm(20)+ X*0.3
ss <- sufficientStatistics(obj=obj,x=x,X=X,foreach=FALSE)
marginalLikelihood_bySufficientStatistics(obj = obj,ss = ss)
marginalLikelihood_bySufficientStatistics(obj = obj,ss = ss,LOG = FALSE)
# }

Run the code above in your browser using DataLab