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

CPPLS (Canonical Powered PLS, Indahl Liland & Næs 2009)

0.1

R

opls

Orthogonal PLS (Trygg & Wold 2002)

0.001

R

pcr

Principal Components Regression

1e-06

Py, R

pls

SIMPLS PLS regression baseline

0.1

Py, R, ikpls, mixOmics

recursive_pls

Recursive (moving-window) PLS

0.1

Py, R

Sparse

Method

Description

Tolerance

Refs

fused_sparse_pls

Fused sparse PLS (§7)

0.05

group_sparse_pls

Group sparse PLS (§7)

0.05

Py, R

sparse_pls_da

Sparse PLS-DA (§7)

2.0

Py, R

sparse_simpls

Sparse SIMPLS with soft-threshold lambda

1.0

Py, R

Ensemble

Method

Description

Tolerance

Refs

bagging_pls

Bagging PLS (§20)

1e-06

Py

boosting_pls

Boosting PLS (§20)

1e-06

R

moment_stack

Train-only OOF stack over native moment heads

n/a

n4m

random_subspace_pls

Random-subspace PLS (§20)

1e-06

Py

Robust / weighted

Method

Description

Tolerance

Refs

robust_pls

Robust PLS (Partial Robust M-regression, Serneels 2005)

0.1

R

weighted_pls

Sample-weighted PLS (sqrt(w)-prescaled NIPALS)

0.1

Py

Nonlinear / local

Method

Description

Tolerance

Refs

continuum_regression

Continuum regression (interpolates PLS / OLS)

1e-06

Py, R

gpr_pls

GPR-on-PLS — RBF Gaussian Process on PLS scores (§47)

1e-08

Py

kernel_pls_rbf

Non-linear kernel PLS (RBF kernel)

2.0

R

lw_pls

LW-PLS — Locally-weighted PLS (§17 Phase 4)

5.0

Py

Multi-block / cross-modal

Method

Description

Tolerance

Refs

mb_pls

MB-PLS — Multi-block PLS (§17 Phase 4)

2.0

Py

mir_pls

MIR-PLS — Inverse-regression PLS (§13)

0.05

n_pls

N-PLS — 3-way tensor PLS (PARAFAC + OLS by default; Bro 1996 opt-in)

1e-06

Py

o2pls

O2PLS — bi-directional OPLS (Trygg & Wold 2003)

1e-10

R

on_pls

OnPLS — Orthogonal multi-block decomposition (§18)

1e-06

Py

rosa

ROSA — Response-Oriented Sequential Alternation (§19)

1e-06

Py, R

so_pls

SO-PLS — Sequential & Orthogonalized multi-block PLS (§17)

1e-06

R

Calibration transfer

Method

Description

Tolerance

Refs

di_pls

Domain-invariant PLS

1e-06

Py

ds

DS — Direct Standardization (§13)

0.5

R

ecr

Elastic Component Regression (Phase 50)

0.001

Py

pds

PDS — Piecewise Direct Standardization (§13)

0.5

R

Classification & GLM

Method

Description

Tolerance

Refs

pls_cox

PLS-Cox (§5) — Cox PH on PLS scores

1e-06

Py

pls_glm

PLS-GLM (§5) — softmax/Poisson IRLS on PLS scores

1e-06

R

pls_lda

PLS-LDA — LDA on PLS scores (§17 Phase 4)

5.0

Py

pls_logistic

PLS-Logistic — Logistic regression on PLS scores

5.0

Py

pls_qda

PLS-QDA (§5) — quadratic discriminant on PLS scores

1e-06

Py

Missing data

Method

Description

Tolerance

Refs

missing_aware_nipals

Missing-aware NIPALS PLS (§13)

10.0

R

Regularised

Method

Description

Tolerance

Refs

ridge

Direct closed-form Ridge regression

1e-10

Py

ridge_pls

Ridge-augmented PLS

0.1

Py

Diagnostic

Method

Description

Tolerance

Refs

aom_chain_fixed_fit

Final-only reusable fit for one selected strict-linear AOM chain/head/parameter

1e-09

n4m

aom_chain_ridge_pls

Strict-linear AOM single-chain Ridge-PLS selector

1e-08

n4m

aom_chain_screen_refit

Two-pass strict-linear AOM preprocessing screen with exact-CV refit and reusable final model

1e-09

n4m

aom_chain_sweep_run

User-defined native AOM strict-linear chain sweep

1e-09

n4m

aom_pls

Native AOM global strict-linear operator selector for PLS

1e-09

n4m

aom_pls_superblock

Strict-linear AOM-PLS operator superblock

1e-09

n4m

