The present invention relates to precision agriculture. Specifically, the present invention relates to a technique for generating complex simulation models, including artificial intelligence (AI) models, for analyzing a wide range of agricultural problems, where limited sets of data are available.
A major obstacle to the successful application of ‘big data’ modeling to agricultural problems has been that data related to the agricultural processes to be simulated are often only recorded at a small number of times (and very often, just once) during any one specific case of the process, while that process actually occurs over potentially substantial periods of time, and often in response to changing plant physiological factors such as diseases, nutrient, and chemical applications, changing environmental factors such as soil, weather, and other environmental conditions, and changing ecosystem factors such as pests, canopy competition, and root competition. Both internal and external factors are collectively called “environmental” factors. For instance, a particular dataset for use in developing a crop growth model may contain information on the plant date and the date of a key growth stage for a particular crop across a range of locations and seasons, whereas one may wish to construct a model to simulate the growth of the crop on a daily basis for the entirety of the period between planting and that key growth stage. The complicating factor in doing so is that there are any number of ways in which the crop could have grown on the intervening days in order to arrive at that key growth stage on the observed date. This problem has restricted the agricultural industry's ability to realize the full benefit of some types of large-scale collections of data.
The use of artificial intelligence in analyzing data is now prevalent, and one of the most common artificial intelligence-based tools for identifying and learning patterns in such large-scale data collections, often referred to as “big data,” is the artificial neural network (ANN). In particular, neural networks trained through a technique referred to as backpropagation are able to learn the associations between a set of predictive variables (the ‘predictors’), and a measured response or outcome (the ‘target’). Neural networks may also be trained by any number of other optimization techniques (such techniques include, for example, the stochastic gradient descent, particle swarm optimization, and genetic algorithm methods). Once trained, the ANN can then be used to predict responses or outcomes in new situations, where only the values of the predictors are known, or, in some cases, where additional predictors can themselves be generated from known predictors and used to aid in the prediction of responses or outcomes in new situations. For example, if crop yields are measured across a range of situations, ANNs can be used to identify how these observed yields related to underlying environmental conditions (phosphorous applied, fungicide applied, relative maturity rating, soil type, growing degree days, and total precipitation, using a simple example). Then, going forward, the ANN trained on historical yield and environmental data can be applied to new environmental data (such as for a new growing season and/or new location) in order to predict the yield of a crop that has yet to be harvested.
In the plant date/key growth stage example from above, a dataset may indicate the planting or transplanting date of a crop in a particular location and season, as well as the date on which the crop reached maturity. One can develop an ANN, trained using observed environmental conditions, in order to predict the date of crop maturity in a new location and/or season. However, what if one also wishes to be able to predict the rate of progress toward crop maturity on any given date, or predict the dates on which the same crop reached (or will reach) other key growth stages? For the latter, one could certainly apply established relationships concerning the timing of other growth stages relative to that key growth stage, garnered from the existing body of community knowledge about the crop (though the extent of the scientific community's understanding of these relationships is often quite limited). However, since there are any number of ways in which the crop could have evolved over time in order to arrive in the same given key growth stage on the same given date, those other growth stages cannot be predicted in this manner with the same level of accuracy as the one for which there are direct measurements to train the ANN with. In this example, the methodology of the present invention represents a solution to these problems in the form of a multi-step approach that permits reconstruction of the likely evolution of the crop between the date of planting/transplanting and the date of maturity.
The aforementioned problems in the existing art of dealing with large-scale datasets can be addressed by applying a multi-step iterative modeling process that initially predicts an outcome for each situation in a particular dataset using current assumptions of a model, and then uses errors across these situations to identify where opportunities exist in the predictor space to make changes to the model's response to those predictor values that would reduce the model's error when averaged across all situations. While there are any number of ways in which the technique can be applied, it is most easily explained using the specific examples discussed further herein.
While ANNs are a powerful tool for learning the important relationships that may be present in collections of big data, it should be noted that the methodology set forth in the present invention is also applicable to the broader range of approaches that can be used to identify relationships in (and create models from) big data. Accordingly, it is to be understood that ANNs are but one approach to learning such relationships, and many other techniques can be applied in this multi-step iterative modeling process to achieve the objectives set forth herein.
It is therefore one objective of the present invention to provide a system and method of developing simulation models for agricultural problems where available data provide only a limited picture of the problem at hand, and where the simulated state of the system at any given point in time is dependent upon the states of the system at preceding times. It is another objective of the present invention to develop simulation models for such agricultural problems by inferring associations between a set of predictive variables in input data relative to the agricultural problem and a measured response or outcome of a simulation, and applying the predictive variables to predict responses or outcomes in new situations.
Other objects, embodiments, features, and advantages of the present invention will become apparent from the following description of the embodiments, taken together with the accompanying drawings, which illustrate, by way of example, the principles of the invention.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and together with the description, serve to explain the principles of the invention.
In the following description of the present invention, reference is made to the exemplary embodiments illustrating the principles of the present invention and how it is practiced. Other embodiments will be utilized to practice the present invention, and structural and functional changes will be made thereto without departing from the scope of the present invention.
As noted above, the present invention is a multi-step iterative modeling process 100 for addressing limitations in the use of large-scale datasets for modeling complex agricultural processes 102. Such an iterative modeling process 100 first predicts an outcome for each situation in a particular dataset 104 using the present assumptions of the model, and then uses errors measured across the range of such situations to identify where opportunities exist in the predictor space to make changes to the model's response to combinations of the individual predictors' values in such a way as to reduce the model's error when averaged across all situations.
In this multi-step iterative modeling process 100, input data 110 that defines variables 106 relevant to an agricultural process 102, including one or more of weather conditions 111 (including field-level weather data 112 and extended-range weather forecasts 113, as discussed further herein), soil conditions and properties 114, crop and seed properties 115, process-specific metadata 116 over a period of time, and other environmental factors 117, is predicted, ingested, received, requested, or otherwise obtained as described herein. These predictors, as noted above, are a set of environmental and process-specific variables 106 that are selected because they are expected to have some predictive influence on the agricultural process 102 to be modeled. Depending on the specific agricultural processes 102 being modeled, the variables/predictors 106 are selected at least in part by a degree of association between input data 110 and a desired response or outcome of the process being simulated. Input data 110 may therefore include many different types of information, as discussed further herein, depending upon the agricultural process 102 to be modeled.
Input data 110 may be obtained from a number of different sources of such information. For example, input data 110 may be proprietary or may be obtained from third party sources. Input data 110 may also represent the outcomes of other modeling approaches, proprietary or otherwise, for one or more of the types of input data 110 used to define predictors 106 for developing the models discussed herein. Input data 110 may also be obtained from other external sources such as agricultural equipment, from crowd-sourced observations 118 such as from mobile applications or from users directly. Input data 110 may also include image data 119, for example information extracted from imagery of a field, and imagery may include one or more images that are obtained from a variety of different sources, for example satellites, field-based robots, aircraft, and remotely-piloted or unmanned vehicles.
Process-specific metadata 116 may include information reflecting actual performance, realization, or implementation of one or more of crops, plants, fields, soils, and facilities in a desired agricultural process to be modeled. This metadata 116 may include, for example, crop and seed metadata that including relative maturity rating, dry-down characteristics of the variety of crop or seed used in a particular field, pest and disease susceptibility or resistance, whether a crop is irrigated or non-irrigated, type and origin of seeds (such as, for example, genetically modified or non-genetically modified, and company source), soil texture composition, amounts of additional applied minerals (e.g., nitrogen, potassium), and amounts and timing of any fungicides, herbicides, pesticides, plant growth regulators, and desiccants. Such metadata may also include soils metadata such as information relating to previous crop grown on or in the soil, soil composition, presence of surface and/or subsurface drainage, nutrient composition, rate of degradation, rate of water movement in both a lateral and vertical direction, presence of materials such as salts in soil strata, and farming practices such as the type(s) of tillage performed in the field, and when.
The input data 110 may also include crop and seed properties 115, representing crop and planting information for a crop-related agricultural process 102. This may include generalized crop and seed data, such as crop type, seed type, planting data, growing season data; relative maturity, planting or emergence date, crop temperature, crop moisture, seed moisture, plant depth, row width, and any other non process-specific crop and plant information that may be used to model a desired agricultural process 102. Crop properties 115 may further comprise crop management information that incorporates all of the above types of data. Regardless, crop and planting information may be provided as output data from one or more additional, external models that serve as sources of further input data 110 at least related to crops and seeds for the multi-step iterative modeling process 100 of the present invention.
Regardless, the multi-step iterative modeling process 100 is performed at least in part by applying this input data 110 to a plurality of data processing components 120 within a computing environment 140 that also includes one or more processors 142, a plurality of software and hardware components, and one or more modular software and hardware packages configured to perform specific processing functions. The one or more processors 142, plurality of software and hardware components, and one or more modular software and hardware packages are configured to execute program instructions to perform algorithms for various functions within the multi-step iterative modeling process 100 that are described in detail herein, and embodied in one or more modules comprising the plurality of data processing components 120.
The plurality of data processing components 120 include a data ingest component 121 configured to ingest, receive, request, or otherwise obtain the input data 110 as noted above. This may include a component 122 for processing predictors 106 that are developed by identifying variables relevant to an agricultural process 102 to be simulated. Such development may occur externally, as noted below, based on expert knowledge of the agricultural process being modeled, the findings of previous research related to the problem at hand, through statistical analysis of aggregate metrics of environmental conditions over the locations and periods of the data points in the observed dataset 106, or simply through trial and error.
The data processing components 120 also include a component configured to develop the primary simulation model 123 within the multi-step iterative modeling process 100. The plurality of data processing modules 120 also include an error calculation component 124, configured to calculate errors in an outcome of the primary simulation model 123 at least by identifying one or more validating observations 125 in such an outcome, and by identifying combinations among the predictive variables influencing these observations 125. The primary simulation model 123 may also include one or more layers of machine learning and artificial intelligence models 127, trained to identify relationships among the variables and predictors 106 and associated combinations 126 thereof for at least the error calculation aspect of the primary simulation model 123.
The plurality of data processing components 120 also include a component configured to develop a correction model 128, which is at least configured to reduce errors 129 in the primary simulation model 123 until such errors 129 reach an apparent minimum (or other error reduction target) that may depend, for example, on the type of agricultural process 102 being modeled. The correction model 128 may also include one or more layers of machine learning and artificial intelligence models 130, trained at least to determine adjustments 131 to outcomes of the primary simulation model 123. The present invention may further include any other component 120 to be used in iteratively modeling agricultural datasets 104 as described in the process 100.
These data processing components 120 are configured to generate output data 150 that may take many different forms. Output data 150 may include one or more outcomes 152 of an agricultural process 102, and these outcomes may further include derivatives or enhancements such as a predictions 154, forecasts 156, and recommendations or management action 158.
The method 200 begins at step 210 by ingesting, receiving, requesting, predicting, or otherwise obtaining input data 110 that is relative to an agricultural process 102 to be simulated. The method 200 then derives predictive variables 106 from this input data 110 at step 220. This identification of predictors 106 may be based on knowledge of the agricultural process 102, an evaluation of the types of input data 110, or by some other approach which aids in determining which variables are most relevant to the agricultural process 102.
The method 200 then develops the primary simulation model 123 for the particular agricultural process 102, at step 230. The primary simulation model 123 produces simulated outcomes, from which observations 125 that validate outcome are identified at step 232, and for which errors are calculated using these validating observations 125 at step 234. Additionally, the method 200 identifies combinations 126 of predictors 106 at step 236 that support these observations 125 to determine how to adjust outcomes in later steps.
The method then develops a correction model 128 to identify adjustments to the primary simulation model 123 at step 240. The method applies these adjustments at step 250 to the primary simulation model 123, and uses predictive variables 106 that are analogous to, or similar to, those used in the primary simulation model 123, in order to produce modified outcomes based on the validating observations 125, combinations 126 of predictors 106, and error calculations. This induces an altered response from the primary simulation model 123 at step 260, which is intended to reduce the overall errors for the eventual outcome of the agricultural process 102.
This sequence of interoperation between the models is repeated iteratively in the method 200, as shown at step 270, until errors in the primary simulation model 123 reach an apparent minimum for the desired agricultural process 102. The present invention then generates output data 150 from the primary simulation model 123 representing outcome(s) of the agricultural process 102, at step 280.
As also noted above, while there are any number of ways in which the iterative modeling process 100 can be applied, it is most easily explained using specific examples.
In a first simplified example, a dataset 104 to be used in modeling an agricultural process 102 contains the location, plant date, and maturity date of a crop across a range of situations, along with metadata indicating the ‘relative maturity’ rating of the specific cultivar of the crop being grown in each situation. In this example, the objective is to use this dataset 104 to develop a model that predicts the amount of crop growth on a daily basis across the range of situations represented in the dataset 104, in spite of the fact that no observations of the growth of the crop during its actual lifetime (the time between planting and maturity) are available.
To start the multi-step iterative modeling process 100, the present invention selects a set of daily environmental predictors 106 that are expected to have some influence on the daily rate of growth for the crop. These predictors 106 might be selected based on expert knowledge of the problem at hand, the findings of previous research related to the problem at hand, through statistical analysis of aggregate metrics of environmental conditions over the locations and periods of the data points in the observed dataset 106 of the problem to be modeled (the planting and maturity dates, in this example), or simply through trial and error (by repeating the end-to-end process with different predictor sets, and selecting the predictor set that results in the smallest error). For example, daily minimum and maximum air temperatures are often used as predictors 106 of crop growth in traditional growing degree day (GDD) models of crop growth. If a preconceived notion of the relationship between the selected predictors 106 and the rate of crop growth is available, this relationship can be provided as an initial guess at what the true relationship is (i.e., what the primary simulation model 123 is trying to determine). However, even using an entirely random (but consistent) metric of what the crop's growth response will be to a given set of predictors 106 (for each situation and day), an initial ANN can still be trained to replicate this first-guess at the form of the primary simulation model 123. This ANN shall be referred to as the ‘growth’ ANN (or, a primary simulation model 123) in the follow-on discussion, although its form will change (relative to the first-guess form) as the multi-step iterative modeling process 100 of the present invention is applied.
Given the output of this growth ANN 123 for each situation-date, the accumulation of the growth metric it produces as output can be calculated over the course of the growing season, for each situation. These daily growth metric values can be used to calculate an accumulated metric value that best corresponds to the value at maturity, using linear regression for instance. This accumulated metric value may be dependent on relative maturity, or other factors, as desired. For instance, an accumulated metric value of 1000 might correspond to maturity for one relative maturity classification (call it class ‘A’), while an accumulated metric value of 1200 might correspond to maturity for another relative maturity classification (call it class ‘B’).
Once the accumulated metric values that best correspond to crop maturity across the range of situations have been determined, the differences between the 1) accumulated metric values in each situation on the observed date of maturity and 2) the accumulated metric value identified as best representing the date of maturity across all situations, can be calculated. For instance, an accumulated metric value of 1100 might be noted on the observed date of maturity for a particular situation of a class ‘A’ cultivar. Comparing that accumulated metric value to the previously-identified ‘best’ accumulated metric value of 1000 (for relative maturity class ‘A’) as an indicator of maturity, it is apparent that 100 too many units of the chosen metric have been accumulated between the planting and maturity dates in this particular situation. For the sake of continued discussion herein, this manner of looking at the differences will be referred to as the ‘absolute difference’ approach. Alternatively, the situation could be looked at as having accumulated 10% too many growth metric units. This manner of looking at the differences will herein be referred to as the ‘relative difference’ approach. Both approaches are acceptable ways of evaluating the error, provided the follow-on steps in the multi-step iterative modeling process 100 are treated appropriately, as detailed below.
After the error, or differences, for each situation have been determined as per above, the multi-step iterative modeling process 100 requires that the problem now be ‘turned on end’. The objective at this stage of the process 100 is to find adjustments 131 that can be made to the growth ANN's response to particular sets of environmental conditions (via the input predictors 106) that will reduce the average error 129 as measured across all situations represented in the planting and maturity date dataset 104. One way of doing this is to create a separate ‘correction’ ANN (or, correction model 128), where the target values for each situation, and each date, are set to a value that is dependent on the error 129 previously identified for each situation.
In the event where the errors 129 are looked at in terms of percentages (the ‘relative difference approach’), a ‘target adjustment ratio’ can be identified for each situation. (Note that the word ‘target’ as used herein refers to the desired, or targeted, output of the primary model for a given set of predictor values.) In the example above, where an accumulated growth metric value of 1000 has been identified as being indicative of maturity for a class ‘A’ cultivar, and where in the particular situation of the example an actual accumulated growth metric value of 1100 was noted on the actual date of maturity, this ‘target adjustment ratio’ could be set to a value equivalent to 1000/1100, or approximately 0.909. This means that adjusting the growth ANN 123 such that it produces growth metric responses that are 90.9% as large as the values it is currently producing would be beneficial (for this particular situation). The same (or analogous) growth ANN predictor values 106 for each date for this situation can then be thrown into a pool of training data for a ‘correction’ ANN 128, along with an associated target value of 0.909 for each date associated with this situation.
After carrying this step out across all situations, for all dates, the resulting dataset 104 can be used to train this correction ANN 128. Since the ANN training process seeks to minimize the collective error between the responses it produces for each situation-date and the provided target data for those same situation-dates in the training pool, the training process will preferentially adjust the correction ANN's response (i.e. its prediction of the target adjustment ratio for each situation-date) on situation-dates where such an adjustment will reduce the collective errors 129 associated with the growth ANN's output. Stated more simply, if two situation-dates in the training pool of data for the correction ANN 128 have like values for the full set of input predictors 106, but have differing target adjustment ratios of 0.9 and 1.1, the correction ANN training process may see little potential to reduce the collective error by making an adjustment to the response it produces for that particular combination of input predictor values. In other words, it will likely produce a mid-range response between these two target values, or close to 1.0 (effectively meaning it will make no change in the growth ANN's corresponding response). On the other hand, if those same situation-dates each had target adjustment ratios of 0.9, then the training process for the correction ANN 128 might see an opportunity for an adjustment that can be made in the growth ANN's response to the particular combination 126 of input predictor values that will be beneficial in both situation-dates, thus reducing the collective error.
Once the correction ANN 128 has been trained, it will produce an output value for each situation-date that is akin to the target adjustment ratio that was used in its training. For situation-dates where the target adjustment ratios in the correction ANN training dataset, for a particular combination 126 of input predictor values, preferentially favor an increased or decreased response (growth metric value) out of the growth ANN 123, the correction ANN 128 output may vary substantially on either side of 1.0. When there are as many situation-dates favoring an increased growth ANN response for a particular combination 126 of predictor values as there are situation-dates favoring a decreased response, the output of the trained correction ANN 128 for those situation-dates may be very close to 1.0. This indicates that neither increasing or decreasing the growth ANN's response for that particular combination 126 of predictor values will be likely to decrease the collective error across all situations.
In any case, once a trained correction ANN 128 is available, the predictor values 106 for each situation-date can be run through this correction ANN 128. The output of the correction ANN 128 for each situation-date (at least in this example where we're using target adjustment ratios) will be a multiplier that can be applied to current output of the growth ANN 123 for that same situation-date in order to create a new target value for that same situation-date. For example, if the growth ANN 123 had produced a response of 10 (growth metric units) for a particular situation-date, and the correction ANN 128 produced a response of 1.5 for that same situation-date, the growth ANN 123 target value for this situation-date would be reset to its original output (10) multiplied by this target adjustment ratio (1.5), such that the new target value for the situation-date when retraining the growth ANN 123 would now be 15.
Carrying out this target value adjustment process across all situation-dates in the dataset 104 results in a revised pool of training data that can be used to produce (train) a new growth ANN 123. This revised pool consists of the same (or analogous) predictor values 106 as the original, but with the target values for each situation-date modified as described above. Using this revised pool of training data, a new growth ANN 123 can be developed, after which the process of developing a new corrective ANN 128 and another pool of revised training data for yet another new growth ANN 123 can be repeated. During the initial iterations, the error in the predicted maturity dates from the successive growth ANNs 123 should decrease. After some number of iterations, the process 100 will be unable to find situation-dates where beneficial changes to the growth ANN's response can be made, resulting in the overall error asymptoting toward some plateau in the average error.
These remaining errors are often representative of aspects of the crop's growth that do not appear to be attributable to the selected predictor variables 106. In such a case, decreasing error further will generally require selection of more or different predictor variables 106 and repeating the entire process from the beginning with an altogether new growth ANN 123. (It should be noted that if there is error in the input predictor values themselves, reducing those errors can also result in reduced error in the output of the final growth ANN 123.) Another possibility with respect to these remaining errors is that the iterative model development process has settled into a growth ANN 123 that yields a local minimum in the error, as opposed to one that yields a global minimum in the model's error. Which is the case in any given application of this technique can be difficult to determine. Implementation practices that can reduce the probability of the approach settling into a form that yields only a local minimum in the errors 129 include repeated random sub-sampling of the dataset 104 during the training process, applying different initial guesses of the form of the growth ANN 123 during the training process, and also detecting and preventing physically unrealistic responses from the growth ANN 123 for a given set of input predictor values 106 (i.e., guiding or constraining the training process using scientific reasoning).
The entire multi-step iterative modeling process 100 above can be summarized in a highly simplified example, depicted in the three charts of
The dataset 104 consists of two separate ‘cases’ (or ‘situations’, in the terminology used above): Case A and Case B;
In
Under the multi-step iterative modeling process 100 outlined above, these output adjustment ratios from the correction ANN 128 can be multiplied by the first-pass' growth ANN metric values for the associated cases and dates (situation-dates). This results in the iteration (2) growth response metrics as shown in
Repeating the steps above produces yet another set of output adjustment ratios that can be used to further modify the growth response metrics for each case and day in iteration (3). This entire process 100 can be repeated until no further significant adjustments 131 are made to the growth ANN's output metric values between successive iterations (meaning that the correction ANN is producing values very near to 1.0 for all situations). Once this occurs, the relationship between the provided environmental conditions and the growth response of the crop (as indicated by the corresponding growth metric values) is fully described by the associated growth ANN 123 in this manner, at least insofar as the input predictors are able to ‘explain’ the crop's growth.
A variant on Part A of the first example is to use the previously-discussed ‘absolute difference’ approach instead of the ‘relative difference’ approach applied above. In this approach (Part B), the absolute difference between the situation-specific accumulated growth metric value at maturity vs. the average accumulated growth metric value at maturity across all similar situations can be (e.g.) divided by the number of days between planting and maturity. The result is an adjustment 131 that could be added to the daily growth metric that was produced by the growth ANN 123 of the previous iteration, for all of the days between planting and maturity for that specific situation, in order to make the accumulated growth metric at maturity for that specific situation match that which is desired. Once a correction ANN 128 is trained on this adjustment data 131, it will produce an absolute adjustment that can be made to the growth ANN's output for the specific combination 126 of input predictor values for each situation-date. These adjustments 131 can be applied to the current output of the growth ANN 123 for all situation-dates, creating new target values that can be used in combination with the original growth ANN input predictor values 106 in order to train a new growth ANN 123. As in the first example, this process of growth ANN training, followed by the development of a correction ANN 128 and adjustment 131 of the growth ANN's target values for a next iteration, can be repeated to convergence (i.e., to an asymptoting of overall errors in the growth ANN's output).
The technique applied in the first example can be expanded so as to automatically develop separate ANN models of interdependent problems from a common dataset 104. For example, if the observed end-of-season data elements of the first example are changed to be the harvest date and grain moisture on that date (instead of the maturity date), it is possible to add an additional outer iteration loop that coordinates back-and-forth iteration between the development of a growth ANN 410 to simulate the pre-maturity portion of the cropping cycle, and a ‘drydown’ ANN 420 to simulate the post-maturity drying of the crop's grain.
In such a situation, a simple model for working backwards from the harvest date and grain moisture to estimate the date on which the associated crop reached maturity can be used to begin the process. Given this estimated maturity date for each situation, development of a growth ANN 410 can proceed as per the first example. Once a growth ANN 410 has been developed, the maturity dates produced by the growth ANN 410, metadata representing the typical moisture content at maturity, and the actual harvest date and grain moisture data available in the dataset 104, can be used to develop a drydown ANN 420 in a similar manner (since the drydown problem has the same characteristic of having a cumulative dependence on conditions between the two dates). Once the drydown ANN 420 has been developed, it can be integrated backward from the harvest date and moisture again, yielding a revised (theoretically improved) estimate of the date of maturity for each situation. This revised estimate of the maturity date can then be used to train a new growth ANN 410, followed by a new drydown ANN 420, etc. The process of successive adjustment and retraining of the growth and drydown ANNs 410 and 420 can be repeated until errors from both ANNs have plateaued. The end result will be separate growth and drydown ANN models 410 and 420 that can be applied independently as desired, or in concert with one another. The growth response of corn to a few randomly-selected environmental parameters, as determined through a real-world application of the process 400 shown below in
A logical question would be how do these example results compare to what has been previously determined via prior art approaches within the agronomic research community?
The technique as discussed in the preceding examples uses ANNs for both the primary and corrective models 123 and 128 in the iterative model development process. While this is a powerful implementation of the technique, ANNs are not a necessary requirement for applying the general concept. Similar steps can be taken to develop models using simpler underlying models, as demonstrated by the simple illustrative example of
If the problem at hand is known to have dependence on multiple predictor variables 106, the technique can be continued by moving on to the next predictor variable 106 and repeating the entire process (but where the previously-identified impacts of preceding predictor variables 106 are also included in the aggregated output). Once this has been repeated across all input predictor variables 106, the entirety of the process 100 can be repeated again (i.e., starting back with the first predictor variable 106, but accounting for the previously-identified impacts of all the predictor variables 106 from the previous iteration when aggregating the output to compare against the validating data points), and again, until no further reduction in errors is achieved.
In a fourth example, a dataset 104 to be used in modeling an agricultural process 102 contains the locations of fields, an indicator of actual disease incidence in those fields, and information regarding the timeframe during which the disease incidence data are valid in each field. This timeframe could be as broad as the encapsulating plant date and maturity date for each location, for example, though the process is apt to produce better results if the timeframe during which the disease could have occurred is provided (e.g., if a disease is only able to infect a plant after flowering, limiting the timeframe for each location to the post-flowering time period is likely to be beneficial to performance).
Unlike the example of a growth model, the occurrence of a disease is not so easily broken down into a daily response that can then be summed over the period of interest to yield a total response. The occurrence or non-occurrence of a disease is likely a more complex function of the conduciveness of environmental conditions over time. In particular, unlike the crop growth case, the cumulative risk of disease occurrence may be completely reset again and again as conditions that are detrimental to infection by a pathogen occur (whereas, conversely, a plant can't ‘ungrow’).
To start the iterative modeling process 100 in this case, the present invention might select a set of e.g. hourly environmental predictors 106 that are expected to have some relationship to the conduciveness for a particular disease to occur. These input predictors 106 can be selected in any number of ways, as per earlier discussion. Though not necessary, if a preconceived notion of the relationship between the selected predictors 106 and the conduciveness to disease incidence is available, this relationship can be provided as an initial guess as to what the true relationship is (i.e., what the ‘primary model’ 123 is trying to determine). Providing such an initial guess can both speed the ANN training process, and potentially help to prevent the training process from settling into local minimums (as opposed to global minimums) in model error. The ANN trained to this initial guess (whether random or informed) as to the conduciveness of environmental conditions to disease development shall be referred to as the ‘conduciveness’ ANN in the follow-on discussion, although its form will again change as the iterative modeling process 100 of the present invention is applied. Note that this ‘conduciveness’ ANN is the ‘primary model’ of this example.
Given the output of this conduciveness ANN for each location-hour, a method for combining the location-hour information into a cumulative risk of disease incidence at the location over time must then be applied. In the prior art, this method is typically either some threshold duration of continuous conduciveness to disease development, or some other additive function for accumulating (and regularly resetting) the conduciveness information across successive times. In this ‘Part A’ example, it will be assumed that the method by which the cumulative disease risk is to be calculated from the location-hour conduciveness data output by the conduciveness ANN is already defined. Applying this predefined method to the hourly conduciveness data over some period of time prior to each hour in the dataset 104 at each location will yield a cumulative risk of disease incidence at each hour at each location.
The accumulated disease risk data that are so-defined for any given location can then be compared against the actual disease incidence data. Through this comparison, an accumulated disease risk threshold that yields the best performance in terms of predicting the actual disease incidence data can be determined. At this point, the difference between the maximum accumulated disease risk and the disease risk threshold so-defined, for each location, can be calculated. The input predictors 106 for each time and location can then be thrown into a new training pool for a ‘correction’ ANN 128, with associated target values of e.g. (a) some number slightly less than 1.0, (b) 1.0, or (c) slightly greater than 1.0, depending upon whether the accumulated disease risk is (a) overstated, (b) accurately stated, or (c) understated relative to the actual disease incidence observed. Once the pool of ‘correction’ ANN 128 training data has been developed, the correction ANN 128 can be trained as per previous examples, and the output of the correction ANN 128 for each hour at each location can be multiplied by the conduciveness ANN's current target values for each hour at each location in order to produce adjusted target values. These adjusted target values, and the original input predictors, can then be thrown into a pool of training data for a revised ‘conduciveness’ ANN, and the conduciveness ANN can be retrained.
Following previous examples, the retrained conduciveness ANN's output can be applied in the aforementioned method for combining the location-hour conduciveness information into a cumulative risk of disease incidence at each location over time. This cumulative disease risk output can be compared against actual disease incidence data once again, at which point a new threshold value for best discriminating between disease occurrence and non-occurrence can be calculated. The process of developing and retraining a ‘correction’ ANN 128 can then be repeated, as per above, and the process continued until no further improvements in the cumulative disease risk prediction relative to the actual disease incidence data are noted between successive iterations.
Note that it would be possible to skip the development and training of the ‘correction’ ANN 128 in this example, and instead just multiply the ‘conduciveness’ ANN's current target values by a number slightly less, equal to, or slightly greater than 1.0, depending upon how the cumulative disease risk at each location compares against the actual disease incidence. However, in all likelihood, the disease conduciveness ANN's response does not need to be changed for the vast majority of times and locations in order to result in an improved cumulative disease risk prediction. Using the correction ANN 128 allows the process to explore the entirety of the dataset 104, across all times and locations, for targetable opportunities where changing the disease conduciveness ANN's response to certain combinations 126 of input predictor values is most apt to improve performance of the resulting cumulative disease risk prediction as measured against actual disease incidence data. Contrast this to the brute force approach of the alternative, where the conduciveness ANN's target values are adjusted directly and equally (in a proportional sense) across all hours in the dataset 104 for any given location. It is possible that target value adjustments in opposing directions in the resulting training dataset will occur in approximately equal proportions for combinations 126 of input predictor values that have no bearing on disease risk, in which case the end result of the entire process may be essentially the same regardless of whether the correction ANN 128 is applied vs. adjusting the target values directly. However, the latter seems likely to be slower to converge, and more apt to fall into local minimums in error during the iterative training and retraining process than if a correction ANN 128 is used (among other potential issues).
Also noteworthy is that it may in fact be advantageous to the correction ANN training process to only use a targeted subset of the location-hour conduciveness data. For example, if disease does actually occur in a field, and the maximum cumulative disease risk that is calculated across all hours for a given location is also indicative of disease, then data for all of the other hours with cumulative disease risks less than the maximum do not yield any clear indication about the conduciveness for disease under those conditions. It may only take one occurrence of a high cumulative disease risk for the disease to actually occur, such that so long as there is one such hour with an adequate risk present, then we cannot definitively say that any other hours in the dataset 104 for the given location would not have also resulted in an actual incidence of the disease. As such, it may be desirable not to include those hours in the correction ANN retraining pool for the next iteration, though excluding data in this manner can result in lopsided training datasets that may pose other problems.
As with Example 2 vs. Example 1, it is possible to further improve disease prediction through the intertwined training and retraining of two different primary models within an ‘outer loop’. For instance, following Example 4, instead of defining the method by which the disease conduciveness ANN's hourly output for each location is translated into a cumulative disease risk, a second primary ANN for performing this translation could be developed. In this case, the second primary model (labeled the ‘cumulative risk’ ANN in this example) can be developed during the same process under which the ‘conduciveness’ ANN is developed. In this example, an initial version of the cumulative risk ANN can be trained to replicate the prescribed method for aggregating hourly conduciveness data into a cumulative disease risk for each hour at each location. The input predictors 106 to the cumulative risk ANN would most likely be the hourly outputs of the conduciveness ANN for each of the ‘N’ previous hours, as well as potentially some metadata-based predictors 106 that are expected to improve the ANN's ability to correctly discriminate. Differences between the ANN-based cumulative disease risk and the actual disease incidence data can then be assessed in a fashion similar to Example 4, and a correction ANN 128 developed in much the same way. However, rather than applying the correction ANN's output values back to the conduciveness ANN's target values, they could instead by applied back to the cumulative risk ANN's target values. This cumulative risk ANN can then be retrained, and the process 100 repeated until successive versions of the cumulative risk ANN exhibit no further reductions in error. At that point, the cumulative risk ANN can be held fixed (similar to how the prescribed method for defining a cumulative risk from hourly conduciveness data wasn't changed in Example 4), and the process 100 of Example 4 can be repeated to adjust the conduciveness ANN's output for each hour at each location. Once iterated to convergence again (i.e. to a minimum in errors), the process 100 can be focused back on adjusting the cumulative risk ANN again, and so forth. The entire process 100 can be repeated until no further reductions in error 129 are seen between successive iterations of this ‘outer loop’, at which point a two-step ANN-based model for disease prediction will be finalized (two-step meaning that a conduciveness ANN is first applied to each hour, and a second step cumulative risk ANN then converts this hourly conduciveness data into cumulative risk data).
As discussed earlier, input data 110, including variables 106 describing one or more of weather conditions 111, soil conditions 114, crop and seed properties 115, other environmental factors 117, and process-specific metadata 116 over a period of time, are required for both the model generation step and the subsequent application of that model.
Weather conditions data 111 might include, for example, field-level weather data 112 that occurred during a growing season, including both in-situ and remotely-sensed observations as well as assessments of weather conditions based on a combination of weather information resources. Weather conditions data may also include climatological information, and/or modeled weather data such as extended-range weather forecasts 113.
In-situ weather data may be available from one or more weather observing sensors or stations located in or near to the locations of fields used in either the initial model development or subsequent model application steps. Observational weather data from remote-sensing platforms are also available in many parts of the world, and can provide higher-resolution data with respect to certain aspects of the weather occurring at a given location over a given timeframe. Modeled weather data may be provided from numerical weather prediction (NWP) models, and may be combined with data from surface weather observing networks and/or weather radars and satellites, in order to create the best reconstruction of the weather conditions for any particular location and timeframe to be analyzed.
There are numerous NWP models available within the weather industry, and any such models may be used as sources of weather condition data for the present invention. Examples of NWP models at least include RUC (Rapid Update Cycle), WRF (Weather Research and Forecasting Model), GFS (Global Forecast System), and GEM (Global Environmental Model). Such meteorological data may be received in real-time, or after-the-fact, and may come from a number of different sources, such as from the European Centre for Medium-Range Weather Forecasting (ECMWF), Meteorological Services of Canada's (MSC) Canadian Meteorological Centre (CMC), as well as the National Oceanic and Atmospheric Administration's (NOAA) Environmental Modeling Center (EMC), among others. Additionally, internally or privately-generated “mesoscale” NWP model forecasts can be used. Such mesoscale models are typically specialized for forecasting weather with more local detail than is often found in the data provided by government weather prediction centers. These mesoscale models can be very useful for characterizing how weather conditions may vary over small distances and over small increments of time. The present invention may be configured to ingest data from all types of NWP models, regardless of whether publicly, privately, or internally provided or developed.
Input data 110 may also include information related to the soil conditions 114 or other environmental factors 117 impacting the problem to be modeled. Soil conditions data 114, including soil temperature and moisture profiles, can be obtained in a manner similar to weather condition data 111 (as discussed above). Sensor-based in-situ soil temperature and moisture data, at any given depth or over a range of depths, can serve as input predictor data 106. (If the goal of developing the model is to later use it for real-time forecasting, however, a different data resource may be needed to cover timeframes that are in the future.) Remotely-sensed soil conditions data can also serve as input predictor data, with the same caveat. Due to both the cost and maintenance needs associated with sensing soil conditions, and the common need to also have forecast data of the same conditions, one appealing source for such data are models commonly referred to as ‘land surface models’ (LSMs).
Land surface models simulate the interactions between the weather conditions, the vegetation, and the soil. Such simulations may include, but are not limited to, simulation of runoff and infiltration of precipitation with respect to the soil profile; drainage, vapor diffusion, capillary action, and root uptake of moisture within any number of layers within a soil profile; vertical diffusion and conduction of internal energy (heat) into, out of, and within the soil profile; plant growth and transpiration, including the impacts of weather and soil conditions on the properties and processes of this vegetation; and direct exchanges of moisture between the atmosphere and the soil (and plant) surfaces via evaporation, sublimation, condensation and deposition, among other processes.
It is to be understood that existing land surface models may provide the soil conditions and other environmental data for the modeling approaches of the present invention, and that existing land surface models may be customized for particular agricultural situations. Existing land surface models may be customized in many different ways, to produce particular output data streams as required by the situation being modeled. For example, a land surface model may be customized to simulate a water deficit and its impact on crop development. A land surface model may also be configured to analyze different vegetation/crop(s), and at different growth stages/heights or under different levels of stress. Other examples of possible analyses include a simulation of soil-water characteristics for an understanding of current moisture conditions in a soil system, a simulation of moisture flows emphasizing characteristics such as water transport/distribution within the soil column, horizontal variances with soil, canopy wetness, and the impact of prior applications of artificial precipitation, and a simulation of an available water holding capacity for minimizing losses of water and nutrients in the soil system.
Commonly-used land surface models include the NOAH community land surface model, originally developed jointly by the National Centers for Environmental Prediction (NCEP), the Oregon State University (OSU), the United States Air Force, and the National Weather Service's Office of Hydrology (OH). They also include the VIC model, or Variable Infiltration Capacity model, developed by the University of Washington's Land Surface Hydrology group, and the Mosaic model, developed by the National Aeronautics and Space Administration (NASA). Another example is the CLM model, or Community Land Model, a collaborative project between divisions and groups within the National Centers for Atmospheric Research (NCAR). Numerous other land surface models are available for both research and commercial applications.
As discussed above, process-specific metadata 116 may include information reflecting actual performance, realization, or implementation of one or more of crops, plants, fields, soils, and facilities in a desired agricultural process to be modeled. This metadata 116 may include more in-depth crop and seed information, for example, crop and seed metadata that including relative maturity rating, dry-down characteristics of the variety of crop or seed used in a particular field, pest and disease susceptibility or resistance, whether a crop is irrigated or non-irrigated, type and origin of seeds (such as, for example, genetically modified or non-genetically modified, and company source), amounts of additional applied minerals (e.g., nitrogen, potassium), and amounts and timing of any fungicides, herbicides, pesticides, plant growth regulators, and desiccants. Such metadata 116 may also include soils metadata such as information relating to previous crop grown on or in the soil, soil composition, presence of surface and/or subsurface drainage, nutrient availability within the soil profile, rate of water movement in both a lateral and vertical direction, presence of materials such as salts in soil strata, and farming practices such as the type(s) of tillage performed in the field, and when.
Process-specific metadata 116 might also include dynamic metadata that changes over time. For instance, photoperiod may be a factor in a particular plant process. Photoperiod changes from one location to another, and also changes over time at any given location. Photoperiod and/or the rate of change of photoperiod are often important factors in triggering transitional events in a plant's life cycle.
While simulation of a particular process will perhaps be the most common application of the present invention, it also has utility as an aid in improving understanding of the factors that influence the process to be simulated. For instance, once a trained model has been developed, one could specify hypothetical scenarios in which most input predictor values 106 are held steady, but where one predictor (or some small subset of predictors) is varied, and then analyze or visualize how the model responds to variations in the specific predictor(s). One could likewise apply the model to a large set of input predictor value combinations (such as might be present in the training dataset, for instance), and then look for patterns in how the model output may cluster or vary as a function of those input predictor values 106. An example of such an application is provided in
In the example of
A similar example in
More to the point, however, this example illustrates how it can be difficult to attribute a clear pattern in the model's output to its underlying meaning. In this case, one could argue any of the following points (and potentially others) based on the four separate panels 810, 820, 830 and 840 of
Which of these possible findings are actually correct, if any? Since there is a relatively predictable relationship between all four of these input predictor variables 106 in this particular dataset 104, it is entirely possible that only one of these findings is correct (if any), and that the similar pattern shows up for the other input predictor variables 106 only because they happen to be directly relatable to the input predictor variable 106 that is the true driver of corn growth variability. This problem of determining causality in the presence of correlated predictors is not unique to the present invention, however. Numerous techniques for attempting to address this problem exist within the scientific community.
There are a broad range of problems to which the methodology of the multi-step iterative process 100 can be applied in order to develop detailed models of complex processes using observational validating data points that may be much more limited in scope. One example includes the development of crop growth models, as noted in the examples above, where crop growth is a function of crop properties and the ever-changing environmental conditions, and where validating data might only exist at a small number of points in time during the crop's life cycle in any particular location and season. A closely related application would be the application of the present invention for predicting the timing of (or between) events that are important to the producer of the crop, or that require some specific action be taken by the producer of the crop.
Another example is the development of crop drydown models, as also noted in the examples above, where the changes in crop moisture over time are a function of the crop properties and changing environmental conditions, and where validating observational data exist only at a small number of points in time during the crop drydown process for any particular location and season. Still another example is the development of crop water use models as a function of environmental conditions based on end-of-season total crop water usage. Yet another example is the development of leaching models as a function of environmental conditions based on drain tile flow data. Another example is the development of a nutrient utilization model as a function of growth progression and environmental conditions based on one or more scientific soil samples that measure mineral, organic matter, pH, and other soil contents and properties. Another example is the development of a yield prediction model as a function of growth progression, historical environmental conditions, forecast environmental conditions, climatological environmental conditions, and other meta and environmental data based on end of season or harvest yield data. Another example is the development of a disease impact model as a function of growth progression and environmental conditions based on a count of disease-related instances per plant or area.
As noted above, the present invention also contemplates that one or both of the primary simulation model 123 and the correction model 128 may include one or more layers of machine learning and artificial intelligence models 127 and 130, respectively, to continually analyze both the input data 110 and the outcomes of those models, to build comprehensive datasets that can be used to make improvements to simulations of the agricultural processes 102. For instance, the one or more layers of machine learning and artificial intelligence 127 and 130 can be applied to draw automatic associations and identify combinations 126 among the predictors 106 in the input data 110, and identify adjustments 131 to be made to outcomes of the primary simulation model 123 based on these combinations 126.
The present invention contemplates that many different types of artificial intelligence may be employed within the scope thereof, and therefore, the one or more layers of machine learning and artificial intelligence 127 and 130 may include one or more of such types of artificial intelligence. The one or more layers of machine learning and artificial intelligence 127 and 130 may apply techniques that include, but are not limited to, k-nearest neighbor (KNN), logistic regression, support vector machines or networks (SVM), and one or more neural networks as discussed above. Regardless, the use of artificial intelligence in the process 100 of the present invention enhances the utility of the primary simulation model 123 and correction model 128 by automatically and heuristically constructing appropriate relationships, mathematical or otherwise, relative to the complex interactions between variables 106 made available for the particular agricultural process 102.
The foregoing descriptions of embodiments of the present invention have been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed, or potential applications discussed. Accordingly, many alterations, modifications and variations are possible in light of the above teachings, may be made by those having ordinary skill in the art without departing from the spirit and scope of the invention. It is therefore intended that the scope of the invention be limited not by this detailed description. For example, notwithstanding the fact that the elements of a claim are set forth below in a certain combination, it must be expressly understood that the invention includes other combinations of fewer, more or different elements, which are disclosed in above even when not initially claimed in such combinations.
The words used in this specification to describe the invention and its various embodiments are to be understood not only in the sense of their commonly defined meanings, but to include by special definition in this specification structure, material or acts beyond the scope of the commonly defined meanings. Thus if an element can be understood in the context of this specification as including more than one meaning, then its use in a claim must be understood as being generic to all possible meanings supported by the specification and by the word itself.
The definitions of the words or elements of the following claims are, therefore, defined in this specification to include not only the combination of elements which are literally set forth, but all equivalent structure, material or acts for performing substantially the same function in substantially the same way to obtain substantially the same result. In this sense it is therefore contemplated that an equivalent substitution of two or more elements may be made for any one of the elements in the claims below or that a single element may be substituted for two or more elements in a claim. Although elements may be described above as acting in certain combinations and even initially claimed as such, it is to be expressly understood that one or more elements from a claimed combination can in some cases be excised from the combination and that the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements.
The claims are thus to be understood to include what is specifically illustrated and described above, what is conceptually equivalent, what can be obviously substituted and also what essentially incorporates the essential idea of the invention.
This application is a continuation application of U.S. patent application Ser. No. 18/094,203, filed Jan. 6, 2023, which is a continuation-in-part of: U.S. patent application Ser. No. 15/049,044, filed Feb. 20, 2016, which claims priority pursuant to 35 U.S.C. 119 (e) to U.S. Provisional Patent Application Ser. No. 62/118,615, filed Feb. 20, 2015, the entire disclosures of which are incorporated herein by reference;U.S. patent application Ser. No. 17/340,774, filed Jun. 7, 2021, which is a continuation of U.S. application Ser. No. 16/179,559, filed Nov. 2, 2018, now U.S. Pat. No. 11,026,376, which is a continuation in part of U.S. patent application Ser. No. 15/883,017, filed Jan. 29, 2018, now U.S. Pat. No. 10,139,797, which is a continuation of U.S. patent application Ser. No. 15/229,968, filed Aug. 5, 2016, now U.S. Pat. No. 9,880,537, which claims priority pursuant to 35 U.S.C. 119 (e) to U.S. Provisional Patent Application Ser. No. 62/201,117, filed Aug. 5, 2015, the entire disclosures of which are incorporated herein by reference; andU.S. patent application Ser. No. 16/101,302, filed Aug. 10, 2018, which claims priority pursuant to 35 U.S.C. 119 (e) to U.S. Provisional Patent Application Ser. No. 62/543,638, filed Aug. 10, 2017, the entire disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62118615 | Feb 2015 | US | |
62201117 | Aug 2015 | US | |
62543638 | Aug 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 18094203 | Jan 2023 | US |
Child | 18545371 | US | |
Parent | 16179559 | Nov 2018 | US |
Child | 17340774 | US | |
Parent | 15229968 | Aug 2016 | US |
Child | 15883017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15049044 | Feb 2016 | US |
Child | 18094203 | US | |
Parent | 17340774 | Jun 2021 | US |
Child | 18094203 | US | |
Parent | 15883017 | Jan 2018 | US |
Child | 16179559 | US | |
Parent | 16101302 | Aug 2018 | US |
Child | 18094203 | US |