## 2 Methods
### Kernel Partial Least Squares Algorithm (KPLS)  
KPLS algorithm is an extension of PLS by using the kernel function, the original data matrix is replaced by the kernel matrix, and then PLS is used to model the kernel matrix linearly [44]. Set the low-dimensional sample input variable space as \(\mathbf{X},\mathbf{X}=[x_{1},x_{2},\cdots,x_{d}]\in\mathbf{R}^{n\times d}\), where \(\mathbf{R}^{n\times d}\) is a \(d\)-dimensional real space, and \(n\) is the number of samples. Assume that the nonlinear mapping relationship is \(\mathbf{\Phi}:\mathbf{X}\rightarrow\mathbf{L};\mathbf{X}\) will be projected into the high-dimensional latent space variable \(\mathbf{L}\) through this mapping. All input variables can be expressed as \(\varphi(\mathbf{X})=(\varphi(x_{1}),\varphi(x_{2}),\cdots\varphi(x_{n}))\). In fact, when constructing the latent variable space, the known form of the kernel function is always introduced to replace the nonlinear mapping function, and then the corresponding kernel matrix of the kernel function is calculated and the eigenvector of the kernel matrix is solved to project the dataset in the high-dimensional space. The kernel function is expressed as  
\[\mathbf{K}(x_{i},x_{j})=\varphi_{i}^{T}\varphi_{j} \tag{4}\]  
where \(x_{i}\) and \(x_{j}\) is the input variable of low-dimensional space, and \(i,j=1,2,\cdots,n\); \(\mathbf{K}(\mathbf{x})\) is a kernel function. Therefore, the process of KPLS is briefly described as follows:  
First, using the kernel function \(\mathbf{K}\), the inner product of high-dimensional latent variable space data is replaced by the \(n\times n\) Gram kernel matrix:  
\[\Phi(\mathbf{X})=K(\mathbf{X},\mathbf{X})=\varphi(\mathbf{X})^{\prime}\varphi (\mathbf{X})=\sum\limits_{i=1}^{n}\mathbf{\varphi}_{i}^{T}\mathbf{\varphi}_{i} \tag{5}\]Next, like the PLS algorithm, the KPLS model is decomposed into  
\[\left\{ \begin{aligned} \mathbf{K}&=\mathbf{T}\mathbf{P}^{T}+ \mathbf{E}\\ \mathbf{Y}&=\mathbf{U}\mathbf{Q}^{T}+\mathbf{F} \end{aligned} \right\} \tag{6}\]  
where \(\mathbf{T}\) is the score matrix of kernel matrix \(\mathbf{K}\),\(\mathbf{T}=[t_{1},t_{2},\cdots,t_{l}]\in\mathbf{R}^{n\times l}\), and \(\mathbf{U}\) is the score matrix of target variable \(Y\), \(\mathbf{U}=[u_{1},u_{2},\cdots,u_{l}]\in\mathbf{R}^{n\times l}\). \(\mathbf{P}\) and \(\mathbf{Q}\) are the loading matrices of \(\mathbf{K}\) and \(\mathbf{Y}\), respectively, \(\mathbf{P}=[p_{1},p_{2},\cdots,p_{l}]\in\mathbf{R}^{d\times l}\), \(\mathbf{Q}=[q_{1},q_{2},\cdots,q_{l}]\in\mathbf{R}^{d\times l}\), \(\mathbf{E}\) and \(\mathbf{F}\) are the residual matrices of \(\mathbf{K}\) and \(\mathbf{Y}\), respectively, and \(l\) is the number of latent variables. At last, nonlinear iterative partial least squares (NIPALS) can be used to solve the model, and the specific steps can be referred to in the literature [19]. According to the above steps, LVS is closely related to a kernel function; there are many kinds of kernel functions, including local kernel functions, Gaussian kernel functions, Cauchy kernel functions, Laplacian kernel functions, global kernel functions, and polynomial kernel functions. The forms of common kernel functions include the following:  
\[\text{Polynomial kernel function}:\ \mathbf{K}_{\text{Poly}}(x,y)=\left(x^{T}y+c \right)^{d} \tag{7}\]  
where \(d\) is the order of the polynomial kernel function. At \(x=0.2\), the kernel function curves of different \(d\) are shown in Figure 1. The characteristic curve of the kernel function shows that the distance from the test point has little effect on the result of the polynomial kernel function under the same kernel parameters.