A novel hybrid method based on Cuckoo optimization algorithm and artificial neural network to forecast world's carbon dioxide emission

This paper deals with the global energy consumption to forecast future projections based on primary energy, global oil, coal and natural gas consumption using a hybrid Cuckoo optimization algorithm and information of British Petroleum Company plc and BP Amoco plc. The Artificial Neural Network (ANN) has some significant disadvantages, such as training slowly, easiness to fall into local optimal point, and sensitivity of the initial weights and bias. To overcome the shortcomings, an improved ANN structure, that is optimized by the Cuckoo Optimization Algorithm (COA), is proposed in this paper (COANN). The performance of the COANN is evaluated with Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), and Correlation Coefficient (CC) between the output of the model and the actual dataset. Finally, CO2 emission in the world by 2050 is forecasted using COANN. The findings showed that COANN is a helpful and reliable tool for monitoring global warming. This proposed method will assist experts, policy planners and researchers who study greenhouse gases.• The method can be used as a potential tool for policymakers and governments to make policy on global warming monitoring and control.• The proposed method can play a key role in the global climate changes policies and can have a significant impact on the efficiency or inefficiency of government's intervention policies.


Introduction
The use of non-classical methods to identify and predict complex systems problems has been expanded [5] . There are many methods to predict natural phenomena around the world, but it is still difficult to accurately forecast the events. In the real world, there are a huge amount of non-linear systems, or those whose behavior is dynamic and depends on their current state [6] .
This paper introduces an objective approach for predicting world's carbon dioxide emission. The data of the global energy consumption are investigated for analyzing and forecasting the world's carbon dioxide emission using a hybrid method based on Cuckoo Optimization Algorithm and Artificial Neural Network (COANN).

Cuckoo Optimization Algorithm
The Cuckoo Optimization Algorithm is a new algorithm for solving nonlinear optimization problems with continuous variables. This algorithm was proposed by Yang and Deb [1] , developed by Rajabioun [2] and inspired by the lifestyle of a bird called the Cuckoo. This algorithm runs like any other evolutionary algorithm. Cuckoos choose other birds' nests to lay their eggs. They lay eggs similar to the eggs of the host bird in the nest and therefore use other birds to regenerate. Meanwhile, Cuckoo eggs may be recognized and destroyed by the host bird. Under such conditions, the Cuckoo migrates to areas that are more suitable for spawning and regeneration.
Like other Evolutionary Algorithms (EAs), this algorithm starts with an initial population, and like the Genetic Algorithm (GA), has a population-based approach. This population is made up of a number of Cuckoos that live in an area that is actually a decision-making space. A number of eggs are randomly assigned to each of these Cuckoos and each Cuckoo lays its eggs in a specific area. In each iteration, the value of the [ f (habitat function)] is calculated for the habitat (equivalent to the individuals in GA) of each Cuckoo and its eggs. A number of these eggs (about 10%) that have a more unfavorable target function are identified and killed. If the best objective function of the remaining population satisfies the hold-up problem conditions, the solution process ends. Otherwise, the remaining eggs turn into adult Cuckoos and each of them migrates to the nearest and most suitable place [7] .
This migration is represented using the following relation: Where Pop i new is the ith new solution; Pop i current is the current ith solution; b is the movement coefficient, and Pop best is optimum current solution.
After migrating, the Cuckoos lay their eggs in their new habitat. Each Cuckoo is able to lay eggs in a specific radius, which is greater than the Egg-Laying Radius (ELR).
Where α is an integer, which regulates the maximum value of ELR; N is the number of current eggs per Cuckoo; T is the total number of eggs; Var hi is the upper limit, and Var low is the lower limit of the decision variables. This process continues through an iterative process to find the best place to lay eggs, which is the optimal answer to the problem [8] .

Artificial Neural Network (ANN)
Artificial Neural Network (ANN) has been modeled using biological neural systems (the human brain). Although it processes information, it is relatively simpler than the human brain and easy to work with. ANNs are models for information processing that are generated by imitating biological neural networks such as the human brain. It is worth noting here that an important element of this model is the new structure of the information processing system, which includes a large number of elements (neurons) with strong internal connections, which work together to solve some specific problems. In this regard, the nature of neural network learning is of particular importance. Such networks, represented as learning systems, have the ability to learn from the past, experience, and environment, so that they can improve their behavior during any learning process. Network learning improvement is measured based on a criterion over time, in which this improvement criterion can model the purpose of the learning system. In the above model, both processing and simulation are performed based on teaching and learning the relationships of the variables observed in the past, as well as the expansion of these relationships for the future to make some new predictions. It should be mentioned that the structure of this network consists of at least three layers of inputs, hidden, and output. The number of neurons in the input layer depends on the number of inputs. In this way, the input, hidden, and output layers, together with the neurons in each layer, form the network structure. The number of neurons in this layer, as well as the number of hidden layers depending on the type of problem is obtained using trial and error. The connection and relationship of the neurons of the inputs, hidden, and output layers are established by the weights, which are considered as the neural connections [9] .
The number of neurons in the input and output layers is determined by the problem for which the network is utilized. On the other hand, in terms of the hidden layer, the number of neurons is determined by the user using the trial-and-error method. In this regard, neural network training is one of the most important steps in the development of neural network model in which the network weight is determined under a nonlinear optimization process. Network learning is performed when the connection weights between the layers change so that the difference between the predicted and calculated values is acceptable [3 , 10] . By achieving these conditions, the learning process is accomplished. Fig. 1 shows an ANN with a hidden layer, which contains some weights connecting between layers.

