Short-Term Wind Power Forecasting Model based on ICA-BP Neural Network

It’s of great significance for wind power integration into grid to forecast wind power. Based on forecasting wind power by BP neural network, the article introduces global optimization algorithm, Imperialist Competitive Algorithm (ICA) to provide optimized initial weights of BP neural network. Thus, it can overcome the entrapment in local optical optimum of BP neural network. Compared with BP neural network, it is found that the performances of ICA-BP neural network, which are training, testing and forecasting of wind power, are much better.


Introduction
As the constraints on resources and environment become stronger, energy developing pattern dominated by fossil energy has to make fundamental transformation.Wind power, as a clean fuel, is developing rapidly in China.In order to achieve wind power transmission and consumption, large-scale wind power base usually need to access to power grid.However, wind power random fluctuation is deemed to be a major factor because of adverse influence on power grid.Therefore, it's of very important significance to overcome the adverse effect of wind power integration on power grid.
Currently, there are various wind power forecasting models.They include the physical method, statistical method and learning method.Learning method is mainly intelligence artificial algorithm which can fit nonlinear relationship more accurately.Many methods such as BP neural network, genetic algorithm, support vector machine, wavelet analysis method have already been used to forecast wind power (Niu, 2013).Fan et al., built BP neural network model for error band prediction (Fan, 2008).Shi et al., used wavelet transformation and frequency resolution based on BP neural network in the light of inconspicuous day characteristic of the original wind speed (Shi, 2011).In addition, Ai et al., introduced particle swarm optimization algorithm to overcome the entrapment in local optical optimum of BP neural network (Ai, 2008).
The article mainly studies BP neural network to predict short-term wind power.BP neural network is the most used artificial intelligence network (Zhuo, 2011).But BP neural network is sensitive to the initial weights.And BP algorithm converges to different local minimums by different weights initializing neural network.It could lead an enormous difference in training time, convergence and generalization error (Ai, 2008).In general, train a set of data as initial weights which are randomly selected on the interval [-1, 1].It will have mentioned above problems inevitably.Global optimization in initial weights setting will find a set of randomly generated data which are best to converge to global extremum as the initial weight values of neural network.In this way, it can avoid a series of problem due to improper initial value with a high probability.
To improve high-efficiency and accuracy of short-term wind power forecasting, the article proposes ICA-BP mixed algorithm which is the combination of imperialist competitive algorithm (ICA) and BP neural network to forecast short-term wind power.Imperialist competitive algorithm is a new kind of population based optimization algorithm.It has a better global search capability and rapid convergence rate (Chen, 2012).And it really overcomes the disadvantage of BP neural network which is easy to fall into the local supreme value to provide a set of very good initial value.Build mixed neural network model for short-term wind power forecasting and carry out empirical study of a wind turbines in a wind farms.The results show great satisfaction.Compared with the traditional BP neural network, the algorithm obtains with much advantage such as short time training, high computing precision and achieves good forecast result.This algorithm would have a certain value of application and popularization.

An Overview of the Imperialist Competitive Algorithm
Imperialist Competitive Algorithm (ICA) belongs to a branch of Natural heuristic algorithm, which is social heuristic algorithm.It is an algorithm for optimization based on imperialist colonial mechanism of competition.The algorithm starts with an initial group.Then, make screening and optimization for initial group efficiently through several specific steps, such as assimilation, competition and so on.Finally, converge to optimal solution or close to optimal solution.Imperialist Competitive Algorithm (ICA) is mainly divided into the following sections:

Generating Initial Empires
We form several vectors randomly within the search range.Each vector is called "country".These countries are randomly distributed in space.The power of countries is evaluated by a cost function.We have types of countries: imperialist and colony.Some countries which are most powerful are selected as imperialists.The others are selected as colonies.Based on the power of imperialists, colonies are assigned to imperialists randomly.An imperialist and it colonies are one empire.

Assimilation Policy
In the real world, imperialist promote their own culture, ideology and other things to control their colonies better.This process is called assimilation.In the algorithm of ICA, we simulate assimilation process by moving colonies toward imperialist.In this process, if the power of some colony is over its imperialist, then it can replace an imperialistic country to which it belongs.

Imperialistic Competition
As the social and historical facts, imperialistic country increases their power by occupying colonial countries which once belong to other imperialistic countries.In the algorithm of ICA, total power of each empire equals power of imperialistic country plus part of average power of all colonial countries.The result of competition is the weakest colonies of the weakest empires will be possessed by these empires which are more likely to possess them.

Eliminating Empires
When an imperialist lost its all colonies, an empire disappears.After a long time, the strongest empire in all empires is preserved.The empire has one imperialistic country and its colonies.The imperialistic country represents optimal solution.