aom_operator_pls_stack

Native AOM strict-operator PLS score stack with Ridge head

1e-09

n4m

aom_staged_chain_campaign

Staged strict-chain AOM/moment preprocessing screen/refit campaign

n/a

n4m

aom_ridge_blender

Native fold-safe AOM-Ridge OOF simplex blender

1e-09

n4m

aom_ridge_active_superblock

Strict-linear AOM Ridge active-superblock selector

1e-09

n4m

aom_ridge_global

Strict-linear AOM Ridge global operator selector

1e-09

n4m

aom_ridge_mkl_superblock

Strict-linear AOM Ridge MKL-light weighted superblock

1e-09

n4m

aom_ridge_pls_superblock

Strict-linear AOM Ridge-PLS operator superblock

1e-09

n4m

aom_ridge_superblock

Strict-linear AOM Ridge superblock over native Ridge fits

1e-09

n4m

aom_robust_hpo

Native strict-linear AOM robust-HPO preprocessing screen

1e-10

n4m

aom_sweep_run

Configurable native AOM strict-linear preprocessing sweep

1e-09

n4m

aom_preprocess

Native AOM operator-bank preprocessing primitive

5.0

n4m

approximate_press

Approximate-PRESS component selection (§29)

1e-10

R

one_se_rule

One-SE component selection rule (§10)

1e-06

R

pls_diagnostic_dmodx

PLS Distance-to-Model X (§9)

5.0

R

pls_diagnostic_q

PLS Q residuals / SPE (§9)

5.0

R

pls_diagnostic_t2

PLS Hotelling T² (§9)

10.0

R

pls_monitoring

PLS process monitoring (T²/Q thresholds + alarms) (§19)

10.0

R

pop_pls

Native POP-PLS per-component strict-linear operator selector

1e-09

n4m

Variable selector

Method

Description

Tolerance

Refs

bipls_select

biPLS backward interval elimination (§18 Phase 5p)

0.7

R

bve_select

Backward Variable Elimination (§18 Phase 5k)

1e-06

R

cars_select

CARS competitive adaptive reweighted sampling

0.0

R

emcuve_select

EMCUVE ensemble MC-UVE (§18 Phase 5n)

1e-06

R

ga_select

GA-PLS genetic algorithm selection

1e-06

R

interval_select

Interval/iPLS forward selection (§18 Phase 5b)

1e-06

R

ipw_select

IPW-PLS iterative predictor weighting (§18 Phase 5t)

1e-06

R

irf_select

Interval Random Frog (Phase 52)

1e-06

Py

iriv_select

Iteratively Retains Informative Variables (Phase 51)

1e-06

Py

pso_select

PSO-PLS — Binary Particle Swarm variable selection (§48)

1e-06

Py

random_frog_select

Random Frog selection (§18 Phase 5g)

1e-06

Py

randomization_select

Randomization-test selector (§18 Phase 5o)

1e-06

R

rep_select

REP-PLS repeated VIP selection (§18 Phase 5s)

1e-06

R

scars_select

SCARS stability + CARS (§18 Phase 5h)

1e-06

Py

shaving_select

Shaving iterative variable trimming

1e-06

R

sipls_select

siPLS synergistic interval selection (§18 Phase 5q)

0.7

spa_select

SPA Successive Projections (§18 Phase 5e)

1e-06

R

st_select

ST-PLS soft-thresholded sparse PLS (§18 Phase 5u)

1e-06

R

stability_select

Stability/MCUVE selection (§18 Phase 5c)

1e-06

R

t2_select

T²-PLS loading-weight selection (§18 Phase 5l)

1.2

R

uve_select

UVE noise-thresholded selection (§18 Phase 5d)

1e-06

R

variable_select_coef

|Coef| top-k selection (§18 Phase 5a, method=1)

1.1

R

variable_select_sr

Selectivity-Ratio top-k (§18 Phase 5a, method=2)

1e-06

R

variable_select_vip

VIP top-k variable selection (§18 Phase 5a, method=0)

1e-06

R

vip_spa_select

VIP_SPA — VIP-mask then SPA greedy (Phase 53)

1e-06

Py

vissa_select

VISSA-PLS — Variable Iterative Space Shrinkage (§49)

1e-06

Py

wvc_select

WVC weighted-variable-component top-k

0.7

R

wvc_threshold_select

WVC threshold-based selection (§18 Phase 5r)

1e-06

R

Preprocessing

Operator

Binding

Description

pp_area

n4m.sklearn.AreaNormalization

Per-row area normalisation.

pp_baseline

n4m.sklearn.BaselineCenter

Column-mean baseline centering.

pp_crop

