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 = 3,
      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).
`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, choose 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` | (Default=FALSE) Logical indicating whether the variables should be scaled to have unit variance before the analysis takes place. The default is `FALSE` for consistency with `prcomp` function, but in general scaling is advisable. Alternatively, a vector of length equal the number of columns of `X` can be supplied. The value is passed to `scale`.
`max.iter` | integer, the maximum number of iterations.
`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
`prop_expl_var` | Proportion of the explained variance of derived components, after setting possible missing values to zero.

### Author(s)

Fangzhou Yao, Jeff Coquery, Francois Bartolo, Kim-Anh Lê Cao, Al J Abadi

### 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")

    # variables representation
    plotVar(sipca.res, cex = 2.5)

    plotVar(sipca.res, rad.in = 0.5, cex = 2.5,style="3d")

    ## End(Not run)

[Package mixOmics version 6.16.3 Index]