EMFASTICAALG

Share:

Description

An R wrapper for carrying out NSMM-ICA on nonparametric multivariate ICA mixture data.

Usage

1
2
3
EMFASTICAALG(DataMatrix, numCluster, h = 0, maxiter = 300, 
icaiter = 150, tol = 1e-06, verb = TRUE, combine = TRUE,
seednum = 82196, ...)

Arguments

DataMatrix

A matrix of which the rows are data entries. Its dimension is n by r.

numCluster

Predetermined number of mixing components m.

h

Bandwidth. If h is set equal zero (default), iterative bandwidth selection will be used.

maxiter

Maximum number of iterations. Default is 300.

icaiter

Maximum number of ICA iterations in each step. Default is 150.

tol

Threshold that defines convergence (of the outer loop). Default is 1e-6.

verb

TRUE (default) or FALSE indicating whether to print out info at each iteration.

combine

TRUE (default) or FALSE indicating whether to implement the ICA step.

seednum

Seed number (default is 82196) used in kmeans before 1st iteration.

...

Value

The returned value is an EMFASTICAALG object which consists of a list of items:

$InputData

A matrix of which the columns are data entries. Its dimension is r by n.

$Lambdas

A matrix where rows store estimated mixing weights from each iteration.

$WMtrs

List of r by r unmixing matrices for each of the m clusters.

$WUnmixZ

List of unmixing matrices for whitened data for each of the m clusters.

$OriginalSignals

List of Recovered ICA components for each of the m clusters.

$ProductDensity

m by n matrix where each row stores the estimated density value of the observed data points for each of the m clusters.

$MembershipProbs

n by m matrix where each row stores the component membership probabilities of the corresponding data point.

$ObjValue

Vector holding values of data loglikelihood.

$ICABandWidth

Matrix holding choices of bandwidth for original signals.

$call

The function call that results in the returned object.

$time

Computing time elapsed in second.

Examples

1
2
3
## An Example that runs the NSMM-ICA algorithm on Cohen's tone data
data(tonedata, package="mixtools")
b <- EMFASTICAALG(tonedata, 2, h=0, tol=1e-8)