Short-term wind speed forecasting using artificial neural networks for Tehran, Iran

Wind energy is increasingly being utilized globally, in part as it is a renewable and environmental-friendly energy source. The uncertainty caused by the discontinuous nature of wind energy affects the power grid. Hence, forecasting wind behavior (e.g., wind speed) is important for energy managers and electricity traders, to overcome the risks of unpredictability when using wind energy. Forecasted wind values can be utilized in various applications, such as evaluating wind energy potential, designing wind farms, performing wind turbine predictive control, and wind power planning. In this study, four methods of forecasting using artificial intelligence (artificial neural networks with radial basis function, adaptive neuro-fuzzy inference system, artificial neural network-genetic algorithm hybrid and artificial neural network-particle swarm optimization) are utilized to accurately forecast short-term wind speed data for Tehran, Iran. A large set of wind speed data measured at 1-h intervals, provided by the Iran Renewable Energy Organization (SUNA), is utilized as input in algorithm development. Comparisons of statistical indices for both predicted and actual test data indicate that the artificial neural network-particle swarm optimization hybrid model with the lowest root mean square error and mean square error values outperforms other methods. Nonetheless, all of the models can be used to predict wind speed with reasonable accuracy.


Introduction
In recent decades, worldwide reductions of conventional energy reserves and rapidly growing energy demand have become serious public concerns. Furthermore, the use of non-renewable energy sources like fossil fuels has led to environmental concerns such as air pollution, global warming, and ozone depletion [1,2]. To address these concerns, significant efforts have been expended to find ways to meet growing energy demands while addressing environmental concerns, leading to renewable energy sources attracting much attention globally [2].
Renewable energy sources are almost unlimited and less environmentally intrusive than hydrocarbons fuels. Only 16 % of world energy demand was supplied by renewable energy sources in 2009. Most developed and some developing countries are putting forth efforts to increase the rate of renewable energy use. Wind energy has played a significant role in renewable electricity generation and has attracted increasing attention as a clean energy form [3,4]. The capacity of wind energy systems increased about 24 % in 2009 and total worldwide capacity by the end of that year reached approximately to 198 GW. During 2010, global wind power capacity reached 39 GW, triple the value of 2005 (see Fig. 1). In 2010, the total installed wind generation capacity increased in over 50 countries, and wind power achieved commercial use in 83 countries.  Figure 2 shows the wind energy capacity of selected countries in 2010 [3]. More generally, the global installed capacity of wind power rose from 6.1 GW in 1996 to about 238 GW in 2011 [5]. Wind energy is sometimes cost-effective, making the implementation of sizable wind energy projects feasible in many regions around the world, e.g., China has an installed wind farm capacity of about 25.8 GW [6,7].
Wind power data provided by the Renewable Energy Organization of Iran (SUNA) [8] indicate that, in Iran as of March 20, 2013, the total capacity of installed wind power plants was 109.4 MW and the total electricity generation capacity of installed wind power plants was 109.4 MWh. Table 1 shows the amount of wind power produced by wind turbines with a nominal power of 660 kW at various sites in Iran, from the beginning of operation until February 18, 2013. For instance, the monthly amounts of wind power produced by the Manjil power plant and the Binalud power plant, respectively, are approximately 583 and 104 GWh.
The uncertainty caused by the intermittent nature of renewable energy resources is a significant challenge to electrical grid reliability and electricity generation scheduling. Also, operational challenges exist because the harvestable wind energy density in a given region depends on meteorological condition [9]. The development of the wind energy industry requires reasonably accurate forecasting of wind resource characteristics, to facilitate system   Data source Renewable Energy Organization of Iran (SUNA) [6] planning and dynamic control of wind turbines [10,11]. Forecasting methods allow enhanced scheduling by predicting the amount of energy that will be generated, determining the power storage capacity, and assessing the electricity market for supplying and using grid electricity [12]. Forecasting systems are often divided into four timescale categories: very short term, short term, medium term, and long term. This classification is shown in Table 2 with the relevant time ranges and forecasting purposes [6,13]. As shown in Table 2, a very short-term forecast focuses on wind speed or power forecasting in a time frame of a few seconds to 30 min. Short-term forecasting of wind speed focuses on time frames of 30 min to 48 h, while long-term forecasting predicts wind speeds for periods of 1 week to 1 year or more. Previously employed methods to predict wind characteristics generally are of three types: statistical, physical, and hybrid [13]. Physical methods combine multiple physical considerations to predict wind speed whereas statistical methods forecast on the basis of observed wind speed time series. Additionally, these methods can be combined, with the results from physical models used as input data to statistical methods. Moreover, several robust artificial intelligent techniques exist, such as artificial neural networks (ANNs), fuzzy logic [11] and adaptive network based fuzzy interface systems (ANFISs), which exhibit advantages in forecasting wind power and speed. In Ref. [14], a novel technique for wind speed forecasting using fuzzy logic and artificial neural networks is presented. That technique outperforms the older technique from two points of view: first it uses a fuzzy approach that provides less of a rule base and the second it attains increased accuracy in estimating wind speed. The results indicate that the approach requires less computational time and outperforms the older method for wind speed forecasting performance. Shi and Li utilized an ANN model for forecasting wind speed over 1 h based on wind data from two locations in North Dakota, and showed that input data, learning rates and model mechanisms affect prediction accuracy [12]. The enhanced methods led to improvements of about 20 % in some assessment metrics, although instability problems had to be overcome to attain a robust method of merging forecasts from various ANN models [12]. Mabel and Fernandez applied ANN models via MATLAB toolbox for evaluating wind energy data in Muppandal, Tamil Nadu, India, using data collected at seven locations from 2002 to 2005, and showed that the predictions were to a great extent similar to actual evaluated data [15]. ANN models have also been successfully used for predicting wind speed at Nigerian sites without monitoring stations [16]. Reference [17] presents a model that is based on risk and reliability analysis to attain the resistance-load scenario using prior data for wind load. The model is presented and the results are compared with real data from a 12-MW wind farm. Mohandes et al. [11] used ANFIS to evaluate wind speed for various high heights on the basis of the wind speed information at low heights in Saudi Arabia and obtained mean absolute error percentages of 3 %, demonstrating the reliability of the ANFIS method. In Ref. [18], the Kalman filter was applied to wind speed forecasting in the eastern Liguria, Italy. The results indicate that the model is able to improve forecasting results with respect to the wind speed model direct output. In this model, Kalman-filtered wind speed data were utilized to predict the wind power of Varese Ligure. The error percent between simulated and measured wind power values was low.
The objective of this paper is to utilize and assess several ANN methods: artificial neural networks using a radial basis function (ANN-RBF), adaptive neuro-fuzzy inference system (ANFIS) and an artificial neural network-particle swarm optimization (ANN-PSO) method for short-term wind speed prediction for the city of Tehran, Iran. We also evaluate and compare the performances of these methods for the region of Tehran. These models are developed and applied for forecasting wind speed of Tehran for the first time. In this article, methods of forecasting wind properties are reviewed, a methodology is developed that incorporates the general principles of ANN-RBF, ANFIS and ANN-PSO models, and the methodology is applied to a case study using wind speed data as an input, and the results obtained with the models and their error analyses are discussed.