n4m.sklearn.CropTransformer

Slice wavelength columns in the half-open interval [start, end).

pp_derivate

n4m.sklearn.Derivate

Finite-difference derivative along the wavelength axis.

pp_emsc

n4m.sklearn.EMSC

Extended Multiplicative Scatter Correction (polynomial).

pp_first_derivative

n4m.sklearn.FirstDerivative

np.gradient(X, delta, axis=1, edge_order=...) (shape-preserving).

pp_frac_to_pct

n4m.sklearn.FractionToPercent

Convert fractional reflectance/transmittance to percent.

pp_from_absorbance

n4m.sklearn.FromAbsorbance

R = 10**(-A), optionally returned as percent.

pp_gaussian

n4m.sklearn.Gaussian

SciPy-compatible 1-D Gaussian filter along the wavelength axis.

pp_kbins_disc

n4m.sklearn.IntegerKBinsDiscretizer

Per-column integer binning using uniform or quantile edges.

pp_kubelka_munk

n4m.sklearn.KubelkaMunk

KM = (1 - R)^2 / (2 R), with R guarded by epsilon.

pp_log

n4m.sklearn.LogTransform

Element-wise logarithm with optional fit-time auto-offset.

pp_lsnv

n4m.sklearn.LSNV

Sliding-window (local) SNV.

pp_msc

n4m.sklearn.MSC

Multiplicative Scatter Correction.

pp_normalize

n4m.sklearn.Normalize

Column-wise normalisation.

pp_norris_williams

n4m.sklearn.NorrisWilliams

Segment smoothing followed by gap finite differences.

pp_pct_to_frac

n4m.sklearn.PercentToFraction

Convert percent reflectance/transmittance to fraction.

pp_range_disc

n4m.sklearn.RangeDiscretizer

Integer binning against monotonic numeric edges.

pp_resample

n4m.sklearn.ResampleTransformer

Resize spectra to a fixed column count.

pp_resampler

n4m.sklearn.Resampler

Interpolate spectra from a fitted source wavelength grid to a target grid.

pp_rnv

n4m.sklearn.RNV

Robust SNV using median + k * MAD.

pp_savgol

n4m.sklearn.SavitzkyGolay

scipy.signal.savgol_filter parity.

pp_second_derivative

n4m.sklearn.SecondDerivative

Two passes of np.gradient (shape-preserving).

pp_simple_scale

n4m.sklearn.SimpleScale

Column-wise min-max scaling to [0, 1].

pp_snv

n4m.sklearn.SNV

Standard Normal Variate normalisation.

pp_to_absorbance

n4m.sklearn.ToAbsorbance

A = -log10(max(R, epsilon)). Optional %-scaling.

Baseline correction

Operator

Binding

Description

pp_airpls

n4m.sklearn.AirPLS

Adaptive iteratively reweighted PLS (Zhang 2010).

pp_arpls

n4m.sklearn.ArPLS

Asymmetrically reweighted penalized least squares.

pp_asls

n4m.sklearn.AsLS

Asymmetric Least Squares (Eilers & Boelens 2005).

pp_beads

n4m.sklearn.BEADS

Baseline estimation and denoising with sparsity.

pp_detrend

n4m.sklearn.Detrend

Polynomial baseline subtraction.

pp_iasls

n4m.sklearn.IAsLS

Improved asymmetric least-squares baseline correction.

pp_imodpoly

n4m.sklearn.IModPoly

Improved modified polynomial baseline correction.

pp_modpoly

n4m.sklearn.ModPoly

Modified polynomial baseline correction.

pp_rolling_ball

n4m.sklearn.RollingBall

Rolling-ball morphological baseline correction.

pp_snip

n4m.sklearn.SNIP

Statistics-sensitive nonlinear iterative peak-clipping baseline.

Signal transforms

Operator

Binding

Description

filter_correlation

n4m.sklearn.CorrelationFilter

Model-agnostic feature filter by absolute correlation to y.

filter_variance

n4m.sklearn.VarianceFilter

Model-agnostic feature filter by variance.

interval_generator

n4m.sklearn.IntervalGenerator

Generate fixed or overlapping wavelength intervals.

pp_cow_align

n4m.sklearn.CorrelationOptimizedWarping

Segment-wise correlation optimized warping approximation.

pp_direct_standardization

n4m.sklearn.DirectStandardization

Direct standardization transfer map between paired instruments.

pp_dtw_align

n4m.sklearn.DynamicTimeWarpingAlignment

Dynamic-time-warping alignment to a fixed-length reference.

pp_icoshift_align

n4m.sklearn.IcoshiftAlignment

