BCssvd: Biclustering via sparse singular value decomposition In s4vd: Biclustering via Sparse Singular Value Decomposition Incorporating Stability Selection

Description

The function performs a biclustering of the data matrix by sparse singular value decomposition.

Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```## S4 method for signature 'matrix,BCssvd' biclust(x,method=BCssvd(), K=10, threu = 1, threv = 1, gamu = 0, gamv =0, u0 = svd(X)\$u[,1], v0 = svd(X)\$v[,1], merr = 10^(-4), niter = 100) ```

Arguments

 `x` the matrix to be clustered `method` calls the BCssvd() method `K` number of SSVD-layers `threu` type of penalty (thresholding rule) for the left singular vector, 1 = (Adaptive) LASSO (default) 2 = hard thresholding `threv` type of penalty (thresholding rule) for the right singular vector, 1 = (Adaptive) LASSO (default) 2 = hard thresholding `gamu` weight parameter in Adaptive LASSO for the left singular vector, nonnegative constant (default = 0, LASSO) `gamv` weight parameter in Adaptive LASSO for the right singular vector, nonnegative constant (default = 0, LASSO) `u0` initial left singular vector `v0` initial right singular vector `merr` threshold to decide convergence `niter` maximum number of iterations

Value

Returns an Biclust object.

Author(s)

Adaptation of original code from Mihee Lee by Martin Sill \ [email protected]

References

Mihee Lee, Haipeng Shen, Jianhua Z. Huang and J. S. Marron1 "Biclustering via Sparse Singular Value Decomposition", Biometrics, 2010

`biclust`, `Biclust`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27``` ```# example data set according to the simulation study in Lee et al. 2010 # generate artifical data set and a correspondig biclust object u <- c(10,9,8,7,6,5,4,3,rep(2,17),rep(0,75)) v <- c(10,-10,8,-8,5,-5,rep(3,5),rep(-3,5),rep(0,34)) u <- u/sqrt(sum(u^2)) v <- v/sqrt(sum(v^2)) d <- 50 set.seed(1) X <- (d*u%*%t(v)) + matrix(rnorm(100*50),100,50) params <- info <- list() RowxNumber <- matrix(rep(FALSE,100),ncol=1) NumberxCol <- matrix(rep(FALSE,50),nrow=1) RowxNumber[u!=0,1] <- TRUE NumberxCol[1,v!=0] <- TRUE Number <- 1 ressim <- BiclustResult(params,RowxNumber,NumberxCol,Number,info) #perform s4vd biclustering ress4vd <- biclust(X,method=BCs4vd,pcerv=0.5,pceru=0.5,pointwise=FALSE,nbiclust=1,savepath=TRUE) #perform s4vd biclustering with fast pointwise stability selection ress4vdpw <- biclust(X,method=BCs4vd,pcerv=0.5,pceru=0.5,pointwise=TRUE,nbiclust=1) #perform ssvd biclustering resssvd <- biclust(X,BCssvd,K=1) #agreement of the results with the simulated bicluster jaccardind(ressim,ress4vd) jaccardind(ressim,ress4vdpw) jaccardind(ressim,resssvd) ```