Methodology
Artificial neural network (ANN) Artificial neural networks (ANNs) are computing systems that mimic natural neural systems. They process input data and information to learn and obtain knowledge for use in other experiences. The problem-solving parts of these systems are processing elements called neurons. A network of connected artificial neurons can be designed, and a learning algorithm applied to train it [19,20]. In an ANN, a tiny section of the central neural system can be simulated as a basic mathematical model of the natural neural system. Input data are passed to the correlative neurons and the electrochemical signals are modified by weights. Then the weighted sum is operated upon by an activation function, and output data are conveyed to other neurons. The activation values are either exported as the final output data or passed to other models. The weights are continually altered while training to improve accuracy and generalize abilities [21].

RBF neural network
An artificial neural network with a radial basis function (RBF) is a type of neural network in which the activation functions are radial basis functions [19]. RBF neural networks generally consist of three layers: an input layer, a hidden layer with nonlinear RBF activation functions, and a linear output layer [19].
In ANN-RBF model, the input vector is X = [x 1 , x 2 , … , x n ], the radial basis vector is u = [u 1 , u 2 ,…,u n ] and the output vector is Y = [y 1 , y 2 ,…,y n ]. The output of the jth hidden layer (u j ) is described as Where C j = [C j1 , Cj 2 ,…,C jk ] T is the center vector of the jth neuron, and r = [r 1 , r 2 ,…,r k ] T is the basis width (spread) vector, which is usually obtained experimentally. Also, X À C j is the norm of (X À C j ) and can be estimated as follows [13]: The ith output of the RBF neural network is given by where W ip is the weight of the pth hidden neuron to the ith output.
The RBF neural network is trained using the following algorithm [19]. First, all weights are initialized randomly. Second, each element of the output vector Y is evaluated with Eq. 3. Third, the error e i of neurons in the output layer is calculated, for use in training and reweighting, as follows: whereŷ i is desired output of the ith neuron in the output layer. Fourth, the weights are updated as follows: where n is the iteration number and a is the learning rate [18]. Fifth, the total error e T is evaluated as The last step involves returning to the third step and repeating the calculations until e T is less than the desired error.
Adaptive neuro-fuzzy inference system (ANFIS) A fuzzy inference system [11] can be added to an artificial neural network (ANN) to enhance its performance, forming an ANFIS [11]. An ANFIS uses the estimation and instructive capability of an ANN and deduction characteristics of fuzzy logic, which include expertise in inference, to make decisions [11]. An ANFIS model contains two input data, x and y [11]. A neuro-fuzzy system, on the other hand, contains input and output layers and three hidden layers that represent membership functions and fuzzy rules [11]. ANFIS includes fuzzy if-then rules and modifies the membership function based on input and output data sets [11]. ANFIS modeling is often carried out according to the Sugeno model [22]: In the first or input layer, every neuron has a linguistic label and transfers outside crisp signals precisely to the other layer [23,24]. That is, Each node in layer 2 calculates the firing strength of a rule, which can be calculated as [14]: In layer 3 each node represents the following proportion: The result obtained from layer 4 is The last layer calculates the total output as follows: After using a weighted average process, the output data are defuzzified. For optimizing the items of the membership functions, a back propagation training technique is employed, and a least squares process is used for minimizing the error between input and output data [24]. Consequently, the hybrid learning algorithm combines gradient descent and the least squares estimator.

