Ridge and lasso penalties

Hello everyone,

I am a bit confused about penalties used or not in DIABLO methods. If I well understand, block.spls and block.splsda are ‘sparse’ methods, so a LASSO penalty is used. But what about non sparse methods like block.pls and block.plsda? Is there a RIDGE penalty instead? And is rigde penalty used in other mixOmics’ functions too (at least in rCCA, I mean)?

Moreover, are the methods block.(s)pls(da) using (wrapper.)rgcca and (wrapper.)sgcca or is it a complete other thing? And if there are really using them, can you please explain me if block.(s)pls(da) functions are closer to PLS, CCA or are maybe well-balanced between these two methods?

Best regards,
Emile

hi @emile.mardoc ,
thank you for the (erm) technical questions :slight_smile:

If I well understand, block.spls and block.splsda are ‘sparse’ methods, so a LASSO penalty is used. But what about non sparse methods like block.pls and block.plsda? Is there a RIDGE penalty instead? And is rigde penalty used in other mixOmics’ functions too (at least in rCCA, I mean)?

Yes, the non sparse block PLS methods use ridge, and the penalty is chosen internally based on the shrinkage formula from Schäfer and Strimmer (2005).

Apart from rCCA we have not implemented a ridge regression (technically you can solve these block PLS methods using the PLS algorithm without ridge).

I am glad you dwelved into the (complicated) code:

  • The function to run rGCCA is wrapper.rgcca() in mixOmics, see ?wrapper.rgcca for some examples, or the rgcca() function from RGCCA (Tenenhaus and Guillemot, 2017).
  • The function to run sGCCA is wrapper.sgcca(), in mixOmics, see ?wrapper.sgcca for some examples (we implemented the keepX parameter), or the sgcca() function from
    Tenenhaus and Guillemot (2017) (with a lasso penalty parameter).

I attach a screenshot about rGCCA, sGCCA and (related to your question) block.splsda from our still in press book (let me know if you cannot read it)


Our block.splsda uses the original wrapper.sgcca but we changed the deflation mode.

Kim-Anh

Thank you very much for your answer and screenshots, Kim-Anh! It is really helpful :slight_smile: