### Adaptive Neuro-Fuzzy Inference System (ANFIS)  
An adaptive neuro-fuzzy inference system is a type of neural network which is based on the fuzzy inference system [23]. The Sugeno fuzzy inference system is used in ANFIS [2]. It is basically used in the identification of parameters. It is a hybrid system that combines the back propagation and LMS method to calculate the error [24]. This system merges the capabilities of a neural network with fuzzy logic to solve the problems [25; 26]. It automatically generates rules and linguistic values of membership function during the training phase. The rules are constructed in the form of IF-THEN. The synaptic weights are not used in this system. The error is calculated by doing the differences between the target value and the observed value from the trained system. The developed ANFIS is able to give accurate results for unseen data also. This is evaluated in the testing phase of the developed system. This leads to better performance of the system as compared to other systems. There are five layers in the ANFIS [16]. These layers are as follows:  
* Fuzzification Layer
* Rule Layer
* Normalization Layer or membership function layer
* Defuzzification Layer
* Summation Layer.  
The structure of an adaptive neuro-fuzzy inference system is given in Figure 3.  
Figure 2: Architecture of the Fuzzy inference system.  
The five layers of the adaptive neuro-fuzzy inference system have been described below.  
**Layer 1:** In the first layer of ANFIS, each node adjusts a function parameter. The value of membership function is put forward as the output by each node of this layer as mentioned below:  
\[O_{1,i}=u_{A_{i}}(x),\textit{ where }i=1,2O_{1,i}=u_{Bi-2}(x),\textit{ where }i=3,4\]  
where \(u_{A_{i}}\) and \(u_{Bi-2}\) = degree of membership function for \(\mathrm{A_{i}}\) and \(\mathrm{B_{i}}\), and here, \(\mathrm{A_{i}}\) and \(\mathrm{B_{i}}\) are fuzzy sets.  
**Layer 2:** The nodes present in this layer are fixed. These nodes represent the firing strength of each rule. The outcome for this layer is the multiplication of signals coming into the node and carry out to the next node as follows:  
\[O_{2,i}=w_{i}=\mu_{Ai}(x)\times\mu_{Bi}(y),\textit{ where }i=1,2\]  
where \(w_{i}\) = firing strength of each rule.  
**Layer 3:** In layer 3, the nodes present in it are also fixed. The output of this layer is calculated by dividing the firing strength of ith rule by the total sum of firing strength of all rules. The output of this layer is known as the normalized firing strength.  
\[O_{3,i}=\overline{w}_{i}=\frac{w_{i}}{\sum_{i}w_{i}}\]  
**Layer 4:** The nodes present in the layer 4 are adaptive nodes to an outcome. The node function for this later is defined as follows:  
\[O_{4,1}=\overline{w}_{i}f_{i}=w_{i}(p_{i}x+q_{i}y+r_{i})\]  
where \(\overline{w}_{i}\) = Normalized firing strength calculated at layer 3 and \((p_{i}x+q_{i}y+r_{i})\) = parameters in the nodes.  
**Layer 5:** This is the last layer of ANFIS and has only one fixed node. The output of this layer can be calculated by taking the summation of all the incoming signals from the previous node. The outcome of this layer is the final output of the system.  
\[O_{5,i}=\sum_{i}\overline{w}_{i}f_{i}=\frac{\sum_{i}w_{i}f_{i}}{\sum_{i}w_{i}}\]