Learn R Programming

bbricks (version 0.1.4)

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

Description

Generate the the density value of the posterior predictive distribution of the following structure: $$x \sim Gaussian(A z + b, Sigma)$$ $$z \sim Gaussian(m,S)$$ Where Sigma is known. A is a \(dimx x dimz\) matrix, x is a \(dimx x 1\) random vector, z is a \(dimz x 1\) random vector, b is a \(dimm x 1\) vector. Gaussian() is the Gaussian distribution. See ?dGaussian for the definition of Gaussian distribution. The model structure and prior parameters are stored in a "LinearGaussianGaussian" object. Posterior predictive density is p(x|m,S,A,b,Sigma).

Usage

# S3 method for LinearGaussianGaussian
dPosteriorPredictive(obj, x, A, b = NULL, LOG = TRUE, ...)

Arguments

obj

A "LinearGaussianGaussian" object.

x

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

A

matrix or list. when x is a \(N x 1\) matrix, A must be a matrix of \(N x dimz\), dimz is the dimension of z; When x is a \(N x dimx\) matrix, where \(dimx > 1\), A can be either a list or a matrix. When A is a list, \(A = {A_1,A_2,...A_N}\) is a list of \(dimx x dimz\) matrices. If A is a single \(dimx x dimz\) matrix, it will be replicated N times into a length N list

b

matrix, when x is a \(N x 1\) matrix, b must also be a \(N x 1\) matrix or length N vector; When x is a \(N x dimx\) matrix, where \(dimx > 1\), b can be either a matrix or a vector. When b is a matrix, \(b={b_1^T,...,b_N^T}\) is a \(N x dimx\) matrix, each row is a transposed vector. When b is a length \(dimx\) vector, it will be transposed into a row vector and replicated N times into a \(N x dimx\) matrix. When b = NULL, it will be treated as a vector of zeros. Default NULL.

LOG

Return the log density if set to "TRUE".

...

Additional arguments to be passed to other inherited types.

Value

A numeric vector of the same length as nrow(x), the posterior predictive density.

References

Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press, 2012.

See Also

LinearGaussianGaussian, rPosteriorPredictive.LinearGaussianGaussian, marginalLikelihood.LinearGaussianGaussian

Examples

Run this code
# NOT RUN {
obj <- LinearGaussianGaussian(gamma=list(Sigma=matrix(c(2,1,1,2),2,2),
                                         m=c(0.2,0.5,0.6),S=diag(3)))
x <- rGaussian(100,mu = runif(2),Sigma = diag(2))
A <- matrix(runif(6),2,3)
b <- runif(2)
dPosteriorPredictive(obj = obj,x=x,A=A,b=b)
# }

Run the code above in your browser using DataLab