mlica {mlica} | R Documentation |
This function performs ICA using a maximum likelihood framework and takes as arguments parameters to control the number of algorithm runs and convergence criteria.
mlica(prNCP, nruns = 10, tol = 1e-04, maxit = 300, fail.th = 5, learn.mu = 1)
prNCP |
The output object from proposeNCP . |
nruns |
The number of converged algorithm runs sought (function returns the best solution according to the log-likelihood value). |
tol |
Tolerance level for establishing convergence of run. |
maxit |
Maximum number of iterations to allow per run. |
fail.th |
A threshold on the number of consecutive runs that fail to converge. |
learn.mu |
Learning parameter for fixed point algorithm (note that this need not be changed since it has already been optimised). |
A list with following components:
A |
Estimate of the mixing matrix. |
B |
Estimate of the inverse mixing matrix. |
S |
Estimate of the source matrix. |
X |
Normalised data matrix. |
ncp |
Number of independent components. |
NC |
Binary number specifying whether best run converged or not.(=1 indicates convergence,=0 indicates no convergence). |
LL |
Log likelihood value of best run. |
Andrew Teschendorff aet21@cam.ac.uk
data(simMAdata); dataX <- simMAdata[[1]]; prPCA <- PriorNormPCA(dataX); prNCP <- proposeNCP(prPCA,0.1); a.best.l <- list(); for( i in 1:5){ a.best.l[[i]] <- mlica(prNCP,nruns=5); } checkICA <- CheckStability(a.best.l,0.7); sourceS <- simMAdata[[3]]; print(cor(a.best.l[[1]]$S,sourceS)); sModes <- SortModes(a.best.l[[1]],c.val=0.5);