## 4 Results  
In this section, all algorithms are coded in Python (version 3.8.16). Our models were implemented using the Python Keras deep learning library (version 2.9.0) and the TensorFlow backend (version 2.9.2). Additionally, other major packages such as NumPy (version 1.21.6), Pandas (version 1.3.5), and Matplotlib (version 3.2.2) were used to process, manipulate, and visualize data; Deep (version 1.3.3) and Bitstring (version 4.0.1) were required in the LSTM-GA model as an evolutionary computing framework and for binary data management. All experiments were carried out on a personal computer with an Intel Core i7-8750H processor (Intel, Santa Clara, CA, USA), a 2.20 GHz CPU (\(\times\)64), 16 GB of RAM, and the Windows 10 operating system. The hybrid algorithm processes 216 observations in an approximate runtime of around 5 min. The Google Collaboratory (Colab) cloud service is used, and the Anaconda platform, specifically the GA-LSTM algorithm, was made and executed on Google Colab. Stand-alone algorithms were built in Anaconda (version 2.3.2) due to usage limits and the availability of Colab hardware at no cost. Colab from Google Research is ideal for application in data science projects related to machine learning, deep learning, and data analysis. The main identified advantages of this product are that it requires no configuration, free access to computational resources (such as executing code in a GPU runtime environment), and easy sharing of online content. On the other hand, the Anaconda platform is used for scientific computing, such as data science and machine learning, and has thousands of scientific Python packages and libraries that facilitate the development and maintenance of the system [43]. The hyperparameter tuning of neural models is important because it optimizes the learning process [44]. Therefore, the corresponding parameter values significantly influence the performance of BiLSTM, GRU, and GA-LSTM. For the hybrid algorithm, the parameters are set as follows: the population is 4, the crossover probability is 0.6, the mutation probability is 0.4, and the number of generations is 10. Meanwhile, the parameters of LSTM are set as follows: the number of hidden layers is 1, the number of hidden units is 12, the window number is 3, the batch number is 10, and the number of epochs is 5. In the case of the individual algorithms, combinations were tested using the GridSearchCV technique present in the Scikit-learn library: the number of hidden layers is (1, 2), the number of hidden units is (2, 3, 4, 5, 6, 7, 8), the batch number is (2, 4, 8, 10, 12, 14), the number of epochs is (32, 34, 36, 60, 65, 70, 75, 80), and the optimizers are (RMSprop, Adam). In the experiments, we apply the hybrid GA-LSTM algorithm to the first 80% of the data as a training set, the next 10% of the data as a validation set, and the rest of the data set as test data. With respect to prediction evaluations, we have considered some of the indices used to evaluate the performance of the algorithms in the experiments, specifically the MSE, MAE, and MAPE indices, as well as the paired \(t\)-test. This study applies a genetic algorithm to examine the optimal architectural parameters, window size, and units that feed the LSTM neural network, obtaining results through a genetic search. The best time window size for unemployment rate prediction chosen by GA has been 3; in other words, it is more effective to analyze the unemployment rate using information from the last three months of unemployment to predict the unemployment rate. Furthermore, the optimal number of LSTM units obtained that constitute the hidden layer has been 12 units. We trained the hybrid model with the best parameters, applied the input embedding of the last three-time steps, and optimized the architecture to verify the effectiveness of the GA-LSTM model on the holdout data.