Artificial neural network: genetic algorithm hybrid model
An artificial neural network is a network of connected artificial neurons that are trained using a learning algorithm. In this method, a genetic algorithm is used as a learning algorithm to train the ANN in order to optimize the forecasting method. The genetic algorithm is a nonlinear global optimization method that can be used with other methods for optimizing the approach. The learning algorithm for the genetic algorithm is described in Fig. 3. An optimization genetic algorithm is applied in this method to optimize the performance of the ANN by population of random strings of data indicating several design vectors.
The amount of data is fixed. Each data string is evaluated to find its fitness value. The dataset is operated by three operators-reproduction, crossover, and mutation-to produce a new dataset. The new dataset is further evaluated to find the fitness values and tested for the convergence of the process. If the convergence criterion is not satisfied, the population is iteratively operated by the three operators and the resulting new population is evaluated for the fitness values. The procedure is continued through several generations until the convergence criterion is satisfied and the process is terminated. Training datasets are given to the GA, and the reproduction or selection operator selects above-average strings among others and insert their multiple copies in the mating pool based on a probabilistic procedure. Probability for selecting the ith string for the mating pool is given by: Here F i is the fitness of the ith string in the population of size n. It can be inferred from Eq. 13 that the sum of the probabilities of the strings is one. The selection process is made by a roulette wheel with its radius divided into segments, one for each string of the population, with the segment lengths proportional to the fitness of the strings as shown in Fig. 4. By turning around the roulette wheel n times (n being the population size) and selecting, each time, the string selected by the roulette wheel, we obtain a mating pool of size n. Since the segments of the radius of the wheel are marked according to the fitness of the various strings of the original population, the roulette wheel process is expected to select Fi/F copies of the ith string for the mating pool, where F indicates the average fitness of the population.
After reproduction, the crossover operator is used. In this case, two individual strings are selected randomly from   the mating pool and some portions of the strings are exchanged between the strings. In the process, known as a single-point crossover operator, a crossover site is selected randomly along the string length, and the binary digits lying on the right side of the crossover site are exchanged between the two strings. Afterward the mutation process generates a string (design point) in the neighborhood of the current string, thereby achieving a local search around the present solution, to protect against a premature loss of important genetic material at a particular position, and to maintain variety in the population.

