## 2 Methodology
### Differential Evolution  
Differential evolution (DE) algorithm is a heuristic random search algorithm on the basis of populational differences [37]. It is put forward by [PERSON] and [PERSON] to solve Chebyshev polynomials. Differential evolution algorithm mainly includes three kinds of operations: mutation, crossover, and selection [38; 39]. In the D dimensional search space, the size of population is N. \(\mathrm{X_{i}(g)}\) is the i individual of the g generation:  
\[ \begin{array}{l}\mathrm{X_{i}^{L}(g)\leq X_{i}(g)\leq X_{i}^{U}(g)}\\ \mathrm{X_{i}(g)=[x_{i1}(g),x_{i2}(g),\cdots,x_{iD}(g)]}\\ \mathrm{i=1,2,\cdots,N;\;g=1,2,\cdots,t_{max}}\end{array}  \tag{23}\]  
In the equation, \(\mathrm{X_{i}^{L}(g)}\) is the lower bound of population individual, \(\mathrm{X_{i}^{U}(g)}\) is the upper bound of population individual, \(t_{\max}\) is the maximum number of iterations. 1. Initialization Population  
N initial populations are randomly generated in the entire search space:  
\[x_{ij}(0)=x_{ij}^{L}+\mathrm{rand}(0,1)(x_{ij}^{U}-x_{ij}^{L}) \tag{24}\]  
In the equation, \(\mathrm{rand}(0,1)\) is a random number that obeys a uniform distribution in \([0,1]\). \(x_{ij}^{U}\) and \(x_{ij}^{L}\) are the upper and lower bounds of the j dimension respectively. 2. Mutation Operation  
The variant individual is generated by Equation (25):  
\[\mathrm{V_{i}(t+1)=x_{r1}(t)+F[x_{r2}(t)-x_{r3}(t)]} \tag{25}\]  
In the equation, F is the zoom factor with a range of \([0,1]\). \(r1,r2,r3\) are random integers in \([1,N]\) that are not equal to each other and are not equal to i. 3. Crossover Operation  
Crossover operation can increase the population diversity. For the j dimension of the i individual, the method of crossover operation is shown as Equation (26). \[\mathrm{U_{ij}(t+1)= \begin{cases}\mathrm{V_{ij}(t+1)}&\mathrm{if\;rand}(0,1) \leq CR\;orj=j_{rand}\\ \mathrm{X_{ij}(t)}&\mathrm{otherwise}\end{cases}  \tag{26}\]  
In the equation, CR is the crossover probability and \(j_{rand}\) is a random dimension. 4. Selection Operation  
In differential evolution algorithm, greedy algorithm is used to select individuals entering the next generation, that is to choose the better individuals as the new individuals, so as to ensure the direction of population evolution, which is shown as Equation (27). \[\mathrm{X_{i}(t+1)= \begin{cases}\mathrm{U_{i}(t+1)}&\mathrm{if\;f[U_{i}(t+1)] \leq f[X_{i}(t)]}\\ \mathrm{X_{i}(t)}&\mathrm{otherwise}\end{cases}  \tag{27}\]  
Support Vector Machine Optimized by Differential Evolution Algorithm and Grey Wolf Optimization Algorithm  
When SVM algorithm is used for forecasting on the basis of radial basis kernel function, the values of regularization parameter c and radial basis kernel function parameter g need to be determined. The values of these two parameters directly affect the accuracy of forecasting. Grey wolf optimization algorithm is selected to optimize the SVM parameters in this article. In fact, although the grey wolf optimization algorithm has advantages in global search and convergence, with the increase of iteration times, it is also unavoidable to fall into the local optimum. So, in this paper, the DE algorithm is introduced to improve GWO algorithm to enhance the global search ability, and then improve the SVM algorithm. The specific steps of DE-GWO-SVM are as follows:  
Step 1: Set model parameters: population size N, maximum iteration number tmax, crossover probability CR, the scope of the zoom factor F.  
Step 2: Initialize the parameters A, C, and a, and perform the mutation operation of the differential evolution algorithm for the population individual according to Equation (20) to produce the intermediate. Then perform the selection operation according to Equation (22) for initializing the population individual, and set the iteration number: t = 1.