## 4 Dataset and Methodology
### Model Training and Evaluation  
To ensure robustness, generalizability, and the effective mitigation of overfitting risks in integrating diverse models for SMP forecasting, each model underwent training using a 10-fold cross-validation process. This method divides the dataset into 10 equal parts, or \"folds,\" with each iteration training the model on 9 folds while testing on the remaining one. This iterative process repeats until each fold has been used for validation, allowing for a comprehensive assessment of the model's performance across multiple data segments. By systematically exposing models to varied data subsets, this technique mitigates overfitting and enhances the model's ability to generalize to unseen data, which is particularly essential in complex forecasting scenarios where overfitting risks are pronounced due to the integration of models with both linear and non-linear dynamics. Beyond cross-validation, the study employed additional regularization and optimization methods tailored to each model to manage complexity and prevent overfitting. For instance, models such as XGBoost included \(L_{1}\) and \(L_{2}\) regularization penalties to control model complexity by limiting the growth and impact of decision trees, reducing overfitting by constraining excessive feature reliance and interaction effects. In deep learning models like LSTM and Bi-LSTM, dropout regularization was applied, randomly dropping units during training to prevent the model from becoming overly reliant on specific patterns in the data and ensuring that it learns more generalized representations. Dropout is particularly effective in deep learning contexts, as it reduces co-adaptation of neurons, enhancing the model's resilience against overfitting. To fine-tune each model's performance, a combination of grid search and Bayesian optimization was used for hyperparameter tuning. This two-pronged approach provided both systematic and efficient exploration of the hyperparameter space, enhancing the model's performance while balancing complexity. Key parameters for each model were identified and optimized, as detailed below:  
* SVM: The penalty parameter C and the kernel coefficient \(\gamma\) were optimized to balance the trade-off between margin maximization and error tolerance, enhancing model simplicity and generalization;
* XGBoost: Parameters including the learning rate, maximum tree depth, and subsample ratio were fine-tuned. The learning rate controlled how quickly the model adapted to the training data, while maximum depth constrained tree complexity, and the subsample ratio limited the fraction of data used in each boosting iteration to reduce variance and prevent overfitting;
* LSTM and Bi-LSTM: The number of hidden units, learning rate, and dropout rates were carefully adjusted. The hidden units allowed the model to capture temporal dependencies in the data, while the learning rate and dropout settings provided control over training intensity and regularization to avoid over-reliance on specific training patterns;
* ELM: The number of hidden neurons and activation function were optimized to minimize prediction error while controlling model simplicity, ensuring that the model could handle high-dimensional data effectively without excessive complexity. The grid search method systematically tested a predefined set of hyperparameters, providing a thorough but computationally intensive exploration. In contrast, Bayesian optimization used probabilistic models to evaluate a broader hyperparameter space more efficiently, predicting parameter combinations likely to enhance performance. By combining grid search with Bayesian optimization, the study achieved a balance between exhaustive exploration and computational efficiency, tailoring each model to its optimal configuration.