## 4 Results and Discussion
### Adaptive Prediction and Discussion  
Adaptive prediction of EOR performance by N\({}_{2}\) huff-n-puff in a typical fractured-cavity carbonate reservoir using the FNN-FDS hybrid model is given as follows:  
Step 1: Standardize raw data and determine the initial matrix. \(X_{x}\) is the main controlling factor matrix for enhanced oil recovery by N\({}_{2}\) huff-n-puff in a fractured-cavity reservoir; \(X_{y}\) is the increased oil production by N\({}_{2}\) huff-n-puff; \(X\) is the initial matrix of raw data; \(X_{xp}\) and \(X_{yp}\) are the initial matrices for training; and \(X_{xv}\) and \(X_{yp}\) are the initial matrices for performance appraisal, respectively. \[X_{x}=\left[ \begin{array}{c}X_{x}^{1}\\ X_{x}^{2}\end{array} \right],X_{y}=\left[ \begin{array}{c}X_{y}^{1}\\ X_{y}^{2}\end{array} \right],X=\left[ \begin{array}{c}X^{1}\\ X^{2}\end{array} \right]\]  
where  
\[X_{x}^{1}=\left[ \begin{array}{cccc}186&7361&11000&6800\\ 150&526&5000&6200\\ 100&2995&8000&6500\\ 120&2763&9500&6600\\ 200&1474&5500&6200\\ 80&740&5300&6200\\ 600&800&11000&6800\\ 1000&658&4800&6100\\ 200&800&7700&6400\\ 168&46&6000&6200\\ 600&800&12000&6800\end{array} \right],X_{x}^{2}=\left[ \begin{array}{cccc}400 &720&7000&6400\\ 100&4067&13000&7000\\ 100&636&5000&6200\\ 600&918&5000&6200\\ 150&3968&8500&6500\\ 260&3578&4500&6100\\ 200&240&3100&6000\\ 180&942&6100&6300\\ 180&1907&3700&6000\\ 200&605&6500&6300\\ 100&3968&9000&6600\end{array} \right]\]  
\[X_{y}^{1}=\left[ \begin{array}{cccc}6231&2281&4062&5033&2556&2437&6450&2086 &3929&2817&6530\\ \end{array} \right]^{T}\]  
\[X_{y}^{2}=\left[ \begin{array}{cccc}3427&7340&2218&2215&4725&1986&1045&2935&1 447&3138&4825\end{array} \right]^{T}\]  
\[X^{1}=\left[ \begin{array}{cccc}6231&186&7361&11000&6800\\ 2281&150&526&5000&6200\\ 4062&100&2995&8000&6500\\ 5033&120&2763&9500&6600\\ 2556&200&1474&5500&6200\\ 2437&80&740&5300&6200\\ 6450&600&800&11000&6800\\ 2086&1000&658&4800&6100\\ 3929&200&800&7700&6400\\ 2817&168&46&6000&6200\\ 6530&600&800&12000&6800\end{array} \right],X^{2}=\left[ \begin{array}{cccc}342 7&400&720&7000&6400\\ 7340&100&4067&13000&7000\\ 2218&100&636&5000&6200\\ 2215&600&918&5000&6200\\ 4825&100&3968&9000&6600\\ 1986&260&3578&4500&6100\\ 1045&200&2403&3100&6000\\ 2935&180&942&6100&6300\\ 1447&180&1907&3700&6000\\ 3138&200&605&6500&6300\\ 4825&100&3968&9000&6600\end{array} \right]\]\[X_{xp}=\left[ \begin{array}{c}X_{xp}^{1}\\ X_{xp}^{2}\end{array} \right],X_{yp}=\left[ \begin{array}{c}X_{up}^{1}\\ X_{yp}^{2}\end{array} \right]\]  
where  
\[X_{xp}^{1}=\left[ \begin{array}{cccc}186&7361&11000&6800\\ 150&526&5000&6200\\ 100&2995&8000&6500\\ 120&2763&9500&6600\\ 200&1474&5500&6200\\ 80&740&5300&6200\\ 600&800&11000&6800\\ 1000&658&4800&6100\\ 200&800&7700&6400\end{array} \right],X_{xp}^{2}=\left[ \begin{array}{cccc}168 &46&6000&6200\\ 600&800&12000&6800\\ 400&720&7000&6400\\ 100&4067&13000&7000\\ 100&636&5000&6200\\ 600&918&5000&6200\\ 150&3905&8500&6500\\ 260&3578&4500&6100\end{array} \right]\]  
\[X_{y}^{1}=\left[ \begin{array}{cccc}6231&2281&4062&5033&2556&2437&6450&2086&392 9\end{array} \right]^{T}\]  
\[X_{y}^{1}=\left[ \begin{array}{cccc}2817&6530&3427&7340&2218&2215&4725&1986 \end{array} \right]^{T}\]  
\[X_{xv}=\left[ \begin{array}{cccc}260&3578&4500&6100\\ 200&2403&3100&6000\\ 180&942&6100&6300\\ 180&1907&3700&6000\\ 200&605&6500&6300\end{array} \right],X_{yp}=\left[ \begin{array}{c}1986\\ 1045\\ 2935\\ 1447\\ 3138\end{array} \right]\]  
Step 2: Adaptive production prediction by N\({}_{2}\) huff-n-puff using the structure flowchart (shown in Figure 3) based on the initial matrix \(X\), \(X_{xp}\), \(X_{yp}\), \(X_{xv}\), \(X_{yp}\). Step 3: Obtain the predicted results of increasing oil production by N\({}_{2}\) huff-n-puff with the proposed FNN-FDS hybrid model. Figure 6 compares the predicted and raw data of increasing annual oil production by N\({}_{2}\) huff-n-puff. Figure 7 displays the absolute percentage error of predicted annual oil production. Figure 6: Comparison of predicted and actual annual oil production by N\({}_{2}\) huff-n-puff.