Interval correlation shifting with fixed-size intervals.

pp_local_centering

n4m.sklearn.LocalCentering

Transfer by subtracting source mean and adding target mean.

pp_localized_msc

n4m.sklearn.LocalizedMSC

Feature-wise MSC using a moving local wavelength window.

pp_piecewise_direct_standardization

n4m.sklearn.PiecewiseDirectStandardization

PDS: local regressions mapping source windows to target wavelengths.

pp_piecewise_msc

n4m.sklearn.PiecewiseMSC

Apply MSC independently inside fixed wavelength intervals.

pp_piecewise_snv

n4m.sklearn.PiecewiseSNV

Apply SNV independently inside fixed wavelength intervals.

pp_robust_direct_standardization

n4m.sklearn.RobustDirectStandardization

Direct standardization with iterative residual trimming.

pp_saps

n4m.sklearn.ScoreAugmentedProjectionStandardization

Score-augmented projection standardization inspired by SA-PBS.

pp_slope_bias

n4m.sklearn.SlopeBiasCorrection

Linear slope/bias correction for transferred predictions.

pp_vsn

n4m.sklearn.VariableSortingNormalization

VSN-style data-derived weighted SNV.

pp_weighted_snv

n4m.sklearn.WeightedSNV

Weighted standard normal variate normalization.

pp_xcorr_align

n4m.sklearn.CrossCorrelationAlignment

Whole-spectrum integer shift chosen by maximum correlation.

Feature extraction

Operator

Binding

Description

pp_epo

n4m.sklearn.EPO

External Parameter Orthogonalisation.

pp_fck_static

n4m.sklearn.FCKStaticTransformer

Static fractional convolutional kernel bank transformer.

pp_flex_pca

n4m.sklearn.FlexiblePCA

PCA with integer or explained-variance component selection.

pp_flex_svd

n4m.sklearn.FlexibleSVD

SVD with integer component selection.

pp_osc

n4m.sklearn.OSC

Orthogonal Signal Correction.

Augmentation

Operator

Binding

Description

aug_band_mask

n4m.sklearn.BandMasking

Mask random spectral bands with zero-fill or interpolation.

aug_band_perturb

n4m.sklearn.BandPerturbationAugmenter

Random band-local gain and offset perturbations.

aug_batch_effect

n4m.sklearn.BatchEffectAugmenter

Random offset, slope and gain batch effects.

aug_channel_dropout

n4m.sklearn.ChannelDropout

Randomly drop individual wavelength channels.

aug_dead_band

n4m.sklearn.DeadBandAugmenter

Simulate dead spectral detector bands.

aug_detector_rolloff

n4m.sklearn.DetectorRollOffAugmenter

Detector edge roll-off artifact.

aug_edge_artifacts

n4m.sklearn.EdgeArtifactsAugmenter

Combined edge artifact augmenter.

aug_edge_curve

n4m.sklearn.EdgeCurvatureAugmenter

Curved edge response artifact.

aug_emsc_distort

n4m.sklearn.EMSCDistortionAugmenter

Random EMSC-like multiplicative, additive and polynomial distortion.

aug_gauss_jitter

n4m.sklearn.GaussianJitter

Gaussian smoothing jitter.

aug_gaussian_noise

n4m.sklearn.GaussianAdditiveNoise

Add IID Gaussian noise to each element of X.

aug_hetero_noise

n4m.sklearn.HeteroscedasticNoiseAugmenter

Noise whose standard deviation depends on signal magnitude.

aug_instrument_broaden

n4m.sklearn.InstrumentalBroadeningAugmenter

Instrumental spectral broadening via Gaussian convolution.

aug_linear_drift

n4m.sklearn.LinearBaselineDrift

Add random offset and linear slope drift.

aug_local_clip

n4m.sklearn.LocalClip

Clip random local spectral regions.

aug_local_mixup

n4m.sklearn.LocalMixupAugmenter

Neighbor-constrained mixup augmentation.

aug_local_warp

n4m.sklearn.LocalWarpAugmenter

Random local wavelength warping.

aug_magnitude_warp

n4m.sklearn.MagnitudeWarp

Smooth multiplicative magnitude warp.

aug_mixup

n4m.sklearn.MixupAugmenter

Batch-wise mixup augmentation.

aug_moisture

n4m.sklearn.MoistureAugmenter

Water activity and moisture-content spectral perturbation.

aug_multiplicative_noise

n4m.sklearn.MultiplicativeNoise

Apply per-element multiplicative Gaussian noise.

aug_particle_size

n4m.sklearn.ParticleSizeAugmenter

Particle-size and path-length scattering simulation.

aug_path_length

