BIC_sparseICA: BIC-like Criterion for Tuning Parameter Selection in Sparse...

View source: R/SICAmain.R

BIC_sparseICAR Documentation

BIC-like Criterion for Tuning Parameter Selection in Sparse ICA

Description

This function uses a BIC-like criterion to select the optimal tuning parameter nu for Sparse ICA.

Usage

BIC_sparseICA(
  xData,
  n.comp,
  nu_list = seq(0.1, 4, 0.1),
  whiten = c("eigenvec", "sqrtprec", "none"),
  lngca = FALSE,
  orth.method = c("svd", "givens"),
  method = c("C", "R"),
  use_irlba = TRUE,
  eps = 1e-06,
  maxit = 500,
  verbose = FALSE,
  col.stand = TRUE,
  row.stand = FALSE,
  iter.stand = 0,
  BIC_plot = FALSE
)

Arguments

xData

A numeric matrix of input data with dimensions P x T, where P is the number of features and T is the number of samples.

n.comp

An integer specifying the number of components to estimate.

nu_list

A numeric vector specifying the list of candidate tuning parameters. Default is seq(0.1, 4, 0.1).

whiten

A character string specifying the method for whitening the input xData. Options are "eigenvec", "sqrtprec", or "none". Default is "eigenvec".

lngca

A logical value indicating whether to perform Linear Non-Gaussian Component Analysis (LNGCA). Default is FALSE.

orth.method

A character string specifying the method for generating initial values of the U matrix. Default is "svd".

method

A character string specifying the computation method. If "C" (default), C code is used for Sparse ICA to improve performance. If "R", computations are performed entirely in R.

use_irlba

A logical value indicating whether to use the irlba method for fast truncated Singular Value Decomposition (SVD) during whitening. This can improve memory efficiency for intermediate datasets. Default is TRUE.

eps

A numeric value specifying the convergence threshold. Default is 1e-6.

maxit

An integer specifying the maximum number of iterations for the Sparse ICA method using Laplace density. Default is 500.

verbose

A logical value indicating whether to print convergence information during execution. Default is FALSE.

col.stand

A logical value indicating whether to standardize columns. For each column, the mean of the entries in the column equals 0, and the variance of the entries in the column equals 1. Default is TRUE.

row.stand

A logical value indicating whether to standardize rows. For each row, the mean of the entries in the row equals 0, and the variance of the entries in the row equals 1. Default is FALSE.

iter.stand

An integer specifying the number of iterations for achieving both row and column standardization when col.stand = TRUE and row.stand = TRUE. Default is 5.

BIC_plot

A logical value indicating whether to generate a plot showing the trace of BIC values for different nu candidates. Default is FALSE.

Value

A list containing the following elements:

BIC

A numeric vector of BIC values corresponding to each candidate nu in nu_list.

nu_list

A numeric vector of candidate tuning parameter values.

best_nu

The optimal nu selected based on the BIC-like criterion.

Examples


#get simulated data
data(example_sim123)

select_sparseICA = BIC_sparseICA(xData = example_sim123$xmat, n.comp = 3, 
      method="C", BIC_plot = TRUE,verbose = TRUE, nu_list = seq(0.1,4,0.1))

(my_nu = select_sparseICA$best_nu)



SparseICA documentation built on April 12, 2025, 1:50 a.m.