Developed @ Melbourne Integrative Genomics.

block_tplsda(
  x,
  y,
  multi_label = FALSE,
  ncomp = 1,
  design = "full",
  scheme = "horst",
  tau = 1,
  m = NULL,
  minv = NULL,
  mode = "regression",
  pairwise_scoring = "top_singular",
  center = TRUE,
  tol = 1e-06,
  max_iter = 100,
  solve_dual = TRUE,
  bpparam = NULL
)

Arguments

x

A list of tensor inputs (termed 'blocks') measured on the same samples that describe the output.

y

A vector / column matrix / column tensor with n class labels, or a n x t matrix / n x 1 x t tensor if multi_label == TRUE.

multi_label

Set to TRUE if y contains repeated class measurements across the t timepoints specified in the x tensor.

ncomp

The estimated number of components. ncomp must be explicitly set as an integer in tpls.

design

Numeric matrix of size length(x) x length(x) with values between 0 and 1; the i,j entry in the matrix indicates the strength of the relationship to be modelled between the i-th and j-th blocks. A value of 0 indicates no relationship, with 1 being the maximum. Alternatively, one can input "null" for a fully disconnected design (feature blocks are only connected to the target block at strength 1, but not to each other), or "full" for a fully connected design (target and feature blocks are all connected to each other equally at strength 1), or a single scalar value between 0 and 1 which will designate the relationship between feature blocks, with the relationships to the target block being 1. "full" by default.

scheme

One of "horst", "factorial" or "centroid", "horst" by default.

tau

Shrinkage constant to provide better estimate of covariance, introduced by Ledoit and Wolf (2004). NULL by default, but can set to "optimal" to use optimal shrinkage constants from Schafer and Strimmer (2005), or a single scalar value between 0 and 1.

m

A function which applies an orthogonal tensor tubal transform.

minv

The inverse of m.

mode

Currently supports tensor analogues of canonical, regression, and svd PLS modes. Defaults to "regression" mode.

pairwise_scoring

The method on which to select the face of each tensor for each iteration of block.pls. Currently supports "top_singular" (pick based on weighted sum of top svd diagonal value within all 2-block combinatations), "sum_singular" (sum of diagonal values) and "frobenius" (top_singular but approximated with the Frobenius norm which is an upper bound). "top_singular" by default, but consider selecting "frobenius" for speed as it avoids a full svd decomposition.

center

If set to FALSE, the data tensor will not be centralized into Mean Deviation Form (see Mor et al. 2022). By default, the mean horizontal slice of the input tensor(s) are subtracted, so that all of the horizontal slices sum to 0, analgous to centering matrix data.

tol

Positive scalar used as convergence criteria/tolerance during the RGCCA iterative process. Defaults to 1e-06.

max_iter

Integer specifying the maximum number of iterations to be run for each 2D RGCCA call.

solve_dual

For high dimensional data where n > p, use a dual formulation in the matrix RGCCA step that works with the gram matrix instead of the raw data. TRUE by default, only recommended to set to FALSE for testing purposes.

bpparam

A BiocParallelParam-class object indicating the type of parallelisation. Does not have any effect if transform functions explicitly set using m, minv.

Value

Adds y_original: the original labels input (vector/matrix/tensor) passed to block_tplsda().

Note

When design = "full", tau = 1, setting scheme to "horst", "factorial" or "centroid" yields method SUMCOV, SSQCOV, SABSCOV respectively.

Author

Brendan Lu