Determining the Structure of BP Neural Network
Studies show that a neural network with one concealment level can approximate any nonlinear functions with any precision if the number of hidden layer neurons is enough.Thus, a three layer-BP neural network can be used to build forecasting model.In the process of a three layer-BP neural network design, the number of network's input and output nodes depends on dimension of practical problem and has nothing to do with network performance.And it is of great importance to determine number of neuron in hidden layer.If hidden neurons are too many, there are drawbacks of much more network computational burden and easy to be over fitted.If hidden neurons are too few, there are adverse impact on network performance to fall flat.The number of network hidden neuron has a direct link to the complexity of practical problem, number of input and output layer neurons and setting of expected error.Currently, there are only some empirical formulae, and no explicit formulae to determine hidden layer neurons number.Number of network hidden neuron can be determined bases on the experience and many examinations.The article selects number of hidden layer neurons by reference to the following empirical formula: where J is number of network hidden neurons, I is number of the input neurons, K is number of the output neurons, a is constant on the interval [1,10].The approximate extent of hidden layer neurons numbers is determined according to empirical formula.And then find out the most suitable value by taking them on a test run.

Generating Countries
Build a three-layer-BP network with I input nodes, J hidden-layer nodes and K output nodes.It is shown in Figure 1 : Assigning that 1 W is connective weights between input layer and hidden layer and 1 B is threshold value between input layer and hidden layer.
2 W is connective weights between output layer and hidden layer and 2 B is threshold value between output layer and hidden layer.Thus, 1 W , 1 B , 2 W and 2 B are initial value to be optimized.A country is an array of initial values.This array is defined by where, 1 , and 1 , and 2 B is represented by matrix

Dividing the Countries
The cost of a country is evaluated by the cost function: Here, the cost function is ( ) It represents error sum of squares of actual output and network output.And there is an inverse relationship between country power and cost function.That is to say, the smaller cost function value, the stronger country power.We select imp N of the most powerful countries to form empires in pop N countries which are randomly generated.The remaining col N countries will be colonies which belongs to an empire.

Distributing Colonies
Colonies are randomly distributed among empires based on their power.Firstly, to distribute the colonies among empires proportionally, we define the normalized cost of an empire by max( ), where n c is the cost function value of the nth imperialist and max( ) Then, calculating the normalized cost of each imperialist.The normalized cost of empire is defined as Finally, calculating the number of initial colonies should be possessed by each empire.The number of initial colonies of an empire will be ( ).
Experimental phenomena shows that, some experiments still have some bugs in number of initial colonies we get according to mentioned above formulae.The total number of colonies which belong to imp N empires is more than or less than col N probably.Therefore, after we get total number of colonies which are calculated according to above formulae, we should compare total number of colonies and col N .If it is more than col N , slightly reduce colonies of weaker empires.And if it is less than col N , slightly increase colonies of bigger empires.

Assimilation Mechanism
To control their colonies better, empire s promote their ideology, culture to their colonies.This process is called assimilation.We simulate assimilation process by moving all the colonies toward the empire.The movement in which the colony moves toward the empire by x units.x is defined as We add a deviation θ to the direction of movement.Then, θ is defined as Where 1 β > , d is the distance between colony and empire.0 γ π < < .We use γ to adjust moving direction of colonies.The article stimulate this process by changing value of colonies partially.When an empire moves to a new position, its cost function value is smaller than other empires probably.That is to say, this empire have power far beyond that of other empire.Then, we exchange the empire' position with other empire's position.It indicates original empire will be replaced by new empire and original empire descend to colony of new empire.

Competitive Mechanism
More powerful empires try to take possession of colonies of other empires to increase their own power.The power of an empire mainly depends on that of other empires.At the same time, its colonies have an impact on power of the empire.The power of an empire is evaluating by total cost function: where, n T is total cost function value of nth empire and ( ) i CT col is the cost function value of the empire's colonies.0 1 ξ < < , the magnitude of ξ determines the impact of colony to the power of its empire.The value of ξ is 0.1 in the article.That would be far more likely if greater empire occupies colonies of weaker empire.Firstly, calculate respectively cost of each empire.n NT is respectively cost of nth empire: max( ), where, max( ) T is the maximum of total cost function of imp N empires.
Based on respectively cost, the theoretical possibilities of an empire occupying the weakest empire's colonies is: .And the most powerful empire doesn't always occupy the weakest empire's colony.Because some factors such as distance, empire's stable situation have an impact on the capturing process.Thus, stochastic variables R is introduced: , where ( ) . Thus, all real possibilities of imperial occupation are: and the empire which is corresponding to the maximum of D value can occupy colonies.

Eliminating the Powerless Empires
Powerless empires will collapse in the imperialistic competition and more powerful empires occupy more and more colonies with increasing power.Finally, only an empire is left which represents the optimal value.Let the value of this empire to be initial weight value of BP neural network.And then use BP neural network to solve problems accurately.In this way, we can solve the problem of local extremum with high efficiency and accuracy.

