PearsonICA            package:PearsonICA            R Documentation

_P_e_a_r_s_o_n-_I_C_A _a_l_g_o_r_i_t_h_m _f_o_r _i_n_d_e_p_e_n_d_e_n_t _c_o_m_p_o_n_e_n_t _a_n_a_l_y_s_i_s (_I_C_A)

_D_e_s_c_r_i_p_t_i_o_n:

     The Pearson-ICA algorithm is a mutual information-based method for
     blind separation of statistically independent source signals. It
     has been shown that the minimization of mutual information leads
     to iterative use of score functions, i.e. derivatives of log
     densities.  The Pearson system allows adaptive modeling of score
     functions. The flexibility of the Pearson system makes it possible
     to model a wide range  of source distributions including
     asymmetric distributions. The algorithm is designed especially for
     problems with asymmetric sources  but it works for symmetric
     sources as well.

_U_s_a_g_e:

     PearsonICA(X, n.comp = 0, row.norm = FALSE, maxit = 200, tol = 1e-04, border.base = c(2.6, 4), border.slope = c(0, 1), verbose = FALSE, w.init = NULL, na.rm = FALSE, whitening.only = FALSE, PCA.only = FALSE)

_A_r_g_u_m_e_n_t_s:

       X: input data. Each column contains one signal.

  n.comp: number of components to be extracted.

row.norm: a logical value indicating whether rows of the data matrix
          'X' should be standardized beforehand.

   maxit: maximum number of iterations to perform

     tol: a positive scalar giving the tolerance at which the un-mixing
          matrix is considered to have converged.

border.base: intercept terms for the tanh boundaries. See details.

border.slope: slope terms for the tanh boundaries. See details.

 verbose: a logical value indicating the level of output as the
          algorithm runs.

  w.init: initial un-mixing matrix of dimension (n.comp,n.comp). If
          NULL (default) then a matrix of normal r.v.'s is used.

   na.rm: should the rows with missing values be removed.

whitening.only: perform only whitening.

PCA.only: perform only principal component analysis.

_D_e_t_a_i_l_s:

     The data matrix X is considered to be a linear combination of
     statistically independent components, i.e. X = SA where A is a
     linear mixing and matrix the columns of S contain the independent
     components of which at most one has Gaussian distribution.  The
     goal of ICA is to find a matrix W such that the output Y = XW is
     an estimate of possibly scaled and  permutated source matrix S.

     In order to extract the independent components/sources we search
     for a demixing matrix W that minimizes the mutual information of
     the sources.  The minimization of mutual information leads to
     iterative  use of score functions, i.e. derivatives of log
     densities. Pearson-ICA uses the Pearson system to model  the score
     functions of the output Y. The parameters of the Pearson system
     are estimated by method of moments. To speed up the algorithm,
     tanh nonlinearity is used when the distribution is far from
     Gaussian.  The parameters 'border.base' and 'border.slope' define
     the boundaries of the tanh area in  the skewness-kurtosis plane.
     See Figure 2 in (Karvanen, Eriksson and Koivunen, 2000) for an
     illustration.

_V_a_l_u_e:

     A list containing the following components  

       X: input data

whitemat: whitening matrix

       W: estimated demixing matrix

       A: estimated mixing matrix

       S: separated (estimated) source signals

     Xmu: component means

  w.init: starting value of W

   maxit: maximum number of iterations allowed

     tol: convergence limit

      it: number of iterations used

_W_a_r_n_i_n_g:

     The definition of W is different from that of 'fastICA' algorithm
     (version 1.1-8).

_N_o_t_e:

     The R code is based on the MATLAB code by Juha Karvanen, Jan
     Eriksson and Visa Koivunen.  Parts of the R code and documentation
     are taken from the 'fastICA' R package.

_A_u_t_h_o_r(_s):

     Juha Karvanen

_R_e_f_e_r_e_n_c_e_s:

     Karvanen J., Koivunen V. 2002. Blind separation methods based on
     Pearson system and its extensions,  _Signal Processing_ *82*(4),
     663-673.

     Karvanen J., Eriksson J.,Koivunen V. 2000, Pearson system based
     method for blind separation,  _Proceedings of Second International
     Workshop on Independent Component Analysis and Blind Signal
     Separation (ICA2000)_,  Helsinki, Finland, 585-590.

_S_e_e _A_l_s_o:

     'PearsonICAdemo'

_E_x_a_m_p_l_e_s:

     S<-matrix(runif(5000),1000,5);
     X<-S+S[,c(2,3,4,5,1)];
     icaresults<-PearsonICA(X,verbose=TRUE)
     print(icaresults$A)

