Learn R Programming

bbricks (version 0.1.1)

dPosteriorPredictive.GaussianNIG: Posterior predictive density function of a "GaussianNIG" object

Description

Generate the the density value of the posterior predictive distribution of the following structure: beta,sigma^2|gamma ~ NIG(gamma) x|beta,sigma^2,X ~ Gaussian(X where gamma = (m,V,a,b) is the Normal-Inverse-Gamma(NIG) parameter, "m" is a numeric "location" parameter; "V" is a symmetric positive definite matrix representing the "scale" parameters; "a" and "b" are the "shape" and "rate" parameter of the Inverse Gamma distribution. The model structure and prior parameters are stored in a "GaussianNIG" object. Posterior predictive is the distribution of x|gamma,X.

Usage

# S3 method for GaussianNIG
dPosteriorPredictive(obj, x, X, LOG = TRUE, ...)

Arguments

obj

A "GaussianNIG" object.

x

numeric, must satisfy length(x) = nrow(X).

X

matrix, must satisfy length(x) = nrow(X).

LOG

Return the log density if set to "TRUE".

...

Additional arguments to be passed to other inherited types.

Value

A numeric vector, the posterior predictive density.

References

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

See Also

@seealso GaussianNIG, dPosteriorPredictive.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
## out1 and out2 it should have the same values:
out1 <- dPosteriorPredictive(obj = obj, x = x,X=X,LOG = TRUE)
out2 <- numeric(length(x))
for(i in 1:length(x))
out2[i] <- marginalLikelihood(obj,x=x[i],X=X[i],LOG = TRUE)
max(abs(out1-out2))
# }

Run the code above in your browser using DataLab