Proposed method
Once a network is designed for a specific application, it is ready for training. In this paper, the Cuckoo Optimization Algorithm is used to search for a combination of weights and biases that provides the least error. The COA-optimized ANN method is divided into three parts: determining the structure of the ANN, obtaining the simplest weights and bias through COA, and predicting through the artificial neural network. It is decided that the ANN structure will support the value of input   and output parameters in the first part, then the length of each Cuckoo in the COA is determined accordingly. In the second part, the COA method is used to optimize the weights and bias of the ANN. Each individual within the Cuckoo population includes all the weights and biases in ANN, and it's evaluated by the fitness function. The COA method implements initializing COA, determining fitness function, updating position operator, selecting operator, replacing operator, and eliminating operator to seek out the Cuckoo individual with the simplest fitness. This optimization process is repeated until satisfactory weights and bias are found. In the last part, the ANN with the optimal weights and bias is made and is trained to predict the output.
The Cuckoo optimization algorithm is utilized in COANN for optimizing the initial weights and artificial neural network's bias. Thus, the ANN predicts better output. The COANN elements are as follows: initializing COA, determining fitness function, updating position operator, selecting the operator, replacing the operator, and eliminating the operator to find the Cuckoo with the best fitness. The steps of the Cuckoo optimization algorithm are shown in detail in Figure 2 .
(1) Initializing COA: The Cuckoo's individual encoding is done in real-coded form, and each individual consists of real number strings consisting of four sections: connection weights between output and hidden layers, connection weights between the input and hidden layers, the output layer's bias, and the hidden layer. All the weights bias artificial neural network are contained in each cuckoo. It is possible to construct a specific artificial neural network based on the bias and weights in ANN. (2) Determining Fitness Function: Based on the best one, it is possible to specify bias and initial weights of ANN. When the artificial neural network is trained, it is utilized for output prediction.

Optimization and method validation
This paper presents a new method for forecasting global carbon dioxide emissions. Data on primary energy, global oil, coal, and natural gas consumption were collected a during the years 1980-2018 [4] . The input parameters of the neural network included primary energy, global oil, coal, natural gas consumption and the carbon dioxide emissions in the world were considered as the output parameters on the network. Data related to these parameters were divided into training, testing and data validation. 70% of these data was used for training, 15% for validation and another 15% for testing.
To estimate global carbon dioxide emission, it is necessary to normalize the data in the first step ( Table 1 ). Eq. (3 ) was used to normalize the data.
Where X N represents the normalized data and X R represents the original data value. A multilayer perceptron neural network consists of an input layer, a hidden layer and an output layer. The neural network has 4 neurons in the hidden layers and one neuron in the output layer. The performance of the COANN method is evaluated with Mean Squared Error (MSE), Mean Absolute Error (MAE), Root Mean Squared Error (RMSE), and correlation coefficient (R) between COANN output and the actual dataset [7] . These errors are specified in the forms of Eq. (4) -(6) Figs. 3 , 4 and 5 indicate the best validation performance graph and regression plot between actual and predicted data in COANN method. Table 2 shows the performance evaluation of COANN outputs. Fig. 6 represents error histogram and performance criterion of COANN outputs. Table 3 shows the performance of the COANN method for the modeling and the testing data. The findings showed that the proposed method can play a key role in the policy of controlling carbon dioxide emissions in the world and can have a significant impact on the efficiency or inefficiency of governments policies [1 , 2] .
Using the COANN method, as outlined above, global carbon dioxide emissions are predicted by 2050. Table 4 indicates a comparison between forecasted published by British Petroleum company, BP, and the COANN method.

Conclusion
In this paper, we proposed a hybrid COANN based on the cuckoo optimization algorithm and the artificial neural network. The proposed method has been successfully used to estimate world's carbon dioxide emission. The method can be used as a potential tool for experts, policy planners and researchers who study greenhouse gases.

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.