## Materials and Methods
### Analysis of Multivariate Regression Models  
All steps of the analysis for the various data preprocessing methods and the classification regression model calculations were carried out in MATLAB (MathWorks, Natick, MA, US) with PLS Toolbox v.8.2.1 (Eigenvector Research Inc., Wenatchee, WA, USA). First, [PERSON]'s T2 ellipse was adopted to eliminate abnormal samples. Second, various data preprocessing methods, such as multiplicative scatter correction (MSC), mean-center, and the Savitzky-Golay first derivative with mean-center were implemented to investigate how the predictive accuracies of the regression models were affected by different preprocessing methods for both the electronic nose and NIR datasets. For the Savitzky-Golay first derivative preprocessing method, the number of points in the filter (width = 15), the order of the polynomial to fit the points (order = 2), and the order of the derivative (order = 1) were set. MLR uses a multiterm linear polynomial to describe a mathematical relationship using several \"characteristic\" data points measured by ordinary least squares (OLS) [40]. It refers to a statistical technique that is used to predict the outcome of a dependent variable based on the value of two or more independent variables (predictors). It is sometimes known simply as multiple regression, and it is an extension of linear regression. Once each of the independent factors has been determined to predict the dependent variable, the information on the multiple variables can be used to create an accurate prediction on the level of effect they have on the outcome variable. The model creates a relationship in the form of a straight line (linear) that best approximates all the individual data points. The estimated regression coefficients by the least-squares depend on the predictors in the model, and they can be quite variable when the predictors are correlated. PCR [41] is an effective method for solving multiple collinearity problems by reducing the dimensionality of a dataset through searching for orthogonal directions in the ordinary data space along which the variance of the data set is maximized. It performs PCA on the observed data matrix for the predictors to obtain the principal components which are used as regressors. Then it will regress the observed vector of outcomes on the selected principal components as covariates, using ordinary least squares regression (same as MLR) to get a vector of estimated regression coefficients (with dimension equal to the number of selected principal components). Finally, it will transform this vector back to the scale of the actual covariates, using the selected PCA loadings (the eigenvectors corresponding to the selected principal components) to get the final PCR estimator (with dimension equal to the total number of covariates) for estimating the regression coefficients characterizing the original model. Due to the PCA process, PCR successfully avoids the collinearity problem, which is very common in NIR data. PLSR is a technique that constructs new predictor variables, known as components, as linear combinations of the original predictor variables. PLSR constructs these components while considering the observed response values, leading to a parsimonious model with reliable predictive power [27]. PLSR and PCR are both methods to model a response variable when there are a large number of predictors, especially when they are highly correlated or even collinear. PLSR is based on the linear transition from a large number of original descriptors to a new variable space based on a small number of orthogonal factors (latent variables). Unlike PCR, latent variables of PLSR are chosen in such a way as to provide maximum correlation with the dependent variable; thus, the PLS model contains the smallest necessary number of factors. With an increasing number of factors, the PLS model converges to the ordinary MLR model. Several statistical metrics were adopted to evaluate the performance of the regression models combined with different pretreatment methods.