Keywords

1 Introduction

Forecasting the consumptions of crude oil prices has become one of the hot questions in the area of research due to its wide usage and importance in the world economic arrangements. Crude Oil price has been a part of the process of decision-making for the growth in industries and the government planning in the short-term and long-term, export strategy and for national reserves [1].

Generally, crude Oil prices forecast shows the future possibility in development of relevant marketplace. Crude oil is crucial to the world economy. Similarly from industrial point of view, it is vigorous production inputs while the prices are controlled by supply and demand. Changes in crude Oil prices are driven at various levels with collective or precautionary demands that are linked to the market concerns about the availability of oil supplies in the future [2].

Unpredictability of the crude Oil prices has been debated and gagged in numerous researches. The determination of this unpredictability in the prices of crude Oil gets more importance for the periods during which crude Oil prices show fast and sudden variations. Secondly, to predict the prices of crude Oil gets more significance in the future, especially in periods of high volatility. There is considerable works aimed in improving the abilities of econometric models to model the price of crude Oil [3]. Many articles have already been successfully submitted ANN applications for modeling and predicting a series of crude oil prices likewise for predicting time series of the real world [4,5,6,7,8,9,10].

ANN offers other approaches to solve complex problems. In many different ANN models, the most famous ANN is Multi layer Feed Neural Network (MLFF) and Recurrent Neural Network (RNN). Feed forward neural network sends unidirectional signals, from the level of input, hidden layers to output layer. While Recurrent Neural Network hold a short term memory for activation feedback [11]. The network has local feedback loops allowing storing previous state of hidden unit. This opportunity makes it progressive as compared to a feed forward network, because the network outputs are calculated from current inputs and hidden states, so it has at least one feedback link [12].

The results of experiments prove that ANN performance is much higher in numerous conventional models used for statistical purposes. Ability of ANN is to learn complex as well as nonlinear time-series that are hard to using the traditional models. ANN also has some disadvantages such as the performance of ANN is inconsistent in some explicit situation. ANN can do accurate prediction [13]. While RNN can perform particular nonlinear and dynamic behaviour. Which is applicable in different area such are classification models of space and time, electrical power demand, financial data forecasting [14], associative memories, forecasting, management optimization and simplify sequences of patterns [12].

The complex application such as time-series prediction and nonlinear modeling makes RNN topologically more powerful and compact than FFNN. For complex problem fully recurrent networks are still complex, so using the partially recurrent networks, where the connections have particularly feedback, but contain selected set of association’s feedback. Without any complication such model allows the system to memorize past history. Elman neural network is an example of partial RNN [11].

Some features make RNN algorithms less efficient and often requires a huge amount of time to form a network of even for moderate size of problem. RNN has complex error surface which makes many other training algorithms more flat stuck in local minima [14]. An artificial neural network is famous algorithm because of its ability to simplify and solve problems in function approximation, pattern classification, pattern matching and associative memories as well as its flexibility and competence. The success of ANN depends largely on their design, learning algorithm, and the choice of structures used during training [15]. ANN has ability to solve complex problem by classification prediction and forecasting nonlinear system and huge datasets with high accuracy. Without having prior knowledge, the neuron store, recognized, estimates and adopt new patterns on training, which make it superior and attractive model.

To overcome the weakness ANN many evolutionary techniques and global search techniques such as genetic algorithm, Ant Bee Colony (ABC), Particle Swarm Optimization (PSO), Cuckoo Search and Bat algorithm were used that formulates a kind of neural network more superior than conventional neural network models. CS algorithm provides more optimal solution then an efficient particle swarm algorithm and genetic algorithm [15]. Different modification have been done by various researchers such as GANN [16], CSBP, [17], BAT-BP, [18], ACPSOBP [14].

But this research proposed a new technique Chicken Swarm optimization (CSO) algorithm probes to boost the performance of neural network (NN). CSO development was credited to Xianbing Mengin 2014. Through observations of an individual or whole flock of chicken, the researchers extracted the chicken that have of mature intellectual ability, communication-skills and ability to learn and they exists in a strict hierarchical order in the flock. The CSO has the characteristics of simplicity and scalability, is a natural multi-swarm adaptive algorithm. CSO, a type of stochastic optimization algorithm that uses repetitive approach for solving the objective problem. CSO can only not handle continuous problems as well as discrete problems. In addition, configuration of parameters is simple [19].

