Methods catalogue¶
Every method in the library — the PLS / selection algorithms from benchmarks.parity_timing.registry.METHODS and the C++ preprocessing / augmentation / filter / splitter operators from the n4m binding — documented with parameters, bibliographic source, mathematical principle, binding signatures, and benchmark rows.
Total catalogued native methods: 208. Additional Python reference surfaces are documented where relevant.
Core PLS¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
CPPLS (Canonical Powered PLS, Indahl Liland & Næs 2009) |
|
R |
|
Orthogonal PLS (Trygg & Wold 2002) |
|
R |
|
Principal Components Regression |
|
Py, R |
|
SIMPLS PLS regression baseline |
|
Py, R, ikpls, mixOmics |
|
Recursive (moving-window) PLS |
|
Py, R |
Sparse¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Fused sparse PLS (§7) |
|
— |
|
Group sparse PLS (§7) |
|
Py, R |
|
Sparse PLS-DA (§7) |
|
Py, R |
|
Sparse SIMPLS with soft-threshold lambda |
|
Py, R |
Ensemble¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Bagging PLS (§20) |
|
Py |
|
Boosting PLS (§20) |
|
R |
|
Train-only OOF stack over native moment heads |
|
n4m |
|
Random-subspace PLS (§20) |
|
Py |
Robust / weighted¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Robust PLS (Partial Robust M-regression, Serneels 2005) |
|
R |
|
Sample-weighted PLS (sqrt(w)-prescaled NIPALS) |
|
Py |
Nonlinear / local¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Continuum regression (interpolates PLS / OLS) |
|
Py, R |
|
GPR-on-PLS — RBF Gaussian Process on PLS scores (§47) |
|
Py |
|
Non-linear kernel PLS (RBF kernel) |
|
R |
|
LW-PLS — Locally-weighted PLS (§17 Phase 4) |
|
Py |
Multi-block / cross-modal¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
MB-PLS — Multi-block PLS (§17 Phase 4) |
|
Py |
|
MIR-PLS — Inverse-regression PLS (§13) |
|
— |
|
N-PLS — 3-way tensor PLS (PARAFAC + OLS by default; Bro 1996 opt-in) |
|
Py |
|
O2PLS — bi-directional OPLS (Trygg & Wold 2003) |
|
R |
|
OnPLS — Orthogonal multi-block decomposition (§18) |
|
Py |
|
ROSA — Response-Oriented Sequential Alternation (§19) |
|
Py, R |
|
SO-PLS — Sequential & Orthogonalized multi-block PLS (§17) |
|
R |
Calibration transfer¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Domain-invariant PLS |
|
Py |
|
DS — Direct Standardization (§13) |
|
R |
|
Elastic Component Regression (Phase 50) |
|
Py |
|
PDS — Piecewise Direct Standardization (§13) |
|
R |
Classification & GLM¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
PLS-Cox (§5) — Cox PH on PLS scores |
|
Py |
|
PLS-GLM (§5) — softmax/Poisson IRLS on PLS scores |
|
R |
|
PLS-LDA — LDA on PLS scores (§17 Phase 4) |
|
Py |
|
PLS-Logistic — Logistic regression on PLS scores |
|
Py |
|
PLS-QDA (§5) — quadratic discriminant on PLS scores |
|
Py |
Missing data¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Missing-aware NIPALS PLS (§13) |
|
R |
Regularised¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Direct closed-form Ridge regression |
|
Py |
|
Ridge-augmented PLS |
|
Py |
Diagnostic¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
Final-only reusable fit for one selected strict-linear AOM chain/head/parameter |
|
n4m |
|
Strict-linear AOM single-chain Ridge-PLS selector |
|
n4m |
|
Two-pass strict-linear AOM preprocessing screen with exact-CV refit and reusable final model |
|
n4m |
|
User-defined native AOM strict-linear chain sweep |
|
n4m |
|
Native AOM global strict-linear operator selector for PLS |
|
n4m |
|
Strict-linear AOM-PLS operator superblock |
|
n4m |
|
Native AOM strict-operator PLS score stack with Ridge head |
|
n4m |
|
Staged strict-chain AOM/moment preprocessing screen/refit campaign |
|
n4m |
|
Native fold-safe AOM-Ridge OOF simplex blender |
|
n4m |
|
Strict-linear AOM Ridge active-superblock selector |
|
n4m |
|
Strict-linear AOM Ridge global operator selector |
|
n4m |
|
Strict-linear AOM Ridge MKL-light weighted superblock |
|
n4m |
|
Strict-linear AOM Ridge-PLS operator superblock |
|
n4m |
|
Strict-linear AOM Ridge superblock over native Ridge fits |
|
n4m |
|
Native strict-linear AOM robust-HPO preprocessing screen |
|
n4m |
|
Configurable native AOM strict-linear preprocessing sweep |
|
n4m |
|
Native AOM operator-bank preprocessing primitive |
|
n4m |
|
Approximate-PRESS component selection (§29) |
|
R |
|
One-SE component selection rule (§10) |
|
R |
|
PLS Distance-to-Model X (§9) |
|
R |
|
PLS Q residuals / SPE (§9) |
|
R |
|
PLS Hotelling T² (§9) |
|
R |
|
PLS process monitoring (T²/Q thresholds + alarms) (§19) |
|
R |
|
Native POP-PLS per-component strict-linear operator selector |
|
n4m |
Variable selector¶
Method |
Description |
Tolerance |
Refs |
|---|---|---|---|
biPLS backward interval elimination (§18 Phase 5p) |
|
R |
|
Backward Variable Elimination (§18 Phase 5k) |
|
R |
|
CARS competitive adaptive reweighted sampling |
|
R |
|
EMCUVE ensemble MC-UVE (§18 Phase 5n) |
|
R |
|
GA-PLS genetic algorithm selection |
|
R |
|
Interval/iPLS forward selection (§18 Phase 5b) |
|
R |
|
IPW-PLS iterative predictor weighting (§18 Phase 5t) |
|
R |
|
Interval Random Frog (Phase 52) |
|
Py |
|
Iteratively Retains Informative Variables (Phase 51) |
|
Py |
|
PSO-PLS — Binary Particle Swarm variable selection (§48) |
|
Py |
|
Random Frog selection (§18 Phase 5g) |
|
Py |
|
Randomization-test selector (§18 Phase 5o) |
|
R |
|
REP-PLS repeated VIP selection (§18 Phase 5s) |
|
R |
|
SCARS stability + CARS (§18 Phase 5h) |
|
Py |
|
Shaving iterative variable trimming |
|
R |
|
siPLS synergistic interval selection (§18 Phase 5q) |
|
— |
|
SPA Successive Projections (§18 Phase 5e) |
|
R |
|
ST-PLS soft-thresholded sparse PLS (§18 Phase 5u) |
|
R |
|
Stability/MCUVE selection (§18 Phase 5c) |
|
R |
|
T²-PLS loading-weight selection (§18 Phase 5l) |
|
R |
|
UVE noise-thresholded selection (§18 Phase 5d) |
|
R |
|
|Coef| top-k selection (§18 Phase 5a, method=1) |
|
R |
|
Selectivity-Ratio top-k (§18 Phase 5a, method=2) |
|
R |
|
VIP top-k variable selection (§18 Phase 5a, method=0) |
|
R |
|
VIP_SPA — VIP-mask then SPA greedy (Phase 53) |
|
Py |
|
VISSA-PLS — Variable Iterative Space Shrinkage (§49) |
|
Py |
|
WVC weighted-variable-component top-k |
|
R |
|
WVC threshold-based selection (§18 Phase 5r) |
|
R |
Preprocessing¶
Operator |
Binding |
Description |
|---|---|---|
|
Per-row area normalisation. |
|
|
Column-mean baseline centering. |
|
|
Slice wavelength columns in the half-open interval |
|
|
Finite-difference derivative along the wavelength axis. |
|
|
Extended Multiplicative Scatter Correction (polynomial). |
|
|
|
|
|
Convert fractional reflectance/transmittance to percent. |
|
|
R = 10**(-A), optionally returned as percent. |
|
|
SciPy-compatible 1-D Gaussian filter along the wavelength axis. |
|
|
Per-column integer binning using uniform or quantile edges. |
|
|
KM = (1 - R)^2 / (2 R), with R guarded by epsilon. |
|
|
Element-wise logarithm with optional fit-time auto-offset. |
|
|
Sliding-window (local) SNV. |
|
|
Multiplicative Scatter Correction. |
|
|
Column-wise normalisation. |
|
|
Segment smoothing followed by gap finite differences. |
|
|
Convert percent reflectance/transmittance to fraction. |
|
|
Integer binning against monotonic numeric edges. |
|
|
Resize spectra to a fixed column count. |
|
|
Interpolate spectra from a fitted source wavelength grid to a target grid. |
|
|
Robust SNV using median + k * MAD. |
|
|
scipy.signal.savgol_filter parity. |
|
|
Two passes of |
|
|
Column-wise min-max scaling to |
|
|
Standard Normal Variate normalisation. |
|
|
A = -log10(max(R, epsilon)). Optional %-scaling. |
Baseline correction¶
Operator |
Binding |
Description |
|---|---|---|
|
Adaptive iteratively reweighted PLS (Zhang 2010). |
|
|
Asymmetrically reweighted penalized least squares. |
|
|
Asymmetric Least Squares (Eilers & Boelens 2005). |
|
|
Baseline estimation and denoising with sparsity. |
|
|
Polynomial baseline subtraction. |
|
|
Improved asymmetric least-squares baseline correction. |
|
|
Improved modified polynomial baseline correction. |
|
|
Modified polynomial baseline correction. |
|
|
Rolling-ball morphological baseline correction. |
|
|
Statistics-sensitive nonlinear iterative peak-clipping baseline. |
Signal transforms¶
Operator |
Binding |
Description |
|---|---|---|
|
Model-agnostic feature filter by absolute correlation to |
|
|
Model-agnostic feature filter by variance. |
|
|
Generate fixed or overlapping wavelength intervals. |
|
|
Segment-wise correlation optimized warping approximation. |
|
|
Direct standardization transfer map between paired instruments. |
|
|
Dynamic-time-warping alignment to a fixed-length reference. |
|
|
Interval correlation shifting with fixed-size intervals. |
|
|
Transfer by subtracting source mean and adding target mean. |
|
|
Feature-wise MSC using a moving local wavelength window. |
|
|
PDS: local regressions mapping source windows to target wavelengths. |
|
|
Apply MSC independently inside fixed wavelength intervals. |
|
|
Apply SNV independently inside fixed wavelength intervals. |
|
|
Direct standardization with iterative residual trimming. |
|
|
Score-augmented projection standardization inspired by SA-PBS. |
|
|
Linear slope/bias correction for transferred predictions. |
|
|
VSN-style data-derived weighted SNV. |
|
|
Weighted standard normal variate normalization. |
|
|
Whole-spectrum integer shift chosen by maximum correlation. |
Feature extraction¶
Operator |
Binding |
Description |
|---|---|---|
|
External Parameter Orthogonalisation. |
|
|
Static fractional convolutional kernel bank transformer. |
|
|
PCA with integer or explained-variance component selection. |
|
|
SVD with integer component selection. |
|
|
Orthogonal Signal Correction. |
Augmentation¶
Operator |
Binding |
Description |
|---|---|---|
|
Mask random spectral bands with zero-fill or interpolation. |
|
|
Random band-local gain and offset perturbations. |
|
|
Random offset, slope and gain batch effects. |
|
|
Randomly drop individual wavelength channels. |
|
|
Simulate dead spectral detector bands. |
|
|
Detector edge roll-off artifact. |
|
|
Combined edge artifact augmenter. |
|
|
Curved edge response artifact. |
|
|
Random EMSC-like multiplicative, additive and polynomial distortion. |
|
|
Gaussian smoothing jitter. |
|
|
Add IID Gaussian noise to each element of |
|
|
Noise whose standard deviation depends on signal magnitude. |
|
|
Instrumental spectral broadening via Gaussian convolution. |
|
|
Add random offset and linear slope drift. |
|
|
Clip random local spectral regions. |
|
|
Neighbor-constrained mixup augmentation. |
|
|
Random local wavelength warping. |
|
|
Smooth multiplicative magnitude warp. |
|
|
Batch-wise mixup augmentation. |
|
|
Water activity and moisture-content spectral perturbation. |
|
|
Apply per-element multiplicative Gaussian noise. |
|
|
Particle-size and path-length scattering simulation. |
|
|
Simulate multiplicative path-length variation. |
|
|
Add random polynomial baseline drift. |
|
|
Random element-wise multiply/add/subtract operation. |
|
|
Random rotate/translate spectral augmentation. |
|
|
MSC-style multiplicative/additive scatter simulation. |
|
|
Inject random spike artifacts into spectra. |
|
|
Cubic B-spline refit through a random control subset along the curve. |
|
|
Spline smoothing augmenter. |
|
|
Spline x-axis perturbation augmenter. |
|
|
Cubic B-spline refit through a random control subset on the x-axis. |
|
|
Spline y-axis perturbation augmenter. |
|
|
Stray-light edge artifact. |
|
|
Temperature-induced shift, intensity and broadening perturbations. |
|
|
Truncated peaks near spectral edges. |
|
|
Random unsharp spectral mask. |
|
|
Random spectral shift with linear interpolation. |
|
|
Random wavelength-axis stretching. |
|
|
Single-level Haar DWT coefficient transform. |
|
|
Single-level DWT coefficient transform. |
|
|
Multi-level DWT VisuShrink denoising. |
|
|
Multi-level DWT summary features. |
|
|
DWT coefficient projection through PCA scores. |
|
|
DWT coefficient projection through SVD scores. |
Sample / feature filters¶
Operator |
Binding |
Description |
|---|---|---|
|
Boolean composition of leverage and quality filters. |
|
|
Hat-matrix or PCA score-space leverage filter. |
|
|
Stateless row-level spectrum quality filter. |
|
|
Multivariate outlier filter on the design matrix |
|
|
Univariate outlier filter on the target vector |
Splitters¶
Operator |
Binding |
Description |
|---|---|---|
|
Stratified group k-fold splitter after binning continuous |
|
|
Stratified split using K equal-width or quantile bins of |
|
|
Kennard-Stone train/test split. |
|
|
K-means++ diversity splitter. |
|
|
SPlit data-twinning splitter. |
|
|
SPXY (Sample set Partitioning based on X and Y) train/test split. |
|
|
SPXY k-fold splitter over paired |
|
|
Group-aware SPXY k-fold splitter. |
|
|
Systematic circular split over sorted or ordered targets. |
Utilities¶
Method |
Binding |
Description |
|---|---|---|
|
Raw and centered row-additive moment sufficient statistics for exact linear screens. |
|
|
Native moment Ridge-CV sweep over candidate lambdas. |
See the benchmark overview for how parity and timing are measured, and the GitHub Pages dashboard for an interactive cross-method comparison.