## 4 Case Study: Embraer E2 Model Aircraft Flag Track
### Detail of the Implemented Services
In particular, the RPi node was in charge of processing the data received, applying filtering if necessary, and running predictive models [48; 49; 50]. Specifically, an Auto Regressive Integrated Moving Average (ARIMA) model [51; 52; 53] and a Long Short-Term Memory (LSTM) neural network model [54; 55] have been programmed. These specific models are shown for illustration purposes of the architecture, which may be implemented with different AI algorithms. The use of ARIMA and LSTM models in time series analysis and forecasting is a well-established practice, each with statistical characteristics and techniques suitable for specific applications. ARIMA is a statistical model that assumes that the time series data are stationary or can be transformed into stationary data by differencing. Due to its linear nature, ARIMA is effective when the data show clear patterns, such as consistent trends or regular stationarity, and its simplicity allows for easy fitting and interpretation. In the case of structural tests,  
Figure 6: Real-time visualization of data received at the processing center. ARIMA can provide accurate results when the data show linear behavior or the relationship between variables is consistent over time. On the other hand, the LSTM model is a recurrent neural network architecture specifically designed to handle long-term dependencies in time series. Unlike ARIMA, LSTM assumes neither stationarity nor linearity in the data, which makes it suitable for problems where patterns are highly nonlinear, complex or influenced by multiple dynamic factors. In the case of structural tests, LSTM provides accurate results in time series with erratic fluctuations or interactions between multiple variables. The case study seeks to proactively monitor the process and anticipate deviations from expected trends. The combination of both analysis approaches is highly complementary and effective, with ARIMA generating a predictive basis based on the statistical structure of the historical data, while LSTM complements this analysis by capturing non-linear and subtle patterns that might not be detected by a linear model such as ARIMA. The GUI application deployed in the PC node showed the predicted values (Figure 7). These ML models were programmed in Python using, respectively, the Tensorflow and Scikit-Learn libraries, for the LSTM model, and the Statsmodels library, for the ARIMA model. The models were retrained after the completion of each loading cycle during the test, using the historical data recorded up to that point. The optimization of the AI models was performed using automated heuristic methods and data from previous similar tests. For the ARIMA model, the auto_arima tool was employed for optimization, which evaluates a range of parameter values and selects the optimal configuration for the autoregressive, differencing, and moving average components based on specific evaluation criteria. In the case of the LSTM model, the GridSearchCV tool was used to assess model performance across different numbers of layers and neurons per layer, as well as variations in batch size and number of training epochs. By means of the aforementioned analysis of the temporal evolution of the magnitudes measured during the test, values 1, 1 and 2 were defined for the autoregressive, difference and moving average components, respectively. In the case of the LSTM network, three hidden layers were designed, each containing a single cell, with a hyperbolic tangent input activation function, a sigmoid recurrent activation function, and sigmoid gate activation functions. The network was trained during 100 epochs with a  
Figure 7: Processing of the data recorded by the sensors to estimate future values: (**a**) preliminary filtering of noisy values for use in neural network training, (**b**) estimation of future values based on previous data. batch-size of 3 and a validation split of 0.9, using the Adam optimization algorithm and the mean squared error (MSE) loss function.