n4m.sklearn.PathLengthAugmenter

Simulate multiplicative path-length variation.

aug_poly_drift

n4m.sklearn.PolynomialBaselineDrift

Add random polynomial baseline drift.

aug_random_x_op

n4m.sklearn.RandomXOperation

Random element-wise multiply/add/subtract operation.

aug_rotate_translate

n4m.sklearn.RotateTranslateAugmenter

Random rotate/translate spectral augmentation.

aug_scatter_sim

n4m.sklearn.ScatterSimulationMSC

MSC-style multiplicative/additive scatter simulation.

aug_spike_noise

n4m.sklearn.SpikeNoise

Inject random spike artifacts into spectra.

aug_spline_curve_simplify

n4m.sklearn.SplineCurveSimplificationAugmenter

Cubic B-spline refit through a random control subset along the curve.

aug_spline_smooth

n4m.sklearn.SplineSmoothingAugmenter

Spline smoothing augmenter.

aug_spline_x_perturb

n4m.sklearn.SplineXPerturbationAugmenter

Spline x-axis perturbation augmenter.

aug_spline_x_simplify

n4m.sklearn.SplineXSimplificationAugmenter

Cubic B-spline refit through a random control subset on the x-axis.

aug_spline_y_perturb

n4m.sklearn.SplineYPerturbationAugmenter

Spline y-axis perturbation augmenter.

aug_stray_light

n4m.sklearn.StrayLightAugmenter

Stray-light edge artifact.

aug_temperature

n4m.sklearn.TemperatureAugmenter

Temperature-induced shift, intensity and broadening perturbations.

aug_truncated_peak

n4m.sklearn.TruncatedPeakAugmenter

Truncated peaks near spectral edges.

aug_unsharp_mask

n4m.sklearn.UnsharpMask

Random unsharp spectral mask.

aug_wavelength_shift

n4m.sklearn.WavelengthShift

Random spectral shift with linear interpolation.

aug_wavelength_stretch

n4m.sklearn.WavelengthStretch

Random wavelength-axis stretching.

pp_haar

n4m.sklearn.Haar

Single-level Haar DWT coefficient transform.

pp_wavelet

n4m.sklearn.Wavelet

Single-level DWT coefficient transform.

pp_wavelet_denoise

n4m.sklearn.WaveletDenoise

Multi-level DWT VisuShrink denoising.

pp_wavelet_features

n4m.sklearn.WaveletFeatures

Multi-level DWT summary features.

pp_wavelet_pca

n4m.sklearn.WaveletPCA

DWT coefficient projection through PCA scores.

pp_wavelet_svd

n4m.sklearn.WaveletSVD

DWT coefficient projection through SVD scores.

Sample / feature filters

Operator

Binding

Description

filter_composite

n4m.sklearn.CompositeFilter

Boolean composition of leverage and quality filters.

filter_leverage

n4m.sklearn.HighLeverageFilter

Hat-matrix or PCA score-space leverage filter.

filter_quality

n4m.sklearn.SpectralQualityFilter

Stateless row-level spectrum quality filter.

filter_x_outlier

n4m.sklearn.XOutlierFilter

Multivariate outlier filter on the design matrix X.

filter_y_outlier

n4m.sklearn.YOutlierFilter

Univariate outlier filter on the target vector y.

Splitters

Operator

Binding

Description

split_binned_strat_group_kfold

n4m.sklearn.BinnedStratifiedGroupKFoldSplitter

Stratified group k-fold splitter after binning continuous y.

split_kbins_stratified

n4m.sklearn.KBinsStratifiedSplitter

Stratified split using K equal-width or quantile bins of y.

split_kennard_stone

n4m.sklearn.KennardStoneSplitter

Kennard-Stone train/test split.

split_kmeans

n4m.sklearn.KMeansSplitter

K-means++ diversity splitter.

split_split_splitter

n4m.sklearn.SPlitSplitter

SPlit data-twinning splitter.

split_spxy

n4m.sklearn.SPXYSplitter

SPXY (Sample set Partitioning based on X and Y) train/test split.

split_spxy_fold

n4m.sklearn.SPXYFoldSplitter

SPXY k-fold splitter over paired X and y matrices.

split_spxy_g_fold

n4m.sklearn.SPXYGroupFoldSplitter

Group-aware SPXY k-fold splitter.

split_systematic_circular

n4m.sklearn.SystematicCircularSplitter

Systematic circular split over sorted or ordered targets.

Utilities

Method

Binding

Description

moments

n4m.moments

Raw and centered row-additive moment sufficient statistics for exact linear screens.

sweep_run

n4m.sweep_run

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.