update_z_b_Sj: Gibbs sampling for z

View source: R/fabMix.R

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