Artificial neural network-particle swarm optimization hybrid
In an artificial neural network-particle swarm optimization approach (abbreviated as ANN-PSO model), a PSO algorithm is used as a learning algorithm to train the ANN for wind speed data of Tehran, Iran. The ANN model is combined with PSO to optimize the forecasting model. Particle swarm optimization performs on the basis of the behavior of a colony or swarm of insects like bees. The particles in the swarm are distributed and then they behave using their own intelligence to find a good pathway to the objective function value. After finding a good pathway, they can share their information with other particles using group intelligence of the swarm [25]. In this article, the particle swarm optimization algorithm is applied to enhance and optimize the ANN performance. Training datasets are given to the PSO algorithm to attain the best objective function value.
The key parameters for the presented models are kept the same to compare them fairly. The parameters employed are as follows: • Number of input neurons, N i : 8712. • Iteration number, n: 100.

Performance evaluation and statistical indicators
To evaluate and compare the performances of the utilized approaches in forecasting unknown time series data, statistical indicators are applied with both forecasted values and actual observed data. The most commonly used statistical indices from previous studies include root mean square error (RMSE), determination coefficient (R 2 ) and mean square error (MSE) [26]. In this study, these statistical indices are utilized for evaluation of the predictor systems. The statistical indicators utilized and their relevant mathematical expressions are presented in Table 3, where n is the number of wind samples and V est is the estimated wind speed at a particular height.

Region assessed and data
Tehran features a semi-arid, continental climate and is located at latitude of 35°41 0 46 00 N and a longitude of 51°25 0 23 00 E. Wind speed data obtained at 1-h intervals are utilized (see Fig. 3). The input data are provided by the Iran Renewable Energy Organization (SUNA) and collected from the Latman park meteorological station west of Tehran, at an altitude of 1800 m above the sea level. The input data were collected at a height of 30 m above ground level over 1 year. First the total wind speed data set is arranged in two dimensional matrices. In the matrices, rows represent the number of days in a year and columns the hours in a given day; each element inside the matrices represents the wind speed at a given hour of a particular day in the year. Then wind speed data are shown in an image-like model. Figure 5 is a one-dimensional plot of hourly wind speed data during a year.

Results and discussion
The results of the applied models are obtained in this article using MATLAB Ò software. In this section, the considered models are analyzed to demonstrate their capabilities in terms of wind speed prediction. Also, their performances are compared.

Results with RBF model
In the RBF model, wind speed data collected at 1 h intervals over 1 year are utilized as inputs. Figure 6 shows that the prior and predicted data agree with each other to a large extent, suggesting in part that the training process has been successful. Figure 7 shows the determination ½ q coefficient R 2 , which indicates the goodness of fit of the model, to be 0.85. The magnitude of the determination coefficient shows that observed outcomes are replicated well by the model. Figure 8 shows the MSE and RMSE values for the data, which illustrate the mean error and variance. The wind speed forecast error functions monotonically decrease with distance from the center, as shown in Fig. 9, following a normal distribution function; the parameter r shows the amount of variation or dispersion from the average and the parameter l represents the expectation of the distribution. The results for the RBF model are shown in Table 4 for a large amount of input data and 100 neurons in the input layer. According to Table 4, the mean square error, the coefficient of determination and the root mean square error, respectively, are 0.36, 0.86 and 0.60 for the RBF model. Figure 10 presents the testing datasets and provides a term-by-term comparison of the predicted wind speed data via the RBF model and the actual data (target data). The predicted data pattern is observed to follow the actual data pattern closely, with little disagreement. The presented RBF model thus provides a good prediction of wind speed in Tehran.

