posteriorDiscard.LinearGaussianGaussian {bbricks} | R Documentation |
For following model 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.
Contrary to posterior(), this function will update (m,S) by removing the information of observed samples x. The model structure and prior parameters are stored in a "LinearGaussianGaussian" object, the prior parameters in this object will be updated after running this function.
## S3 method for class 'LinearGaussianGaussian' posteriorDiscard(obj, ss, ...)
obj |
A "LinearGaussianGaussian" object. |
ss |
Sufficient statistics of x. In Gaussian-Gaussian case the sufficient statistic of sample x is a object of type "ssLinearGaussianGaussian", it can be generated by the function sufficientStatistics(). |
... |
Additional arguments to be passed to other inherited types. |
None. the gamma stored in "obj" will be updated based on "ss".
Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press, 2012.
LinearGaussianGaussian
,posterior.LinearGaussianGaussian
,sufficientStatistics.LinearGaussianGaussian
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) ss <- sufficientStatistics(obj,x=x,A=A,b=b) obj ## update prior into posterior posterior(obj=obj,ss=ss) obj ## remove the information, back to prior posteriorDiscard(obj = obj,ss = ss) obj