mir_pls — MIR-PLS inverse-regression variant¶
Group: Multi-block / cross-modal · Registry tolerance: 0.05
· Parity reference: paper-only (Sjöblom, J., Svensson, O., Josefson, M., Kullberg, H. & Wold, S. (1998). An evaluation of orthogonal signal correction applied to calibration transfer of near infrared spectra. Chemom. Intell. Lab. Syst. 44(1-2), 229-244. (Inverse-regression PLS variant; no widely installable port.))
Description¶
MIR-PLS — Inverse-regression PLS (§13)
Parameters¶
Name |
Type |
Default |
Notes |
|---|---|---|---|
|
|
|
registry benchmark cell value |
Explanations¶
Bibliographic source¶
Implementation-specific inverse-regression construction; no canonical paper is claimed.
Mathematical principle¶
This routine fits a SIMPLS mapping from Y to X and then converts that map into a predictor from X to Y with the regularized right pseudoinverse \(\mathbf A^T(\mathbf A\mathbf A^T+10^{-6}\mathbf I)^{-1}\). The name does not denote a fixed mid-infrared absorbance transform or OSC procedure.
Appropriate uses¶
Experimental inverse-regression calibration in which a SIMPLS map from Y to X is algebraically inverted.
Limits and validation¶
This is an implementation-specific regularized pseudoinverse, not a standard mid-infrared preprocessing method or canonical MIR-PLS algorithm.
Implementation¶
The pseudoinverse regularizer is fixed at \(10^{-6}\). Treat this as a compact library-specific variant and validate it directly rather than attributing properties of unrelated MIR or OSC algorithms.
Sources and provenance¶
Current implementation: cpp/src/core/extra_pls.cpp.
API and bindings¶
C ABI (ABI 2): n4m_estimators_mir_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): mir_pls(formula, data, ncomp = 2L, na.action = stats::na.omit).
The source signature has additional required inputs, so no example call is fabricated.
MATLAB / Octave (source-verified): mir_pls(X, Y, n_components).
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 🏆.
| Backend | Parity | 200×30 (ms) |
|---|---|---|
| Python · archived pls4all benchmark | ||
pls4all.python | ✓ bind | 1.27 ms🏆 |
pls4all.sklearn | ✓ 3e-15 | 1.47 ms |
| R · archived pls4all benchmark | ||
pls4all.R | ✓ bind | 3.98 ms |
pls4all.R.formula | ✓ bind | 4.72 ms |
pls4all.R.mdatools | ✓ bind | 5.11 ms |
pls4all.R.pls | ✓ bind | 5.04 ms |
| Backend | Parity | 200×30 (ms) |
|---|---|---|
| Python · archived pls4all benchmark | ||
pls4all.python | ✓ bind | 1.29 ms🏆 |
pls4all.sklearn | ✓ 3e-15 | 1.43 ms |
| R · archived pls4all benchmark | ||
pls4all.R | ✓ bind | 4.49 ms |
pls4all.R.formula | ✓ bind | 5.07 ms |
pls4all.R.mdatools | ✓ bind | 5.39 ms |
pls4all.R.pls | ✓ bind | 4.94 ms |
| Backend | Parity | 200×30 (ms) |
|---|---|---|
| Python · archived pls4all benchmark | ||
pls4all.python | ✓ bind | 1.99 ms |
pls4all.sklearn | ✓ 3e-15 | 1.41 ms🏆 |
| R · archived pls4all benchmark | ||
pls4all.R | ✓ bind | 4.09 ms |
pls4all.R.formula | ✓ bind | 5.05 ms |
pls4all.R.mdatools | ✓ bind | 4.73 ms |
pls4all.R.pls | ✓ bind | 4.83 ms |
See also: benchmark overview · methods index · interactive dashboard