# Exploiting Deep Learning for Wind Power Forecasting Based on Big Data Analytics
## 4 Proposed Model
### Efficient DCNN  
Modified CNN is widely used for forecasting [45]. An enhanced CNN for wind power forecasting is discussed below. The inputs are given to the EDCNN for predicting day-ahead hourly wind power (24 values). Firstly, the functionality of trivial CNN is discussed in this section. Secondly, the proposed method EDCNN is explained. CNN is the computational model of human visual cortex's functionality. CNN has an excellent capability of extracting deep underlying features of data. The CNN effectively identifies the spatially local correlations in data through convolution operation. In the convolution operation, a filter is applied to a block of spatially adjacent neurons (Figure 3) and the result is passed through an activation function. This output of convolution layer becomes the input to next layer's neurons. Thus, the input to every neuron of a layer is the output of a convolved block of the previous layer. Unlike ANN, the CNN training is efficient due to the weight sharing scheme. Due to the weight sharing, the learning efficiency improves. CNN is composed of three altering layers: (i) convolution layer; (ii) sampling layer; and (iii) fully connected layer. The convolution operation can be explained by Equation (3). Suppose X = [\(x_{1}\), \(x_{2}\), \(x_{3}\),..., \(x_{n}\)] is the vector of training samples and C = [\(c_{1}\), \(c_{2}\), \(c_{3}\),..., \(c_{n}\)] is the vector of corresponding targets. \(n\) is the number of training samples. CNN attempts to learn the optimal filter weights and biases that minimize the forecasting error. CNN can be defined as:  
\[Y_{i}^{m}=f(w^{m}\otimes X_{i}^{m}+b^{m}) \tag{3}\]  
where i = [1,2,..., n] and m = [1, 2,..., M]. \(m\) is the number of layer to be learned. The filter weights of the \(m\)th layer is denoted by \(w^{m}\). \(b^{m}\) represents the corresponding biases and \(\otimes\) is the convolution operator. \(f(\cdot)\) is the nonlinear activation function. \(Y_{i}^{m}\) is the feature map generated by sample \(X_{i}\) at layer \(m\). In the proposed forecasting method EDCNN, there are eleven layers: three convolution layers, three max pooling layers, two batch normalization layers, three ReLU (Rectified Linear Unit) layers, one modified fully connected layer and one modified output layer (Enhanced Regression Output Layer (EROL)). The number of filters in all convolution layers is 9. The number of neurons in all the hidden layers is 200. The functionality of two layers is modified to improve the forecasting performance of EDCNN. According to the ANN literature, there is no standard way to choose an optimal activation function. A modified activation function is employed in a hidden layer. The proposed activation  
Figure 3: 1D convolution operation. function is the ensemble of results of three activation functions: hyperbolic tangent, sigmoid and radial base function (Equations (4)-(6), respectively). The proposed activation function, Equation (7), takes the average of the results of the three used activation functions. \[TH=\frac{e^{xw}-e^{-xw}}{e^{xw}+e^{-xw}} \tag{4}\]  
\[\sigma=\frac{e^{x}w}{1+e^{x}w} \tag{5}\]  
\[\phi=\phi\|xw-c\| \tag{6}\]  
\[F(x,\ w)=\frac{(TH+\sigma+\phi)}{3} \tag{7}\]  
where \(xw\) is the intermediate output of a network layer (weighted sum of input) on which activation is to be applied to achieve the final output. \(\phi\) is the radial base function. The proposed activation function takes the average of the three aforementioned functions to calculate the results of corresponding hidden layer. In the proposed output layer EROL, a modified objective function is embedded. The objective is to minimize the absolute percentage error between the forecast values and actual targets. The objective can be expressed as Equation (8):  
\[min\ Loss(w,\ X_{i},\ c_{i})=L(w,\ X_{i},\ c_{i}) \tag{8}\]  
where \(L(w,\ X_{i},\ c_{i})\) is the forecasting error or loss from sample \(X_{i}\).