update_z_b_Sj: Gibbs sampling for z In fabMix: Overfitting Bayesian Mixtures of Factor Analyzers with Parsimonious Covariance and Unknown Number of Components

 update_z_b_Sj R Documentation

Gibbs sampling for z

Description

Gibbs sampling for z: here the full conditional distribution is being used (that is, the distribution is also conditioned on the values of factors y).

Usage

update_z_b_Sj(w, mu, Lambda, y, SigmaINV, K, x_data)


Arguments

 w vector with length K consisting of mixture weights mu K\times p array containing the marginal means Lambda K\times p array with factor loadings y n\times q Matrix of factors SigmaINV K\times p\times p array containing the precision matrix per component K Number of components x_data n\times p matrix containing the observed data

Value

Allocation vector

Author(s)

Panagiotis Papastamoulis

Examples

library('fabMix')
# simulate some data
n = 8                # sample size
p = 5                # number of variables
q = 2                # number of factors
K = 2                # true number of clusters
sINV_diag = 1/((1:p))    # diagonal of inverse variance of errors
set.seed(100)
syntheticDataset <- simData(sameLambda=TRUE,K.true = K, n = n, q = q, p = p,
sINV_values = sINV_diag)
SigmaINV <- array(data = 0, dim = c(K,p,p))
for(k in 1:K){
diag(SigmaINV[k,,]) <- 1/diag(syntheticDataset$variance) + rgamma(p, shape=1, rate = 1) } # use the real values as input and simulate allocations update_z_b_Sj(w = syntheticDataset$weights, mu = syntheticDataset$means, Lambda = syntheticDataset$factorLoadings,
y = syntheticDataset$factors, SigmaINV = SigmaINV, K = K, x_data = syntheticDataset$data)\$z



fabMix documentation built on May 29, 2024, 2:53 a.m.