Results with ANFIS model
The ANFIS model structure consists of three layers: input, hidden and output. Figure 11 shows the ANFIS approach for a four-input single-output problem using sixteen fuzzy rules. In Fig. 12, it is observed that the prediction of wind speed (output data) with the ANFIS model agrees well with the target data and that the magnitude of the disagreement between the predicted and actual wind speed data is small (see error histogram). Figure 13 is a check-error diagram that contains an array of root mean square errors representing the training data and the checking-data error signals. The function only returns to check errors when ''check data'' is supplied as an input argument. The error curves in Fig. 13 converge, suggesting that the error values are equal.   To map the non-fuzzy input values to fuzzy linguistic terms and vice versa, membership functions are used in the fuzzification and defuzzification steps. A membership function is used to quantify a linguistic term. In Fig. 14, for instance, membership functions of the study for the linguistic terms of the wind speed variable are plotted. Note that the significant characteristic of fuzzy logic is that a numerical value does not have to be fuzzified using only one membership function. Nonetheless, a value can belong to multiple sets at the same time. Figure 15 compares the predicted wind speed data and the target data obtained with the ANFIS model. The predicted values are seen to follow the measured values relatively well, with low magnitudes of disagreement. As listed in Table 4, the mean square error, the coefficient of determination, and the root mean square error are 0.31, 0.88 and 0.55, respectively. Note by comparison of Figs. 10 and 15 that both models accurately forecast the wind speed. However, it is clear that ANFIS model is superior to ANN-RBF model.

Results of artificial neural network-genetic algorithm hybrid model (ANN-GA)
The ANN-GA model is trained by a genetic algorithm with Tehran's wind speed data as input data. The ANN model is combined with a genetic algorithm to optimize the  forecasting model. As seen in Fig. 16, the training data and the network training data, the data obtained from network, agree to a large extent. Therefore, the training process is completed adequately in this model. Figure 17 indicates that the testing process is performed well. Figure 18 shows that the training data converge to a line, suggesting that training process has been carried out successfully. The MSE and RMSE values of training are, respectively, 0.0040 and 0.0632. According to Fig. 19 test data in the ANN-GA model converge to a line; therefore, the testing process has been successful. The MSE and RMSE values of testing are, respectively, 0.0022 and 0.0469. According to Table 4, ANN-GA model outperforms three other obtained models.

Results with ANN-PSO model
In an ANN-PSO model, the particle swarm optimization method is applied to the main structure of the model (artificial neural network) to enhance its performance. The  input data (hourly mean wind speed data of Tehran) is applied to the ANN-PSO hybrid algorithm. The mean square error for training and testing datasets and the root mean square error, respectively, are 0.1315, 0.1127 and 0.3626. Figure 20 provides diagrams related to the ANN-PSO hybrid model. Figure 20a shows the normalized absolute average error (%) of training data per normalized forecasting length (h). Figure 20b shows the divergence between training data and network training data. It is clear from diagrams (a) and (b) indicates that the training process is done perfectly. Figure 20c shows the normalized absolute average error (%) of test data per normalized forecasting length (h). Figure 20d shows the divergence between test data and network test data. Figure 20c, d   indicate that the testing process is done perfectly. According to Table 4, the ANN-PSO model outperforms the ANN-RBF, and ANFIS models. As it is clear from Table 4, the mean square error for the training and testing datasets and the root mean square errors for the ANN-PSO model are lower than the corresponding values for the ANN-RBF, and ANFIS models. Moreover the determination coefficient R 2 for the ANN-PSO model exceeds the corresponding value for the ANN-RBF and ANFIS models, proving its superiority.

Conclusion
Using wind energy effectively for electrical power generation requires good predictions of wind speed, and the intermittent nature of wind makes such predictions challenging. In this study, four accurate models are successfully developed for forecasting wind speed in Tehran, Iran. The performances of the ANN-RBF, ANFIS, ANN-GA, and ANN-PSO models for short-term wind speed forecasting are compared using a comprehensive wind database. The mean square error, the coefficient of determination and the root mean square error, respectively, are 0.36, 0.86 and 0.60 for the RBF model, are 0.31, 0.88 and 0.55 for the ANFIS model, are 0.11, 0.89 and 0.36 for the ANN-PSO model, and are 0.002, 0.95 and 0.046 for the ANN-GA model. As mentioned above, the mean square error and root mean square error amounts for the ANN-GA model is lower than others and the determination coefficient R 2 exceeds the corresponding value for the other models. Therefore, we can conclude that the best method which can be used for short-term forecasting of wind speed in Tehran is ANN-GA model. However, it must be taken  into consideration that all the presented models have the accurate result and can be used for short-term forecasting of wind speed in Tehran.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://crea tivecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.