sufficientStatistics.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.

For one dimensional observations: x is a vector of length N, or a *N x 1* matrix, each row is an observation; A is a *N x dimz* matrix; b is a length N vector. The sufficient statistics are:

SA =

*A^T A / Sigma*SAx =

*A^T (x-b) / Sigma*

For *dimx* dimensional observations: x must be a *N x m* matrix, each row is an observation; 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 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. The sufficient statistics are:

SA =

*sum_{i=1:N} A_i^T Sigma^{-1} A_i*SAx =

*sum_{i=1:N} A_i^T Sigma^{-1} (x_i-b_i)*

## S3 method for class 'LinearGaussianGaussian' sufficientStatistics(obj, x, A, b = NULL, foreach = FALSE, ...)

`obj` |
A "LinearGaussianGaussian" object. |

`x` |
matrix, Gaussian samples, when x is a matrix, each row is a sample of dimension ncol(x). when x is a vector, x is length(x) samples of dimension 1. |

`A` |
matrix or list. when x is a |

`b` |
matrix, when x is a |

`foreach` |
logical, specifying whether to return the sufficient statistics for each observation. Default FALSE. |

`...` |
Additional arguments to be passed to other inherited types. |

If foreach=TRUE, will return a list of sufficient statistics for each row of x, otherwise will return the sufficient statistics of x as a whole.

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

`LinearGaussianGaussian`

, `sufficientStatistics_Weighted.LinearGaussianGaussian`

## create a LinearGaussianGaussian object ## where x is 2 dimensional, z is 3 dimensional 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) sufficientStatistics(obj,x=x,A=A,b=b) Alist <- replicate(100,A,simplify=FALSE) ## should print the same thing as above: sufficientStatistics(obj,x=x,A=Alist,b=b)

[Package *bbricks* version 0.1.4 Index]