The proposed model is trained on crude oil data to check the performance and then compared with others similar algorithms. The next remaining sections of the paper is organized such is Sect. 2, and Sect. 3, give the basic idea of Neural Network and Cuckoo search algorithm. Proposed technique is discussed in Sect. 4. Section 5, will represent experimental setup and results and discussion. Section 6, presents conclusion.

2 Artificial Neural Network

The concept of ANN is an engineering approach which is inspired by the concept of biological neurons. These neurons consist of inputs and outputs neurons that are interconnected with each other. Each neuron receives data from other neurons and weight of neurons link is added and output is generated for target neurons by applying activation function [20]. Layers of input feeds input to hidden layers and move forward direction to nodes in output layer. Nodes of input layer are configured based upon variables that are independent in dataset while dependent variables determined the output nodes. [21, 22]. There may more than one layer, but theoretical works such as [23] argues stating this that one hidden layer is enough for approximation any complex non linear function. Nodes in hidden layer is usually determined using trial an error [24]. Structure of ANN is shown in Fig. 1. ANN algorithm is used to process information in parallel. This can also be applied to model complex and non linear relationships through input output training from data sets that are collected from application domain.

Fig. 1
figure 1

Artificial Neural Network [25]

The inherent capabilities of the Neural Network allow the algorithm to facilitate a non linear mapping of both input and output vectors [22, 25].

3 Chicken Swarm Optimization

Chicken Swarm optimization a new bio inspired algorithm developed by Meng et al. [26]. The Chicken Swarm optimization algorithm selected the behaviors of chickens by the following rules. For simplicity, the behavior of chickens can be idealized in the procedures [27].

  1. (1)

    In a chicken flock, there are several groups and each group consists of a rooster, some hens and chickens.

  2. (2)

    As the chicken flock can be further divided into different groups and establish the identity of chickens, hens (hens and chicks). They all are dependent on the values of fitness of the chickens. The chicken with the best range of fitness values precede as roosters. The worst chickens with different health values will be elected as the chicks. Rest is to be considered as hens. Hens selects group randomly that which group to join. The relationship of mother and their child is also determined randomly.

  3. (3)

    The hierarchy, relations of domination and the relationship between parents and children in a group remain unchanged.

  4. (4)

    Chicken rate after network group to find food, and can avoid those that eats their own food. Assuming steal chickens were randomly good food that is found by others. Chicks look for food near to their own mother (hen). Prominent one has a benefit in the race for food.

The pseudo code of the Chicken Swarm optimization algorithm is

  1. 1.

    Initialize a population of N chickens and define the related parameters;

  2. 2.

    Evaluate the N chickens fitness values, t = 0;

  3. 3.

    While MSE < Stopping Criteria

  4. 4.

    If (t % G = 0)

  5. 5.

    Rank the chickens’ fitness values and establish a hierarchal order in the swarm;

  6. 6.

    Divide the swarm into different groups, and determine the relationship between

  7. 7.

    the chicks and mother hens in a group;

  8. 8.

    End if

  9. 9.

    For i = 1 : N

  10. 10.

    If i == rooster

  11. 11.

    Update its solution/location using Eq. (1);

  12. 12.

    End if

  13. 13.

    If i == hen

  14. 14.

    Update its solution/location using Eq. (3);

  15. 15.

    End if

  16. 16.

    If i == chick

  17. 17.

    Update its solution/location using Eq. (6);

  18. 18.

    End if

  19. 19.

    Evaluate the new solution;

  20. 20.

    If the new solution is better than its previous one, update it;

  21. 21.

    End for

  22. 22.

    End wile

4 The Proposed Chicken S-NN Algorithm

