R: Independent Principal Component Analysis

sipca {mixOmics} | R Documentation

## Independent Principal Component Analysis

### Description

Performs sparse independent principal component analysis on the given data matrix to enable variable selection.

### Usage

    sipca(X, ncomp, mode = c("deflation","parallel"),
              fun = c("logcosh", "exp"),
              scale = FALSE, max.iter = 200,
              tol = 1e-04, keepX = rep(50,ncomp),
              w.init=NULL)

### Arguments

`X` | a numeric matrix (or data frame) which provides the data for the principal component analysis.
`ncomp` | integer, number of independent component to choose. Set by default to 3.
`mode` | character string. What type of algorithm to use when estimating the unmixing matrix, (partially) matching one of `"deflation"`, `"parallel"`. Default set to `deflation`.
`fun` | the function used in approximation to neg-entropy in the FastICA algorithm. Default set to `logcosh`, see details of FastICA.
`scale` | a logical value indicating whether rows of the data matrix X should be standardized beforehand.
`max.iter` | integer, maximum number of iterations to perform.
`tol` | a positive scalar giving the tolerance at which the un-mixing matrix is considered to have converged, see fastICA package.
`keepX` | the number of variable to keep on each dimensions.
`w.init` | initial un-mixing matrix (unlike FastICA, this matrix is fixed here).

### Details

See Details of ipca.

Soft thresholding is implemented on the independent loading vectors to obtain sparse loading vectors and enable variable selection.

### Value

`pca` returns a list with class `"ipca"` containing the following components:

`ncomp` | the number of principal components used.
`unmixing` | the unmixing matrix of size (ncomp x ncomp)
`mixing` | the mixing matrix of size (ncomp x ncomp
`X` | the centered data matrix
`x` | the principal components (with sparse independent loadings)
`loadings` | the sparse independent loading vectors
`kurtosis` | the kurtosis measure of the independent loading vectors

### Author(s)

Fangzhou Yao and Jeff Coquery.

### References

Yao, F., Coquery, J. and Lê Cao, K.-A. (2011) Principal component analysis with independent loadings: a combination of PCA and ICA. (in preparation)

A. Hyvarinen and E. Oja (2000) Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5):411-430

J L Marchini, C Heaton and B D Ripley (2010). fastICA: FastICA Algorithms to perform ICA and Projection Pursuit. R package version 1.1-13.

### See Also

`ipca`, `pca`, `plotIndiv`, `plotVar` and http://www.mixOmics.org for more details.

### Examples

    data(liver.toxicity)

    # implement IPCA on a microarray dataset
    sipca.res <- sipca(liver.toxicity$gene, ncomp = 3, mode="deflation", keepX=c(50,50,50))
    sipca.res

    # samples representation
    plotIndiv(sipca.res, ind.names = liver.toxicity$treatment[, 4],
              group = as.numeric(as.factor(liver.toxicity$treatment[, 4])))
    ## Not run:
    plotIndiv(sipca.res, cex = 0.01,
                col = as.numeric(as.factor(liver.toxicity$treatment[, 4])),style="3d")

    ## End(Not run)
    # variables representation
    plotVar(sipca.res, cex = 2.5)
    ## Not run:
    plotVar(sipca.res, rad.in = 0.5, cex = 2.5,style="3d")

    ## End(Not run)

[Package mixOmics version 6.3.2 Index]