MixfMRI (version 0.1-0)

initial: Main initialization functions

Description

Main initialization functions.

Usage

initial.em.gbd(PARAM)

initial.RndEM.gbd(PARAM)

Arguments

PARAM

a list of uninitialized parameters, as usual, the returned values of set.global(), to be initialized according to data (inside PARAM).

Value

These functions return an initialized PARAM for EM runs based on pre-stored configuration within the input uninitialized PARAM.

Details

initial.em.gbd() takes in a template of PARAM (uninitialized), and usually is available by calling set.global(), then return an initialized PARAM which is ready for EM runs.

Internally, there are six different initializations implemented for the function initial.em.gbd() including prob.extend, prob.simple, qnorm.extend, qnorm.simple, extend, and simple. These methods are mainly based on transformation of original space of data (p-values and voxel locations) into more linear space such that the Euclidean distance more makes sense (fairly) to classify data in groups.

initial.RndEM.gbd() implement RndEM initialization algorithm based on repeated calling initial.em.gbd().

Note that all configurations are included in PARAM set by set.global().

References

http://maitra.public.iastate.edu/

See Also

set.global(), fclust(), PARAM.

Examples

Run this code
# NOT RUN {
library(MixfMRI, quietly = TRUE)
library(EMCluster, quietly = TRUE)
# .FC.CT$algorithm <- "em"
# .FC.CT$model.X <- "V"
# .FC.CT$ignore.X <- TRUE
.FC.CT$check.X.unit <- FALSE

### Test toy1.
set.seed(1234)
X.gbd <- toy1$X.gbd
PV.gbd <- toy1$PV.gbd
PARAM <- set.global(X.gbd, PV.gbd, K = 2)
PARAM.new <- initial.em.gbd(PARAM)
PARAM.toy1 <- em.step.gbd(PARAM.new)
id.toy1 <- .MixfMRIEnv$CLASS.gbd
print(PARAM.toy1$ETA)
RRand(toy1$CLASS.gbd, id.toy1)

# }
# NOT RUN {
  ### Test toy2.
  set.seed(1234)
  X.gbd <- toy2$X.gbd
  PV.gbd <- toy2$PV.gbd
  PARAM <- set.global(X.gbd, PV.gbd, K = 3)
  PARAM.new <- initial.em.gbd(PARAM)
  PARAM.toy2 <- em.step.gbd(PARAM.new)
  id.toy2 <- .MixfMRIEnv$CLASS.gbd
  print(PARAM.toy2$ETA)
  RRand(toy2$CLASS.gbd, id.toy2)
# }

Run the code above in your browser using DataLab