# Category: Data Operations and Plotting

## Robust PCA

A implementation of robust PCA, useful when the data contains outliers.

## Two methods for baseline correction of spectral data

Worked examples of two methods for baseline correction of spectra applied to Raman and XRF data.

## Optimal spectra smoothing with Fourier ring correlation

We bring in the concept of Fourier ring correlation for another riff on the optimal settings of smoothing filters.

## Spectra smoothing with locally-weighted regression

Locally weighted regression is an approach for smoothing a set of data points by performing a polynomial regression in the vicinity of each point. It does sounds like a …

## Wavelength selection with a genetic algorithm

Wavelength selection methods aim at choosing the spectral bands that produce the best regression or classification model. Here we introduce a genetic algorithm for wavelength selection.

Updated code and additional utility scripts for PLS regression. Will keep it updated as we go.

## Multivariate curve resolution: an introduction

Multivariate Curve Resolution deals with spectra, or other signals, from samples containing multiple components, and aims at recovering the pure components.

## Wavelet denoising of spectra

On the concept of wavelet transform and decomposition, and its application for denoising of spectra.

## The Kennard-Stone algorithm

The Kennard-Stone algorithm is a criterion to divide a dataset into a calibration and a validation subset. Here's an introduction to the method and a basic Python implementation.

## The PCA correlation circle

The PCA correlation circle is a useful tool to visually display the correlation between spectral bands and principal components. The correlation can be quantified through the Euclidean distance and …

## Aquagrams with Python and Matplotlib

Aquagrams are diagrams charting the relative strength of the NIR reflectance or absorbance of specific bands in water-based systems. Here's an example code to plot an aquagram using Matplotlib.

## Parallel computation of loops for cross-validation analysis

Using parallel computation to speed up cross-validation analysis for large data sets.

## Choosing the optimal parameters for a Savitzky–Golay smoothing filter

Setting the parameters of a Savitzky-Golay filter seems more a craft than a science. Here's my method to find an optimal filter, complete with code.

## Fourier spectral smoothing method

Meet a fairly unknown member of the spectral smoothing family: the Fourier spectral smoothing method. Learn some theory and Python code implementation.

## Savitzky–Golay smoothing method

The secret behind perfect smoothing is a wise choice of parameters. In this tutorial you will learn about the Savitzky–Golay method and the way to optimise its performance

## Detecting outliers using the Mahalanobis distance with PCA in Python

How do we make sure we are detecting only true outliers and not cherry-picking from the data? Here's a method based on the Mahalanobis distance with PCA.

## NIR data correlograms with Seaborn in Python

Exploratory analysis is an essential part of data analysis. Learn a handy way to explore your dataset with NIR data correlograms with Seaborn in Python.

## Outliers detection with PLS regression for NIR spectroscopy in Python

Not every data point is created equal. In this post we'll show how to perform outliers detection with PLS regression for NIR spectroscopy in Python.

## Exporting NIR regression models built in Python

Three methods to export a Python NIR regression model and how to load it back for future use. Worked Python codes to discuss pros and cons of these methods.

## Two scatter correction techniques for NIR spectroscopy in Python

Worked example of two scatter correction techniques for NIR spectroscopy in Python: Multiplicative Scatter Correction and Standard Normal Variate.

## A variable selection method for PLS in Python

Improve the quality of your PLS regression using variable selection. This tutorial will work through a variable selection method for PLS in Python.