Current method-science reference index¶
This generated index covers the scientific records rendered in the method pages. It complements the lossless historical bibliography: the records below retain their source text and DOI/URL provenance, but no new BibTeX is emitted without a separately reviewed structured source.
Curated records: 239
Required fields: bibliographic source, principle, uses, limits, implementation, and provenance.
Links are checked for offline DOI/URL syntax by this generator; they are not network-fetched.
Source inputs¶
docs/_extras/methods_bibliography.py— SHA-256140554600e9d2f835e1d11a383d9d389c730d86c5205a5f742ea8465824e6d30docs/_extras/scientific_aom.py— SHA-25643aa30df6c782d2b4a407c09e734e8d1d5a53dbfc21fddae55b916dc16800f93docs/_extras/scientific_augmentation_filter_split.py— SHA-256477f2b1015411b97e3cb31eff82718f9db5249ce55e7d2faa5360ec312919e77docs/_extras/scientific_legacy.py— SHA-2563af69f7019d1e2a246ddcfd3fb80511534eb848835ada276e96f037af726a547docs/_extras/scientific_remaining.py— SHA-256272a52becc81a7b82327df2c7cf26113d7b671f439a0b7cb4e64591f8bf13853
References by documentation page¶
aom_chain_ridge_pls — Strict-chain AOM Ridge-PLS selector¶
No canonical publication defines this strict-chain Ridge-PLS product surface. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_chain_ridge_pls.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/aom_search.py
aom_chain_sweep_run — AOM strict-chain sweep¶
No single canonical paper defines this strict-chain ABI sweep. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_chain_sweep.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/aom_search.py
aom_operator_pls_stack — AOM operator latent-score Ridge stack¶
No single paper defines this ABI-2 composition. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_operator_pls_stack.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/ensemble.py
aom_pls — AOM-PLS (global adaptive operator selection)¶
Beurier, G., Reiter, R., Noûs, C., Rouan, L. & Cornet, D. (2026). Reframing preprocessing selection as model-internal calibration in near-infrared spectroscopy: a large-scale benchmark of operator-adaptive PLS and Ridge models. arXiv:2605.13587. https://arxiv.org/abs/2605.13587.
Provenance: Current implementation: cpp/src/core/aom_preprocessing.cpp.
aom_pls_superblock — AOM PLS superblock¶
No publication specifies this ABI-2 superblock wrapper; it composes the AOM-PLS family. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/compose/aom_superblock.py
aom_pop_aom_chain_fixed_fit — AOM fixed-chain refit¶
No single canonical paper defines this fixed-candidate ABI wrapper. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_method_result.cpp
aom_pop_aom_chain_screen_refit — AOM chain screen and refit¶
No single canonical paper defines this screen/refit orchestration surface. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
aom_pop_calibration — Versioned AOM branch calibration¶
No canonical publication defines this complete ABI-2 calibration protocol. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_calibration.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_aom_calibration.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/aom_calibration.py
aom_pop_linear_ridge_stack — Nested-OOF linear Ridge stack¶
No canonical publication defines this exact AOM candidate bank and affine-export surface; it is a product-specific stacked generalization protocol. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/linear_ridge_stack.py; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/linear_stack.cpp
aom_pop_linear_stack_compress — Affine linear-stack compression¶
No separate publication defines this ABI-2 deployment operation; it is the exact affine composition used by the versioned AOM stack contract. Source contract: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/include/n4m/ensemble.h.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/linear_stack.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_linear_stack.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/linear_ridge_stack.py
aom_preprocess — AOM (Adaptive Operator Mixture) preprocessing bank¶
Beurier, G., Reiter, R., Noûs, C., Rouan, L. & Cornet, D. (2026). Reframing preprocessing selection as model-internal calibration in near-infrared spectroscopy: a large-scale benchmark of operator-adaptive PLS and Ridge models. arXiv:2605.13587. https://arxiv.org/abs/2605.13587 — introduces operator-adaptive PLS (AOM-PLS / POP-PLS) and the bench against 50+ NIRS datasets that the git-pinned oracle nirs4all.operators.models.sklearn.aom_pls is calibrated against.
Provenance: Current implementation: cpp/src/core/aom_preprocessing.cpp.
aom_ridge_active_superblock — Active AOM Ridge superblock¶
No canonical paper defines this active-superblock variant. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/compose/aom_superblock.py
aom_ridge_blender — AOM Ridge out-of-fold simplex blender¶
No canonical paper defines this exact n4m candidate bank; it uses non-negative stacking. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_ridge_blender.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/ensemble.py
aom_ridge_global — AOM Ridge global selector¶
No canonical paper defines this strict-linear Ridge route. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/aom_search.py
aom_ridge_mkl_superblock — AOM Ridge MKL-light superblock¶
No canonical publication defines this product-specific MKL-light surface. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/compose/aom_superblock.py
aom_ridge_pls_superblock — AOM Ridge-PLS superblock¶
No canonical publication defines this combined superblock head. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/compose/aom_superblock.py
aom_ridge_superblock — AOM Ridge superblock¶
No canonical paper defines this ABI-2 superblock wrapper. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/native.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/compose/aom_superblock.py
aom_robust_hpo — Strict-linear AOM robust-HPO screen¶
No single canonical paper defines this ABI-2 compact/wide screen. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_robust_hpo.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_method_result.cpp
aom_staged_chain_campaign — Staged strict-chain AOM campaign¶
No single canonical paper defines this staged orchestration layer. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
aom_sweep_run — AOM strict-chain sweep¶
The global AOM-PLS paper motivates operator selection; this ABI-2 sweep has no separate canonical paper. Beurier, G. et al. (2026). AOM-PLS / POP-PLS paper companion, arXiv:2605.13587, https://arxiv.org/abs/2605.13587. The product variants below are implementation-specific extensions; the paper does not by itself specify their ABI-2 orchestration.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/aom_sweep.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/aom_search.py
approximate_press — PRESS by leave-one-out refitting¶
Allen, D. M. (1974). The relationship between variable selection and data augmentation and a method for prediction. Technometrics 16(1), 125–127. Verified primary link: https://doi.org/10.1080/00401706.1974.10489157.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
aug_band_mask — Random contiguous-band masking¶
No single spectroscopy paper defines this operator. It is analogous to structured feature dropout, with exact band sampling defined by the native source.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/band_mask.h
aug_band_perturb — Local band gain-and-offset perturbation¶
No canonical paper specifies this bandwise affine perturbation. It is a native spectral corruption heuristic related to offset/gain augmentation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/band_perturb.h
aug_batch_effect — Offset, slope, and gain batch effects¶
No canonical publication defines this three-component simulator. It is an internal instrument/session perturbation model related to affine spectral augmentation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/scattering/batch_effect.h
aug_channel_dropout — Independent spectral-channel dropout¶
No canonical NIR publication defines this cellwise dropout. The exact mask and replacement rules are implementation-defined.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/channel_dropout.h
aug_dead_band — Random noisy detector dead bands¶
No canonical paper defines this simulator. The number, width, probability, and replacement-noise rules are implementation-specific.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/scattering/dead_band.h
aug_detector_rolloff — Detector sensitivity roll-off artifact¶
No single paper defines the five detector presets in this implementation. They are literature-inspired internal curves; the enum and native source are the auditable specification.
aug_edge_artifacts — Configured pipeline of four edge artifacts¶
No paper defines this composite. It is an implementation-defined pipeline combining truncated peaks, curvature, stray light, and detector roll-off.
aug_edge_curve — Smooth detector-edge curvature¶
No canonical paper defines the smile/frown/asymmetric templates. They are internal edge-response heuristics with formulas fixed by the native source.
aug_emsc_distort — Random EMSC-like affine and polynomial distortion¶
Martens & Stark (1991), Extended multiplicative signal correction and spectral interference subtraction, Journal of Pharmaceutical and Biomedical Analysis 9, 625–635, DOI 10.1016/0731-7085(91)80188-F (https://doi.org/10.1016/0731-7085(91)80188-F). This operator generates EMSC-shaped distortions; it does not perform EMSC correction.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/scattering/emsc_distort.h; https://doi.org/10.1016/0731-7085(91)80188-F
aug_gauss_jitter — Random Gaussian smoothing jitter¶
No unique paper defines randomizing the smoothing width. The operator is a stochastic Gaussian convolution whose source defines boundary behavior.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/gauss_jitter.h
aug_gaussian_noise — Gaussian additive noise scaled to each spectrum¶
There is no single canonical paper for additive-noise augmentation. Bjerrum, Glahder & Skov (2017), Data Augmentation of Spectral Data for CNN Based Deep Chemometrics, arXiv:1710.01927 (https://arxiv.org/abs/1710.01927), is a spectroscopy-specific precedent for perturbing spectra during training.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/noise/gaussian_noise.h; https://arxiv.org/abs/1710.01927
aug_hetero_noise — Signal-dependent heteroscedastic noise¶
No single publication defines this affine noise law. It is an internal measurement-noise heuristic documented by the native implementation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/noise/hetero_noise.h
aug_instrument_broaden — Gaussian instrumental broadening from FWHM¶
No single paper defines this implementation; Gaussian line-spread convolution is a standard instrumental-resolution model, with exact kernel construction specified in source.
aug_linear_drift — Random affine baseline drift¶
No unique paper defines this augmenter. Additive offset and slope perturbation is a spectroscopy augmentation pattern used by Bjerrum et al. (2017), arXiv:1710.01927 (https://arxiv.org/abs/1710.01927).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/drift/linear_drift.h; https://arxiv.org/abs/1710.01927
aug_local_clip — Random local 90th-percentile clipping¶
No canonical paper specifies this saturation heuristic. Its fixed 90th-percentile rule is defined by the native implementation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/local_clip.h
aug_local_mixup — Nearest-neighbor constrained mixup¶
This is an internal local variant of Zhang et al.’s mixup (2018), arXiv:1710.09412 (https://arxiv.org/abs/1710.09412); no separate canonical paper defines the specific k-nearest-neighbor rule used here.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/mixup/local_mixup.h; https://arxiv.org/abs/1710.09412
aug_local_warp — Piecewise-linear local wavelength warp¶
No paper is canonical for this exact local-warp heuristic. The native source, rather than the historical cubic Python variant, defines the shipped behavior.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/wavelength/local_warp.h
aug_magnitude_warp — Smooth multiplicative magnitude warp¶
No paper is canonical for this exact spectral warp. The current native linear interpolation path is the normative algorithm.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/magnitude_warp.h
aug_mixup — Within-batch convex mixup of spectra¶
Zhang, Cisse, Dauphin & Lopez-Paz (2018), mixup: Beyond Empirical Risk Minimization, ICLR, arXiv:1710.09412 (https://arxiv.org/abs/1710.09412).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/mixup/mixup.h; https://arxiv.org/abs/1710.09412
aug_moisture — Water-activity and moisture-band perturbation¶
No canonical paper specifies this combined sigmoid/free-bound-water model. It is an internal heuristic with source-defined 1435 and 1930 wavelength bands.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/environmental/moisture.h
aug_multiplicative_noise — Per-spectrum multiplicative gain noise¶
No publication uniquely defines this implementation. It belongs to the family of spectral offset/slope/gain augmentation discussed by Bjerrum et al. (2017), arXiv:1710.01927 (https://arxiv.org/abs/1710.01927).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/noise/multiplicative_noise.h; https://arxiv.org/abs/1710.01927
aug_particle_size — Particle-size and path-length scatter heuristic¶
No single paper defines this simulator. It is physically motivated by diffuse scattering but uses an explicit empirical power law documented in the source, not a Mie or Kubelka–Munk solver.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/scattering/particle_size.h
aug_path_length — Multiplicative path-length perturbation¶
There is no paper canonical to this random simulator. Its physical motivation is the multiplicative path-length/scatter term treated by Martens & Stark (1991), DOI 10.1016/0731-7085(91)80188-F (https://doi.org/10.1016/0731-7085(91)80188-F).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/drift/path_length.h; https://doi.org/10.1016/0731-7085(91)80188-F
aug_poly_drift — Random polynomial baseline drift¶
No canonical publication specifies these random coefficient ranges. The method is a controlled extension of offset/slope spectral augmentation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/drift/poly_drift.h
aug_random_x_op — Independent random elementwise arithmetic¶
No canonical paper defines this operator. It is a deliberately simple internal perturbation baseline; the native source is the algorithmic specification.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/random/random_x_op.h
aug_rotate_translate — Random hinged rotation-and-translation pattern¶
No canonical publication defines this piecewise-linear augmenter. Its exact hinge construction and scaling are internal nirs4all behavior.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/random/rotate_translate.h
aug_scatter_sim — MSC-style affine scatter simulation¶
Geladi, MacDougall & Martens (1985), Linearization and Scatter-Correction for Near-Infrared Reflectance Spectra of Meat, Applied Spectroscopy 39, 491–500, DOI 10.1366/0003702854248656 (https://doi.org/10.1366/0003702854248656). The augmenter simulates the affine effects that MSC is designed to remove.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/scattering/scatter_sim_msc.h; https://doi.org/10.1366/0003702854248656
aug_spike_noise — Sparse impulsive spike injection¶
No canonical paper defines this exact spike simulator. It is an internal artifact model; the implementation source is the normative specification.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/noise/spike_noise.h
aug_spline_curve_simplify — Curve-control cubic-spline simplification¶
No canonical paper defines this augmenter. It shares the internal interpolating B-spline engine with x simplification and exists for historical parity.
aug_spline_smooth — Deterministic natural-cubic spline smoothing¶
Reinsch (1967), Smoothing by spline functions, Numerische Mathematik 10, 177–183, DOI 10.1007/BF02162161 (https://doi.org/10.1007/BF02162161), provides the classical smoothing-spline basis; the exact fixed smoothing choice here is implementation-specific.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/splines/spline_smoothing.h; https://doi.org/10.1007/BF02162161
aug_spline_x_perturb — Spline-based x-axis perturbation¶
No canonical paper defines this random x-grid perturbation. The native implementation is a parity-oriented analogue of SciPy spline resampling.
aug_spline_x_simplify — Cubic-spline reconstruction from sparse x controls¶
No canonical paper defines this augmentation heuristic. It uses a classical interpolating B-spline but the control subset and parity rules are implementation-specific.
aug_spline_y_perturb — Smooth additive spline perturbation¶
No publication canonically defines this control-point noise augmenter. Its random-control construction is specified by the native source.
aug_stray_light — Stray-light distortion in transmittance space¶
No canonical publication defines this edge-enhanced profile. The physical mixing equation is standard, while its wavelength profile and optional truncation are source-defined.
aug_temperature — Region-specific temperature perturbation heuristic¶
No publication canonically defines the six coefficient presets used here. This is an internal phenomenological model; source coefficients and regions are normative.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/environmental/temperature.h
aug_truncated_peak — Off-range Gaussian peak tails¶
No canonical paper defines this artifact generator. It is an internal model of bands whose centers lie just outside the measured interval.
aug_unsharp_mask — Unsharp spectral masking¶
Unsharp masking is a classical signal/image sharpening construction, but no single NIR paper defines this stochastic parameterization; source code is normative.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/augmentation/spectral/unsharp_mask.h
aug_wavelength_shift — Rigid wavelength-axis shift¶
No unique paper defines this interpolation augmenter. It is an internal model of wavelength-registration uncertainty.
aug_wavelength_stretch — Wavelength-axis stretch about its center¶
No canonical publication specifies this augmenter; it is a wavelength-scale calibration heuristic whose exact interpolation is defined by the source.
bagging_pls — Bagging PLS¶
Breiman, L. (1996). Bagging predictors. Machine Learning 24(2), 123–140. — adapted for PLS by various chemometric authors. Verified primary link: https://doi.org/10.1023/A:1018054314350.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
bipls_select — biPLS — Backward Interval PLS¶
Leardi, R. & Nørgaard, L. (2004). Sequential application of backward interval partial least squares and genetic algorithms for the selection of relevant spectral regions. Journal of Chemometrics 18(11), 486–497. Verified primary link: https://doi.org/10.1002/cem.893.
Provenance: Current implementation: cpp/src/core/bipls_selection.cpp.
boosting_pls — Boosting PLS¶
Friedman, J. H. (2001). Greedy function approximation: a gradient boosting machine. Annals of Statistics 29(5), 1189–1232. — adapted for PLS as a base learner. Verified primary link: https://doi.org/10.1214/aos/1013203451.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
bve_select — BVE — Backward Variable Elimination¶
Mehmood, T. et al. (2011). A Partial Least Squares based algorithm for parsimonious variable selection. Algorithms for Molecular Biology 6, 27. DOI 10.1186/1748-7188-6-27.
Provenance: Current implementation: cpp/src/core/bve_selection.cpp.
cars_select — CARS — Competitive Adaptive Reweighted Sampling¶
Li, H., Liang, Y., Xu, Q. & Cao, D. (2009). Key wavelengths screening using competitive adaptive reweighted sampling method for multivariate calibration. Analytica Chimica Acta 648(1), 77–84. Verified primary link: https://doi.org/10.1016/j.aca.2009.06.046.
Provenance: Current implementation: cpp/src/core/cars_selection.cpp.
continuum_regression — Continuum Regression (Stone & Brooks 1990)¶
Stone, M. & Brooks, R. J. (1990). Continuum regression: Cross-validated sequentially constructed prediction embracing ordinary least squares, partial least squares and principal components regression. Journal of the Royal Statistical Society: Series B 52(2), 237–269. DOI 10.1111/j.2517-6161.1990.tb01786.x.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
cppls — Canonical Powered PLS (CPPLS)¶
Indahl, U. G., Liland, K. H. & Næs, T. (2009). Canonical partial least squares—a unified PLS approach to classification and regression problems. Journal of Chemometrics 23(9–10), 495–504. DOI 10.1002/cem.1243.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
di_pls — Domain-Invariant PLS (di-PLS)¶
Nikzad-Langerodi, R., Zellinger, W., Saminger-Platz, S. & Moser, B. A. (2018). Domain-invariant partial-least-squares regression. Analytical Chemistry 90(11), 6693–6701. Verified primary link: https://doi.org/10.1021/acs.analchem.8b00498.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
diagnostics_adjusted_rand_index — Adjusted Rand index between two partitions¶
Hubert & Arabie (1985), Comparing partitions, Journal of Classification 2, 193–218, https://doi.org/10.1007/BF01908075.
Provenance: https://doi.org/10.1007/BF01908075; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_hdbscan.cpp
diagnostics_bh_adjust — Benjamini–Hochberg adjusted p-values¶
Benjamini & Hochberg (1995), Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing, Journal of the Royal Statistical Society B 57(1), 289–300, https://doi.org/10.1111/j.2517-6161.1995.tb02031.x; Benjamini & Yekutieli (2001), The control of the false discovery rate in multiple testing under dependency, Annals of Statistics 29(4), 1165–1188, https://doi.org/10.1214/aos/1013699998.
Provenance: https://doi.org/10.1111/j.2517-6161.1995.tb02031.x; https://doi.org/10.1214/aos/1013699998; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_preflight.cpp
diagnostics_cluster_jaccard_matrix — Jaccard overlap between the clusters of two partitions¶
Jaccard (1912), The distribution of the flora in the alpine zone, New Phytologist 11(2), 37–50, https://doi.org/10.1111/j.1469-8137.1912.tb05611.x; Hennig (2007), Cluster-wise assessment of cluster stability, Computational Statistics & Data Analysis 52(1), 258–271, https://doi.org/10.1016/j.csda.2006.11.025.
Provenance: https://doi.org/10.1111/j.1469-8137.1912.tb05611.x; https://doi.org/10.1016/j.csda.2006.11.025; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/cluster_matching_null_v1.json
diagnostics_correlation_test — Pearson and Spearman correlation with a permutation test¶
Pearson (1895), Note on regression and inheritance in the case of two parents, Proceedings of the Royal Society of London 58, 240–242, https://doi.org/10.1098/rspl.1895.0041; Spearman (1904), The proof and measurement of association between two things, American Journal of Psychology 15(1), 72–101, https://doi.org/10.2307/1412159; Phipson & Smyth (2010), Permutation P-values Should Never Be Zero, Statistical Applications in Genetics and Molecular Biology 9(1), https://doi.org/10.2202/1544-6115.1585.
Provenance: https://doi.org/10.1098/rspl.1895.0041; https://doi.org/10.2307/1412159; https://doi.org/10.2202/1544-6115.1585; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_preflight.cpp
diagnostics_energy_distance — Energy distance between groups and K-sample energy test¶
Székely & Rizzo (2004), Testing for equal distributions in high dimension, InterStat 5; Rizzo & Székely (2016), Energy distance, WIREs Computational Statistics 8(1), 27–38, https://doi.org/10.1002/wics.1375; Székely & Rizzo (2013), Energy statistics: A class of statistics based on distances, Journal of Statistical Planning and Inference 143(8), 1249–1272, https://doi.org/10.1016/j.jspi.2013.03.018.
Provenance: https://doi.org/10.1002/wics.1375; https://doi.org/10.1016/j.jspi.2013.03.018; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/domain_shift_v1.json
diagnostics_factor_association_exact — Exact permutation distribution of a factor-target association¶
No single canonical paper; exhaustive permutation tests follow Fisher (1935), The Design of Experiments, Oliver & Boyd, and Good (2005), Permutation, Parametric, and Bootstrap Tests of Hypotheses, Springer, https://doi.org/10.1007/b138696.
Provenance: https://doi.org/10.1007/b138696; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_preflight.cpp
diagnostics_group_means — Equal-weight per-group column means¶
Arithmetic mean of replicate measurements, summed with the error-free TwoSum transformation of Møller (1965), Quasi double-precision in floating point addition, BIT 5, 37–50, https://doi.org/10.1007/BF01975722.
Provenance: https://doi.org/10.1007/BF01975722; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_group_means.cpp
diagnostics_hdbscan — HDBSCAN* density-based hierarchical clustering¶
Campello, Moulavi & Sander (2013), Density-Based Clustering Based on Hierarchical Density Estimates, PAKDD 2013, LNCS 7819, 160–172, https://doi.org/10.1007/978-3-642-37456-2_14; McInnes & Healy (2017), Accelerated Hierarchical Density Based Clustering, ICDMW 2017, 33–42, https://doi.org/10.1109/ICDMW.2017.12.
Provenance: https://doi.org/10.1007/978-3-642-37456-2_14; https://doi.org/10.1109/ICDMW.2017.12; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/clustering/_vendored/hdbscan.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/hdbscan_v1.json; https://github.com/GBeurier/nirs4all-methods/blob/main/docs/dev/hdbscan.md
diagnostics_holm_adjust — Holm step-down adjusted p-values¶
Holm (1979), A Simple Sequentially Rejective Multiple Test Procedure, Scandinavian Journal of Statistics 6(2), 65–70, https://www.jstor.org/stable/4615733.
Provenance: https://www.jstor.org/stable/4615733; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_preflight.cpp
diagnostics_linear_sum_assignment — Rectangular linear sum assignment¶
Crouse (2016), On implementing 2D rectangular assignment algorithms, IEEE Transactions on Aerospace and Electronic Systems 52(4), 1679–1696, https://doi.org/10.1109/TAES.2016.140952; Kuhn (1955), The Hungarian method for the assignment problem, Naval Research Logistics Quarterly 2, 83–97, https://doi.org/10.1002/nav.3800020109.
Provenance: https://doi.org/10.1109/TAES.2016.140952; https://doi.org/10.1002/nav.3800020109; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/optimization/_vendored/rectangular_lsap.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/cluster_matching_null_v1.json
diagnostics_pca_monitor — PCA monitoring with out-of-fold empirical control limits¶
Jackson (1991), A User’s Guide to Principal Components, Wiley, https://doi.org/10.1002/0471725331; Nomikos & MacGregor (1995), Multivariate SPC charts for monitoring batch processes, Technometrics 37(1), 41–59, https://doi.org/10.1080/00401706.1995.10485888.
Provenance: https://doi.org/10.1002/0471725331; https://doi.org/10.1080/00401706.1995.10485888; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/domain_shift_v1.json
diagnostics_permanova — PERMANOVA of one categorical term on Euclidean distances¶
Anderson (2001), A new method for non-parametric multivariate analysis of variance, Austral Ecology 26, 32–46, https://doi.org/10.1111/j.1442-9993.2001.01070.pp.x; McArdle & Anderson (2001), Fitting multivariate models to community data: a comment on distance-based redundancy analysis, Ecology 82, 290–297, https://doi.org/10.1890/0012-9658(2001)082[0290:FMMTCD]2.0.CO;2; Anderson & ter Braak (2003), Permutation tests for multi-factorial analysis of variance, Journal of Statistical Computation and Simulation 73, 85–113, https://doi.org/10.1080/00949650215733; Anderson (2001), Permutation tests for univariate or multivariate analysis of variance and regression, Canadian Journal of Fisheries and Aquatic Sciences 58, 626–639, https://doi.org/10.1139/f00-178.
Provenance: https://doi.org/10.1111/j.1442-9993.2001.01070.pp.x; https://doi.org/10.1890/0012-9658(2001)082[0290:FMMTCD]2.0.CO;2; https://doi.org/10.1080/00949650215733; https://doi.org/10.1139/f00-178; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/permanova_v1.json
diagnostics_permdisp — PERMDISP test of multivariate dispersion¶
Anderson (2006), Distance-based tests for homogeneity of multivariate dispersions, Biometrics 62, 245–253, https://doi.org/10.1111/j.1541-0420.2005.00440.x.
Provenance: https://doi.org/10.1111/j.1541-0420.2005.00440.x; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/parity/fixtures/permanova_v1.json
diagnostics_pls_diagnostics — PLS model diagnostics: Hotelling T², Q residuals, and DModX¶
Hotelling (1931), The Generalization of Student’s Ratio, https://doi.org/10.1214/aoms/1177732979; Jackson & Mudholkar (1979), Control Procedures for Residuals Associated With Principal Component Analysis, https://doi.org/10.1080/00401706.1979.10489779; Wold et al. (2001), PLS-regression: a basic tool of chemometrics, https://doi.org/10.1016/S0169-7439(01)00155-1.
Provenance: https://doi.org/10.1214/aoms/1177732979; https://doi.org/10.1080/00401706.1979.10489779; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/pls_diagnostics.cpp
diagnostics_preflight_qualification — Preflight dataset-qualification diagnostics¶
This kernel bundle has no single canonical paper. The noise proxy smooths with the Savitzky–Golay filter (Savitzky & Golay, 1964, Smoothing and Differentiation of Data by Simplified Least Squares Procedures, https://doi.org/10.1021/ac60214a047). Repeatability reports the one-way random-effects ICC(1,1) (Shrout & Fleiss, 1979, Intraclass correlations: uses in assessing rater reliability, https://doi.org/10.1037/0033-2909.86.2.420). Factor association uses eta² with the one-way ANOVA F statistic, or Cramér’s V with the Pearson chi-square statistic.
Provenance: https://doi.org/10.1021/ac60214a047; https://doi.org/10.1037/0033-2909.86.2.420; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_preflight.cpp
diagnostics_regression_metrics — Regression and NIR prediction metrics¶
No single paper defines this API bundle. RPD usage in NIR calibration is reviewed by Williams & Sobering (1993); RPIQ by Bellon-Maurel et al. (2010), https://doi.org/10.1016/j.trac.2010.07.005. RMSE, MAE, bias, SEP, R², and NRMSE use the explicit formulas in the implementation.
Provenance: https://doi.org/10.1016/j.trac.2010.07.005; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/utilities/nirs_metrics.c
diagnostics_regression_scores — RMSE, MAE and R² from explicit residuals¶
Standard regression scores, summed with the error-free TwoSum transformation of Møller (1965), Quasi double-precision in floating point addition, BIT 5, 37–50, https://doi.org/10.1007/BF01975722.
Provenance: https://doi.org/10.1007/BF01975722; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_preflight.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_group_means.cpp
diagnostics_variance_components — One-way random-effects variance components (REML) and their intervals¶
Patterson & Thompson (1971), Recovery of inter-block information when block sizes are unequal, Biometrika 58(3), 545–554, https://doi.org/10.1093/biomet/58.3.545; Harville (1977), Maximum Likelihood Approaches to Variance Component Estimation and to Related Problems, JASA 72(358), 320–338, https://doi.org/10.1080/01621459.1977.10480998; Searle (1971), Linear Models, Wiley, for the exact balanced ICC interval.
Provenance: https://doi.org/10.1093/biomet/58.3.545; https://doi.org/10.1080/01621459.1977.10480998; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/variance_components.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/tests/test_variance_components.cpp
ds — Direct Standardisation¶
Wang, Y., Veltkamp, D. J. & Kowalski, B. R. (1991). Multivariate instrument standardisation. Analytical Chemistry 63(23), 2750–2756. Verified primary link: https://doi.org/10.1021/ac00023a016.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
ecr — ECR — Elastic Component Regression¶
Li, H.-D., Liang, Y.-Z. & Xu, Q.-S. (2010). Uncover the path from PCR to PLS via elastic component regression. Chemometrics and Intelligent Laboratory Systems 104(2), 341–346. DOI 10.1016/j.chemolab.2010.08.003.
Provenance: Current implementation: cpp/src/core/ecr.cpp.
emcuve_select — EMCUVE — Ensemble MC-UVE¶
Han, Q.-J., Wu, H.-L., Cai, C.-B., Xu, L. & Yu, R.-Q. (2008). An ensemble of Monte Carlo uninformative variable elimination for wavelength selection. Analytica Chimica Acta 612(2), 121–125. https://doi.org/10.1016/j.aca.2008.02.032 — extends the MC-UVE procedure of Cai et al. (2008) (stability_select) by aggregating independent MC-UVE rounds through a vote rule.
Provenance: Current implementation: cpp/src/core/emcuve_selection.cpp.
filter_composite — Boolean composition of sample keep masks¶
No paper canonically defines this composition wrapper. Boolean aggregation of precomputed masks is an implementation utility, not a new outlier-detection algorithm.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/filters/composite.h
filter_correlation — Absolute Pearson-correlation feature filter¶
There is no single canonical feature-selection paper for this use of Pearson correlation. The absolute-score threshold and top-k policy are implementation-specific.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L1138
filter_leverage — Hat-matrix or PCA-score leverage filter¶
Rousseeuw & van Zomeren (1990), Unmasking Multivariate Outliers and Leverage Points, JASA 85, 633–639, DOI 10.1080/01621459.1990.10474920 (https://doi.org/10.1080/01621459.1990.10474920), provides the leverage/outlier context; the fallback and thresholds here are implementation-specific.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/filters/high_leverage.h; https://doi.org/10.1080/01621459.1990.10474920
filter_quality — Rule-based row-level spectral quality filter¶
No canonical paper defines this conjunction of data-quality checks. It is an explicit internal quality-control rule set whose thresholds are user policy.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/filters/spectral_quality.h
filter_variance — Population-variance feature filter¶
Variance thresholding is a basic descriptive-statistics filter with no single canonical method paper. The shipped scoring and tie behavior are defined by the ABI implementation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L1138
filter_x_outlier — Multistrategy X-space outlier filter¶
The facade combines distinct methods: Liu, Ting & Zhou (2008), Isolation Forest, DOI 10.1109/ICDM.2008.17 (https://doi.org/10.1109/ICDM.2008.17); Breunig et al. (2000), LOF, DOI 10.1145/342009.335388 (https://doi.org/10.1145/342009.335388); and Rousseeuw & Van Driessen (1999), FAST-MCD, DOI 10.1080/00401706.1999.10485670 (https://doi.org/10.1080/00401706.1999.10485670). Mahalanobis and PCA Q/T² options are classical.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/filters/x_outlier.h; https://doi.org/10.1109/ICDM.2008.17; https://doi.org/10.1145/342009.335388; https://doi.org/10.1080/00401706.1999.10485670
filter_y_outlier — Univariate target outlier filter¶
No single paper defines this four-rule facade. IQR fences, z scores, percentiles, and scaled MAD are classical robust/descriptive rules; the exact NumPy-compatible percentile interpolation is source-defined.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/filters/y_outlier.h
fused_sparse_pls — Fused-sparse PLS¶
Implementation-specific heuristic inspired by fused sparsity; no canonical fused-lasso solver is implemented.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
ga_select — GA-PLS — Genetic Algorithm variable selection¶
Leardi, R. (2000). Application of genetic algorithm–PLS for feature selection in spectral data sets. Journal of Chemometrics 14(5–6), 643–655. Verified primary link: https://doi.org/10.1002/1099-128X(200009/12)14:5/6%3C643::AID-CEM621%3E3.0.CO;2-E.
Provenance: Current implementation: cpp/src/core/ga_selection.cpp.
gpr_pls — Gaussian Process on PLS scores¶
Bishop, C. M. (2006). Pattern Recognition and Machine Learning, §6.4 (Gaussian Processes). — combined with a preliminary PLS dimensionality reduction for spectroscopy. Verified primary link: https://link.springer.com/book/9780387310732.
Provenance: Current implementation: cpp/src/core/gpr_pls.cpp.
group_sparse_pls — Group-sparse PLS (Liquet 2016)¶
Liquet, B., de Micheaux, P. L., Hejblum, B. P. & Thiébaut, R. (2016). Group and sparse group partial least squares approaches applied in genomics context. Bioinformatics 32(1), 35–42. Verified primary link: https://doi.org/10.1093/bioinformatics/btv535.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
interval_generator — Fixed and overlapping interval expansion¶
No canonical paper: this is a deterministic interval-construction and column-copy operation; interval_fit is its normative definition.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L1225-L1303
interval_select — iPLS — Interval PLS (moving-window)¶
Nørgaard, L., Saudland, A., Wagner, J., Nielsen, J. P., Munck, L. & Engelsen, S. B. (2000). Interval partial least-squares regression (iPLS): a comparative chemometric study with an example from near-infrared spectroscopy. Applied Spectroscopy 54(3), 413–419. Verified primary link: https://doi.org/10.1366/0003702001949500.
Provenance: Current implementation: cpp/src/core/interval_selection.cpp.
ipw_select — IPW — Iterative Predictor Weighting¶
Forina, M., Casolino, C. & Pizarro Millán, C. (1999). Iterative predictor weighting (IPW) PLS: a technique for the elimination of useless predictors in regression problems. Journal of Chemometrics 13(2), 165–184. https://doi.org/10.1002/(SICI)1099-128X(199903/04)13:2<165::AID-CEM535>3.0.CO;2-Y
Provenance: Current implementation: cpp/src/core/ipw_selection.cpp.
irf_select — Interval Random Frog (IRF) selection¶
Yun, Y.-H. et al. (2013). An efficient method of wavelength interval selection based on random frog for multivariate spectral calibration. Spectrochimica Acta Part A 111, 31–36. DOI 10.1016/j.saa.2013.03.083. The shipped libPLS-compatible path may differ in details; it is not the random-forest IRF of Basu et al.
Provenance: Current implementation: cpp/src/core/irf_selection.cpp.
iriv_select — IRIV — Iteratively Retaining Informative Variables¶
Yun, Y. H., Wang, W. T., Tan, M. L., Liang, Y. Z., Li, H. D., Cao, D. S., Lu, H. M. & Xu, Q. S. (2014). A strategy that iteratively retains informative variables for selecting optimal variable subset in multivariate calibration. Analytica Chimica Acta 807, 36–43. Verified primary link: https://doi.org/10.1016/j.aca.2013.11.032.
Provenance: Current implementation: cpp/src/core/iriv_selection.cpp.
kernel_pls_rbf — Kernel PLS (Rosipal & Trejo 2001)¶
Rosipal, R. & Trejo, L. J. (2001). Kernel partial least squares regression in reproducing kernel Hilbert space. Journal of Machine Learning Research 2, 97–123. Verified primary link: https://www.jmlr.org/papers/v2/rosipal01a.html.
Provenance: Current implementation: cpp/src/core/kernel_pls.cpp.
lw_pls — Locally-Weighted PLS (LW-PLS)¶
Centner, V. & Massart, D. L. (1998). Optimization in locally weighted regression. Analytical Chemistry 70(19), 4206–4211. DOI 10.1021/ac980208r.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
mb_pls — Multi-block PLS (Westerhuis 1998)¶
Westerhuis, J. A., Kourti, T. & MacGregor, J. F. (1998). Analysis of multiblock and hierarchical PCA and PLS models. Journal of Chemometrics 12(5), 301–321. Verified primary link: https://doi.org/10.1002/(SICI)1099-128X(199809/10)12:5%3C301::AID-CEM515%3E3.0.CO;2-S.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
mir_pls — MIR-PLS inverse-regression variant¶
Implementation-specific inverse-regression construction; no canonical paper is claimed.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
missing_aware_nipals — Missing-aware NIPALS¶
Walczak, B. & Massart, D. L. (2001). Dealing with missing data: Part I and Part II. Chemometrics and Intelligent Laboratory Systems 58(1), 15–27 and 29–42. DOIs 10.1016/S0169-7439(01)00131-9 and 10.1016/S0169-7439(01)00132-0.
Provenance: Current implementation: cpp/src/core/model.cpp.
models_ensembles_moment_stack — Moment-stack ensemble¶
No canonical paper defines this n4m moment-stack product route; its implementation is a documented linear stack over moment-compatible candidate predictions.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/ensemble.py; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/moment_facade.py
models_pls_pls_regression — PLS regression with a selectable solver¶
Wold, Sjöström & Eriksson (2001), PLS-regression: a basic tool of chemometrics, Chemometrics and Intelligent Laboratory Systems 58, 109–130, https://doi.org/10.1016/S0169-7439(01)00155-1; de Jong (1993), SIMPLS: an alternative approach to partial least squares regression, https://doi.org/10.1016/0169-7439(93)85002-X.
Provenance: https://doi.org/10.1016/S0169-7439(01)00155-1; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/model.cpp
models_regularized_ridge — Ridge regression¶
Hoerl, A. E. & Kennard, R. W. (1970). Ridge Regression: Biased Estimation for Nonorthogonal Problems. Technometrics 12(1), 55–67. https://doi.org/10.1080/00401706.1970.10488634.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/ridge.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/estimators/regression/regularized.py
n_pls — N-way PLS (Trilinear PLS, Bro 1996)¶
Bro, R. (1996). Multiway calibration. Multilinear PLS. Journal of Chemometrics 10(1), 47–61. Verified primary link: https://doi.org/10.1002/(SICI)1099-128X(199601)10:1%3C47::AID-CEM400%3E3.0.CO;2-C.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
o2pls — O2-PLS (two-way orthogonal)¶
Trygg, J. & Wold, S. (2003). O2-PLS, a two-block (X–Y) latent variable regression method with an integral OSC filter. Journal of Chemometrics 17(1), 53–64. Verified primary link: https://doi.org/10.1002/cem.775.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
on_pls — OnPLS (Orthogonal N-block PLS)¶
Löfstedt, T. & Trygg, J. (2011). OnPLS — a novel multiblock method for the modelling of predictive and orthogonal variation. Journal of Chemometrics 25(8), 441–455. Verified primary link: https://doi.org/10.1002/cem.1388.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
one_se_rule — One-SE rule for component selection¶
Hastie, T., Tibshirani, R. & Friedman, J. (2009). The Elements of Statistical Learning, 2nd ed., Springer, §7.10. Verified primary link: https://doi.org/10.1007/978-0-387-84858-7.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
opls — Orthogonal PLS (OPLS)¶
Trygg, J. & Wold, S. (2002). Orthogonal projections to latent structures (O-PLS). Journal of Chemometrics 16(3), 119–128. DOI 10.1002/cem.695.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pcr — Principal Components Regression¶
Massy, W. F. (1965). Principal components regression in exploratory statistical research. Journal of the American Statistical Association 60(309), 234–256. DOI 10.1080/01621459.1965.10480787.
Provenance: Current implementation: cpp/src/core/model.cpp.
pds — Piecewise Direct Standardisation¶
Wang, Y., Veltkamp, D. J. & Kowalski, B. R. (1991). Multivariate instrument standardization. Analytical Chemistry 63(23), 2750–2756. https://doi.org/10.1021/ac00023a016 — same paper as ds; PDS is introduced in §3 (piecewise local regression with a sliding window of width 2w+1).
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pls — PLS regression (SIMPLS)¶
de Jong, S. (1993). SIMPLS: an alternative approach to partial least squares regression. Chemometrics and Intelligent Laboratory Systems 18(3), 251–263. DOI 10.1016/0169-7439(93)85002-X.
Provenance: Current implementation: cpp/src/core/model.cpp.
pls_cox — Deviance-residual PLS-Cox regression¶
Bastien, P. (2008). Deviance residuals based PLS regression for censored data in high dimensional setting. Chemometrics and Intelligent Laboratory Systems 91(1), 78–86. DOI 10.1016/j.chemolab.2007.09.009.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pls_diagnostic_dmodx — DModX (distance to the model in X)¶
Eriksson, L., Byrne, T., Johansson, E., Trygg, J. & Vikström, C. (2013). Multi- and Megavariate Data Analysis. Basic Principles and Applications, 3rd ed., Umetrics Academy, §4.7. Verified primary catalogue: https://search.worldcat.org/title/891362497.
Provenance: Current implementation: cpp/src/core/pls_diagnostics.cpp.
pls_diagnostic_q — Q residual (squared prediction error)¶
Jackson, J. E. & Mudholkar, G. S. (1979). Control procedures for residuals associated with principal component analysis. Technometrics 21(3), 341–349. Verified primary link: https://doi.org/10.1080/00401706.1979.10489779.
Provenance: Current implementation: cpp/src/core/pls_diagnostics.cpp.
pls_diagnostic_t2 — Hotelling T² score¶
Hotelling, H. (1931). The generalization of Student’s ratio. Annals of Mathematical Statistics 2(3), 360–378. DOI 10.1214/aoms/1177732979.
Provenance: Current implementation: cpp/src/core/pls_diagnostics.cpp.
pls_glm — PLS generalized linear regression¶
Bastien, P., Esposito Vinzi, V. & Tenenhaus, M. (2005). PLS generalised linear regression. Computational Statistics & Data Analysis 48(1), 17–46. DOI 10.1016/j.csda.2004.02.005.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pls_lda — PLS-LDA¶
Barker, M. & Rayens, W. (2003). Partial least squares for discrimination. Journal of Chemometrics 17(3), 166–173. DOI 10.1002/cem.785.
Provenance: Current implementation: cpp/src/core/pls_lda.cpp.
pls_logistic — PLS-logistic regression¶
Bastien, P., Esposito Vinzi, V. & Tenenhaus, M. (2005). PLS generalised linear regression. Computational Statistics & Data Analysis 48(1), 17–46. Verified primary link: https://doi.org/10.1016/j.csda.2004.02.005.
Provenance: Current implementation: cpp/src/core/pls_logistic.cpp.
pls_monitoring — PLS monitoring (T² + Q with control limits)¶
Kourti, T. & MacGregor, J. F. (1996). Multivariate SPC methods for process and product monitoring and control. Journal of Quality Technology 28(4), 409–428. Verified primary link: https://doi.org/10.1080/00224065.1996.11979699.
Provenance: Current implementation: cpp/src/core/pls_monitoring.cpp.
pls_qda — PLS-QDA¶
Pérez-Enciso, M. & Tenenhaus, M. (2003). Prediction of clinical outcome with microarray data: a partial least squares discriminant analysis (PLS-DA) approach. Human Genetics 112, 581–592. DOI 10.1007/s00439-003-0921-9.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pop_pls — POP-PLS (per-component operator selection)¶
Beurier, G., Reiter, R., Noûs, C., Rouan, L. & Cornet, D. (2026). Reframing preprocessing selection as model-internal calibration in near-infrared spectroscopy: a large-scale benchmark of operator-adaptive PLS and Ridge models. arXiv:2605.13587. https://arxiv.org/abs/2605.13587.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
pp_airpls — Adaptive iteratively reweighted penalized least squares (airPLS)¶
Zhang, Chen & Liang (2010), Baseline correction using adaptive iteratively reweighted penalized least squares, Analyst 135, 1138–1146, https://doi.org/10.1039/B922045C.
Provenance: https://doi.org/10.1039/B922045C; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/airpls.c
pp_area — Area normalization¶
No single canonical paper: total-area normalization is a direct normalization rule. The exact sum, absolute-sum, and trapezoidal definitions are specified by the implementation source.
pp_arpls — Asymmetrically reweighted penalized least squares (arPLS)¶
Baek et al. (2015), Baseline correction using asymmetrically reweighted penalized least squares smoothing, Analyst 140, 250–257, https://doi.org/10.1039/C4AN01061B.
Provenance: https://doi.org/10.1039/C4AN01061B; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/arpls.c
pp_asls — Asymmetric least-squares baseline correction (AsLS)¶
Eilers & Boelens (2005), Baseline correction with asymmetric least squares smoothing, Leiden University Medical Centre technical report; algorithmic source also summarized at https://doi.org/10.1039/C4AN01061B.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/asls.c; https://doi.org/10.1039/C4AN01061B
pp_baseline — Training-set column mean centering¶
No single canonical paper: this is the standard centering operation used by PCA, PLS, and linear models. The implementation source is the normative definition.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scaling/baseline.c
pp_beads — Baseline estimation and denoising with sparsity (BEADS)¶
Ning, Selesnick & Duval (2014), Chromatogram baseline estimation and denoising using sparsity (BEADS), Chemometrics and Intelligent Laboratory Systems 139, 156–167, https://doi.org/10.1016/j.chemolab.2014.09.014.
Provenance: https://doi.org/10.1016/j.chemolab.2014.09.014; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/beads.c
pp_cow_align — Correlation optimized warping (COW)¶
Nielsen et al. (1998), Alignment of single and multiple wavelength chromatographic profiles for chemometric data analysis using correlation optimised warping, Journal of Chemometrics 12, 521–538, https://doi.org/10.1002/(SICI)1099-128X(199811/12)12:6<521::AID-CEM515>3.0.CO;2-Z.
Provenance: https://doi.org/10.1002/(SICI)1099-128X(199811/12)12:6<521::AID-CEM515>3.0.CO;2-Z; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_crop — Wavelength-column cropping¶
No canonical paper: cropping is an indexing operation, defined here by Python’s half-open slice convention [start, end).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/resampling/crop.c
pp_derivate — Order-\(d\) finite-difference derivative¶
No unique canonical paper: this is repeated forward finite differencing. For the spectroscopic rationale see Norris & Williams (1984), Optimization of mathematical treatments of raw near-infrared signal.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/derivatives/derivate.c
pp_detrend — Polynomial spectral detrending¶
Barnes, Dhanoa & Lister (1989), Standard Normal Variate Transformation and De-trending of Near-Infrared Diffuse Reflectance Spectra, Applied Spectroscopy 43, 772–777, https://doi.org/10.1366/0003702894202201.
Provenance: https://doi.org/10.1366/0003702894202201; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/detrend.c
pp_direct_standardization — Direct standardization (DS)¶
Wang et al. (1991), Improvement of multivariate calibration through instrument standardization, Analytical Chemistry 63, 2750–2756, https://doi.org/10.1021/ac00023a016.
Provenance: https://doi.org/10.1021/ac00023a016; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_dtw_align — Dynamic time warping spectral alignment¶
Sakoe & Chiba (1978), Dynamic programming algorithm optimization for spoken word recognition, IEEE TASSP 26, 43–49, https://doi.org/10.1109/TASSP.1978.1163055.
Provenance: https://doi.org/10.1109/TASSP.1978.1163055; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_emsc — Extended multiplicative scatter correction (EMSC)¶
Martens & Stark (1991), Extended multiplicative signal correction and spectral interference subtraction, Journal of Pharmaceutical and Biomedical Analysis 9, 625–635, https://doi.org/10.1016/0731-7085(91)80188-F.
Provenance: https://doi.org/10.1016/0731-7085(91)80188-F; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scatter/emsc.c
pp_epo — External parameter orthogonalization (EPO)¶
Roger, Chauchard & Bellon-Maurel (2003), EPO-PLS external parameter orthogonalisation of PLS application to temperature-independent measurement of sugar content of intact fruits, Chemometrics and Intelligent Laboratory Systems 66, 191–204, https://doi.org/10.1016/S0169-7439(03)00051-0.
Provenance: https://doi.org/10.1016/S0169-7439(03)00051-0; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/orthogonalization/epo.c
pp_fck_static — Static fractional convolutional-kernel bank¶
No canonical paper uniquely defines this n4m operator. It is an implementation-specific bank of fractional convolutional kernels; its generated kernel equation and fixed \(\sigma=3\) are defined by fck_kernel.h and fck_static.c.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/specialized/fck_static.c; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/common/fck_kernel.h
pp_first_derivative — Shape-preserving first numerical derivative¶
No unique paper defines numpy.gradient; the spectroscopic use of derivatives is discussed by Norris & Williams (1984), Optimization of mathematical treatments of raw near-infrared signal.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/derivatives/first_derivative.c; https://numpy.org/doc/stable/reference/generated/numpy.gradient.html
pp_flex_pca — Flexible principal component analysis¶
Pearson (1901), On Lines and Planes of Closest Fit to Systems of Points in Space, Philosophical Magazine 2, 559–572, https://doi.org/10.1080/14786440109462720.
Provenance: https://doi.org/10.1080/14786440109462720; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/feature_selection/flexible_pca.c
pp_flex_svd — Flexible truncated singular-value decomposition¶
Eckart & Young (1936), The approximation of one matrix by another of lower rank, Psychometrika 1, 211–218, https://doi.org/10.1007/BF02288367.
Provenance: https://doi.org/10.1007/BF02288367; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/feature_selection/flexible_svd.c
pp_frac_to_pct — Fraction-to-percent signal conversion¶
No canonical paper: percent is exactly the conventional unit conversion \(x_{\%}=100x\).
pp_from_absorbance — Absorbance-to-reflectance/transmittance conversion¶
Beer (1852), Bestimmung der Absorption des rothen Lichts in farbigen Flüssigkeiten, Annalen der Physik 162, 78–88, https://doi.org/10.1002/andp.18521620505.
Provenance: https://doi.org/10.1002/andp.18521620505; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/signal_conversion/from_absorbance.c
pp_gaussian — Gaussian smoothing and derivative filtering¶
No single canonical spectroscopic paper: this is discrete Gaussian convolution. The public reference behaviour is SciPy gaussian_filter1d: https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.gaussian_filter1d.html.
Provenance: https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.gaussian_filter1d.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/smoothing/gaussian.c
pp_haar — Single-level Haar discrete wavelet transform¶
Haar (1910), Zur Theorie der orthogonalen Funktionensysteme, Mathematische Annalen 69, 331–371, https://doi.org/10.1007/BF01456326.
Provenance: https://doi.org/10.1007/BF01456326; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/haar.c
pp_iasls — Improved asymmetric least-squares baseline correction (IAsLS)¶
He et al. (2014), Baseline correction for Raman spectra using an improved asymmetric least squares method, Analytical Methods 6, 4402–4407, https://doi.org/10.1039/C4AY00068D.
Provenance: https://doi.org/10.1039/C4AY00068D; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/iasls.c
pp_icoshift_align — Interval correlation optimized shifting (icoshift-style)¶
Savorani, Tomasi & Engelsen (2010), icoshift: A versatile tool for the rapid alignment of 1D NMR spectra, Journal of Magnetic Resonance 202, 190–202, https://doi.org/10.1016/j.jmr.2009.11.012.
Provenance: https://doi.org/10.1016/j.jmr.2009.11.012; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_imodpoly — Improved modified-polynomial baseline correction (IModPoly)¶
Gan, Ruan & Mo (2006), Baseline correction by improved iterative polynomial fitting with automatic threshold, Chemometrics and Intelligent Laboratory Systems 82, 59–65, https://doi.org/10.1016/j.chemolab.2005.08.009.
Provenance: https://doi.org/10.1016/j.chemolab.2005.08.009; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/imodpoly.c
pp_kbins_disc — Per-feature integer k-bin discretization¶
No single canonical paper: this is uniform or empirical-quantile scalar quantization. Scikit-learn documents the corresponding estimator at https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.KBinsDiscretizer.html.
Provenance: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.KBinsDiscretizer.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/resampling/kbins_discretizer.c
pp_kubelka_munk — Kubelka–Munk remission transform¶
Kubelka & Munk (1931), Ein Beitrag zur Optik der Farbanstriche, Zeitschrift für Technische Physik 12, 593–601; English translation: https://doi.org/10.1002/col.5080010404.
Provenance: https://doi.org/10.1002/col.5080010404; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/signal_conversion/kubelka_munk.c
pp_local_centering — Source-to-target local centering¶
No unique canonical paper: this is a mean-shift domain-adaptation rule, fully specified by the implementation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_localized_msc — Localized moving-window multiplicative scatter correction¶
No single paper canonically defines this implementation. It is a moving-window extension of Geladi, MacDougall & Martens (1985), https://doi.org/10.1366/0003702854248656.
Provenance: https://doi.org/10.1366/0003702854248656; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_log — Element-wise logarithmic transform¶
No canonical paper: this is the mathematical logarithm with an implementation-defined offset policy.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scaling/log_transform.c
pp_lsnv — Local standard normal variate (LSNV)¶
No single canonical paper defines this sliding-window variant. It locally applies the SNV concept of Barnes, Dhanoa & Lister (1989), https://doi.org/10.1366/0003702894202201.
Provenance: https://doi.org/10.1366/0003702894202201; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scatter/local_snv.c
pp_modpoly — Modified-polynomial baseline correction (ModPoly)¶
Lieber & Mahadevan-Jansen (2003), Automated method for subtraction of fluorescence from biological Raman spectra, Applied Spectroscopy 57, 1363–1367, https://doi.org/10.1366/000370203322554518.
Provenance: https://doi.org/10.1366/000370203322554518; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/modpoly.c
pp_msc — Multiplicative scatter correction (MSC)¶
Geladi, MacDougall & Martens (1985), Linearization and Scatter-Correction for Near-Infrared Reflectance Spectra of Meat, Applied Spectroscopy 39, 491–500, https://doi.org/10.1366/0003702854248656.
Provenance: https://doi.org/10.1366/0003702854248656; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scatter/msc.c
pp_normalize — Column-wise normalization¶
No canonical paper: the default is column L2 normalization; a non-default feature range selects column-wise min–max scaling. The source defines this mode switch.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scaling/normalize.c
pp_norris_williams — Norris–Williams segment-gap derivative¶
Norris & Williams (1984), Optimization of mathematical treatments of raw near-infrared signal in the measurement of protein in hard red spring wheat, Cereal Chemistry 61, 158–165 (bibliographic record: https://www.cerealsgrains.org/publications/cc/backissues/1984/Documents/61_158.pdf).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/derivatives/norris_williams.c; https://www.cerealsgrains.org/publications/cc/backissues/1984/Documents/61_158.pdf
pp_osc — Orthogonal signal correction (OSC)¶
Wold et al. (1998), Orthogonal signal correction of near-infrared spectra, Chemometrics and Intelligent Laboratory Systems 44, 175–185, https://doi.org/10.1016/S0169-7439(98)00109-9.
Provenance: https://doi.org/10.1016/S0169-7439(98)00109-9; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/orthogonalization/osc.c
pp_pct_to_frac — Percent-to-fraction signal conversion¶
No canonical paper: this is exactly the unit conversion \(x=x_{\%}/100\).
pp_piecewise_direct_standardization — Piecewise direct standardization (PDS)¶
Bouveresse & Massart (1996), Improvement of the piecewise direct standardization procedure for the transfer of NIR spectra for multivariate calibration, Chemometrics and Intelligent Laboratory Systems 32, 201–213, https://doi.org/10.1016/0169-7439(95)00074-7.
Provenance: https://doi.org/10.1016/0169-7439(95)00074-7; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_piecewise_msc — Piecewise multiplicative scatter correction¶
No single paper canonically defines this fixed-window variant. It applies the MSC model of Geladi, MacDougall & Martens (1985), https://doi.org/10.1366/0003702854248656, independently by interval.
Provenance: https://doi.org/10.1366/0003702854248656; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_piecewise_snv — Piecewise standard normal variate¶
No single paper canonically defines this interval variant. It applies the SNV normalization of Barnes, Dhanoa & Lister (1989), https://doi.org/10.1366/0003702894202201, independently by interval.
Provenance: https://doi.org/10.1366/0003702894202201; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_range_disc — Fixed-edge range discretization¶
No canonical paper: this is scalar quantization against user-supplied ordered edges, equivalent in concept to numpy.digitize: https://numpy.org/doc/stable/reference/generated/numpy.digitize.html.
Provenance: https://numpy.org/doc/stable/reference/generated/numpy.digitize.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/resampling/range_discretizer.c
pp_resample — Fixed-length normalized-axis resampling¶
No unique canonical paper: this is piecewise-linear interpolation on normalized sample positions, matching SciPy interp1d(kind='linear'): https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html.
Provenance: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/resampling/resample_transformer.c
pp_resampler — Wavelength-grid resampler¶
No single canonical paper: the supported linear, nearest, and not-a-knot cubic interpolants follow SciPy interpolation semantics documented at https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.CubicSpline.html.
Provenance: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.CubicSpline.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/resampling/resampler.c
pp_rnv — Robust normal variate (RNV)¶
Guo, Wu & Massart (1999), The robust normal variate transform for pattern recognition with near-infrared data, Analytica Chimica Acta 382, 87–103, https://doi.org/10.1016/S0003-2670(98)00737-5.
Provenance: https://doi.org/10.1016/S0003-2670(98)00737-5; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scatter/robust_snv.c
pp_robust_direct_standardization — Trimmed robust direct standardization¶
No single canonical paper defines this implementation. It robustifies direct standardization from Wang et al. (1991), https://doi.org/10.1021/ac00023a016, by iterative residual trimming.
Provenance: https://doi.org/10.1021/ac00023a016; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp
pp_rolling_ball — Rolling-ball morphological baseline correction¶
Kneen & Annegarn (1996), Algorithm for fitting XRF, SEM and PIXE X-ray spectra backgrounds, Nuclear Instruments and Methods in Physics Research B 109, 209–213, https://doi.org/10.1016/0168-583X(95)00908-6.
Provenance: https://doi.org/10.1016/0168-583X(95)00908-6; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/rolling_ball.c
pp_saps — Score-augmented projection standardization (SAPS)¶
No canonical publication defines this exact n4m transform. It is an internal score-augmented linear standardization inspired by projection-based calibration transfer; the source is the normative specification.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L356-L496
pp_savgol — Savitzky–Golay smoothing and differentiation¶
Savitzky & Golay (1964), Smoothing and Differentiation of Data by Simplified Least Squares Procedures, Analytical Chemistry 36, 1627–1639, https://doi.org/10.1021/ac60214a047.
Provenance: https://doi.org/10.1021/ac60214a047; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/derivatives/savitzky_golay.c
pp_second_derivative — Shape-preserving second numerical derivative¶
No unique paper defines two numpy.gradient passes; the spectroscopic derivative rationale follows Norris & Williams (1984), while the numerical reference is https://numpy.org/doc/stable/reference/generated/numpy.gradient.html.
Provenance: https://numpy.org/doc/stable/reference/generated/numpy.gradient.html; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/derivatives/second_derivative.c
pp_simple_scale — Column-wise min–max scaling to [0, 1]¶
No canonical paper: this is the affine min–max transform \((x_j-\min x_j)/(\max x_j-\min x_j)\).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scaling/simple_scale.c
pp_slope_bias — Slope-and-bias prediction correction¶
No single canonical paper defines this two-parameter post-calibration operation. It is ordinary least-squares bias/slope correction, with source code as the exact specification.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L499-L523
pp_snip — Statistics-sensitive nonlinear iterative peak clipping (SNIP)¶
Ryan et al. (1988), SNIP, a statistics-sensitive background treatment for the quantitative analysis of PIXE spectra in geoscience applications, Nuclear Instruments and Methods B 34, 396–402, https://doi.org/10.1016/0168-583X(88)90063-8.
Provenance: https://doi.org/10.1016/0168-583X(88)90063-8; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/snip.c
pp_snv — Standard normal variate (SNV)¶
Barnes, Dhanoa & Lister (1989), Standard Normal Variate Transformation and De-trending of Near-Infrared Diffuse Reflectance Spectra, Applied Spectroscopy 43, 772–777, https://doi.org/10.1366/0003702894202201.
Provenance: https://doi.org/10.1366/0003702894202201; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/scatter/snv.c
pp_to_absorbance — Reflectance/transmittance-to-absorbance conversion¶
Beer (1852), Bestimmung der Absorption des rothen Lichts in farbigen Flüssigkeiten, Annalen der Physik 162, 78–88, https://doi.org/10.1002/andp.18521620505.
Provenance: https://doi.org/10.1002/andp.18521620505; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/signal_conversion/to_absorbance.c
pp_vsn — Variable-sorting normalization (VSN-style weighted SNV)¶
Rabatel, Marini, Walczak & Roger (2020), VSN: Variable sorting for normalization, Journal of Chemometrics 34, e3164, https://doi.org/10.1002/cem.3164. The shipped correlation-weighted rule is a compact VSN-style implementation, not a claim of full paper parity.
Provenance: https://doi.org/10.1002/cem.3164; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L560-L635
pp_wavelet — Single-level discrete wavelet coefficient transform¶
Mallat (1989), A theory for multiresolution signal decomposition: the wavelet representation, IEEE TPAMI 11, 674–693, https://doi.org/10.1109/34.192463.
Provenance: https://doi.org/10.1109/34.192463; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/wavelet.c; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/common/wavelet_kernels.c
pp_wavelet_denoise — Multilevel wavelet VisuShrink denoising¶
Donoho & Johnstone (1994), Ideal spatial adaptation by wavelet shrinkage, Biometrika 81, 425–455, https://doi.org/10.1093/biomet/81.3.425.
Provenance: https://doi.org/10.1093/biomet/81.3.425; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/wavelet_denoise.c
pp_wavelet_features — Multilevel wavelet summary features¶
No single canonical paper defines this exact four-statistic descriptor. It uses the multiresolution analysis of Mallat (1989), https://doi.org/10.1109/34.192463, with implementation-specific summaries.
Provenance: https://doi.org/10.1109/34.192463; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/wavelet_features.c
pp_wavelet_pca — PCA of multilevel wavelet coefficients¶
No unique paper defines this composite. It combines Mallat’s DWT (https://doi.org/10.1109/34.192463) with Pearson PCA (https://doi.org/10.1080/14786440109462720).
Provenance: https://doi.org/10.1109/34.192463; https://doi.org/10.1080/14786440109462720; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/wavelet_pca.c
pp_wavelet_svd — Truncated SVD of multilevel wavelet coefficients¶
No unique paper defines this composite. It combines Mallat’s DWT (https://doi.org/10.1109/34.192463) with Eckart–Young low-rank approximation (https://doi.org/10.1007/BF02288367).
Provenance: https://doi.org/10.1109/34.192463; https://doi.org/10.1007/BF02288367; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/wavelets/wavelet_svd.c
pp_weighted_snv — Weighted standard normal variate¶
No single canonical paper defines this exact weighted estimator. It generalizes the SNV transform of Barnes, Dhanoa & Lister (1989), https://doi.org/10.1366/0003702894202201.
Provenance: https://doi.org/10.1366/0003702894202201; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L526-L635
pp_xcorr_align — Whole-spectrum cross-correlation alignment¶
No single canonical paper defines this bounded implementation. It applies the standard discrete cross-correlation lag estimator; the source defines padding and tie behaviour.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/c_api/c_api_advanced.cpp#L798-L900
preprocessing_feature_selection_spectral_encoding — Training-fitted LVSE and GCU spectral encoders¶
No single canonical paper specifies this combined n4m lifecycle. The exact local subspace and global nonnegative constructions are defined by the current C++ implementation and its spectral-encoding contract.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/spectral_encoding.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/docs/methods/spectral_encoding.md
preprocessing_scaling_standard_scale — Training-fitted column standardization¶
Population standardization uses the arithmetic mean and population variance. The public StandardScaler reference documents the same ddof=0 convention: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/estimator/fitted_core.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/catalog/methods/preprocessing.scaling.standard_scale.yaml
pso_select — PSO-PLS — Particle Swarm Optimisation¶
Kennedy, J. & Eberhart, R. (1995). Particle swarm optimization. IEEE ICNN 1995, vol. 4, 1942–1948. — binary PSO variant used for variable selection. Verified primary link: https://doi.org/10.1109/ICNN.1995.488968.
Provenance: Current implementation: cpp/src/core/pso_selection.cpp.
random_frog_select — Random Frog¶
Li, H., Xu, Q. & Liang, Y. (2012). Random frog: an efficient reversible jump Markov chain Monte Carlo-like approach for variable selection. Analytica Chimica Acta 740, 20–26. Verified primary link: https://doi.org/10.1016/j.aca.2012.06.031.
Provenance: Current implementation: cpp/src/core/random_frog_selection.cpp.
random_subspace_pls — Random-subspace PLS¶
Ho, T. K. (1998). The random subspace method for constructing decision forests. IEEE TPAMI 20(8), 832–844. — adapted for PLS regressors. Verified primary link: https://doi.org/10.1109/34.709601.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
randomization_select — Randomisation test (Y-permutation)¶
Westad, F. & Martens, H. (2000). Variable selection in near infrared spectroscopy based on significance testing in partial least squares regression. JNIRS 8(2), 117–124. Verified primary link: https://doi.org/10.1255/jnirs.271.
Provenance: Current implementation: cpp/src/core/randomization_selection.cpp.
recursive_pls — Recursive (moving-window) PLS¶
Helland, K., Berntsen, H. E., Borgen, O. S. & Martens, H. (1992). Recursive algorithm for partial least squares regression. Chemometrics and Intelligent Laboratory Systems 14(1–3), 129–137. DOI 10.1016/0169-7439(92)80098-O.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
rep_select — REP — Recursive Elimination of Predictors¶
Mehmood, T., Liland, K. H., Snipen, L. & Sæbø, S. (2012). A review of variable selection methods in partial least squares regression. Chemometrics and Intelligent Laboratory Systems 118, 62–69. https://doi.org/10.1016/j.chemolab.2012.07.010 — same review as shaving_select; §3.3 Recursive elimination introduces the fixed-count variant implemented here.
Provenance: Current implementation: cpp/src/core/rep_selection.cpp.
ridge_pls — Ridge-augmented PLS¶
Hoerl, A. E. & Kennard, R. W. (1970). Ridge regression: biased estimation for nonorthogonal problems. Technometrics 12(1), 55–67. — combined with PLS via Tikhonov regularisation of the inner regression. Verified primary link: https://doi.org/10.1080/00401706.1970.10488634.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
robust_pls — Robust PLS (Partial Robust M-regression)¶
Serneels, S., Croux, C., Filzmoser, P. & Van Espen, P. J. (2005). Partial robust M-regression. Chemometrics and Intelligent Laboratory Systems 79(1–2), 55–64. DOI 10.1016/j.chemolab.2005.04.007.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
rosa — ROSA (Response-Oriented Sequential Alternation)¶
Liland, K. H., Næs, T. & Indahl, U. G. (2016). ROSA—a fast extension of partial least squares regression for multiblock data analysis. Journal of Chemometrics 30(11), 651–662. DOI 10.1002/cem.2824.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
scars_select — SCARS — Stability-CARS¶
Zheng, K., Li, Q., Wang, J., Geng, J., Cao, P., Sui, T., Wang, X. & Du, Y. (2012). Stability competitive adaptive reweighted sampling (SCARS) and its applications to multivariate calibration of NIR spectra. Chemometrics and Intelligent Laboratory Systems 112, 48–54. Verified primary link: https://doi.org/10.1016/j.chemolab.2012.01.002.
Provenance: Current implementation: cpp/src/core/scars_selection.cpp.
shaving_select — Shaving (recursive elimination)¶
Mehmood, T., Liland, K. H., Snipen, L. & Sæbø, S. (2012). A review of variable selection methods in partial least squares regression. Chemometrics and Intelligent Laboratory Systems 118, 62–69 (§3.2 Shaving). Verified primary link: https://doi.org/10.1016/j.chemolab.2012.07.010.
Provenance: Current implementation: cpp/src/core/shaving_selection.cpp.
sipls_select — siPLS — Synergy Interval PLS¶
Nørgaard, L., Saudland, A., Wagner, J., Nielsen, J. P., Munck, L. & Engelsen, S. B. (2000). Interval partial least-squares regression (iPLS): a comparative chemometric study with an example from near-infrared spectroscopy. Applied Spectroscopy 54(3), 413–419 — same paper as interval_select; siPLS is the synergy-combinations extension proposed in §3. Verified primary link: https://doi.org/10.1366/0003702001949500.
Provenance: Current implementation: cpp/src/core/sipls_selection.cpp.
so_pls — Sequential and Orthogonalised PLS (SO-PLS)¶
Næs, T., Tomic, O., Mevik, B.-H. & Martens, H. (2011). Path modelling by sequential PLS regression. Journal of Chemometrics 25(1), 28–40. Verified primary link: https://doi.org/10.1002/cem.1357.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
spa_select — SPA — Successive Projections Algorithm¶
Araújo, M. C. U., Saldanha, T. C. B., Galvão, R. K. H., Yoneyama, T., Chame, H. C. & Visani, V. (2001). The successive projections algorithm for variable selection in spectroscopic multicomponent analysis. Chemometrics and Intelligent Laboratory Systems 57(2), 65–73. Verified primary link: https://doi.org/10.1016/S0169-7439(01)00119-8.
Provenance: Current implementation: cpp/src/core/spa_selection.cpp.
sparse_pls_da — Sparse PLS-DA (Lê Cao 2008)¶
Lê Cao, K.-A., Rossouw, D., Robert-Granié, C. & Besse, P. (2008). A sparse PLS for variable selection when integrating omics data. Statistical Applications in Genetics and Molecular Biology 7(1). Verified primary link: https://doi.org/10.2202/1544-6115.1390.
Provenance: Current implementation: cpp/src/c_api/c_api_method_result.cpp.
sparse_simpls — Sparse SIMPLS (Chun & Keleş 2010)¶
Chun, H. & Keleş, S. (2010). Sparse partial least squares regression for simultaneous dimension reduction and variable selection. Journal of the Royal Statistical Society: Series B 72(1), 3–25. DOI 10.1111/j.1467-9868.2009.00723.x.
Provenance: Current implementation: cpp/src/core/model.cpp.
split_binned_strat_group_kfold — Binned, group-preserving round-robin folds¶
No canonical paper defines this simplified grouped heuristic. It is inspired by binned stratification and StratifiedGroupKFold, but the native source explicitly documents a different assignment algorithm.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/binned_strat_group_kfold.h
split_kbins_stratified — Continuous-target binned stratified split¶
No single paper defines this composition of discretization and stratified shuffle split. The parity target is the scikit-learn KBinsDiscretizer plus StratifiedShuffleSplit behavior documented at https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/kbins_stratified.h; https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html
split_kennard_stone — Kennard–Stone maximin calibration split¶
Kennard & Stone (1969), Computer Aided Design of Experiments, Technometrics 11, 137–148, DOI 10.1080/00401706.1969.10490666 (https://doi.org/10.1080/00401706.1969.10490666).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/kennard_stone.h; https://doi.org/10.1080/00401706.1969.10490666
split_kmeans — K-means++ representative-sample split¶
Arthur & Vassilvitskii (2007), k-means++: The Advantages of Careful Seeding, SODA, 1027–1035 (https://dl.acm.org/doi/10.5555/1283383.1283494). The surrounding representative split is implementation-specific.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/kmeans.h; https://dl.acm.org/doi/10.5555/1283383.1283494
split_split_splitter — SPlit sequential data-twinning split¶
Joseph & Vakayil (2021/2022), SPlit: An Optimal Method for Data Splitting, Technometrics 64, 166–176, DOI 10.1080/00401706.2021.1921037 (https://doi.org/10.1080/00401706.2021.1921037). The shipped routine is the paper-inspired sequential nearest-neighbor algorithm documented in source.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/split_splitter.h; https://doi.org/10.1080/00401706.2021.1921037
split_spxy — SPXY joint X–Y maximin split¶
Galvão et al. (2005), A method for calibration and validation subset partitioning, Talanta 67, 736–740, DOI 10.1016/j.talanta.2005.03.025 (https://doi.org/10.1016/j.talanta.2005.03.025).
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/spxy.h; https://doi.org/10.1016/j.talanta.2005.03.025
split_spxy_fold — Alternating maximin SPXY K-fold assignment¶
This is an internal K-fold extension of Galvão et al.’s SPXY criterion (2005), DOI 10.1016/j.talanta.2005.03.025 (https://doi.org/10.1016/j.talanta.2005.03.025); the alternating fold assignment itself is not defined by that paper.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/splitters.py#L146; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/spxy_fold.h; https://doi.org/10.1016/j.talanta.2005.03.025
split_spxy_g_fold — Group-preserving SPXY K-fold assignment¶
This is an internal grouped extension of SPXY (Galvão et al., 2005, DOI 10.1016/j.talanta.2005.03.025, https://doi.org/10.1016/j.talanta.2005.03.025); no canonical paper defines its representative aggregation.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/spxy_g_fold.h; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/_impl/splitters.py#L202; https://doi.org/10.1016/j.talanta.2005.03.025
split_systematic_circular — Systematic circular sampling over sorted targets¶
No canonical paper defines this exact rotate-and-systematically-sample implementation. It is an internal systematic sampling heuristic whose seeded offset and rounding rules are source-defined.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/splitters/systematic_circular.h
st_select — ST-PLS — Score Threshold selection¶
Mehmood, T., Liland, K. H., Snipen, L. & Sæbø, S. (2012). A review of variable selection methods in partial least squares regression. Chemometrics and Intelligent Laboratory Systems 118, 62–69. https://doi.org/10.1016/j.chemolab.2012.07.010 — same review as shaving_select; §3.4 Score-threshold methods covers the deterministic-threshold family implemented here.
Provenance: Current implementation: cpp/src/core/st_selection.cpp.
stability_select — MC-UVE (Monte-Carlo coefficient stability)¶
Cai, W., Li, Y. & Shao, X. (2008). A variable selection method based on uninformative variable elimination for multivariate calibration of near-infrared spectra. Chemometrics and Intelligent Laboratory Systems 90(2), 188–194. Verified primary link: https://doi.org/10.1016/j.chemolab.2007.10.001.
Provenance: Current implementation: cpp/src/core/stability_selection.cpp.
t2_select — Hotelling T² loading selection¶
Mehmood, T. (2016). Hotelling T² based variable selection in partial least squares regression. Chemometrics and Intelligent Laboratory Systems 154, 23–28. https://doi.org/10.1016/j.chemolab.2016.03.020 — proposes T²-PLS, the loading-weights-level Hotelling T² selector. See also Wold, Sjöström & Eriksson (2001), Chemometrics and Intelligent Laboratory Systems 58(2), 109–130 §6.2 for the original T²-vs-VIP discussion in PLS.
Provenance: Current implementation: cpp/src/core/t2_selection.cpp.
utilities_hotelling_t2 — Standalone PCA Hotelling T² statistic¶
Hotelling (1931), The Generalization of Student’s Ratio, Annals of Mathematical Statistics 2, 360–378, https://doi.org/10.1214/aoms/1177732979.
Provenance: https://doi.org/10.1214/aoms/1177732979; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/utilities/hotelling_t2.c
utilities_moments — Moment sufficient-statistics utilities¶
No single canonical paper defines the ABI utility surface; it implements standard first- and second-moment sufficient statistics used by linear-model updates.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/lowlevel/moments.py; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/include/n4m/lowlevel.h
utilities_q_residuals — Standalone PCA Q residuals (squared prediction error)¶
Jackson & Mudholkar (1979), Control Procedures for Residuals Associated With Principal Component Analysis, Technometrics 21, 341–349, https://doi.org/10.1080/00401706.1979.10489779.
Provenance: https://doi.org/10.1080/00401706.1979.10489779; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/utilities/q_residuals.c
utilities_ragged_summary — Deterministic ragged sequence summaries¶
Descriptive population statistics and explicit temporal support. This operator is specified by its native sequence contract rather than a separate learned model. NumPy documents the same population-standard-deviation convention (ddof=0): https://numpy.org/doc/stable/reference/generated/numpy.std.html.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/include/n4m/estimator.h; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/estimator/procedures.cpp; https://github.com/GBeurier/nirs4all-methods/blob/main/catalog/methods/utilities.ragged_summary.yaml; https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/tests/test_ragged_summary.py
utilities_signal_type_detector — Heuristic spectral signal-type detector¶
No canonical scientific paper defines these thresholds. This is an n4m compatibility heuristic, and signal_type_detector.c is the authoritative specification.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/utilities/signal_type_detector.c
utilities_sweep — Native candidate sweep utility¶
No canonical scientific paper defines this orchestration utility; it is a reproducible enumeration and scoring surface.
Provenance: https://github.com/GBeurier/nirs4all-methods/blob/main/bindings/python/src/n4m/model_selection/sweep.py; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/include/n4m/model_selection.h
utilities_transfer_metrics — Source–target representation transfer metrics¶
This bundle has no single canonical paper. Its components include linear CKA (Kornblith et al., 2019, https://proceedings.mlr.press/v97/kornblith19a.html), Procrustes analysis (Gower, 1975, https://doi.org/10.1007/BF02291478), and trustworthiness (Venna & Kaski, 2001, https://doi.org/10.1016/S0893-6080(01)00150-6).
Provenance: https://proceedings.mlr.press/v97/kornblith19a.html; https://doi.org/10.1007/BF02291478; https://doi.org/10.1016/S0893-6080(01)00150-6; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/utilities/transfer_metrics.c
uve_select — UVE — Uninformative Variable Elimination¶
Centner, V., Massart, D. L., de Noord, O. E., de Jong, S., Vandeginste, B. M. & Sterna, C. (1996). Elimination of uninformative variables for multivariate calibration. Analytical Chemistry 68(21), 3851–3858. Verified primary link: https://doi.org/10.1021/ac960321m.
Provenance: Current implementation: cpp/src/core/uve_selection.cpp.
variable_select_coef — Coefficient-magnitude selection¶
Martens, H. & Næs, T. (1989). Multivariate Calibration, §5. — the simplest ranking baseline. Verified primary catalogue: https://search.worldcat.org/title/Multivariate-calibration/oclc/19847282.
Provenance: Current implementation: cpp/src/core/variable_selection.cpp.
variable_select_sr — Selectivity Ratio¶
Rajalahti, T., Arneberg, R., Berven, F. S., Myhr, K.-M., Ulvik, R. J. & Kvalheim, O. M. (2009). Biomarker discovery in mass spectral profiles by means of selectivity ratio plot. Chemometrics and Intelligent Laboratory Systems 95(1), 35–48. Verified primary link: https://doi.org/10.1016/j.chemolab.2008.08.004.
Provenance: Current implementation: cpp/src/core/variable_selection.cpp.
variable_select_vip — VIP (Variable Importance in Projection)¶
Wold, S., Sjöström, M. & Eriksson, L. (2001). PLS-regression: a basic tool of chemometrics. Chemometrics and Intelligent Laboratory Systems 58(2), 109–130. Verified primary link: https://doi.org/10.1016/S0169-7439(01)00155-1.
Provenance: Current implementation: cpp/src/core/variable_selection.cpp.
vip_spa_select — VIP-seeded SPA¶
Hybrid heuristic combining VIP ranking and the Successive Projections Algorithm. See registry notes; no single canonical paper.
Provenance: Current implementation: cpp/src/core/vip_spa_selection.cpp.
vissa_select — VISSA — Variable Iterative Space-Shrinkage¶
Deng, B. C., Yun, Y. H., Liang, Y. Z. & Yi, L. Z. (2015). A new strategy to prevent over-fitting in partial least squares models based on model population analysis. Analytica Chimica Acta 880, 32–41. DOI 10.1016/j.aca.2015.04.045.
Provenance: Current implementation: cpp/src/core/vissa_selection.cpp.
weighted_pls — Sample-weighted PLS¶
Martens, H. & Næs, T. (1989). Multivariate Calibration. Wiley. §4.5 ‘Weighted regression for non-i.i.d. errors’. Verified primary catalogue: https://search.worldcat.org/title/Multivariate-calibration/oclc/19847282.
Provenance: Current implementation: cpp/src/core/extra_pls.cpp.
wvc_select — WVC — Weighted Variable Contribution¶
Andries, J. P. M. & Vander Heyden, Y. (2011). Improved variable reduction in partial least squares modelling based on predictive-property-ranked variables and adaptation of partial least squares complexity. Analytica Chimica Acta 705(1–2), 292–305. Verified primary link: https://doi.org/10.1016/j.aca.2011.06.037.
Provenance: Current implementation: cpp/src/core/wvc_selection.cpp.
wvc_threshold_select — WVC-threshold selection¶
Andries, J. P. M. & Vander Heyden, Y. (2011). Improved variable reduction in partial least squares modelling based on predictive-property-ranked variables and adaptation of partial least squares complexity. Analytica Chimica Acta 705(1–2), 292–305. https://doi.org/10.1016/j.aca.2011.06.037 — same paper as wvc_select; introduces both the top-\(k\) ranking and the threshold / factor-of-mean rules used here.
Provenance: Current implementation: cpp/src/core/wvc_selection.cpp.