Chicken swarm optimization is bio inspired constructed on behavior of chicken swarm. Like other bio-inspired algorithms of global research metaheuristic keep both local search and global search. Chicken swarm is composed of distinct groups and every individual group revising chicks, hens, and a rooster. Head rooster is a chicken with excellent value given the conditions. In mean while the worst chickens with peculiar fitness values are considered as chicks. The remaining is seen as chickens. Chicken will try the best food around parent (Hen). Chickens without exceptions indicate rational solutions in the proposed CS-NN algorithm (i.e. weight density and linked basis to optimize neural network in this investigation). The weight optimizing as well as the sizes of pack dilemma imitates the solution for various application [28]. Weight of optimization problem and size of the populace serve as quality of solution. In the beginning cycle, the initial values are taken for weights and biases for the said Chicken S-NN algorithm and pass these weights values to NN. In the following approach, Chicken swarm will modify weights and the value of biases with probable nest or solutions and the search will be continued by Chicken swarm for best possible solution or research for best possible weight value till last round of network or objective MSE is obtained.

The proposed Chicken S-NN algorithm Pseudo code is as under:

  • Step 1: initializes Chicken swarm population

  • Step 2: Load the training data

  • Step 3: While MSE < stopping criteria

    • If (t % G = 0)

    • Rank the chickens’ fitness values and establish a hierarchal order in the swarm;

    • Divide the swarm into different groups, and determine the relationship between the

    • chicks and mother hens in a group; End if

    • For i = 1 : N

    • If i = rooster Update its solution/location using Eq. (1);

      $$x_{i,j}^{t + 1} = x_{i,j}^{t} *\left( {1 + rand\left( {0,\partial^{2} } \right)} \right)$$
      (1)
      $$\partial = \left\{ {\begin{array}{*{20}l} {\begin{array}{*{20}l} {1\quad {\text{if}}\,f_{i} \le f_{k} } \hfill \\ {\exp \left( {\frac{{\left( {f_{k} - f_{i} } \right)}}{{\left| {f_{1} } \right| + \varepsilon }}} \right),} \hfill \\ \end{array} otherwise,\,k\varepsilon [1,N]\,K \ne i.} \hfill \\ \end{array} } \right.$$
      (2)

where rand(0 ~ \(\partial^{2}\)) is a Gaussian distribution with mean 0 and standard deviation \(\partial^{2}\). \(\epsilon\) which is used to avoid zero-division-error, is the smallest constant in the computer. k, a rooster’s index, is randomly selected from the roosters group, f is the fitness value of the corresponding x. End if

If i == hen Update its solution/location using Eq. (3)

$$ x_{i,j}^{t + 1} = x_{i,j}^{t} + S_{1} *rand*\left( {x_{r1,j}^{t} - x_{i,j}^{z} } \right) + S_{2} *\text{rand} *\left( {x_{r2,j}^{t} - x_{i,j}^{t} } \right) $$
(3)
$$S_{1} = \exp \left( {\left( {f_{i} - f_{r1} } \right)/\left( {abs\left( {f_{i} } \right) + \varepsilon } \right)} \right)$$
(4)
$$S_{2} = \exp \left( {f_{r2} - f_{i} } \right)$$
(5)

End if

If i = chick Update its solution/location using Eq. (6)

$$x_{i,j}^{t + 1} = x_{i,j}^{t} + FL*\left( {x_{m,j}^{t} - x_{i,j}^{t} } \right)$$
(6)
  • End if

  • Evaluate the new solution;

  • If the new solution is better than its previous one, update it;

  • End for

  • Step 4: Pass the chicken as weights to network

  • Step 5: Feed forward neural network runs using the weights initialized with chicken swarm

  • Step 6: Calculate the error

  • Step 7: Chicken Swarm keeps on calculating the best possible weight at each epoch until the network is converged.

  • End While

5 Results & Discussion

Primarily, the core concept behind this research is to improve slow convergence and obtains high accuracy. Before heading towards the results of simulation some terminologies used suchas structure of network, tools and technologies, as well as the dataset used for experiments have to be explained. Discussion of these are given below.

5.1 Preliminaries

Workstations used for experimentations comes equipped with a processor 2.33 GHZ (Intel Core i5 Processor) and Microsoft Windows 7 is used as Operating system. MATLAB version 2012 is used for simulation purposes. In comparison evaluation, learning rate and hidden layers are kept same. Three layers feed-forward neural networks have been used for models training. 5 nodes are fixed for hidden layers. Whereas the activation function used is log sigmoid function as transfer function from input till hidden layers and from hidden up to output layers. For evaluation of each problem, 1000 Epochs is restricted for solitary trial. 25 trails are executed for every value to validate the algorithm. Result of each trail is saved in result file. Number of failures as well as Mean Square Error (MSE) is documented in one by one distinct files for independent trial on crude oil classification.

5.2 Data

The dataset for OPEC petroleum consumption in thousands of barrels per day (tb/d) are obtained from the EIA of the US Department of Energy, which is freely available online on the organization’s official website [29]. Dataset are collected for the domestic petroleum consumption of each 12 OPEC member countries, including Algeria, Angola, Ecuador, Iran, Iraq, Kuwait, Libya, Nigeria, Qatar, Saudi Arabia, UAE, and Venezuela. Also, the total petroleum consumption for OPEC is collected, given that it is the target forecasting value. The dataset are collected on yearly basis from 1980 to 2012 [30]. This research is based upon predicting OPEC of crude oil. Two different experiments are carried out on data division. Firstly the data is divided in two ways. In the first of applied technique, data is partitioned into 70 and 30%. 70% of the given data is used as training set and the rest of 30% data are used as testing set. While using second technique, data is partitioned into two slices of 60 and 40%. The first slice of 60% is used for training and on the other hand 40% of the remaining data is used for testing the data.

The dataset is normalized into a specified range of [0, 1] with the help of Eq. (7) to improve accuracy and convergence speed of prediction.

$$n_{0} = \frac{{k_{{i - X_{\hbox{min} } }} }}{{P_{\hbox{max} - X} \hbox{min} }}$$
(7)

where

\(no\) :

normalize dataset,

\(ki\) :

raw dataset,

\(xmin\) :

lowest value of dataset,

\(pmax\) :

largest value of dataset [25].

5.3 Discussion

This section illustrates the performance of proposed Chicken Swarm Neural Network (Chicken S-NN) algorithm which is compared with Artificial Bee Colony Neural Network (ABCNN) and Artificial Bee Colony Back Propagation (ABCBP). The performance of the mentioned algorithm is measured in term of Epochs, Accuracy, Mean Square Error and CPU Time that can be seen in Table 1.

Table 1 Epochs, CPU time, accuracy and MSE for 12-5-1 NN-structure

From Table 1 this can be viewed that the performance of proposed Chicken S-NN algorithm is better on crude oil data set as compared to ABCNN and ABCBP. From these results, this is evident that for 70% of training data, the proposed Chicken S-NN algorithm converges to the global minimum in 30 Epochs, consuming 86.52 s of CPU time and attain 99.99 accuracy with an average MSE equals to 0.0001. While the other models such as ABCNN obtain an accuracy of 99.87 together with an average MSE is 0.0012. Similarly, the accuracy of ABCBP is 99.81 with the average MSE is 0.001271.

Furthermore for 30% testing data, the proposed Chicken S-NN algorithm performs well and converges to the global minimum in 127 Epochs obtaining 99.99 percent of average accuracy with an MSE equals to 0.000104. The accuracy of ABCNN and ABCBP is 99.82674 and 99.70366 respectively, with an average MSE of ABCNN is 0.001311 and ABCBP has an average MSE equals to 0.000544. Results of different models applied on data set has been illustrated below.

Figures 2, 3 and 4 display convergence performance of suggested Chicken S-NN algorithm, ABCNN and ABCBP on 70% Training data set of crude oil dataset.

Fig. 2
figure 2

MSE convergence performance of Chicken S-NN algorithm for 70% training dataset

Fig. 3
figure 3

MSE convergence performance of ABCNN algorithm for 70% training dataset

Fig. 4
figure 4

MSE convergence performance of ABCBP algorithm for 70% training dataset

The convergence of proposed Chicken S-NN algorithm, ABCNN and ABCBP can be seen in Figs. 1, 2 and 3 together with their MSE.

Figures 1, 2 and 3 shows that the proposed Chicken S-NN algorithm performs well and reaches to global minima in 30 Epochs.

Figures 5, 6 and 7 showed the Convergence Performance of proposed Chicken S-NN algorithm, ABCNN and ABCBP on 30% testing data of crude oil.

Fig. 5
figure 5

MSE convergence performance of Chicken S-NN algorithm for 30% testing dataset

Fig. 6
figure 6

MSE convergence performance of ABCBP algorithm for 30% testing dataset

Fig. 7
figure 7

MSE convergence performance of ABCNN algorithm for 30% testing dataset

The accuracy of proposed Chicken S-NN algorithm, ABCNN and ABCBP can be seen in Figs. 5, 6 and 7 together with their MSE.

Figures 5, 6 and 7 show that the proposed Chicken S-NN algorithm performs better and converges to the global minima in 127 Epochs.

Figures 8 and 9 displays a comparison of actual and predicted value of proposed Chicken S-NN algorithm. This can be seen clearly that the predicted value of proposed Chicken S-NN algorithm is near to the actual value.

Fig. 8
figure 8

Actual via predict data convergence of proposed algorithms for 70% training and 30% testing dataset

Fig. 9
figure 9

Actual via predict data convergence of proposed algorithms for 70% training and 30% testing dataset

Table 2 represents the performance of proposed Chicken S-NN Algorithm, ABCNN and ABCBP algorithm. Results show that the proposed Chicken S-NN algorithm performs superior than rest of the models. This is apparent from results that for 60% of training data, the proposed Chicken S-NN algorithm meets to global minima in 15 Epochs while consuming 47 s of CPU time with an average accuracy matches to 99.99% and 9.23E−05 is their average MSE. Whereas ABCNN model shows 99.50 average accuracy and reach an MSE of 0.000366. The accuracy of ABCBP model is 99.60 and gets an MSE of 0.004226.

Table 2 Epochs, CPU time, accuracy and MSE for 12-5-1 NN-structure

Similarly on 40% testing data Chicken S-NN algorithms perform better and reaches to the global minima in 36 Epochs while gaining 99.99 percent of average accuracy and MSE equals to 0.004226. The other two models ABCNN and ABCBP gain 99.80 and 99.30 average accuracy respectively. ABCNN achieve MSE of 0.001054 while ABCBP gets 0.004226 averages MSE.

Figures 10, 11 and 12 of Chicken S-NN algorithm, ABCNN and ABCBP shows the convergence performance on 60% training data of crude oil prices. The average accuracy of suggested algorithm Chicken S-NN and other two models ABCNN and ABCBP can be viewed in Figs. 10, 11 and 12 with their MSE. In Fig. 9 show that the suggested Chicken S-NN algorithm performs better and converges to global minima in 15 Epochs.

Fig. 10
figure 10

MSE convergence performance of Chicken S-NN algorithm for 60% training dataset

Fig. 11
figure 11

MSE convergence performance of ABCBP algorithm for 60% training dataset

Fig. 12
figure 12

MSE convergence performance of ABCNN algorithm for 60% training dataset

The average accuracy of suggested algorithm Chicken S-NN and other two models ABCNN and ABCBP can be viewed in Figs. 13, 14 and 15 with their MSE. Figures 13, 14 and 15 shows that the suggested Chicken S-NN algorithm performs better and converges to global minima in 36 Epochs.

Fig. 13
figure 13

MSE convergence performance of Chicken S-NN algorithm for 40% testing dataset

Fig. 14
figure 14

MSE convergence performance of ABCBP algorithm for 40% testing dataset

Fig. 15
figure 15

MSE convergence performance of ABCNN algorithm for 40% testing dataset

Figure 16 illustrates comparison of predicted value and actual value. Proposed algorithm Chicken S-NN performs very well and predicts almost near to the actual value.

Fig. 16
figure 16

Actual via predict data convergence of proposed algorithms for 40% testing dataset

6 Conclusion

Chicken Swarm is an assumptive based optimization algorithm inspired by chicken capabilities. Chicken-swarm algorithm has capability to search both local and global large space in the candidate solution. This paper proposed Chicken swarm based Neural Network to investigate and to overcome the shortcoming of NN algorithm. The performance of the proposed Chicken S-NN model is better to Artificial Bee Colony Back Propagation (ABCBP) and Artificial Bee Colony Neural Network (ABCNN). The network is trained as well tasted on the basis of Crude Oil price dataset. The simulation result concludes that the proposed model outperforms existing methods like ABCBP, and ABCNN in term of MSE accuracy. From Experiments it is also clear that with Chicken swarm neural network avoid the slow convergence and convergence to optimal solution.