## 2 Materials and Methods
### Machine Learning Prediction of Crop Yield Potential  
Four machine learning algorithms were evaluated for the prediction of crop yield potential, including random forest (RF), support vector machine regression (SVM), multivariate adaptive regression splines (MARS), and Bayesian regularized neural networks (BRNNs). These algorithms were selected due to their high prediction accuracy in similar studies [60; 61; 62], as well as for their unique capabilities in handling complex, nonlinear relationships between crop yield and covariates from the vegetation indices and phenology metrics. The implementation followed a standardized workflow, which included standardization and outlier removal using the interquartile (IQR) approach as data preprocessing, model training, hyperparameter optimization, variable importance calculations, and accuracy assessment. All combinations of calculated vegetation indices and phenological metrics were used as covariates in the prediction. Hyperparameters of evaluated machine learning methods were tuned using the random search approach in 10 repetitions. Variable importances were calculated based on model-agnostic permutation importance [63] and were standardized in the 0-100 value range, where 100 indicated the most important covariate. A total of 15 covariates were used in the prediction, including seven vegetation index values at transition dates, seven DOY data at transition dates, and the used vegetation index. The RF algorithm was implemented as an ensemble learning method that constructs multiple decision trees during training and outputs the mean prediction of individual trees [64]. RF models were configured with 500 trees to ensure stable predictions while maintaining computational efficiency. Three hyperparameters were used for model tuning. The mtry hyperparameter determined the number of randomly selected predictor variables considered for splitting at each node, the splitrule hyperparameter defined the criterion used to evaluate splits in decision trees, while the min.node.size hyperparameter set the minimum number of observations required in terminal nodes [65]. The RF implementation included bootstrap aggregating (bagging) to reduce variance, with each tree grown on a different bootstrap sample of the training data. The SVM focused on mapping input variables into a high-dimensional feature space where linear regression could be performed [66]. The radial basis function (RBF) kernel was selected after comparative testing against linear and polynomial alternatives, with the kernel parameter optimized through 10-fold cross-validation. The hyperparameter \(C\) determined the trade-off between model complexity and the degree to which deviations are tolerated, while hyperparameter \(\sigma\) determined the influence of individual data points on the decision boundary [67]. The MARS implemented a flexible nonparametric regression technique that builds piecewise linear models through basis functions [68]. The forward pass phase added basis functions in pairs (hinge functions) to the model, while the backward pass then pruned less important terms using generalized cross-validation to prevent overfitting. The nprune hyperparameter determined the maximum number of terms retained in the final model after the pruning process, while the degree hyperparameter controlled the maximum level of interactions allowed between variables, with a degree of 1 restricting the model to additive effects only and a degree of 2 permitting two-way interactions between predictors [69]. The BRNNs incorporated Bayesian inference to automatically regularize network weights and prevent overfitting [70]. A single hidden layer architecture was selected based on the universal approximation theorem, with the number of hidden units optimized between 5 and 15 through cross-validation, as determined by the neurons hyperparameter [71]. The implementation used Gaussian priors for network weights, with the inverse variance (regularization) parameters treated as random variables and estimated from data.