# A Short-Term Wind Speed Forecasting Model Based on EMD/CEEMD and ARIMA-SVM Algorithms
## 2 Methodology
### The Support Vector Machine (SVM)  
The support vector machine was proposed by [PERSON] et al. in 1995 [28], developed from the statistical learning theory and the structural risk minimization principle. The most notable feature of SVM is that it can effectively overcome the large deviation of the prediction results and problems such as over-learning, dimensional disaster, and local extremum. It is suitable for dealing with small samples, high dimensionality, and nonlinearity. The basic principle of the SVM regression is to map the data of the input space into a high-dimensional feature space through a nonlinear mapping, after which the linear regression is performed in this feature space. Suppose we are given training data \(\{(x_{1},y_{1}),\,(x_{2},y_{2}),\,\,\cdots,\,\,(x_{n},y_{n})\}\), the SVM regression function is formulated as follows [29]  
\[f(x)=\sum_{i=1}^{N}\omega_{i}\phi(x_{i})+b \tag{6}\]where \(N\) denotes the number of the training data, \(x_{i}\) is the input patterns, \(y_{i}\) is the output patters; \(\omega_{i}\) is the regression coefficients vector; \(\phi(x_{i})\) is the nonlinear mapping function in the feature space from the input patters \(x_{i}\); \(b\) is the bias term.  
Actually, the solving of the regression function is converted to the quadratic programming problem. It gets [30; 31]  
\[\text{min}\Bigg{\{}\frac{1}{2}\|\omega\|^{2}+C\sum\limits_{i=1}^{N}(\xi_{i}+ \xi_{i}^{*})\Bigg{\}} \tag{7}\]  
\[\text{subject to }\left\{\begin{array}{l}y_{i}-\langle w,\phi(x_{i})\rangle-b \leq\varepsilon+\xi_{i}\\ \langle w,\phi(x_{i})\rangle+b-y_{i}\leq\varepsilon+\xi_{i}^{*}\\ \xi_{i},\ \xi_{i}^{*}\geq 0\ \ (i=1,\ 2,\ \cdots,n)\end{array}\right. \tag{8}\]  
where \(\xi_{i},\ \xi_{i}^{*}\) are the slack variables; \(\varepsilon\) is the tolerance error between \(f(x)\) and the output patters \(y_{i}\); C \(>\) 0 is a constant that determines penalty of the samples exceeding the tolerance error.  
The Lagrange function is constructed by introducing a dual set of variables in order to solve the quadratic programming problem. It deduces the dual optimization problem. It gets  
\[\text{max}\left\{\begin{array}{l}-\frac{1}{2}\sum\limits_{i=1}^{l}\sum \limits_{j=1}^{l}\left(\alpha_{i}-\alpha_{i}^{*}\right)\left(\alpha_{j}- \alpha_{j}^{*}\right)\langle\phi(x_{i}),\phi(x_{j})\rangle\\ -\varepsilon\sum\limits_{i=1}^{l}\left(\alpha_{i}+\alpha_{i}^{*}\right)+ \sum\limits_{i=1}^{l}y_{i}\big{(}\alpha_{i}-\alpha_{i}^{*}\big{)}\end{array}\right\} \tag{9}\]  
\[\text{subject to }\sum\limits_{i=1}^{l}(\alpha_{i}-\alpha_{i}^{*})=0\,\ \ \alpha_{i},\alpha_{i}^{*}\in[0,C] \tag{10}\]  
where \(\alpha_{i},\ \alpha_{i}^{*}\) are Lagrange multipliers; \(\langle\,,\rangle\) denotes the dot product. Then, Equation (1) can be rewritten as follows  
\[f(x)=\sum\limits_{i=1}^{N}\left(\alpha_{i}-\alpha_{i}^{*}\right)\langle\phi(x _{i}),\phi\big{(}x_{j}\big{)}\rangle+b \tag{11}\]  
\[w=\sum\limits_{i=1}^{N}\left(\alpha_{i}-\alpha_{i}^{*}\right)\phi(x_{i}) \tag{12}\]  
The kernel function is the essence of SVM. By means of the nonlinear mapping, the input patterns are expressed in the high-dimensional feature space, in which  
where \(K(x_{i},x_{j})\) is kernel function, any function satisfying Mercer's condition can be used as the kernel function. The Gaussian kernel function is adopted in this study:  
\[K\big{(}x_{i},x_{j}\big{)}=\exp\!\left[-\frac{\left\|x_{i}-x_{j}\right\|^{2}}{2 \delta^{2}}\right] \tag{16}\]  
Then, Equation (6) can be rewritten as follows  
\[f(x)=\sum_{i=1}^{N}\omega_{i}\phi(x_{i})+b=\sum_{i=1}^{N}(\alpha_{i}-\alpha_{ i}^{*})K\big{(}x_{i},x_{j}\big{)}+b \tag{17}\]