## 2 SSA-SVR Prediction Model  
### SVR Algorithm Introduction  
Given the complexity of the prediction problem and the amount of data in this study, various machine-learning algorithms were compared. The Support Vector Machine (SVM) algorithm was chosen to establish the prediction model for this study [13]. The SVM algorithm originated from the support vector method used by [PERSON] in 1963 to solve pattern recognition [14]. The SVM algorithm can still show better performance when the data volume is small [13], and at the same time, the SVM selects the optimal hyperplane by maximizing the interval during the training process, which makes its generalization ability stronger and can maintain better performance in the face of new samples [15; 16; 17]. The Support Vector Regression (SVR) algorithm uses the principles of Support Vector Machines (SVMs) to solve regression problems. The principle of the support vector machine algorithm is to find an optimal decision boundary, L, between two sets of data samples, such that the distance, d, from the closest points in each dataset to L is maximized. These closest points define two parallel lines that are parallel to L, and no new data points should appear in the region, \(\Omega\), defined by these two lines, thereby improving the model's generalization ability. These closest points are called support vectors, as shown in Figure 1.  
\[d=\frac{\left|\omega_{d}^{T}x+b_{d}\right|}{||\omega||}=\frac{1}{||\omega||} \tag{1}\]  
To make \(d\) as big as possible, just make \(||\omega||\) as small as possible. For subsequent calculations, minimize the value of \(1/2||\omega||^{2}\). The qualifications for solving this optimization problem are given in Equation (2), and in order to avoid the decision boundary being affected by extreme special data points, the above qualifications are relaxed appropriately, i.e.,  
\[y^{(i)}(\omega_{d}^{T}x^{(i)}+b_{d})\geq 1-\zeta_{i} \tag{2}\]  
\(\zeta_{i}\) is the slack variable, whose value is as small as possible, and the optimization problem described above is converted into a solution, taking into account the weight of this deviation term in the optimization objective:  
\[\min(\frac{1}{2}||\omega||^{2}+C\zeta_{i}) \tag{3}\]  
where \(C\) is the weight of the deviation term, also known as the penalty factor, the larger \(C\) is, the less tolerant \(\zeta_{i}\) is. That is, the smaller the error in the final result. Conversely, then,  
Figure 1: Optimal decision boundary. the greater the tolerance for \(\zeta_{i}\), the greater the error in the final result; \(C\zeta_{i}\) is also known as the L\({}_{1}\) regular term. In order to solve the above optimization problem, it is necessary to use the Lagrange multiplier method for solving [18], which converts the optimization problem in Equation (3) into a solution:  
\[\max\{\sum_{i=1}^{m}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_{ i}\alpha_{j}y_{i}y_{j}K(x_{i}x_{j})\} \tag{4}\]  
where, \(\alpha_{i}\) is the Lagrange multiplier and \(\alpha_{i}\) is satisfied:  
\[0\leq\alpha_{i}\leq C,\sum_{i=1}^{m}\alpha_{i}y_{i}=0 \tag{5}\]  
\(m\) representing the sample size. \(K(x_{i}x_{j})\) is the kernel function. The regression function can be calculated by Equations (4) and (5) as  
\[f=\sum_{ \begin{array}{c}i=1\\ j=1\end{array} }^{m}\alpha_{i}y_{i}K(x_{i}x_{j})+b_{d} \tag{6}\]  
The kernel function maps the input data from the original feature space to a higher dimensional feature space, making a problem that was linearly indivisible in the new space linearly divisible.