fused_sparse_pls — Fused-sparse PLS

Group: Sparse · Registry tolerance: 0.05 · Parity reference: paper-only (Yengo, L., Jacques, J., Biernacki, C. & Canouil, M. (2016). Variable clustering in high-dimensional linear regression: The R package clere. R Journal 8(1), 92-106. (Fused-sparse PLS variants have no widely installable R / Python port.))

Description

Fused sparse PLS (§7)

Parameters

Name

Type

Default

Notes

n_components

int

4

registry benchmark cell value

l1_lambda

float

0.05

registry benchmark cell value

fusion_lambda

float

0.1

registry benchmark cell value

Explanations

Bibliographic source

Implementation-specific heuristic inspired by fused sparsity; no canonical fused-lasso solver is implemented.

Mathematical principle

The routine delegates to the current group-sparse path with all variables in one group and then applies four fixed passes of neighbour averaging to adjacent coefficient rows. It neither minimizes an L1 plus total-variation objective nor calls the Condat fused-lasso algorithm described in the historical text.

Appropriate uses

Exploratory smoothing of adjacent regression coefficients for ordered spectral variables.

Limits and validation

This is four fixed neighbour-averaging passes, not a fused-lasso/total-variation optimizer; l1_lambda uses post-SIMPLS group shrinkage.

Implementation

l1_lambda shrinks the full predictive coefficient matrix as one group before four neighbour-averaging passes. fusion_lambda controls a smoothing heuristic, not a converged fused-lasso solution.

Sources and provenance

Current implementation: cpp/src/core/extra_pls.cpp.

API and bindings

C ABI (ABI 2): n4m_estimators_fused_sparse_pls_fit. Use the linked public header for the exact signature, configuration, and result handles.

Python: no current AST-verified public n4m re-export was found for this method. The linked C ABI above is the documented surface in this checkout.

R (source-verified): fused_sparse_pls_fit(X, Y, n_components, l1_lambda = 0.05, fusion_lambda = 0.05).

The source signature has additional required inputs, so no example call is fabricated.

MATLAB / Octave (source-verified): fused_sparse_pls(X, Y, n_components, l1_lambda, fusion_lambda).

The source signature has additional required inputs, so no example call is fabricated.

Registry parity references 📐

  • 📜 Paper-only — no executable parity reference; the paper citation is recorded in Bibliographic source.

Benchmarks

Archived measurement identity. Backend labels in this table are the raw IDs recorded when the benchmark ran (including historical pls4all.* IDs). They preserve measurement provenance and do not describe a current public Python, R, or MATLAB binding; use the source-verified API and bindings section above for current entry points.

Adaptive wall-clock per cell measured against full_matrix.csv. Only backends that implement this method are listed; libraries without the method are omitted.

Verdict  ·  ✓ ref / ≈ ref / ~ shape mark a reference-gate pass at strict / relaxed / qualitative tolerance  ·  ✓ bind = archived binding-harness result agrees with the C++ baseline  ·  ⇄ cross-check = documented by-design selector/RNG/model, noncanonical API/facade convention, or secondary oracle  ·  ✗ divergent  ·  ⚠ error  ·  — not run. The fastest backend per column is marked 🏆.

BackendParity200×50 (ms)
Python · archived pls4all benchmark
pls4all.python✓ bind1.95 ms🏆
pls4all.sklearn✓ bind2.13 ms
R · archived pls4all benchmark
pls4all.R✓ bind6.13 ms
pls4all.R.formula✓ bind7.70 ms
pls4all.R.mdatools✓ bind7.55 ms
pls4all.R.pls✓ bind7.80 ms
BackendParity200×50 (ms)
Python · archived pls4all benchmark
pls4all.python✓ bind1.88 ms🏆
pls4all.sklearn✓ bind2.09 ms
R · archived pls4all benchmark
pls4all.R✓ bind6.14 ms
pls4all.R.formula✓ bind7.73 ms
pls4all.R.mdatools✓ bind8.04 ms
pls4all.R.pls✓ bind7.53 ms
BackendParity200×50 (ms)
Python · archived pls4all benchmark
pls4all.python✓ bind1.97 ms🏆
pls4all.sklearn✓ bind2.02 ms
R · archived pls4all benchmark
pls4all.R✓ bind6.56 ms
pls4all.R.formula✓ bind8.64 ms
pls4all.R.mdatools✓ bind8.07 ms
pls4all.R.pls✓ bind8.65 ms

See also: benchmark overview · methods index · interactive dashboard