ICA-BP Neural Network Forecasting Short-Term Wind Power
This article adopts the wind power data (unit for kW, interval is 5s) of some 20 sets of 1.5 MW wind turbines in a wind farms of 30 days as sample data for research.And it extracts the No.1 fan's data of interval for 5 minutes between 22nd and 24th day as an example.We use continuous 10 data as input to forecast the wind power after 30 minutes in each forecast.To forecast short-term wind power by BP neural network, we delimits the scope of the number of hidden layer neurons for 4 to 14 by empirical formula (1) preliminary.And then, we determine that the number of hidden layer neurons is 8 through trial and error.Hence there are one input layer often neurons, one output layer of one neuron and one hidden layer of eight neurons in the BP neural network we build.
On this basis, we introduce the ICA, and build a short-term wind power forecasting model based on ICA-BP neural network.It's known to us that, the process of forecasting by BP neural network can be divided into 3 parts: data training, data testing and data forecast.This article will analysis the advantages of ICA-BP neural network from these three aspects respectively in below.

Comparison and Analysis of Training Performance
To tell the advantages and disadvantages of BP neural network and ICA-BP neural network, we compare and analyze both the accuracy of training results and the length of training time for wind power data.

1) Comparison of Training Accuracy with the Same Numbers of Iterations
In the experiment, given a certain numbers of iterations of a training, and doing experiment on two models respectively.The training will stop when it reaches the numbers of iterations.After that, we take the average of training errors in three experiments, and compare the gap.The results of experiment can be seen in Table 1.In the experiment, given a certain mean square error of a training, and doing experiment on two models respectively.The training will stop when it reaches the mean square error.After that, we take the average of the length of training time in three experiments, and compare the gap.The results of experiment can be seen in Table 2.It can be seen from the experimental results that, in the case of the same mean square error, the length of training time of IAC-BP neural network is better than BP neural network obviously.

Comparison and Analysis of Testing Performance
Given 6000 iterations in every experiment, testing continuous wind power for 3 hours based on BP neural network and ICA-BP neural network respectively.The results of testing can be seen in Figure 2. From the accurate indicator of testing data and actual data, we can see that the accuracy of ICA-BP neural network is better preliminarily.Analyzing the results of testing deeply, their relative errors of the results can be seen in Figure 3.In order to see the differences of their relative errors intuitively, their average relative error of the testing results of every half hour can be seen in Figure 4. Their average relative error of the testing results of 3 hours can be seen in Table 3.We can see that the average relative error of ICA-BP neural network is less.
From both of their results of testing and the comparison of their average relative error of the results, it can be seen that, compared to the BP neural network, the ICA-BP neural network has obvious advantage on the testing performance of wind power.

Comparison and Analysis of Forecast Performance
Forecast performance is the most important evaluation indicators of a model for forecast.So we analyse their forecast performance in below.Given 8000 iterations in every experiment, forecast continuous wind power for 3 hours based on BP neural network and ICA-BP neural network respectively.The results of forecast can be seen in Figure 5. From figure 5, we can't see which one is better intuitively, so we can analyze the forecast performance by their relative error.Every relative error of forecast can be seen in Figure 6.From figure 7, we can see that waving of the relative error of ICA-BP neural network is smoother, and it was in a downward trend.Their average relative error of the forecast results of 3 hours can be seen in Table 4.We can see that the average relative error of ICA-BP neural network is less.
From both of their results of forecast and the comparison of their average relative error of the results, it can be seen that, compared to the BP neural network, the ICA-BP neural network also has obvious advantage on the forecast performance of wind power.
From the analysis above, compared to the BP neural network, the ICA-BP neural network has obvious advantage on training, testing and forecast performances of wind power.

Conclusion
In order to solve the problem that, BP neural network is sensitive to the initial weights, this article adopts global optimization and introduce ICA, on the basis of BP neural network.This article compares the advantages and disadvantages of ICA-BP and BP neural network in wind power forecast.When forecasting based on traditional BP neural network, the average relative error of the forecast results of 3 hours is about 0.17.When forecasting based on ICA-BP neural network, optimizing the initial weights and biases of BP neural network by Imperialist Competitive Algorithm, the average relative error of the forecast results of 3 hours is about 0.15.It can be seen from the experiment that, compared with traditional BP neural network, ICA-BP neural network improves the accuracy of wind power forecast.In addition, experimental results show that, not only on the forecast performance, ICA-BP neural network is better than BP neural network but also on the training and testing performance.Besides, ICA-BP neural network is convenient to apply to short-term wind power forecasting.

Figure 1 .
Figure 1. the BP Neural Network Structure

Figure 2 .
Figure 2. Comparison of testing results

Figure 3 .
Figure 3.Comparison of testing relative error

Figure 4 .
Figure 4. Comparison of testing average relative error of half an hour

Figure 5 .
Figure 5.Comparison of forecast results

Figure 6 .
Figure 6.Comparison of forecast relative error

Figure 7 .
Figure 7.Comparison of forecast average relative error of half an hour

Table 1 .
Comparison of training accuracy

Table 3 .
Comparison of average relative error of testing result

Table 4 .
Comparison of average relative error of forecast result