# A Multiple-Input Neural Network Model for Predicting Cotton Production Quantity: A Case Study
## 6 Numerical Experiments  
In this section, we evaluate the performance of the proposed MNN model and compare it against that of three widely utilized neural network-based models i.e., Feed-Forward Neural Network (FFNN), a GRU-based network (GRU) and a Long Short-Term Memory (LSTM) network. Additionally, it was also compared against the state-of-the art models: Decision Tree Regressor (DTR), Gaussian Processes (GP), \(k\)-Nearest Neighbor Regression (\(k\)NN), Least Absolute Shrinkage and Selection Operator (LASSO), Linear Regression (LR) and Support Vector Regression (SVR). \begin{table}
\begin{tabular}{l l} \hline \hline
**Model** & **Description** \\ \hline DTR & Splitting criterion: MSE, \\  & Max depth = 4, \\  & Min. number of samples = 10. \\ \hline GP & Level of Gaussian noise = 1, \\  & Kernel type = RBF. \\ \hline FFNN & Architecture: 2 hidden layers with 50 and 10 neurons and an output layer of \\  & 1 neuron, \\  & Activation functions = ReLu, \\  & Optimizer = Adam. \\ \hline GRU & Architecture: 1 GRU layer with 40 units, 1 dense layer with 10 neurons and an \\  & output layer of 1 neuron, \\  & Activation functions = [PERSON], \\  & Optimizer = [PERSON]. \\ \hline LSTM & Architecture: 1 LSTM layer with 70 units, 1 dense layer with 20 neurons and an \\  & output layer of 1 neuron, \\  & Activation functions = [PERSON], \\  & Optimizer = [PERSON]. \\ \hline \(k\)NN & Number of neighbors = 3, \\  & Euclidean distance. \\ \hline LASSO & \(\alpha=1.0\), \\  & Tolerance = \(10^{-4}\). \\ \hline LR & No parameters specified. \\ \hline SVR & Kernel = RBF, \\  & \(C=1.0\), \\  & Tolerance = \(10^{-3}\), \\  & \(epsilon=0.1\), \\  & \(gamma=\)'scale’. \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Hyper-parameter specification of all prediction models. In order to avoid overfitting and maximize the efficiency of the proposed models as well as the neural network-based models, 15% of training data were used for validation and early stopping technique based on 'validation loss' was used. Furthermore, any attempt to use regularizers or dropout decreased the overall performance of all these models. The performance of all prediction models was measured utilizing the metrics: Mean Absolute Error (MAE), Root-Mean Square Error (RMSE), Mean Absolute Percentage Error (MAPE), and symmetric Mean Absolute Percentage Error (sMAPE), which are respectively defined by  
\[\text{MAE}=\frac{1}{N}\sum_{t=1}^{N}|y_{t}-\hat{y}_{t}|,\quad\text{RMSE}= \sqrt{\frac{1}{N}\sum_{t=1}^{N}(y_{t}-\hat{y}_{t})^{2}},\quad\text{MAPE}=\frac {1}{N}\sum_{t=1}^{N}\frac{|y_{t}-\hat{y}_{t}|}{|y_{t}|},\quad\text{sMAPE}=\frac {100\%}{N}\sum_{t=1}^{N}\frac{2(|y_{t}-\hat{y}_{t}|)}{|y_{t}|+|\hat{y}_{t}|}\]  
where \(N\) is the number of forecasts, \(y_{t}\) is the actual value, and \(\hat{y}_{t}\) is the predicted value. In addition, the implementation code was written in Python 3.7 on a laptop (Intel(R) Core(TM) i7-6700 HQ CPU 2.6 GHz, 16 GB RAM) using libraries Tensorflow [29] sand Scikit-learn [30]. Table 5 presents the performance of all compared models, regarding the performance metrics RMSE, MAE, MAPE, and sMAPE. Additionally, a more representative visualization of all performance metrics is presented in Figure 3. Clearly, the proposed models MNN\({}_{1}\), MNN\({}_{2}\), and MNN\({}_{3}\) exhibited the best performance, considerably outperforming all neural network-based and state-of-the-art prediction models. More specifically, all versions of the proposed MNN model presented the lowest MAE and RMSE scores. MNN\({}_{3}\) reported the best performance, closely followed by MNN\({}_{2}\), relative to MAE and RMSE scores. Regarding MAPE and sMAPE performance metrics, MNN\({}_{3}\) reported the lowest (best) scores, followed by MNN\({}_{2}\), which exhibited slightly worse performance. MNN\({}_{2}\) reported 11.8-41.36% and 8.24-48.98% lower MAPE and sMAPE scores, respectively, compared to the performance of the state-of-the-art models.