<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Plant Sci.</journal-id>
<journal-title>Frontiers in Plant Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Plant Sci.</abbrev-journal-title>
<issn pub-type="epub">1664-462X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fpls.2023.1128388</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Plant Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Using machine learning for crop yield prediction in the past or the future</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Morales</surname>
<given-names>Alejandro</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/211814"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Villalobos</surname>
<given-names>Francisco J.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2146601"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Centre for Crop Systems Analysis, Plant Sciences Group, Wageningen University &amp; Research</institution>, <addr-line>Wageningen</addr-line>, <country>Netherlands</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Instituto de Agricultura Sostenible, Consejo Superior de Investigaciones Cient&#xed;ficas (IAS-CSIC)</institution>, <addr-line>C&#xf3;rdoba</addr-line>, <country>Spain</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Departamento de Agronomia, ETSIAM, Universidad de C&#xf3;rdoba</institution>, <addr-line>C&#xf3;rdoba</addr-line>, <country>Spain</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Amit Kumar Srivastava, University of Bonn, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: Prashant Kaushik, Yokohama Ueki, Japan; Mukhtar Ahmed, Pir Mehr Ali Shah Arid Agriculture University, Pakistan</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Francisco J. Villalobos, <email xlink:href="mailto:fvillalobos@uco.es">fvillalobos@uco.es</email>
</p>
</fn>
<fn fn-type="other" id="fn002">
<p>This article was submitted to Technical Advances in Plant Science, a section of the journal Frontiers in Plant Science</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>30</day>
<month>03</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>14</volume>
<elocation-id>1128388</elocation-id>
<history>
<date date-type="received">
<day>20</day>
<month>12</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>03</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Morales and Villalobos</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Morales and Villalobos</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>The use of ML in agronomy has been increasing exponentially since the start of the century, including data-driven predictions of crop yields from farm-level information on soil, climate and management. However, little is known about the effect of data partitioning schemes on the actual performance of the models, in special when they are built for yield forecast. In this study, we explore the effect of the choice of predictive algorithm, amount of data, and data partitioning strategies on predictive performance, using synthetic datasets from biophysical crop models. We simulated sunflower and wheat data using <italic>OilcropSun</italic> and <italic>Ceres-Wheat</italic> from <italic>DSSAT</italic> for the period 2001-2020 in 5 areas of Spain. Simulations were performed in farms differing in soil depth and management. The data set of farm simulated yields was analyzed with different algorithms (regularized linear models, random forest, artificial neural networks) as a function of seasonal weather, management, and soil. The analysis was performed with Keras for neural networks and R packages for all other algorithms. Data partitioning for training and testing was performed with ordered data (i.e., older data for training, newest data for testing) in order to compare the different algorithms in their ability to predict yields in the future by extrapolating from past data. The Random Forest algorithm had a better performance (Root Mean Square Error 35-38%) than artificial neural networks (37-141%) and regularized linear models (64-65%) and was easier to execute. However, even the best models showed a limited advantage over the predictions of a sensible baseline (average yield of the farm in the training set) which showed RMSE of 42%. Errors in seasonal weather forecasting were not taken into account, so real-world performance is expected to be even closer to the baseline. Application of AI algorithms for yield prediction should always include a comparison with the best guess to evaluate if the additional cost of data required for the model compensates for the increase in predictive power. Random partitioning of data for training and validation should be avoided in models for yield forecasting. Crop models validated for the region and cultivars of interest may be used before actual data collection to establish the potential advantage as illustrated in this study.</p>
</abstract>
<kwd-group>
<kwd>machine learning</kwd>
<kwd>crop simulation model</kwd>
<kwd>wheat</kwd>
<kwd>sunflower</kwd>
<kwd>DSSAT</kwd>
<kwd>neural network</kwd>
</kwd-group>
<contract-sponsor id="cn001">Universidad de C&#xf3;rdoba<named-content content-type="fundref-id">10.13039/501100008679</named-content>
</contract-sponsor>
<counts>
<fig-count count="3"/>
<table-count count="8"/>
<equation-count count="5"/>
<ref-count count="40"/>
<page-count count="13"/>
<word-count count="7782"/>
</counts>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>
<xref ref-type="bibr" rid="B35">Turing (1950)</xref> was the first to launch the idea of &#x201c;learning machines&#x201d;, applied to digital computers, although the mathematics of artificial neural networks had already been established (<xref ref-type="bibr" rid="B28">McCulloch and Pitts, 1943</xref>). Strictly speaking, Machine Learning (ML) is a set of techniques to develop systems able to learn and adapt with minimal or no human intervention. In a broader sense, it encompasses different mathematical techniques used for building data-driven models for prediction and decision-making and can deal with both qualitative and quantitative data. In its infancy, ML, as part of Artificial Intelligence (AI), tried to solve identification problems, which led to the development of Artificial Neural Networks (ANN). Later, in the 1980s, ANN (<xref ref-type="bibr" rid="B13">Dreyfus, 1990</xref>) and decision trees (<xref ref-type="bibr" rid="B8">Breiman et&#xa0;al., 1984</xref>) became available for regression problems. These algorithms have improved the capacity for generating value from data and has led to a wide variety of algorithms that have thrived in the literature of the past 30 years.</p>
<p>The use of ML in agronomy has been increasing exponentially since the start of the century. In particular, artificial neural networks (ANN) have been used successfully for identification and classification problems that are typical of crop protection (e.g. <xref ref-type="bibr" rid="B30">Mohanty et&#xa0;al., 2016</xref>), mechanization of harvest (<xref ref-type="bibr" rid="B3">Bargoti and Underwood, 2017</xref>) and product quality sorting (<xref ref-type="bibr" rid="B31">Noh and Lu, 2007</xref>). In these cases, no other alternative method exists except for human intervention, so these applications are faithful to the original goals of ML and AI methods. ANN have been also widely used in regression problems, i.e. for fitting empirical quantitative models. They are a powerful alternative to Linear Models (LM) because of their flexibility, i.e. a single hidden layer ANN with enough cells is able to fit any continuous mathematical function within a given interval (<xref ref-type="bibr" rid="B15">Hecht-Nielsen, 1987</xref>; <xref ref-type="bibr" rid="B17">Hornik et&#xa0;al., 1989</xref>), as long as enough data and computational power are available. General rules have been proposed to determine the data requirement to train ANN&#x2019;s, in special in classification problems (e.g. <xref ref-type="bibr" rid="B30">Mohanty et&#xa0;al., 2016</xref>) but much less is known in the case of regression models for crop yield.</p>
<p>Among the numerous applications of ML in agronomy for regression problems, we find mostly studies directed at calibrating (training according to ML terminology) and testing empirical models for predicting important agronomic variables from proxy measurements. These may be structural canopy parameters (e.g. <italic>LAI</italic>, <xref ref-type="bibr" rid="B27">Kira et&#xa0;al., 2016</xref>; biomass, <xref ref-type="bibr" rid="B40">Wang et&#xa0;al., 2019</xref>) based on remote data or agronomic variables (yield, crop quality), using soil, weather and management data as inputs (<xref ref-type="bibr" rid="B23">Kaul et&#xa0;al., 2005</xref>). In that last application, ML would be an alternative to biophysical crop models (<xref ref-type="bibr" rid="B4">Basso and Liu, 2019</xref>) which have the added advantage of providing a framework for understanding the system. Such interpretability is also important in the use of predictions for decision making, since eventually &#x201c;all models are wrong&#x201d;. Although frequently claimed in various fields (e.g. <xref ref-type="bibr" rid="B6">Breiman, 2001a</xref>), the capacity of ML for revealing the hidden aspects of complex systems in crop production remains to be proven. Additionally, ML algorithms may require larger amounts of data to avoid overfitting (that is the price of their flexibility).</p>
<p>In this paper, we will focus on the application of popular ML algorithms to yield prediction, which is critical for planning farm management and the organization of agriculture-related sectors, like transformation industry, production of inputs, market perspectives, etc. We use &#x201c;prediction&#x201d; in both the statistical sense (estimating a dependent variable as a function of a set of independent variables) and in the mathematical sense (forecasting of future events from past data). This distinction is important as the choice of the independent dataset for testing depends on whether the predictive goal is a) to interpolate or infer something in a well-defined system <italic>ex post facto</italic> or b) to extrapolate from past observations on a system into the future (even when the system is not stationary).</p>
<p>We will restrict our analysis to cases where input data do not include remotely sensed variables, which is an ample class per se (e.g. <xref ref-type="bibr" rid="B20">Johnson et&#xa0;al., 2016</xref>). In most studies, soil, aggregated weather, management data and yield are used for training and testing ML algorithms. These studies tackle different scales from field (<xref ref-type="bibr" rid="B11">Cao et&#xa0;al., 2021</xref>) to country (<xref ref-type="bibr" rid="B16">Hoffman et&#xa0;al., 2018</xref>) and different techniques (ANN becoming a common choice).</p>
<p>Our starting hypothesis is that the ability of ML algorithms for yield simulation is much higher for the past (statistical prediction) than for the future (forecasting). A corollary of this would be that the validation of ML should be more restrictive in forecasting.</p>
<p>We used two biophysical crop models, <italic>Ceres-Wheat</italic> (<xref ref-type="bibr" rid="B33">Ritchie et&#xa0;al., 1985</xref>) and <italic>OilcropSun</italic> (<xref ref-type="bibr" rid="B38">Villalobos et&#xa0;al., 1996</xref>), included in <italic>DSSAT 4.8</italic> (<xref ref-type="bibr" rid="B21">Jones et&#xa0;al., 2003</xref>), to generate a vast synthetic data set with absolute control of the sources of variation. The models have been calibrated and validated in different areas, including Southern Spain (<xref ref-type="bibr" rid="B38">Villalobos et&#xa0;al., 1996</xref>; <xref ref-type="bibr" rid="B18">Iglesias, 2006</xref>). They include the response of crops to nitrogen and water, which are the main limiting factors in their cultivation (<xref ref-type="bibr" rid="B37">Villalobos and Fereres, 2016</xref>).</p>
<p>The objectives of this work were a) to analyse the capability of ML methods for yield prediction in sunflower and wheat using a synthetic dataset obtained with crop simulation models and b) to establish guidelines for fair use of ML in crop yield prediction.</p>
</sec>
<sec id="s2" sec-type="materials|methods">
<label>2</label>
<title>Materials and methods</title>
<sec id="s2_1">
<label>2.1</label>
<title>In silico experiments</title>
<p>The system studied was a set of farms located in 5 regions in Spain (<xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>). These regions corresponded to latitudes between 37.5 &#xb0; N and 40&#xb0; N and were distributed from the West (Lobon) to the East (Castellon) of Spain. They are all characterized by a Mediterranean climate with average annual rainfall ranging from 369&#xa0;mm (Baza) to 611&#xa0;mm (Cordoba) with high interannual variability (coefficient of variation, CV, between 0.26 and 0.34, see <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>). Reference evapotranspiration and rainfall data are provided in <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Tables S1</bold>
</xref> and <xref ref-type="supplementary-material" rid="SM1">
<bold>S2</bold>
</xref>.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Locations representing the centre of each region of the study. Statistics of rainfall refer to the period 2001-2020.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="left">Station</th>
<th valign="middle" align="center">Latitude</th>
<th valign="middle" align="center">Longitude</th>
<th valign="middle" align="center">Altitude</th>
<th valign="middle" align="center">Mean rainfall</th>
<th valign="middle" align="center">SD rainfall</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center">&#xb0;</th>
<th valign="middle" align="center">&#xb0;</th>
<th valign="middle" align="center">m</th>
<th valign="middle" align="center">mm</th>
<th valign="middle" align="center">mm</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="left">Lobon</td>
<td valign="middle" align="center">38.85</td>
<td valign="middle" align="center">-6.67</td>
<td valign="middle" align="center">185</td>
<td valign="middle" align="center">436</td>
<td valign="middle" align="center">145</td>
</tr>
<tr>
<td valign="middle" align="left">Belmez</td>
<td valign="middle" align="center">38.25</td>
<td valign="middle" align="center">-5.2</td>
<td valign="middle" align="center">503</td>
<td valign="middle" align="center">485</td>
<td valign="middle" align="center">167</td>
</tr>
<tr>
<td valign="middle" align="left">Cordoba</td>
<td valign="middle" align="center">37.85</td>
<td valign="middle" align="center">-4.8</td>
<td valign="middle" align="center">80</td>
<td valign="middle" align="center">611</td>
<td valign="middle" align="center">159</td>
</tr>
<tr>
<td valign="middle" align="left">Baza</td>
<td valign="middle" align="center">37.57</td>
<td valign="middle" align="center">-2.77</td>
<td valign="middle" align="center">310</td>
<td valign="middle" align="center">369</td>
<td valign="middle" align="center">122</td>
</tr>
<tr>
<td valign="middle" align="left">Castellon</td>
<td valign="middle" align="center">39.98</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">30</td>
<td valign="middle" align="center">479</td>
<td valign="middle" align="center">130</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Each region had a different soil type that was applied to every farm in each region (<xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>). Soil depth within each farm vary across three discrete values (different per region) but their contribution to the total area was randomly assigned (<xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>). For example, in Lobon, we had one farm with soil depth 1.25&#xa0;m in 10% of the area, 1.50&#xa0;m in 60% and 1.75&#xa0;m in the remainder.</p>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Soils and farm characteristics of the different regions.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Region</th>
<th valign="middle" align="center">Soil type</th>
<th valign="middle" align="center">Soil depth</th>
<th valign="middle" align="center">#farms</th>
<th valign="middle" align="center">Mean farm size</th>
<th valign="middle" align="center">Range farm size</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center"/>
<th valign="middle" align="center">m</th>
<th valign="middle" align="center"/>
<th valign="middle" align="center">ha</th>
<th valign="middle" align="center">ha</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">Lobon</td>
<td valign="middle" align="center">Sandy loam</td>
<td valign="middle" align="center">1.25,1.50,1.75</td>
<td valign="middle" align="center">15</td>
<td valign="middle" align="center">20</td>
<td valign="middle" align="center">15-25</td>
</tr>
<tr>
<td valign="middle" align="center">Belmez</td>
<td valign="middle" align="center">Silt loam</td>
<td valign="middle" align="center">0.75,1.0,1.25</td>
<td valign="middle" align="center">12</td>
<td valign="middle" align="center">30</td>
<td valign="middle" align="center">25-35</td>
</tr>
<tr>
<td valign="middle" align="center">Cordoba</td>
<td valign="middle" align="center">Clay loam</td>
<td valign="middle" align="center">0.5,1,1.5</td>
<td valign="middle" align="center">11</td>
<td valign="middle" align="center">40</td>
<td valign="middle" align="center">35-45</td>
</tr>
<tr>
<td valign="middle" align="center">Baza</td>
<td valign="middle" align="center">Silt loam</td>
<td valign="middle" align="center">0.5,0.75,1.0</td>
<td valign="middle" align="center">12</td>
<td valign="middle" align="center">25</td>
<td valign="middle" align="center">20-30</td>
</tr>
<tr>
<td valign="middle" align="center">Castellon</td>
<td valign="middle" align="center">Sandy loam</td>
<td valign="middle" align="center">1.25,1.50,1.75</td>
<td valign="middle" align="center">15</td>
<td valign="middle" align="center">20</td>
<td valign="middle" align="center">15-25</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In addition, each farm had a particular combination of cultivar, sowing date, N fertilizer amount and supplementary irrigation. The number of combinations (farms) was randomly assigned to 15 farms in Lobon, 12 in Belmez, Baza and Castellon and 11 in Cordoba (<xref ref-type="supplementary-material" rid="SM1">
<bold>Table S3</bold>
</xref>).</p>
<p>Two different set of simulations were run corresponding to monoculture of either sunflower or wheat. This would represent that each farm would devote 50% of the area to each crop as a monocrop. We chose this unrealistic plan in terms of agronomy to separate completely the influence of each crop model on the results.</p>
<p>We simulated sunflower yields with <italic>OilcropSun</italic> (<xref ref-type="bibr" rid="B38">Villalobos et&#xa0;al., 1996</xref>) and wheat yields with <italic>Ceres-Wheat</italic> (<xref ref-type="bibr" rid="B33">Ritchie et&#xa0;al., 1985</xref>), both included in <italic>DSSAT 4.8</italic> (<xref ref-type="bibr" rid="B21">Jones et&#xa0;al., 2003</xref>). The simulations started in 2000 and ended in 2020, in sequence mode, i.e. the N and water balance were continuous for the whole simulation period. All year numbers reported in the following sections refer to the year of harvest. Minimum tillage was applied for both experiments and all the crop residues were left in the field. A change in cultivar occurred at a year uniformly distributed from 2008 to 2012, for the different farms. In sunflower the cultivar was changed from AE353 (moderately short season) to SW-101 (very short, dwarf). The change in cultivar carried a change in planting density from 8 to 16 plants/m<sup>2</sup> in accordance to the work of <xref ref-type="bibr" rid="B39">Villalobos et&#xa0;al. (1994)</xref>. For wheat, the initial cultivar was Yecora, a Spring wheat type, which was changed then to a similar cycle cultivar with a 20% higher yield potential. The genetic coefficients of the cultivars are shown in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>.</p>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Genetic coefficients of the sunflower and wheat cultivars.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Crop</th>
<th valign="middle" align="center">Cultivar</th>
<th valign="middle" align="center">P1</th>
<th valign="middle" align="center">P2</th>
<th valign="middle" align="center">P5</th>
<th valign="middle" align="center">G2</th>
<th valign="middle" align="center">G3</th>
<th valign="middle" align="center"/>
<th valign="middle" align="center"/>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">Sunflower</td>
<td valign="middle" align="center">AE353</td>
<td valign="middle" align="center">245</td>
<td valign="middle" align="center">3.74</td>
<td valign="middle" align="center">600</td>
<td valign="middle" align="center">1500</td>
<td valign="middle" align="center">3.35</td>
<td valign="middle" align="center"/>
<td valign="middle" align="center"/>
</tr>
<tr>
<td valign="middle" align="left"/>
<td valign="middle" align="center">SW-101</td>
<td valign="middle" align="center">210</td>
<td valign="middle" align="center">3.74</td>
<td valign="middle" align="center">660</td>
<td valign="middle" align="center">520</td>
<td valign="middle" align="center">2.69</td>
<td valign="middle" align="center"/>
<td valign="middle" align="center"/>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="left"/>
<th valign="middle" align="center">P1V</th>
<th valign="middle" align="center">P1D</th>
<th valign="middle" align="center">P5</th>
<th valign="middle" align="center">G1</th>
<th valign="middle" align="center">G2</th>
<th valign="middle" align="center">G3</th>
<th valign="middle" align="center">PHINT</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">Wheat</td>
<td valign="middle" align="center">SpringW1</td>
<td valign="middle" align="center">5</td>
<td valign="middle" align="center">40</td>
<td valign="middle" align="center">600</td>
<td valign="middle" align="center">20</td>
<td valign="middle" align="center">20</td>
<td valign="middle" align="center">1</td>
<td valign="middle" align="center">100</td>
</tr>
<tr>
<td valign="middle" align="left"/>
<td valign="middle" align="center">SpringW1+</td>
<td valign="middle" align="center">5</td>
<td valign="middle" align="center">40</td>
<td valign="middle" align="center">600</td>
<td valign="middle" align="center">25</td>
<td valign="middle" align="center">20</td>
<td valign="middle" align="center">1</td>
<td valign="middle" align="center">100</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>P1: Duration of juvenile phase (&#xb0;C day with base temperature 4&#xb0;C). P2: Photoperiod response coefficient (days/hour). P5 (for sunflower): Duration of the first anthesis-physiological maturity stage (&#xb0;C day with base temperature 4&#xb0;C). G2 (sunflower): Maximum possible number of grains per head. G3 (sunflower): Potential kernel growth rate during the linear kernel filling phase (mg/day). P1V: Vernalization requirement at optimum temperature (days). P1D: Photoperiod response (% reduction in rate/10&#xa0;h drop in pp). P5 (wheat): Grain filling (excluding lag) phase duration (&#xb0;C day). G1: Kernel number per unit canopy weight at anthesis (#/g). G2 (wheat): Standard kernel size under optimum conditions (mg). G3 (wheat): Standard, non-stressed mature tiller weight (including grain) (g dwt). PHINT: Interval between successive leaf tip appearances (&#xb0;C day).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Sowing dates (<xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>) were randomly assigned to farms by choosing from 3 alternative dates that were the same in each farm for the 20 years. In those locations where irrigation was feasible (Lobon, Belmez, Castellon), supplementary irrigation was implemented consisting on either zero, one or two 50&#xa0;mm applications (<xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>). The amounts of N were also randomly assigned (<xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>) between 75 and 125&#xa0;kg N/ha, except for Castellon (25-75 kg/ha). The list of farms and their main characteristics are shown in <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S3</bold>
</xref>.</p>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Sowing dates, nitrogen application and irrigation assumed for the different regions where virtual farms were located.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="bottom" align="center">Region</th>
<th valign="bottom" align="center">Wheat sowing</th>
<th valign="bottom" align="center">Sunflower sowing</th>
<th valign="bottom" align="center">N applied</th>
<th valign="bottom" align="center">Irrigation</th>
</tr>
<tr>
<th valign="bottom" align="left"/>
<th valign="bottom" align="center">DOY</th>
<th valign="bottom" align="center">DOY</th>
<th valign="bottom" align="center">kg/ha</th>
<th valign="bottom" align="center">mm</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="bottom" align="center">Lobon</td>
<td valign="bottom" align="center">4/11, 21/11, 5/12</td>
<td valign="bottom" align="center">15/3, 1/4, 15/4</td>
<td valign="bottom" align="center">75, 100, 125</td>
<td valign="bottom" align="center">50, 100</td>
</tr>
<tr>
<td valign="bottom" align="center">Belmez</td>
<td valign="bottom" align="center">18/10, 4/11, 18/11</td>
<td valign="bottom" align="center">15/3, 1/4, 15/4</td>
<td valign="bottom" align="center">75, 100, 125</td>
<td valign="bottom" align="center">0, 50</td>
</tr>
<tr>
<td valign="bottom" align="center">Cordoba</td>
<td valign="bottom" align="center">14/11, 29/11, 16/12</td>
<td valign="bottom" align="center">1/3, 15/3, 1/4</td>
<td valign="bottom" align="center">75, 100, 125</td>
<td valign="bottom" align="center">0</td>
</tr>
<tr>
<td valign="bottom" align="center">Baza</td>
<td valign="bottom" align="center">16/10, 30/10, 15/11</td>
<td valign="bottom" align="center">1/4, 15/4, 1/5</td>
<td valign="bottom" align="center">75, 100, 125</td>
<td valign="bottom" align="center">0</td>
</tr>
<tr>
<td valign="bottom" align="center">Castellon</td>
<td valign="bottom" align="center">16/11, 30/11, 16/12</td>
<td valign="bottom" align="center">15/3, 1/4, 15/4</td>
<td valign="bottom" align="center">25, 50, 75</td>
<td valign="bottom" align="center">50</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Feature selection</title>
<p>After some exploratory analysis a set of 11 input variables (features according to ML terminology) were determined: sowing date (SD), N applied (NA), irrigation applied (IA), anthesis date (AD), rainfall in the preceding fallow and during the growing season (R), mean maximum (TX) and minimum temperature (TN), mean solar radiation (SR), average soil depth in the farm (SD), year (Y) and cultivar (C). The variable to be predicted was the average grain yield for each combination of farm, crop and year. Data was standardized (i.e., subtract mean and divide by standard deviation) using the mean and standard deviations of each variable in the training subset.</p>
<p>It was assumed that the seasonal weather, rainfall and anthesis date in the testing dataset were known exactly (though in real world application these would have to be predicted too, reducing the overall predictive power of the procedure). This decision was taken to focus the analysis exclusively on predicting crop yields from farm- and seasonal-level data, rather than the effect of different weather and phenology forecast methods on yield prediction.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Predictive algorithms</title>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>Average yield</title>
<p>The average yield for each cultivar at either the farm or regional level in the training dataset set was used as baselines for predictions. It was the most sensible baseline to compare other algorithms to as it did not make use of any features from the farm that may be correlated with yield. If an algorithm performs worse than this approach, it is considered to be significantly overfitting the data.</p>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Linear model</title>
<p>The linear model included the effects of each feature plus the interactions between cultivars and N, TX, TN, R and SD (i.e. the slopes between these seasonal weather and soil variables and yield were assumed to vary across cultivars). This led to 17 coefficients (2 for average yield per cultivar, 15 for the slopes with respect to year and management, seasonal weather and soil properties, with 5 of these differing between cultivars).</p>
<p>Firstly, the linear model was fitted to all the training data by minimizing the residual sum of squares (RSS):</p>
<disp-formula>
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the values of grain yield, <inline-formula>
<mml:math display="inline" id="im2">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the values of the different features (including interactions between cultivars and other features) and <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the coefficients in the model.</p>
<p>One may use different techniques to reduce the complexity of the model and avoid overfitting. For example, one may drop coefficients of the model through stepwise regression. A weakness of this approach is that the result may depend on the order in which the model is built (e.g., whether one adds terms or removes terms) and the criterion to determine whether a term should be added or removed. A more general approach is to fit regularized versions of the linear model (also known as shrinkage methods). In a regularized model, a penalty that is a function of the L1 or L2 norm of the coefficients is added to <inline-formula>
<mml:math display="inline" id="im4">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. For the L1 penalty (<italic>Lasso</italic>) we minimized:</p>
<disp-formula>
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo> <mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow> <mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im5">
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula> is a hyperparameter determined by 30-fold cross-validation using predictive mean absolute error (MAE) as metric. After optimizing the hyperparameter, the resulting model was trained on the entire training dataset. For the L2 norm penalty (<italic>Ridge</italic>) we minimized:</p>
<disp-formula>
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In the case of the <italic>Lasso</italic> linear model, all coefficients shrink to exactly 0 for a sufficiently high <inline-formula>
<mml:math display="inline" id="im6">
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula>, but the goal is to select an optimal <inline-formula>
<mml:math display="inline" id="im7">
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula> that produces a sparse linear model where only some of the coefficients are exactly zero. For the <italic>Ridge</italic> linear model, the shrinkage moves asymptotically towards zero as <inline-formula>
<mml:math display="inline" id="im8">
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula> grows (but never reaches exactly zero).</p>
<p>The full linear model was fitted with the default linear modelling function in the <italic>stats</italic> R package, whereas the <italic>Lasso</italic> and <italic>Ridge</italic> linear models were fitted with the <italic>glmnet</italic> R package.</p>
</sec>
<sec id="s2_3_3">
<label>2.3.3</label>
<title>Random forest</title>
<p>A random forest (<xref ref-type="bibr" rid="B7">Breiman, 2001b</xref>) with a thousand decision trees was trained using the entire training dataset. Default hyperparameters values as provided by the R package <italic>ranger</italic> were used. Each decision tree was fitted on a random sample (with replacement) of the original training dataset. Up to three randomly-selected features were considered for each node split (i.e., the <italic>mtry</italic> hyperparameter was 3) and trees were grown to have leaf nodes with 5 data points (or less) each.</p>
</sec>
<sec id="s2_3_4">
<label>2.3.4</label>
<title>Neural networks</title>
<p>Several artificial neural networks were trained on the entire training dataset with the <italic>Keras</italic> framework using mean square error (MSE) as cost function. Each neural network had one hidden dense layer with a rectified linear activation function, but varied in the number of nodes in the layer from 2 to 12. The total number of trainable parameters (i.e., weights and biases of the hidden and output layer) varied from 29 (2 nodes in the hidden layer) to 169 (12 nodes). The same neural networks were trained a second time but introducing a 50% dropout layer (<xref ref-type="bibr" rid="B34">Srivastava et&#xa0;al., 2014</xref>) after the hidden layer, a popular technique designed to reduce overfitting that does not require monitoring a validation set during training.</p>
<p>The training was performed with the Adam algorithm (<xref ref-type="bibr" rid="B26">Kingma and Ba, 2014</xref>) with an initial learning rate of 10<sup>&#x2212;3</sup>. The cost function was monitored throughout the training in order to reduce the learning rate (drop by 2/3 if the cost had not decreased by more than 10<sup>&#x2212;4</sup> in 100 epochs) and stop the training (same criterion but with a minimum drop of 10<sup>&#x2212;6</sup>). For reference, the MSE for standardized yield values was in the order of 0.05 to 0.25. These stopping criteria ensured that the optimization algorithm had converged to a minimum (though no guarantees can be provided that it was the global minimum).</p>
<p>Given the stochasticity inherent to training neural networks, as well as the possibility of multiple local minima in the cost function, the training was repeated five times for each network (each time initializing the weights randomly) and the result with the lowest training cost was chosen.</p>
</sec>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Evaluation of algorithms</title>
<p>A qualitative test of simulated yields was performed by comparison with observed average values from 2001 to 2020 in the provinces of Cordoba (that includes Belmez and Cordoba) and Granada, where Baza is located. The data were taken from the official statistics of the regional government (<xref ref-type="bibr" rid="B22">Junta de Andalucia, 2022</xref>). Such a comparison was not intended as a validation of the crop models but rather to verify that the predicted yields were reasonable.</p>
<p>The evaluation of the predictive power of each algorithm included the following metrics: Root Mean Square Error (RMSE), Mean Absolute Error (MAE), Bias Error (Bias), Maximum Error (ME) and Coefficient of Determination (R2). The values of RMSE, MAE, Bias and ME were divided by the average simulated yield in the corresponding data partition (training or testing) and expressed in percentage.</p>
<p>We also computed the Akaike Information Criterion corrected for small samples (<italic>AICc</italic>) in the training dataset as a popular estimate of predictive performance in the absence of an independent dataset for testing. <italic>AICc</italic> was computed as:</p>
<disp-formula>
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>I</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>N</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im9">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the negative log-likelihood of the data under the trained model (evaluated on the training dataset), <inline-formula>
<mml:math display="inline" id="im10">
<mml:mi>k</mml:mi>
</mml:math>
</inline-formula> is the number of non-zero parameters in the model and <inline-formula>
<mml:math display="inline" id="im11">
<mml:mi>n</mml:mi>
</mml:math>
</inline-formula> is the number of data points used for training. The log-likelihood in all cases was calculated assuming that residuals followed a Normal distribution:</p>
<disp-formula>
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im12">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> is the standard deviation of the residuals and <inline-formula>
<mml:math display="inline" id="im13">
<mml:mi>n</mml:mi>
</mml:math>
</inline-formula> is the number of data points used to train the algorithm. In the case of linear models and ANN it is clear what the number of parameters are. However, RF is a non-parametric method and therefore there are no parameters being fitted to the data. As an estimate of <inline-formula>
<mml:math display="inline" id="im14">
<mml:mi>k</mml:mi>
</mml:math>
</inline-formula> we have used the average number of node splits per decision tree inside the random forest, though the real number of degrees of freedom for a random forest is a more complex measure (<xref ref-type="bibr" rid="B29">Mentch and Zhou, 2020</xref>).</p>
<p>The process of training and testing was performed for data partitions of 15/5, 10/5 and 5/5 years, where the testing was always performed in the latter years of the simulations (2016-2020). In addition, we performed a random partition over the whole dataset by using 10 repetitions of random data splits (75/25 for training/testing, comparable in amount of training to the 15/5 split). This last data partition exemplifies the testing of algorithms that are meant for interpolation, whereas the former data partitions address the scenario of future yield forecasting with different lengths of past time series.</p>
</sec>
</sec>
<sec id="s3" sec-type="results">
<label>3</label>
<title>Results</title>
<sec id="s3_1">
<label>3.1</label>
<title>Wheat yield</title>
<p>The total number of simulated years was 1240, with an average yield of 2945 kg/ha (<xref ref-type="supplementary-material" rid="SM1">
<bold>Table S4</bold>
</xref>). Per region, average wheat yields varied from 2215 kg/ha in Castellon to 3488 kg/ha in Lobon. Extreme values occurred in Cordoba in 2012 with only 130 kg/ha and Lobon in 2017 with 4959 kg/ha (<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>). The interannual coefficient of variation was maximum in Baza (54%) and minimum in Castellon and Lobon (31%) (<xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>).</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Average simulated wheat yields per region from 2001 to 2020. The cultivar change from SpringW1 to SpringW1+ occurred around 2010 but differed in each farm.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-14-1128388-g001.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>Table&#xa0;5</label>
<caption>
<p>Statistics of yield (kg/ha) for wheat and sunflower in the period 2001-2020.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="bottom" colspan="8" align="center">Wheat</th>
</tr>
<tr>
<th valign="bottom" rowspan="2" align="left"/>
<th valign="bottom" colspan="2" align="center">Observed</th>
<th valign="bottom" colspan="5" align="center">Simulated</th>
</tr>
<tr>
<th valign="bottom" align="center">Cordoba</th>
<th valign="bottom" align="center">Granada</th>
<th valign="bottom" align="center">Lobon</th>
<th valign="bottom" align="center">Belmez</th>
<th valign="bottom" align="center">Cordoba</th>
<th valign="bottom" align="center">Baza</th>
<th valign="bottom" align="center">Castellon</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="bottom" align="center">Average</td>
<td valign="bottom" align="center">2546</td>
<td valign="bottom" align="center">1163</td>
<td valign="bottom" align="center">3488</td>
<td valign="bottom" align="center">3357</td>
<td valign="bottom" align="center">2957</td>
<td valign="bottom" align="center">2571</td>
<td valign="bottom" align="center">2215</td>
</tr>
<tr>
<td valign="bottom" align="center">SD</td>
<td valign="bottom" align="center">1077</td>
<td valign="bottom" align="center">398</td>
<td valign="bottom" align="center">1092</td>
<td valign="bottom" align="center">1078</td>
<td valign="bottom" align="center">1116</td>
<td valign="bottom" align="center">1384</td>
<td valign="bottom" align="center">691</td>
</tr>
<tr>
<td valign="bottom" align="center">CV</td>
<td valign="bottom" align="center">0.42</td>
<td valign="bottom" align="center">0.34</td>
<td valign="bottom" align="center">0.31</td>
<td valign="bottom" align="center">0.32</td>
<td valign="bottom" align="center">0.38</td>
<td valign="bottom" align="center">0.54</td>
<td valign="bottom" align="center">0.31</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th valign="bottom" colspan="8" align="center">Sunflower</th>
</tr>
<tr>
<th valign="bottom" rowspan="2" align="left"/>
<th valign="bottom" colspan="2" align="center">Observed</th>
<th valign="bottom" colspan="5" align="center">Simulated</th>
</tr>
<tr>
<th valign="bottom" align="center">Cordoba</th>
<th valign="bottom" align="center">Granada</th>
<th valign="bottom" align="center">Lobon</th>
<th valign="bottom" align="center">Belmez</th>
<th valign="bottom" align="center">Cordoba</th>
<th valign="bottom" align="center">Baza</th>
<th valign="bottom" align="center">Castellon</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="bottom" align="center">Average</td>
<td valign="bottom" align="center">1497</td>
<td valign="bottom" align="center">432</td>
<td valign="bottom" align="center">2441</td>
<td valign="bottom" align="center">817</td>
<td valign="bottom" align="center">1299</td>
<td valign="bottom" align="center">264</td>
<td valign="bottom" align="center">2345</td>
</tr>
<tr>
<td valign="bottom" align="center">SD</td>
<td valign="bottom" align="center">674</td>
<td valign="bottom" align="center">259</td>
<td valign="bottom" align="center">951</td>
<td valign="bottom" align="center">504</td>
<td valign="bottom" align="center">777</td>
<td valign="bottom" align="center">201</td>
<td valign="bottom" align="center">637</td>
</tr>
<tr>
<td valign="bottom" align="center">CV</td>
<td valign="bottom" align="center">0.45</td>
<td valign="bottom" align="center">0.60</td>
<td valign="bottom" align="center">0.39</td>
<td valign="bottom" align="center">0.62</td>
<td valign="bottom" align="center">0.60</td>
<td valign="bottom" align="center">0.76</td>
<td valign="bottom" align="center">0.27</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Observed: Statistics for the provinces of Cordoba and Granada. Simulated: values obtained with crop models. Belmez and Cordoba are in the province of Cordoba while Baza is in the province of Granada (Lobon and Castellon are in neither).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The official statistics for the period 2001-2020 in the Cordoba province indicated an average yield of rain fed wheat of 2546 kg/ha (standard deviation SD 1077 kg/ha), The corresponding values in Granada were 1163 kg/ha (SD 398 kg/ha).</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Sunflower yield</title>
<p>The total number of simulated years was 1240, with an average yield of 1484 kg/ha (<xref ref-type="supplementary-material" rid="SM1">
<bold>Table S5</bold>
</xref>). Average regional sunflower yields were lowest in Baza (264 kg/ha) and highest in Lobon (2441 kg/ha). Extreme values occurred in Baza in 2005 with 51 kg/ha and Lobon in 2011 with 4382 kg/ha (<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>). The coefficient of variation was maximum in Baza (76%) and minimum in Castellon (27%) (<xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>).</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>Average simulated sunflower yields for each region from 2001 to 2020. The cultivar change from AE353 to SW-101 occurred s around 2010 but differed in each farm.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-14-1128388-g002.tif"/>
</fig>
<p>Mean yield of sunflower according to the statistics was 1497 kg/ha (SD 674 kg/ha) in the Cordoba province and only 432 kg/ha (SD 259 kg/ha) in that of Granada (<xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>).</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Wheat yield prediction (5 years training)</title>
<p>When the algorithms were trained on 5 years of wheat data (2010 &#x2013; 2015), the best performing algorithm on the training dataset was ANN-12 (RMSE 4%) followed closely by ANN-9 and RF (RMSE 5% for both). The ranking for the test data was quite different as ANN-12 was the second worst algorithm (RMSE 141%) while RF was the best (RMSE 35%) followed by ANN-2, ANN-3, farm average and region average (RMSE 42%). The ranking was similar when other criteria were used with RF being the best in terms of MAE and second in maximum error, though it had a worse performance in terms of AICc (<xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>).</p>
<table-wrap id="T6" position="float">
<label>Table&#xa0;6</label>
<caption>
<p>Evaluation of alternative algorithms to predict wheat yield trained with 5 years of data (2011-2015) and tested on 5 years of data (2016-2020).</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" colspan="2" align="left"/>
<th valign="middle" colspan="4" align="center">Train</th>
<th valign="middle" colspan="5" align="center">Test</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center">Algorithm</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">R2</th>
<th valign="middle" align="center">k</th>
<th valign="middle" align="center">&#x394;AICc</th>
<th valign="middle" align="center">Bias</th>
<th valign="middle" align="center">MAE</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">ME</th>
<th valign="middle" align="center">R2</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="2" align="center">
<bold>BASE</bold>
</td>
<td valign="middle" align="center">
<bold>Avg (farm)</bold>
</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">1191</td>
<td valign="top" align="center">-12</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">111</td>
<td valign="top" align="center">7</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Avg (region)</bold>
</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">901</td>
<td valign="top" align="center">-13</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">8</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="left"/>
<td valign="middle" align="center">
<bold>
<italic>Lasso</italic>
</bold>
</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">14</td>
<td valign="top" align="center">585</td>
<td valign="top" align="center">-56</td>
<td valign="top" align="center">61</td>
<td valign="top" align="center">69</td>
<td valign="top" align="center">137</td>
<td valign="top" align="center">-156</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>
<italic>Ridge</italic>
</bold>
</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">589</td>
<td valign="top" align="center">-56</td>
<td valign="top" align="center">61</td>
<td valign="top" align="center">69</td>
<td valign="top" align="center">137</td>
<td valign="top" align="center">-155</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Linear</bold>
</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">588</td>
<td valign="top" align="center">-56</td>
<td valign="top" align="center">61</td>
<td valign="top" align="center">69</td>
<td valign="top" align="center">137</td>
<td valign="top" align="center">-156</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Random forest</bold>
</td>
<td valign="top" align="center">5</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">308</td>
<td valign="top" align="center">-9</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">92</td>
<td valign="top" align="center">34</td>
</tr>
<tr>
<td valign="middle" rowspan="7" align="center">
<bold>ANN</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2</bold>
</td>
<td valign="top" align="center">13</td>
<td valign="top" align="center">90</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">298</td>
<td valign="top" align="center">-7</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">91</td>
<td valign="top" align="center">28</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 3</bold>
</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">92</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">252</td>
<td valign="top" align="center">9</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">111</td>
<td valign="top" align="center">6</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 4</bold>
</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">94</td>
<td valign="top" align="center">57</td>
<td valign="top" align="center">206</td>
<td valign="top" align="center">-32</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">50</td>
<td valign="top" align="center">120</td>
<td valign="top" align="center">-34</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 5</bold>
</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">122</td>
<td valign="top" align="center">-108</td>
<td valign="top" align="center">110</td>
<td valign="top" align="center">134</td>
<td valign="top" align="center">279</td>
<td valign="top" align="center">-852</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 7</bold>
</td>
<td valign="top" align="center">7</td>
<td valign="top" align="center">97</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">138</td>
<td valign="top" align="center">-215</td>
<td valign="top" align="center">220</td>
<td valign="top" align="center">256</td>
<td valign="top" align="center">497</td>
<td valign="top" align="center">-3389</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 9</bold>
</td>
<td valign="top" align="center">5</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">127</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">-2</td>
<td valign="top" align="center">34</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">118</td>
<td valign="top" align="center">-2</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 12</bold>
</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">169</td>
<td valign="top" align="center">300</td>
<td valign="top" align="center">-118</td>
<td valign="top" align="center">121</td>
<td valign="top" align="center">141</td>
<td valign="top" align="center">286</td>
<td valign="top" align="center">-958</td>
</tr>
<tr>
<td valign="middle" rowspan="7" align="center">
<bold>ANN with 50% dropout</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2+</bold>
</td>
<td valign="top" align="center">26</td>
<td valign="top" align="center">62</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">706</td>
<td valign="top" align="center">-26</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">45</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">-8</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 3+</bold>
</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">72</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">650</td>
<td valign="top" align="center">-25</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">-3</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 4+</bold>
</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">57</td>
<td valign="top" align="center">675</td>
<td valign="top" align="center">-31</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">97</td>
<td valign="top" align="center">-22</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 5+</bold>
</td>
<td valign="top" align="center">20</td>
<td valign="top" align="center">78</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">654</td>
<td valign="top" align="center">-32</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">-23</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 7+</bold>
</td>
<td valign="top" align="center">20</td>
<td valign="top" align="center">78</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">768</td>
<td valign="top" align="center">-35</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">50</td>
<td valign="top" align="center">104</td>
<td valign="top" align="center">-31</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 9+</bold>
</td>
<td valign="top" align="center">17</td>
<td valign="top" align="center">83</td>
<td valign="top" align="center">127</td>
<td valign="top" align="center">816</td>
<td valign="top" align="center">-28</td>
<td valign="top" align="center">36</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">94</td>
<td valign="top" align="center">3</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 12+</bold>
</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">85</td>
<td valign="top" align="center">169</td>
<td valign="top" align="center">1091</td>
<td valign="top" align="center">-34</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">118</td>
<td valign="top" align="center">-21</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The base algorithms are the averages at the farm or region scale. RMSE: Root mean Square Error (%). R2: Coefficient of determination (%). Bias: Mean Bias Error (%). MAE: Mean Absolute Error (%). ME: Maximum Error in the data set (%). k: Number of non-zero coefficients. &#x394;AICc: Difference in AICc (with respect to lowest value). RMSE, MAE, Bias and ME have been standardized by dividing by the average yield in the corresponding dataset (training or testing). Numbers accompanying the Artificial Neural Networks (ANN&#x2019;s) indicate the number of nodes in the hidden layer.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>All ANN&#x2019;s without dropout were better than RF in terms of AICc and the difference exceeded the threshold of 2 in all cases. The ranking of neural networks did not show any clear advantage from using larger networks or a dropout layer. Using the average yield of each farm to make predictions was a better approach than most of the ANN&#x2019;s except when considering AICc as metric in the training data set (<xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>). Linear models showed a poorer performance than all other algorithms in training (RMSE 23% for Linear, <italic>Ridge</italic> and <italic>Lasso</italic>) and only some ANN&#x2019;s in testing (RMSE 69%). The raw data for all simulations and algorithms can be found in <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S6</bold>
</xref>.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Algorithms to predict sunflower yield (5 years training)</title>
<p>When the algorithms were trained on 5 years of sunflower data (2010 &#x2013; 2015), the best performing algorithm on the training dataset was ANN-9 (RMSE 10%) followed by ANN-7 and RF (RMSE 12%). On the testing dataset the lowest MAE and RMSE was achieved by RF followed by average farm, while ANN-9 ranked 17<sup>th</sup> out of 20 algorithms and linear models had an intermediate performance (<xref ref-type="table" rid="T7">
<bold>Table&#xa0;7</bold>
</xref>). The best AICc was that of ANN-7, followed by ANN-9. The raw data and the predictions for all algorithms for this scenario are presented in <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S7</bold>
</xref>.</p>
<table-wrap id="T7" position="float">
<label>Table&#xa0;7</label>
<caption>
<p>Evaluation of alternative algorithms to predict sunflower yield trained with 5 years of data (2011-2015) and tested on 5 years of data (2016-2020).</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" colspan="2" align="left"/>
<th valign="middle" colspan="4" align="center">Train</th>
<th valign="middle" colspan="5" align="center">Test</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center">Algorithm</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">R2</th>
<th valign="middle" align="center">k</th>
<th valign="middle" align="center">&#x394;AICc</th>
<th valign="middle" align="center">Bias</th>
<th valign="middle" align="center">MAE</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">ME</th>
<th valign="middle" align="center">R2</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="2" align="center">
<bold>BASE</bold>
</td>
<td valign="middle" align="center">
<bold>Avg (farm)</bold>
</td>
<td valign="top" align="center">47</td>
<td valign="top" align="center">61</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">896</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">179</td>
<td valign="top" align="center">69</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Avg (region)</bold>
</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">651</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">159</td>
<td valign="top" align="center">68</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="left"/>
<td valign="middle" align="center">
<bold>
<italic>Lasso</italic>
</bold>
</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">14</td>
<td valign="top" align="center">482</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">55</td>
<td valign="top" align="center">64</td>
<td valign="top" align="center">170</td>
<td valign="top" align="center">26</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>
<italic>Ridge</italic>
</bold>
</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">492</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">55</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">171</td>
<td valign="top" align="center">25</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Linear</bold>
</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">492</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">55</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">171</td>
<td valign="top" align="center">25</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Random forest</bold>
</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">97</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">440</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">26</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">75</td>
</tr>
<tr>
<td valign="middle" rowspan="7" align="center">
<bold>ANN</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2</bold>
</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">91</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">168</td>
<td valign="top" align="center">7</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">45</td>
<td valign="top" align="center">199</td>
<td valign="top" align="center">64</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 3</bold>
</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">95</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">-100</td>
<td valign="top" align="center">118</td>
<td valign="top" align="center">140</td>
<td valign="top" align="center">356</td>
<td valign="top" align="center">-254</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 4</bold>
</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">94</td>
<td valign="top" align="center">57</td>
<td valign="top" align="center">111</td>
<td valign="top" align="center">121</td>
<td valign="top" align="center">122</td>
<td valign="top" align="center">141</td>
<td valign="top" align="center">284</td>
<td valign="top" align="center">-256</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 5</bold>
</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">96</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">89</td>
<td valign="top" align="center">91</td>
<td valign="top" align="center">111</td>
<td valign="top" align="center">255</td>
<td valign="top" align="center">-121</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 7</bold>
</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">75</td>
<td valign="top" align="center">305</td>
<td valign="top" align="center">0</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 9</bold>
</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">127</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">-17</td>
<td valign="top" align="center">66</td>
<td valign="top" align="center">91</td>
<td valign="top" align="center">297</td>
<td valign="top" align="center">-47</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 12</bold>
</td>
<td valign="top" align="center">25</td>
<td valign="top" align="center">90</td>
<td valign="top" align="center">169</td>
<td valign="top" align="center">911</td>
<td valign="top" align="center">39</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">185</td>
<td valign="top" align="center">36</td>
</tr>
<tr>
<td valign="middle" rowspan="7" align="center">
<bold>ANN with 50% dropout</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2+</bold>
</td>
<td valign="top" align="center">49</td>
<td valign="top" align="center">59</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">647</td>
<td valign="top" align="center">21</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">63</td>
<td valign="top" align="center">167</td>
<td valign="top" align="center">30</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 3+</bold>
</td>
<td valign="top" align="center">45</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">641</td>
<td valign="top" align="center">26</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">187</td>
<td valign="top" align="center">5</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 4+</bold>
</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">77</td>
<td valign="top" align="center">57</td>
<td valign="top" align="center">547</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">51</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">25</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 5+</bold>
</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">78</td>
<td valign="top" align="center">71</td>
<td valign="top" align="center">572</td>
<td valign="top" align="center">31</td>
<td valign="top" align="center">51</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">182</td>
<td valign="top" align="center">24</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 7+</bold>
</td>
<td valign="top" align="center">34</td>
<td valign="top" align="center">80</td>
<td valign="top" align="center">99</td>
<td valign="top" align="center">654</td>
<td valign="top" align="center">46</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">196</td>
<td valign="top" align="center">6</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 9+</bold>
</td>
<td valign="top" align="center">28</td>
<td valign="top" align="center">86</td>
<td valign="top" align="center">127</td>
<td valign="top" align="center">678</td>
<td valign="top" align="center">26</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">180</td>
<td valign="top" align="center">44</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN - 12+</bold>
</td>
<td valign="top" align="center">25</td>
<td valign="top" align="center">90</td>
<td valign="top" align="center">169</td>
<td valign="top" align="center">911</td>
<td valign="top" align="center">39</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">185</td>
<td valign="top" align="center">36</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The base algorithms are the averages at the farm or region scale. RMSE: Root mean Square Error (%). R2: Coefficient of determination (%). Bias: Mean Bias Error (%). MAE: Mean Absolute Error (%). ME: Maximum Error in the data set (%). k: Number of non-zero coefficients. &#x394;AICc: Difference in AICc (with respect to lowest value). RMSE, MAE, Bias and ME have been standardized by dividing by the average yield in the corresponding dataset (training or testing). Numbers accompanying the Artificial Neural Networks (ANN&#x2019;s) indicate the number of nodes in the hidden layer</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Qualitatively, the patterns observed for predictions of sunflower and wheat yield were similar. Maximum errors were within 159% (region average) and 356% (ANN-3). The ranking of algorithms was similar for RMSE, MAE and R2 but quite different for maximum error and AICc (<xref ref-type="table" rid="T7">
<bold>Table&#xa0;7</bold>
</xref>). Furthermore, the ranking differed between train and test data.</p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Effect of length of the training period</title>
<p>As the length of the period reserved for training increased from 5 years to 15 years, the RMSE on the testing dataset decreased for most algorithms (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>). RF was the algorithm with the lowest RMSE for sunflower across all training duration and for wheat with 5 years of training. In the case of wheat with 10 and 15 years, ANN3 and ANN2 outperformed other algorithms, respectively. The full comparison of all predictive metrics for longer training periods (10 and 15 years) and both crops are provided in <xref ref-type="supplementary-material" rid="SM1">
<bold>Tables S8</bold>
</xref> and <xref ref-type="supplementary-material" rid="SM1">
<bold>S9</bold>
</xref>.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>Root Mean Square Error (RMSE) on testing data of the different algorithms with training periods of 5, 10 and 15 years. RMSE has been standardized by dividing by the average yield in testing dataset. Numbers accompanying the Artificial Neural Networks (ANN&#x2019;s) indicate the number of nodes in the hidden layer while the + sign indicates 50% dropout.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-14-1128388-g003.tif"/>
</fig>
<p>The reduction in RMSE for the best algorithm with the increase in training data was relatively small, considering the number of data points increased threefold. For wheat, it decreased from 35% (using RF) to 32% (using ANN-2) and for sunflower it decreased from 38% (using RF) to 33% (also RF). For other algorithms, the improvement in RMSE with training duration was more significant, as in the case of linear models where the decrease in RMSE allowed them to rank better among other algorithms (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>). Within ANN&#x2019;s, the results show that, as expected, 50% dropout reduced RMSE on the testing dataset, on average, by 20%, though ANN-2 and ANN-3 still performed better without dropout and the reduction in RMSE tended to be larger with larger neural networks. Unexpectedly, for most ANN&#x2019;s, there was no clear pattern of variation between RMSE and the size of the neural network or the length of the training period, which may be a consequence of overfitting by the larger networks or the inability to converge to a global minimum during training.</p>
</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Random partition of data for training and testing</title>
<p>When the training and testing dataset were sampled randomly from the original data regardless of the year (reserving 75% of the data for training, the remaining for testing), the best algorithm according to all criteria was RF for both wheat (RMSE 12%) and sunflower (RMSE 21%) (<xref ref-type="table" rid="T8">
<bold>Table&#xa0;8</bold>
</xref>). Unlike in the previous section, the RMSE for random partitioning was almost the same for train (6-41%) and test (12-51%) and the ranking of algorithms was the same regardless of whether the error metrics were calculated on training or testing data. Furthermore, the lowest RMSE (6% for RF in wheat) was five times lower than the lowest RMSE using 15 contiguous years of training, (37%, <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S9</bold>
</xref>) (despite using the same amount of data in both cases). Also, ANN-2, which was the best for 15 years of training on wheat (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>; <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S9</bold>
</xref>), performed significantly worse (RMSE 37%) than RF when using random partitioning (RMSE 25%).</p>
<table-wrap id="T8" position="float">
<label>Table&#xa0;8</label>
<caption>
<p>Evaluation of alternative algorithms of wheat and sunflower yield with random partition of training (75%) and test (25%) of data.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" colspan="11" align="center">Wheat</th>
</tr>
<tr>
<th valign="middle" colspan="2" align="left"/>
<th valign="middle" colspan="4" align="center">Train</th>
<th valign="middle" colspan="5" align="center">Test</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center">Algorithm</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">R2</th>
<th valign="middle" align="center">k</th>
<th valign="middle" align="center">&#x394;AICc</th>
<th valign="middle" align="center">Bias</th>
<th valign="middle" align="center">MAE</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">ME</th>
<th valign="middle" align="center">R2</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="2" align="center">
<bold>BASE</bold>
</td>
<td valign="middle" align="center">
<bold>Avg (farm)</bold>
</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">24</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">2862</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">119</td>
<td valign="top" align="center">4</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Avg (region)</bold>
</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">19</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">2658</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">39</td>
<td valign="top" align="center">104</td>
<td valign="top" align="center">19</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="left"/>
<td valign="middle" align="center">
<bold>Lasso</bold>
</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">15</td>
<td valign="top" align="center">2369</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">27</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">92</td>
<td valign="top" align="center">41</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Ridge</bold>
</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">2370</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">27</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">92</td>
<td valign="top" align="center">41</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Linear</bold>
</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">2370</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">27</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">92</td>
<td valign="top" align="center">41</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Random forest</bold>
</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">281</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">93</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2</bold>
</td>
<td valign="top" align="center">24</td>
<td valign="top" align="center">68</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">1837</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">20</td>
<td valign="top" align="center">25</td>
<td valign="top" align="center">84</td>
<td valign="top" align="center">66</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th valign="middle" colspan="11" align="center">Sunflower</th>
</tr>
<tr>
<th valign="middle" colspan="2" align="left"/>
<th valign="middle" colspan="4" align="center">Train</th>
<th valign="middle" colspan="5" align="center">Test</th>
</tr>
<tr>
<th valign="middle" align="left"/>
<th valign="middle" align="center">Algorithm</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">R2</th>
<th valign="middle" align="center">k</th>
<th valign="middle" align="center">&#x394;AICc</th>
<th valign="middle" align="center">Bias</th>
<th valign="middle" align="center">MAE</th>
<th valign="middle" align="center">RMSE</th>
<th valign="middle" align="center">ME</th>
<th valign="middle" align="center">R2</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="2" align="center">
<bold>BASE</bold>
</td>
<td valign="middle" align="center">
<bold>Avg (farm)</bold>
</td>
<td valign="top" align="center">46</td>
<td valign="top" align="center">65</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">2202</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">206</td>
<td valign="top" align="center">56</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Avg (region)</bold>
</td>
<td valign="top" align="center">51</td>
<td valign="top" align="center">58</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">2127</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">37</td>
<td valign="top" align="center">51</td>
<td valign="top" align="center">200</td>
<td valign="top" align="center">59</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="left"/>
<td valign="middle" align="center">
<bold>
<italic>Lasso</italic>
</bold>
</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">1725</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">170</td>
<td valign="top" align="center">72</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>
<italic>Ridge</italic>
</bold>
</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">1727</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">170</td>
<td valign="top" align="center">72</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Linear</bold>
</td>
<td valign="top" align="center">41</td>
<td valign="top" align="center">73</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">1724</td>
<td valign="top" align="center">-1</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">169</td>
<td valign="top" align="center">72</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>Random forest</bold>
</td>
<td valign="top" align="center">11</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">285</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">14</td>
<td valign="top" align="center">21</td>
<td valign="top" align="center">98</td>
<td valign="top" align="center">93</td>
</tr>
<tr>
<td valign="middle" align="center">
<bold>ANN</bold>
</td>
<td valign="middle" align="center">
<bold>ANN - 2</bold>
</td>
<td valign="top" align="center">36</td>
<td valign="top" align="center">79</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">1514</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">155</td>
<td valign="top" align="center">77</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The baselines are the averages at the farm or region scale. RMSE: Root mean Square Error (%). R2: Coefficient of determination (%). Bias: Mean Bias Error (%). MAE: Mean Absolute Error (%). ME: Maximum Error in the data set (%). k: Number of non-zero coefficients. &#x394;AICc: Difference in AICc (with respect to lowest value). RMSE, MAE, Bias and ME have been standardized by dividing by the average yield in the corresponding dataset (training or testing). Numbers accompanying the Artificial Neural Networks (ANN&#x2019;s) indicate the number of nodes in the hidden layer.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s4" sec-type="discussion">
<label>4</label>
<title>Discussion</title>
<p>We generated a dataset of simulated yields for wheat and sunflower using <italic>DSSAT</italic> which is a widespread crop simulation package. The crop models used respond to all the main environmental factors affecting crop growth and yield, including temperature, radiation, water and nitrogen availability, but cannot deal with other abiotic (micronutrients, salinity) or biotic (weeds, pests, diseases) limitations (<xref ref-type="bibr" rid="B21">Jones et&#xa0;al., 2003</xref>). Although randomness was used to generate the specific conditions at each farm or the exact year when the cultivar was changed, the simulation runs were deterministic. Furthermore, the simulations were performed independently for wheat and sunflower as two monocultures running in parallel. This is not realistic in agronomic practice but ensures that we can separate the effect of the crop simulation model (<italic>Ceres-Wheat</italic> or <italic>OilcropSun</italic>) on the analysis.</p>
<p>The simulated yields showed mean values and coefficients of variation close to the statistics for the provinces of Cordoba and Granada (<xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>). The simulated low values of sunflower in Baza (average 264 kg/ha) are fairly close to the provincial average (432 kg/ha) and are associated to the very low rainfall in the region (<xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>). This poor performance would probably lead actual farmers to stop growing sunflower, but this region was kept in the study to ensure a wide range of environmental conditions. On the other hand, Castellon was included as the inter-annual variation in rainfall differed significantly from the other regions, but sunflower and wheat are not actually grown in that area. Indeed, <xref ref-type="fig" rid="f1">
<bold>Figures&#xa0;1</bold>
</xref> and <xref ref-type="fig" rid="f2">
<bold>2</bold>
</xref> show that average simulated yields from Castellon did not follow the same temporal pattern as the other four regions.</p>
<p>The algorithms were compared first using the last five years of the simulation (2016 &#x2013; 2020) while different subsets of the earlier years were used for training. This emulates the situation where past data is used to extrapolate into the future, i.e., to forecast yields. Alternatively, there are situations when one wants to estimate yields (or any other variable) in the past by interpolating among known data points. This may be useful for filling gaps in time series, check self-declared yields by farmers or spatial interpolation when computing yields on a grid. In that case, a random partitioning of data for training and testing is adequate as long as no information leaks from the training to the testing dataset.</p>
<p>The results indicate that the type of data partitioning for testing will affect the overall predictive performance as well as the relative ranking of algorithms. For example, when 75% of the data was used for training, the resulting RMSE decreased by up to a factor of 5 depending on whether the training data was sampled randomly (<xref ref-type="table" rid="T8">
<bold>Table&#xa0;8</bold>
</xref>, smaller RMSE, higher R2 on testing) or the training was done on the first 15 years of the time series (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>; <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Table S9</bold>
</xref>, higher RMSE, lower R2 on testing). Only linear models (with or without regularization) performed similarly in both cases but they were never among the best algorithms. These large differences in performance illustrate the distinction between interpolation and extrapolation: using random partitioning to test an algorithm that is intended to forecast yields can overestimate significantly the actual performance of the algorithm during application. Indeed, the apparent success of ML in predicting yield in many studies (e.g. <xref ref-type="bibr" rid="B25">Khaki et&#xa0;al., 2020</xref>) may be the result of using random partitioning which should be restricted to applications where we need interpolation under past, well-known conditions.</p>
<p>By looking at the different scenarios, we conclude that RF appears to be most reliable and successful algorithm only beaten by the simplest ANN in two occasions though by a small margin (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>). This is remarkable considering that none of the settings of the RF were tuned (the default settings were used), that it was very simple to set up (just one line of code in R using the package <italic>ranger</italic>) and fast to train (at the scale of seconds on a laptop). The only statistic where RF performed worse than was AICc, but it is important to understand that the degrees or freedom were estimated as the number of node splits (since there are no actual parameters in a RF), but this may be an overestimation, which would inflate AICc values. Despite all of these advantages, and extensive use in some fields of research (e.g., classification tasks in remote sensing, <xref ref-type="bibr" rid="B5">Belgiu and Dr&#x103;gu&#x163;, 2016</xref>), RF is not often used for yield prediction (<xref ref-type="bibr" rid="B19">Jeong et&#xa0;al., 2016</xref>) but our results suggest that it would the best off-the-shelf algorithm for yield prediction.</p>
<p>One of the reasons why RF may perform better than ANN in this study is that the signal-to-noise ratio is low, especially when forecasting future yields, given that the best RMSE were still relatively high and the best R2 in the testing dataset did not exceed 0.8 (<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>, <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S7</bold>
</xref>). It is known that a low signal-to-noise ratio and relatively small dataset would favor RF due to strong built-in regularization (<xref ref-type="bibr" rid="B29">Mentch and Zhou, 2020</xref>). Also, in machine learning competitions, algorithms based on decision trees often outcompete ANN when dealing with tabular data with relatively small sizes (e.g. reports from Kaggle competitions). In cropping systems, we have to cope with changes in management or the environment so it is not common to have yield series longer than 5 years for the same system. For instance, in the case of wheat the average duration of cultivars is around 7, with values lower than 5 in more developed agricultural systems (<xref ref-type="bibr" rid="B9">Brennan and Byerlee, 1991</xref>).</p>
<p>The poor performance of linear models did not change much with regularization. On the other hand, the dropout layer had a positive though insufficient effect on reducing predictive RMSE of ANN&#x2019;s for wheat but not for sunflower. With 5 years of training, ANN-2 in wheat had lower RMSE than predictions using average farm yields from past data. This suggests that regularization methods may not fully compensate for excessive complexity leading to a trained model that slightly overfits the data. A further complication is that regularization based on penalties (<italic>Lasso, Ridge</italic>) or imposed sparsity (dropout layer) are dependent on specific settings (known as hyperparameters) which would have to be tuned for optimal performance. That tuning is generally performed <italic>via</italic> random partitioning of data, which would not necessarily improve predictions on extrapolation in the above. The tuning of hyperparameters also leads to a significant increase in computational requirements.</p>
<p>We have included the average yield at the farm or region level as a best-guess estimate in the absence of additional information from the farms. These estimates serve as the baseline for all the other algorithms. Unfortunately, very few published studies (<xref ref-type="bibr" rid="B2">Alvarez, 2009</xref>) report such a baseline. Furthermore, in some cases (e.g. <xref ref-type="bibr" rid="B10">Cai et&#xa0;al., 2019</xref>) only the coefficient of determination was used to select the best algorithm rather than looking at a wide range of error metrics. Even if some measure of predictive error is reported, without a proper baseline it will not be clear what is the gain in predictive power by using a machine learning algorithm (and collecting all the necessary additional data to train the algorithm). For example, for 5 years of training in wheat, the best algorithm (RF) had an RMSE of 0.35 compared to 0.42 when using the average yield of the farm during those years. For the same scenario, in sunflower, RF had an RMSE of 0.38 and predictions from farm average yield had an RMSE of 0.42.</p>
<p>Potential users should decide whether the cost of collecting additional input data and setting up the predictive framework is justified by the decrease in predictive error brought about by using a (regularized) linear model, RF or ANN. An analysis based on crop models, as illustrated in this study, could be used to justify such decisions, assuming that such models are available and reasonably well calibrated for the crop, cultivar and region of interest. Of course, such an analysis will always overestimate performance of predictive algorithms as long as weather variables are important for predictions (since in the real application the future weather would have to be predicted, introducing additional errors).</p>
<p>The need for faster empirical algorithms, able to consider many factors without explicit knowledge of the mechanisms behind, has led to the widespread adoption of ANN&#x2019;s for yield prediction. In our virtual experiments, we have eliminated any additional source of error and selected directly the factors that are known to affect crop yield in both models. Furthermore, the number of datapoints available for training has been at least twice the number of parameters (except for ANN-12 and 5 years of training data, where the ratio was 1.8). Although there are cases where this ratio exceeds 1 (e.g. 6.2, <xref ref-type="bibr" rid="B12">Chapman et&#xa0;al., 2018</xref>) we can often find much lower values for the data/parameters ratio when ANN&#x2019;s are being used (e.g. 0.12, <xref ref-type="bibr" rid="B1">Abrougui et&#xa0;al., 2019</xref>; see <xref ref-type="supplementary-material" rid="SM1">
<bold>Table S10</bold>
</xref> for a wider list of cases).</p>
<p>Despite our favorable setting, most ANN&#x2019;s have performed worse than using average farm yields from past data. A possible explanation for the low performance of ANN&#x2019;s may reside in the fact that crop yields may show discontinuous responses when data is aggregated at the seasonal level, which are hard to approximate by an ANN without large amounts of data. For instance, the level of stress at anthesis has a disproportionate effect on seed number in sunflower and wheat. This may be due to heat, frost or water stress occurring in just a few days (<xref ref-type="bibr" rid="B32">Pagani et&#xa0;al., 2017</xref>). If the data to train the algorithms is aggregated at the seasonal level, these critical responses will be missed. The same goes even for monthly (<xref ref-type="bibr" rid="B24">Khaki and Wang, 2019</xref>) or weekly (<xref ref-type="bibr" rid="B25">Khaki et&#xa0;al., 2020</xref>) data. Amplifying the number of inputs would not be the solution, as the number of parameters would become unmanageable because of the large data requirement (especially with ANN&#x2019;s where the number of parameters scale rapidly with the number of features). Similar reasons may explain the poor performance of linear models and their regularized versions (<italic>Ridge, Lasso</italic>). On the other hand, RF may handle better the discontinuities by splitting the data recursively rather than approximating the underlying model with smooth functions.</p>
<p>The lack of predictive accuracy by mechanistic crop models is partly responsible for the use of empirical algorithms for prediction of future yields (<xref ref-type="bibr" rid="B4">Basso and Liu, 2019</xref>). A mixed approach, where mechanistic and empirical models are combined by expert analysts, as in the MARS unit of the Joint Research Centre (<xref ref-type="bibr" rid="B36">van der Velde et&#xa0;al., 2019</xref>), could lead to better results than either approach separately. In any case, we will always need biophysical crop models to explore uncharted conditions including not only global warming but also drastic changes in infrastructure or management (new irrigated areas, new cultivars) where experiments (and derived empirical models) are not possible (<xref ref-type="bibr" rid="B14">Fl&#xe9;net et&#xa0;al., 2008</xref>).</p>
</sec>
<sec id="s5" sec-type="conclusions">
<label>5</label>
<title>Conclusions</title>
<p>Machine learning algorithms showed a limited power (relative to a trivial average-yield baseline) for predicting yields of sunflower and wheat in different areas of Spain. Random partitioning of data for training and testing leads to underestimating model errors, as compared to time-dependent partition. Apart from being easier and faster to run, RF will always be at least as good as the best guess estimate (average of the farm yield on past data), a fact that is not guaranteed by ANN or linear models unless there is sufficient data.</p>
</sec>
<sec id="s6" sec-type="data-availability">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <ext-link ext-link-type="uri" xlink:href="https://www.uco.es/fitotecnia/tools/data_manuscript_morales_villalobos.zip">https://www.uco.es/fitotecnia/tools/data_manuscript_morales_villalobos.zip</ext-link>.</p>
</sec>
<sec id="s7" sec-type="author-contributions">
<title>Author contributions</title>
<p>All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p>
</sec>
</body>
<back>
<sec id="s8" sec-type="funding-information">
<title>Funding</title>
<p>This work was funded by Ministerio de Ciencia e Innovaci&#xf3;n, Spain, through grant PCI2019&#x2013;103621, associated to the MAPPY project (JPI-Climate ERA-NET, AXIS call), and the &#x201c;Mar&#xed;a de Maeztu&#x201d; program for centers and units of excellence in research and development [grant number CEX2019&#x2013;000968-M]. Publication costs were funded by Grupo PAIDI AGR-119 Junta de Andalucia.</p>
</sec>
<ack>
<title>Acknowledgments</title>
<p>The help of Professor Gerrit Hoogenboom, Dr. Cheryl Porter and Fabio Oliveira in adapting <italic>OilcropSun</italic> to <italic>DSSAT</italic> is greatly appreciated.</p>
</ack>
<sec id="s9" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s10" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s11" sec-type="supplementary-material">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fpls.2023.1128388/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fpls.2023.1128388/full#supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="Table_1.xlsx" id="SM1" mimetype="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abrougui</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Gabsi</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Mercatoris</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Khemis</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Amami</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Chahaibi</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Prediction of organic potato yield using tillage systems and soil properties by artificial neural network (ANN) and multiple linear regressions (MLR)</article-title>. <source>Soil Tillage Res.</source> <volume>190</volume>, <fpage>202</fpage>&#x2013;<lpage>208</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.still.2019.01.011</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alvarez</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Predicting average regional yield and production of wheat in the Argentine pampas by an artificial neural network approach</article-title>. <source>Eur. J. Agron.</source> <volume>30</volume>, <fpage>70</fpage>&#x2013;<lpage>77</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.eja.2008.07.005</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bargoti</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Underwood</surname> <given-names>J. P.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Image segmentation for fruit detection and yield estimation in apple orchards</article-title>. <source>J. Field Robotics</source> <volume>34</volume> (<issue>6</issue>), <fpage>1039</fpage>&#x2013;<lpage>1060</lpage>. doi: <pub-id pub-id-type="doi">10.1002/rob.21699</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Basso</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Chapter four - seasonal crop yield forecast: Methods, applications, and accuracies</article-title>. <source>Adv. Agron.</source> <volume>154</volume>, <fpage>201</fpage>&#x2013;<lpage>255</lpage>. doi: <pub-id pub-id-type="doi">10.1016/bs.agron.2018.11.002</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Belgiu</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Dr&#x103;gu&#x163;</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Random forest in remote sensing: A review of applications and future directions</article-title>. <source>ISPRS J. Photogrammetry Remote Sens.</source> <volume>114</volume>, <fpage>24</fpage>&#x2013;<lpage>31</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.isprsjprs.2016.01.011</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Breiman</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2001</year>a). <article-title>Statistical modeling: The two cultures (with comments and a rejoinder by the author)</article-title>. <source>Stat. Sci.</source> <volume>16</volume>, <fpage>199</fpage>&#x2013;<lpage>231</lpage>. doi: <pub-id pub-id-type="doi">10.1214/ss/1009213726</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Breiman</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2001</year>b). <article-title>Random forests</article-title>. <source>Mach. Learn.</source> <volume>45</volume>, <fpage>5</fpage>&#x2013;<lpage>32</lpage>. doi: <pub-id pub-id-type="doi">10.1023/A:1010933404324</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Breiman</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Friedman</surname> <given-names>J. H.</given-names>
</name>
<name>
<surname>Olshen</surname> <given-names>R. A.</given-names>
</name>
<name>
<surname>Stone</surname> <given-names>C. J.</given-names>
</name>
</person-group> (<year>1984</year>). <source>Classification and regression trees</source>. <edition>1st ed</edition> (<publisher-loc>Milton Park, Abingdon, Oxfordshire, UK</publisher-loc>: <publisher-name>Routledge</publisher-name>).</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brennan</surname> <given-names>J. P.</given-names>
</name>
<name>
<surname>Byerlee</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>1991</year>). <article-title>The rate of crop varietal replacement on farms: Measures and empirical results for wheat</article-title>. <source>Plant Var. Seeds</source> <volume>4</volume>, <fpage>99</fpage>&#x2013;<lpage>106</lpage>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Guan</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Lobell</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Potgieter</surname> <given-names>A. B.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>J.</given-names>
</name>
<etal/>
</person-group>. (<year>2019</year>). <article-title>Integrating satellite and climate data to predict wheat yield in Australia using machine learning approaches</article-title>. <source>Agric. For. Meteorology</source> <volume>274</volume>, <fpage>144</fpage>&#x2013;<lpage>159</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.agrformet.2019.03.010</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Z.</given-names>
</name>
<etal/>
</person-group>. (<year>2021</year>). <article-title>Wheat yield predictions at a county and field scale with deep learning, machine learning, and google earth engine</article-title>. <source>Eur. J. Agron.</source> <volume>123</volume>, <fpage>126204</fpage>. doi: <pub-id pub-id-type="doi">10.1016/j.eja.2020.126204</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chapman</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Cook</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Donough</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Li Lim</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Vun Vui Ho</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Wai Lo</surname> <given-names>K.</given-names>
</name>
<etal/>
</person-group>. (<year>2018</year>). <article-title>Using Bayesian networks to predict future yield functions with data from commercial oil palm plantations: A proof of concept analysis</article-title>. <source>Comput. Electron. Agric.</source> <volume>151</volume>, <fpage>338</fpage>&#x2013;<lpage>348</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.compag.2018.06.006</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dreyfus</surname> <given-names>S. E.</given-names>
</name>
</person-group> (<year>1990</year>). <article-title>Artificial neural networks, back propagation, and the Kelley-bryson gradient procedure</article-title>. <source>J. guidance control dynamics</source> <volume>13</volume> (<issue>5</issue>), <fpage>926</fpage>&#x2013;<lpage>928</lpage>. doi: <pub-id pub-id-type="doi">10.2514/3.25422</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fl&#xe9;net</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Debaeke</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Casadebaig</surname> <given-names>P.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Could a crop model be useful for improving sunflower crop management</article-title>? <source>Ol&#xe9;agineux Corps gras Lipides</source> <volume>15</volume> (<issue>3</issue>), <fpage>158</fpage>&#x2013;<lpage>161</lpage>. doi: <pub-id pub-id-type="doi">10.1051/ocl.2008.0199</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hecht-Nielsen</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>1987</year>). &#x201c;<article-title>Kolmogorov&#x2019;s mapping neural network existence theorem</article-title>,&#x201d; in <source>Paper presented at IEEE first international conference on neural networks</source>(<publisher-loc>San Diego, CA, New York, NY, USA</publisher-loc>: <publisher-name>IEEE Press</publisher-name>), <volume>1987</volume>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hoffman</surname> <given-names>A. L.</given-names>
</name>
<name>
<surname>Kemanian</surname> <given-names>A. R.</given-names>
</name>
<name>
<surname>Forest</surname> <given-names>C. E.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Analysis of climate signals in the crop yield record of sub-Saharan Africa</article-title>. <source>Global Change Biol.</source> <volume>24</volume> (<issue>1</issue>), <fpage>143</fpage>&#x2013;<lpage>157</lpage>. doi: <pub-id pub-id-type="doi">10.1111/gcb.13901</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hornik</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Stinchcombe</surname> <given-names>M.</given-names>
</name>
<name>
<surname>White</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>Multilayer feedforward networks are universal approximators</article-title>. <source>Neural Networks</source> <volume>2</volume> (<issue>5</issue>), <fpage>359</fpage>&#x2013;<lpage>366</lpage>. doi: <pub-id pub-id-type="doi">10.1016/0893-6080(89)90020-8</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Iglesias</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2006</year>). &#x201c;<article-title>Use of DSSAT models for climate change impact assessment: Calibration and validation of CERES-wheat and CERES-maize in Spain</article-title>,&#x201d; in <source>Climate variability, modelling tools and agricultural decision making. proc CGE hands-on training workshop on V&amp;A assessment of the Asia and the pacific region</source> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Nova Science Publishers</publisher-name>), <fpage>20</fpage>&#x2013;<lpage>24</lpage>.</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jeong</surname> <given-names>J. H.</given-names>
</name>
<name>
<surname>Resop</surname> <given-names>J. P.</given-names>
</name>
<name>
<surname>Mueller</surname> <given-names>N. D.</given-names>
</name>
<name>
<surname>Fleisher</surname> <given-names>D. H.</given-names>
</name>
<name>
<surname>Yun</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Butler</surname> <given-names>E. E.</given-names>
</name>
<etal/>
</person-group>. (<year>2016</year>). <article-title>Random forests for global and regional crop yield predictions</article-title>. <source>PloS One</source> <volume>11</volume>, <elocation-id>e0156571</elocation-id>. doi: <pub-id pub-id-type="doi">10.1371/journal.pone.0156571</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Johnson</surname> <given-names>M. D.</given-names>
</name>
<name>
<surname>Hsieh</surname> <given-names>W. W.</given-names>
</name>
<name>
<surname>Cannon</surname> <given-names>A. J.</given-names>
</name>
<name>
<surname>Davidson</surname> <given-names>A.</given-names>
</name>
<name>
<surname>B&#xe9;dard</surname> <given-names>F.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Crop yield forecasting on the Canadian prairies by remotely sensed vegetation indices and machine learning methods</article-title>. <source>Agric. For. meteorology</source> <volume>218</volume>, <fpage>74</fpage>&#x2013;<lpage>84</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.agrformet.2015.11.003</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jones</surname> <given-names>J. W.</given-names>
</name>
<name>
<surname>Hoogenboom</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Porter</surname> <given-names>C. H.</given-names>
</name>
<name>
<surname>Boote</surname> <given-names>K. J.</given-names>
</name>
<name>
<surname>Batchelor</surname> <given-names>W. D.</given-names>
</name>
<name>
<surname>Hunt</surname> <given-names>L. A.</given-names>
</name>
<etal/>
</person-group>. (<year>2003</year>). <article-title>
<italic>DSSAT</italic> cropping system model</article-title>. <source>Eur. J. Agron.</source> <volume>18</volume>, <fpage>235</fpage>&#x2013;<lpage>265</lpage>. doi: <pub-id pub-id-type="doi">10.1016/S1161-0301(02)00107-7</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="web">
<person-group person-group-type="author">
<collab>Junta de Andalucia</collab>
</person-group> (<year>2022</year>) <source>Avance de superficies y producciones</source>. Available at: <uri xlink:href="https://www.juntadeandalucia.es/organismos/agriculturaganaderiapescaydesarrollosostenible/servicios/estadistica-cartografia/estadisticas-agricolas/paginas/avance-superficie-producciones-agricolas.html">https://www.juntadeandalucia.es/organismos/agriculturaganaderiapescaydesarrollosostenible/servicios/estadistica-cartografia/estadisticas-agricolas/paginas/avance-superficie-producciones-agricolas.html</uri> (Accessed <access-date>10 July 2022</access-date>).</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kaul</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Hill</surname> <given-names>R. L.</given-names>
</name>
<name>
<surname>Walthall</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>Artificial neural networks for corn and soybean yield prediction</article-title>. <source>Agric. Syst.</source> <volume>85</volume> (<issue>1</issue>), <fpage>1</fpage>&#x2013;<lpage>18</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.agsy.2004.07.009</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khaki</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Crop yield prediction using deep neural networks</article-title>. <source>Front. Plant Sci.</source> <volume>10</volume>, <elocation-id>621</elocation-id>. doi: <pub-id pub-id-type="doi">10.3389/fpls.2019.00621</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khaki</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Archontoulis</surname> <given-names>S. V.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A CNN-RNN framework for crop yield prediction</article-title>. <source>Front. Plant Sci.</source> <volume>10</volume>, <elocation-id>1750</elocation-id>. doi: <pub-id pub-id-type="doi">10.3389/fpls.2019.01750</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kingma</surname> <given-names>D. P.</given-names>
</name>
<name>
<surname>Ba</surname> <given-names>L. J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Adam: A method for stochastic optimization</article-title>. arXiv preprint arXiv:1412.6980.</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kira</surname> <given-names>O.</given-names>
</name>
<name>
<surname>Nguy-Robertson</surname> <given-names>A. L.</given-names>
</name>
<name>
<surname>Arkebauer</surname> <given-names>T. J.</given-names>
</name>
<name>
<surname>Linker</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Gitelson</surname> <given-names>A. A.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Informative spectral bands for remote green <italic>LAI</italic> estimation in <italic>C3</italic> and <italic>C4</italic> crops</article-title>. <source>Agric. For. Meteorology</source> <volume>218</volume>, <fpage>243</fpage>&#x2013;<lpage>249</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.agrformet.2015.12.064</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>McCulloch</surname> <given-names>W. S.</given-names>
</name>
<name>
<surname>Pitts</surname> <given-names>W. H.</given-names>
</name>
</person-group> (<year>1943</year>). <article-title>A logical calculus of the ideas immanent in nervous activity</article-title>. <source>Bull. Math. Biophysics</source> <volume>7</volume>, <fpage>115</fpage>&#x2013;<lpage>133</lpage>. doi: <pub-id pub-id-type="doi">10.1007/BF02478259</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mentch</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Randomization as regularization: A degrees of freedom explanation for random forest success</article-title>. <source>J. Mach. Learn. Res.</source> <volume>21</volume> (<issue>171</issue>), <fpage>1</fpage>&#x2013;<lpage>36</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.1911.00190</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohanty</surname> <given-names>S. P.</given-names>
</name>
<name>
<surname>Hughes</surname> <given-names>D. P.</given-names>
</name>
<name>
<surname>Salath&#xe9;</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Using deep learning for image-based plant disease detection</article-title>. <source>Front. Plant Sci.</source> <volume>7</volume>, <elocation-id>1419</elocation-id>. doi: <pub-id pub-id-type="doi">10.3389/fpls.2016.01419</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Noh</surname> <given-names>H. K.</given-names>
</name>
<name>
<surname>Lu</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Hyperspectral laser-induced fluorescence imaging for assessing apple fruit quality</article-title>. <source>Postharvest Biol. Technol.</source> <volume>43</volume> (<issue>2</issue>), <fpage>193</fpage>&#x2013;<lpage>201</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.postharvbio.2006.09.006</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pagani</surname> <given-names>V.</given-names>
</name>
<name>
<surname>Guarneri</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Fumagalli</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Movedi</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Testi</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Klein</surname> <given-names>T.</given-names>
</name>
<etal/>
</person-group>. (<year>2017</year>). <article-title>Improving cereal yield forecasts in Europe&#x2013;the impact of weather extremes</article-title>. <source>Eur. J. Agron.</source> <volume>89</volume>, <fpage>97</fpage>&#x2013;<lpage>106</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.eja.2017.06.010</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ritchie</surname> <given-names>J. T.</given-names>
</name>
<name>
<surname>Godwin</surname> <given-names>D. C.</given-names>
</name>
<name>
<surname>Otter-Nacke</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>1985</year>). <source>CERES-wheat. a simulation model of wheat growth and development</source> (<publisher-loc>College Station, TX</publisher-loc>: <publisher-name>Texas A&amp;M University College</publisher-name>).</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Hinton</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Krizhevsky</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Sutskever</surname> <given-names>I.</given-names>
</name>
<name>
<surname>Salakhutdinov</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Dropout: a simple way to prevent neural networks from overfitting</article-title>. <source>J. Mach. Learn. Res.</source> <volume>15</volume> (<issue>1</issue>), <fpage>1929</fpage>&#x2013;<lpage>1958</lpage>. Available at: <uri xlink:href="https://dl.acm.org/doi/10.5555/2627435.2670313">https://dl.acm.org/doi/10.5555/2627435.2670313</uri>.</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Turing</surname> <given-names>A. M.</given-names>
</name>
</person-group> (<year>1950</year>). <article-title>Computing machinery and intelligence</article-title>. <source>Mind</source> <volume>236</volume>, <fpage>433</fpage>&#x2013;<lpage>460</lpage>. doi: <pub-id pub-id-type="doi">10.1093/mind/LIX.236.433</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>van der Velde</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Biavetti</surname> <given-names>I.</given-names>
</name>
<name>
<surname>El-Aydam</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Niemeyer</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Santini</surname> <given-names>F.</given-names>
</name>
<name>
<surname>van den Berg</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Use and relevance of European union crop monitoring and yield forecasts</article-title>. <source>Agric. Syst.</source> <volume>168</volume>, <fpage>224</fpage>&#x2013;<lpage>230</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.agsy.2018.05.001</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Villalobos</surname> <given-names>F. J.</given-names>
</name>
<name>
<surname>Fereres</surname> <given-names>E.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Principles of agronomy for sustainable agriculture</source> (<publisher-loc>NewYork, USA</publisher-loc>: <publisher-name>Springer</publisher-name>).</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Villalobos</surname> <given-names>F. J.</given-names>
</name>
<name>
<surname>Hall</surname> <given-names>A. J.</given-names>
</name>
<name>
<surname>Ritchie</surname> <given-names>J. T.</given-names>
</name>
<name>
<surname>Orgaz</surname> <given-names>F.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>
<italic>Oilcrop-sun</italic>: A development, growth and yield model of the sunflower crop</article-title>. <source>Agron. J.</source> <volume>88</volume> (<issue>3</issue>), <fpage>403</fpage>&#x2013;<lpage>415</lpage>. doi: <pub-id pub-id-type="doi">10.2134/agronj1996.00021962008800030008x</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Villalobos</surname> <given-names>F. J.</given-names>
</name>
<name>
<surname>Sadras</surname> <given-names>V. O.</given-names>
</name>
<name>
<surname>Soriano</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Fereres</surname> <given-names>E.</given-names>
</name>
</person-group> (<year>1994</year>). <article-title>Planting density effects on dry matter partitioning and productivity of sunflower hybrids</article-title>. <source>Field Crops Res.</source> <volume>36</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. doi: <pub-id pub-id-type="doi">10.1016/0378-4290(94)90047-7</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Xiao</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Bajgain</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Starks</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Steiner</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Doughty</surname> <given-names>R. B.</given-names>
</name>
<etal/>
</person-group>. (<year>2019</year>). <article-title>Estimating leaf area index and aboveground biomass of grazing pastures using sentinel-1, sentinel-2 and landsat images</article-title>. <source>ISPRS J. Photogrammetry Remote Sens.</source> <volume>154</volume>, <fpage>189</fpage>&#x2013;<lpage>201</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.isprsjprs.2019.06.007</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>