Patent ID: 12229641

DETAILED DESCRIPTION

Example methods, devices, and systems are described herein. It should be understood that the words “example” and “exemplary” are used herein to mean “serving as an example, instance, or illustration.” Any embodiment or feature described herein as being an “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or features unless stated as such. Thus, other embodiments can be utilized and other changes can be made without departing from the scope of the subject matter presented herein. Accordingly, the example embodiments described herein are not meant to be limiting. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations. For example, the separation of features into “client” and “server” components may occur in a number of ways.

Further, unless context suggests otherwise, the features illustrated in each of the figures may be used in combination with one another. Thus, the figures should be generally viewed as component aspects of one or more overall embodiments, with the understanding that not all illustrated features are necessary for each embodiment.

Additionally, any enumeration of elements, blocks, or steps in this specification or the claims is for purposes of clarity. Thus, such enumeration should not be interpreted to require or imply that these elements, blocks, or steps adhere to a particular arrangement or are carried out in a particular order.

I. OVERVIEW

The embodiments described herein relate to a technique for training a machine learning model to determine and map food flows between geographic zones to provide greater detail for determining vulnerabilities within a national commodity supply chain, critical infrastructures, and enabling spatially detailed footprint assessments. Food flows are the movement of food products between geographic zones. In some examples, the food flows may be determined for a region. In an example embodiment, regions may be at a county-by-county spatial scale.

These embodiments rely on developing a Food Flow Model. More specifically, the Food Flow Model provides a way for food flows between regions, in the form of counties and county equivalents, in the United States to be determined and mapped. The Food Flow Model is a data-driven methodology to estimate spatially explicit commodity flows. The commodity flow model integrates machine learning, network properties, production and consumption statistics, mass balance constraints, and linear programming. While the embodiments herein are focused on food flows in the United States, the modeling technique set forth may be used to determine food flows in other countries, as well as the flow of other types of commodities in the United States and elsewhere.

First, food flows are constrained to have the same network properties as those of observed food flow networks, specifically a gamma mass flux distribution. Second, the model is mass-balanced by requiring that the sum of food flows from counties within a Freight Analysis Framework (FAF) zone is equal to or greater than the food flows from that FAF zone. The performance of this approach is shown experimentally on a map depicting total commodity flow potentials between county pairs.

Information relating to commodity flows, and specifically food flows, exists generally and at a broad spatial level throughout the United States. This general information can be used to develop a Food Flow Model to estimate food flows at a more narrow spatial level where empirical flow data and information do not exist. Thereafter, the estimated food flows can be mapped to display movements between locations which a user can further manipulate. As noted, the discussed method may also be applied to determining other commodity flows between regions.

In a specific embodiment, food flows between counties can be determined and mapped. Food flows may be an example of a commodity flow for which a flow potential may be mapped. Once mapped, these food flows between counties can be used to determine vulnerabilities within a national food supply chain, critical infrastructures in food supply chains, and they can enable spatially detailed footprint assessments.

Food supply chains representing food flow potentials between county pairs offer a complex industry to map and model. The movement of food through complex supply chains within a country is referred to as a “food flow”, or a food flow network. Food flow networks depend on many factors, such as production locations, population centers, storage and transport infrastructure, and socio-political factors. It is increasingly important to evaluate food flow networks, since these coupled human-natural systems can have dramatic implications for the environment and food security. Spatially detailed food flow maps might improve understanding of food supply chain vulnerabilities and enable spatially detailed footprint assessments.

For example, a link with a relatively high food flow between two counties may indicate a large amount of truck and/or train transport of food between these counties. Therefore, disruptions to transit service in either county could put the food supply at risk. When such a vulnerability is identified, steps can be taken to develop alternative routes for food flows, such as building out parallel transportation infrastructure in these or other counties.

The United States is a key country in the global food system. The ability to grow and transport agricultural products enables the United States to provide both domestic and global food security. The United States is able to maintain its role as a key agricultural producer, consumer, and trade power due in part to its supporting institutions (e.g. agricultural subsidies, crop insurance, etc.) and infrastructure (e.g. irrigation systems, food distribution infrastructure, etc.).

Data on subnational food flows is available within the United States (US) at a coarse spatial resolution. The US Census Bureau and the Bureau of Transportation Statistics produce a Commodity Flow Survey (CFS) every five years providing data on the movement of commodities in the United States, including their value, weight, and mode of transportation, as well as the origin and destination of shipments from manufacturing, mining, wholesale, and selected retail and services establishments. The Freight Analysis Framework (FAF) builds on the CFS data to provide data on freight movement between the 132 FAF zones of the US. The FAF reports flows of coarse food commodity classes. The classes are identified by Standard Classification of Transported Goods (SCTG) codes. For example, in one embodiment, the computing system may use SCTG code 1 Animals and Fish (live), SCTG code 2 Cereal Grains (includes seed), SCTG code 3 Agricultural Products (excludes animal feed, cereal grains, and forage products), SCTG code 4 Animal Feed, Eggs, Honey, and Other Products of Animal Origin, SCTG code 5 Meat, Poultry, Fish, Seafood, and their Preparations, SCTG code 6 Milled Grain Products and Preparations, and Bakery Products, and SCTG code 7 Other Prepared Foodstuffs, Fats and Oil. This census information on food flows within the US has been used to evaluate their vulnerabilities only at a relatively coarse spatial scale that prevents identification of vulnerabilities at a county level.

The spatially-refined food flows developed herein are at a more granular scale. Accordingly, they enable future research to better understand the potential vulnerabilities and resiliencies within the US food supply chain, and advance lifecycle and footprint assessments. These spatially detailed food flows may also enable, among other uses, determining infrastructure siting, such as locating biofuel refineries or cold-chain facilities.

II. EXAMPLE COMPUTING DEVICES AND CLOUD-BASED COMPUTING ENVIRONMENTS

The machine-learning-based and linear-programming-based solutions provided by the embodiments herein rely upon one or more computing systems to model and calculate food flows at a county level. Examples of such computing systems are described below.

FIG.1is a simplified block diagram exemplifying a computing device100, illustrating some of the functional components that could be included in a computing device arranged to operate in accordance with the embodiments herein. Example computing device100could be a personal computer (PC), laptop, server, or some other type of computational platform. For purposes of simplicity, this specification may equate computing device100to a server from time to time, and may also refer to some or all of the components of computing device100as a “processing unit.” Nonetheless, it should be understood that the description of computing device100could apply to any component used for the purposes described herein.

In this example, computing device100includes a processor102, a data storage104, a network interface106, and an input/output function108, all of which may be coupled by a system bus110or a similar mechanism. Processor102can include one or more CPUs, such as one or more general purpose processors and/or one or more dedicated processors (e.g., application specific integrated circuits (ASICs), graphical processing units (GPUs), digital signal processors (DSPs), network processors, etc.).

Data storage104, in turn, may comprise volatile and/or non-volatile data storage and can be integrated in whole or in part with processor102. Data storage104can hold program instructions, executable by processor102, and data that may be manipulated by these instructions to carry out the various methods, processes, or functions described herein. Alternatively, these methods, processes, or functions can be defined by hardware, firmware, and/or any combination of hardware, firmware and software. By way of example, the data in data storage104may contain program instructions, perhaps stored on a non-transitory, computer-readable medium, executable by processor102to carry out any of the methods, processes, or functions disclosed in this specification or the accompanying drawings.

Network interface106may take the form of a wireline connection, such as an Ethernet, Token Ring, or T-carrier connection. Network interface106may also take the form of a wireless connection, such as IEEE 802.11 (Wifi), BLUETOOTH®, or a wide-area wireless connection. However, other forms of physical layer connections and other types of standard or proprietary communication protocols may be used over network interface106. Furthermore, network interface106may comprise multiple physical interfaces.

Input/output function108may facilitate user interaction with example computing device100. Input/output function108may comprise multiple types of input devices, such as a keyboard, a mouse, a touch screen, and so on. Similarly, input/output function108may comprise multiple types of output devices, such as a screen, monitor, printer, or one or more light emitting diodes (LEDs). Additionally or alternatively, example computing device100may support remote access from another device, via network interface106or via another interface (not shown), such as a universal serial bus (USB) or high-definition multimedia interface (HDMI) port.

In some embodiments, one or more computing devices may be deployed in a networked architecture. The exact physical location, connectivity, and configuration of the computing devices may be unknown and/or unimportant to client devices. Accordingly, the computing devices may be referred to as “cloud-based” devices that may be housed at various remote locations.

FIG.2depicts a cloud-based server cluster204in accordance with an example embodiment. InFIG.2, functions of computing device100may be distributed between server devices206, cluster data storage208, and cluster routers210, all of which may be connected by local cluster network212. The number of server devices, cluster data storages, and cluster routers in server cluster204may depend on the computing task(s) and/or applications assigned to server cluster204.

For example, server devices206can be configured to perform various computing tasks of computing device100. Thus, computing tasks can be distributed among one or more of server devices206. To the extent that these computing tasks can be performed in parallel, such a distribution of tasks may reduce the total time to complete these tasks and return a result.

Cluster data storage208may be data storage arrays that include disk array controllers configured to manage read and write access to groups of hard disk drives and/or solid state drives. The disk array controllers, alone or in conjunction with server devices206, may also be configured to manage backup or redundant copies of the data stored in cluster data storage308to protect against disk drive failures or other types of failures that prevent one or more of server devices206from accessing units of cluster data storage208.

Cluster routers210may include networking equipment configured to provide internal and external communications for the server clusters. For example, cluster routers210may include one or more packet-switching and/or routing devices configured to provide (i) network communications between server devices206and cluster data storage208via cluster network212, and/or (ii) network communications between the server cluster204and other devices via communication link202to network200.

Additionally, the configuration of cluster routers210can be based at least in part on the data communication requirements of server devices206and cluster data storage208, the latency and throughput of the local cluster network212, the latency, throughput, and cost of communication link202, and/or other factors that may contribute to the cost, speed, fault-tolerance, resiliency, efficiency and/or other design goals of the system architecture.

As noted, server devices206may be configured to transmit data to and receive data from cluster data storage208. This transmission and retrieval may take the form of SQL queries or other types of database queries, and the output of such queries, respectively. Additional text, images, video, and/or audio may be included as well. Furthermore, server devices306may organize the received data into web page or web application representations. Such a representation may take the form of a markup language, such as the hypertext markup language (HTML), the extensible markup language (XML), or some other standardized or proprietary format. Moreover, server devices206may have the capability of executing various types of computerized scripting languages, such as but not limited to Perl, Python, PHP Hypertext Preprocessor (PHP), Active Server Pages (ASP), JAVASCRIPT®, and so on. Computer program code written in these languages may facilitate the providing of web pages to client devices, as well as client device interaction with the web pages. Alternatively or additionally, JAVA® or other languages may be used to facilitate generation of web pages and/or to provide web application functionality.

III. EXAMPLE MODEL TRAINING METHODS

In an example embodiment, a method may include training, by a computing system, a two part hurdle model to develop a food flow model from a FAF zone spatial scale, as shown inFIG.3Ato a region spatial scale, as shown inFIG.3B. In an example embodiment the regions may be counties. The model involves the estimation of flows between county pairs. Determining flows at a county spatial scale is a much finer spatial resolution than the FAF zone spatial scale. Since the number of directed paths is determined by (n)(n−1), this means that the method for training the model must move from a system with 17,292 potential links (n=132 at FAF zone scale) to estimating 9,869,022 potential links (n=3142 at county scale). As such, flow estimation increases in complexity and computational demand. The method for developing a county level food flow includes downscaling flows, which requires estimating values (including zeros) between all node pairs (i.e. links between counties) in the system.

To downscale flows, the Food Flow Model was developed as an example embodiment of a Commodity Flow Model. The Food Flow Model is a computational algorithm that integrates machine learning, linear programming, network constraints, and mass balance.FIG.4is a schematic diagram illustrating such a modeling approach. The method can incorporate known properties of food flow networks at different spatial scales through the development of a gamma mixture hurdle model. This approach attempts to ensure that estimated mass fluxes follow a gamma distribution as in empirical food and commodity networks.

In an example embodiment, supervised learning can be used to establish a gamma mixture hurdle model at the FAF spatial scale and estimate food flow potentials between counties. This approach incorporates statistical information on economic factors of production at the county spatial scale. This can allow for food transfers to be assigned as predicted links only if food is produced and consumed in locations. Additionally, the structure of a gravity model of trade equation can be incorporated into the gamma mixture hurdle model. Data on food transfers at the FAF spatial resolution can then be used to constrain the county scale estimates. Finally, the Food Flow Model can incorporate linear programming to solve the system through the minimization of the transport distance between counties.

The Food Flow Model can determine flows between geographic zones at a county level spatial scale. Therefore, a weighted and directed matrix of commodity flows between all county pairs can be estimated from an origin county to a destination county. In an example embodiment, the approach is based on supervised-learning and linear programming methods with mass balance and commodity network properties as constraints.

More particularly, an example embodiment may include training, by a computing system, a gamma mixture hurdle model characterizing a functional relationship between output data specifying food flows between zones, and input variables representing food production and food consumption in the zones. The output data for training the gamma hurdle model may be obtained from The Freight Analysis Framework Version 4 (FAF4) database for Shipping Zones. These are non-overlapping geographic zones and may specify food flows for a particular type of food. The FAF4 database provides empirical agricultural and food commodity transfers between FAF zones. The output data may also be based on food-related energy sources and transport corridors. The input data may include statistical information on economic production within each US county such as food production and food consumption for the particular type of food. A list of data sources is shown in Table 1.

TABLE 1NameReferencesData DescriptionPurposeCommodity Flow SurveyUS Census BureauSurvey of business shipments within theThis dataset allowed forPublic Use MicrodataUnited States. FAF is largely based off thispairing of commoditydataset, though the scope of the CFStransfers to specificMicrodata is not as broad as that of theindustries.FAF dataset. However, the CFSMicrodata contains greater shipmentdetail, including the NAICS industryresponsible for the shipment.Freight AnalysisOak RidgeData detailing freight movement betweenFAF commodity transfersFramework Version 4National132 major metropolitan areas andare used to constrain countyLaboratoryremainder of states (i.e.transfers. The sum ofFAF Zones), as well as eight internationalcounty transfers must equalimport/export regions.that of the FAF Zone thatthey belong.US Census BureauUS Census BureauProvides county level economic data byThe Economic Census wasEconomic Censusesindustry, including employment and theused to determinevalue of industry output.production of processedagricultural goods and thetotal production output ofall industries usingagricultural goods asproduction inputs. Thesedata were used in ourgamma mixture hurdlemodel for link predictionand assigning flow strength.US Department ofUS Department ofAgricultural production data for each cropThe Census of AgricultureAgriculture Censuses ofAgricultureor livestock type at the county scale.was used to determineAgriculturecounty level productionvalues for each crop andlivestock. These data wereused in our gamma mixturehurdle model for linkprediction and assigningflow strength.Input-Output Accounts DataUS Bureau ofThese data detail supply chain inputDirect requirementEconomic Analysisrequirements for each industry per unit ofcoefficients from the I-Otheir output.accounts were multipliedby production data todetermine the commodityinput requirements of eachindustry, as well as endconsumers. A county'stotal input requirement of acommodity across allindustries and endconsumers represents itstotal consumption of thatgood. This is used in ourgamma mixture hurdlemodel for link predictionand assigning flow strength.County-to-County DistanceOak RidgeMatrix of distances and impedancesThe linear programmingMatrix and NetworkNationalbetween county centroids via Differentalgorithm used this matrixImpendenceLaboratorytransportation methods.to minimize transportationcost.Personal IncomeUS Bureau ofPersonal income data per county.When paired with theEconomic Analysisinput-output data tables,this was used to helpdetermine final consumerdemand of differentcommodities within acounty.Port TradeUS Census BureauValue ($) and mass (kg) trade data forTrade data to/from theseinternational ports of the United States.ports was used to bettercapture transit hubs in thegamma mixture model.

An example embodiment may analyze data related to agriculture and food goods, which are represented by SCTG codes 01-07 as shown in Table 2.

TABLE 2SCTGModel01Animals and fish (live)02Cereal grains (includes seed)03Agricultural products (excludes animal feed, cereal grains, and forageproducts)04Animal feed, eggs, honey, and other products of animal origin05Meat, poultry, fish, seafood, and their preparations06Milled grain products and preparations, and bakery products07Other prepared foodstuffs, fats and oils

In an example embodiment, other statistical information can also be used to determine the destination of food flows. The 2012 CFS Public Use Microdata and the United States Bureau of Economic Analysis input-output accounts data can be used to statistically determine the production and attraction of food within the machine learning algorithm. The CFS Microdata utilizes the same survey data as the CFS dataset but provides greater shipment detail than the standard CFS data. One additional detail included in the CFS Microdata is the North American Industry Classification System (NAICS) code of the industry producing and shipping the good. This additional information enables a computing system to relate the SCTG code of a transported commodity to the NAICS industry producing the commodity. Since the CFS Microdata does not provide a NAICS code for raw agricultural and food goods (SCTG01-04), a computing system can match the production of individual crops or livestock reported by US Department of Agriculture to the SCTG code to which it belongs. The SCTG-NAICS crosswalk table created can be paired with input-output accounts data to determine an industry's use of each SCTG as input in its production process. Input-output tables show to what degree the production (output) of one industry is used as input to another industry. Using the crosswalk table, industry output within the table can be aggregated to its corresponding SCTG code to match the FAF4 data set. This procedure can restrict data used within the machine learning algorithm to variables that have been established as relevant to the production or consumption of each SCTG good to maintain realism.

Moreover, some agricultural and business production data may be suppressed by the data collecting agency if their release may reveal information on an individual producer. In an example embodiment, suppressed data records are not removed from the data set, but instead flagged, indicating there are limited producers within that geographic area. Data suppression is more prevalent at the county spatial scale and among specialty producers. For example, artichoke (a specialty crop) production in Linn County, Oregon is flagged since reporting this data would reveal information specific to the only artichoke farmer in the county. When suppressed values arise in the data sets, the geographic and industry/product hierarchical structure of the data is exploited to estimate these suppressed values. The artichoke production of the sole farmer in Linn County, for example, was estimated by subtracting the sum of all artichoke production in Oregon counties from the state-level production value provided by US Department of Agriculture. The difference between the state total and the sum of all counties is uniformly distributed amongst all Oregon counties with suppressed artichoke production records.

Industrial production records have other data fields that can help further refine estimates of suppressed production values. US Census Bureau provides employment records for each industry at the county scale, which can be used to help estimate suppressed production output. In an example embodiment, employment data is not used directly within the model. Instead, it is used to estimate the production output (which is used within the model as an input) when this production data has been suppressed. Employment data is more widely reported and is not subject to as strict data suppression requirements as production data. For each industry, numerous instances when both production and employment data existed was exploited to establish coefficients relating the number of employees working within an industry to the production of that industry. These industry-specific coefficients were applied to employment records to estimate production when production data was suppressed within a given county. Relationships between production output and employment were established for every industry based on the large number of records where both values were provided. This allowed the computing system to estimate production for counties with few food producers.

Port trade data can be retrieved from the Census Bureau USA Trade database. The values (e.g., in dollars) and mass (e.g., in kilograms) for both sea and air ports are provided. Value flows were ultimately used due to significantly more data availability as compared to mass. While land ports are not specifically mentioned, many of the reported ports are US Customs and Border Patrol crossings on US land borders, implying that land ports are included in the database. For example, land ports exist between the US and Canada along the Northern borders of North Dakota and Montana. Commodities in the port trade database are reported using the HS coding system. For consistency with FAF flow data, a crosswalk was created to convert from HS to SCTG codes. The computing system could then determine latitude and longitude coordinates for each port. Some ports, such as a ‘Low Value (Port)’, did not have locations and were consequently removed. A spatial join was finally used to determine which county each port is in, resulting in 331 ports in 228 counties contributing inflows and outflows of SCTGs 1 through 7 in the US. This port data may be used to boost fluxes to/from transit hubs that do not directly correspond to production/consumption flows.

As previously discussed, in an example embodiment, the previously mentioned data may be used to train a gamma mixture hurdle model to estimate food flows between FAF zones, and to in turn determine food flows at more narrow spatial view. The training may involve: (i) using binary logistic regression to estimate whether corresponding food flows exist between pairs of the zones, and (ii) for pairs of the zones in which the corresponding food flows are estimated to exist, using a gamma mixture model to estimate amounts of the corresponding food flows. Each zone includes a respective set of regions and wherein the regions are non-overlapping geographic regions. Further, the regions may be counties. Thus, the respective set of regions within each zone may be a plurality of counties within each zone.

As shown inFIG.4, the training utilizes a logistic regression model on the FAF flow data. Food flow networks may exhibit connectivity distributions that follow the generalized exponential-binomial distribution across scales. This indicates that link generation can be modeled as a two-step process.

First, the probability (p) may be sampled from a prior generalized exponential distribution that a food flow exists between a particular pair of the zones. Second, a computer program can be used to obtain a value between 0 and 1. If the obtained value is greater than p then a connection is made between an origin and destination node, because a food flow is determined to exist between that particular pair of zones. Logistic regression can be used to take additional geographic and economic features of the regions into account. The binary logistic regression model can estimate the probability of a binary response based on available predictor (or independent) variables. In binary logistic regression, the outcome is coded as ‘0’ or ‘1’. Here, an outcome of ‘0’ indicates that no link is present between two nodes, while an outcome of ‘1’ indicates that a link exists.

Supervised learning can be used to determine the functional form of the logistic model for each SCTG food group. Supervised learning is a machine learning task to learn the function that maps an input to an output. This learning process infers a function from training data. Here, the available FAF zone food flow data may be used as the training data set, so 17,292 data points may be available in the training data set. Using supervised learning, a logistic regression model can be established for each SCTG food commodity group.

Example model variables are defined inFIG.5. The result of logistic regression for each SCTG food group is provided below in Table 3:

TABLE 3SCTGModel01logit(A1) = −2.60 log(D) − 0.68 log(GDPo) + 0.43 log(GDPd) + 1.44 log(POPo) +0.03 log(R1d) + 0.04 log(S1d) + 0.14 log(LIVEo) + 18.3202logit(A2) = −2.13006975 log(D) + 0.58 log(GDPo) + 0.34 log(GDPd) −0.59 log(POPo) + 0.37 log(Po) + 0.03 log(01d) + 0.14 log(C1d) +0.10 log(G1d) + 6.6303logit(A3) = −0.65 log(D) + 0.51 log(POPo) + 0.56 log(POPd) + 0.42 log(Po) +0.03 log(F4d) + 0.04 log(S6d) + 0.00 log(F1d) − 0.3004logit(A4) = −1.71 log(D) + 0.22 log(GDPo) + 0.48 log(POPd) + 0.43 log(Po) +0.05 log(11d) + 0.03 log(01d) + 0.09 log(G1d) + 0.08 log(S5d) +3.5505logit(A5) = −1.19 log(D) + 0.21 log(GDPd) + 0.43 log(POPd) + 0.19 log(F2d)+0.18 log(W1d) + 0.06 log(A1o) + 0.09 log(M1o) + 0.05 log(R2o)+0.06 log(S1o) + 0.32 log(INDo) + 0.13 log(C1o) − 0.22 log(G1o)+ 0.18 log(H1o) − 9.5606logit(A6) = −1.13 log(D) − 0.04 log(GDPo) + 0.06 log(GDPd) + 0.42 log(POPd)+0.39 log(G2d) + 0.02 log(S3d) + 0.59 log(B1o) + 0.32 log(INDo)+0.08 log(G1d) − 9.7207logit(A7) = − 1.40 log(D) − 0.72 log(POPo) + 0.01 log(A2d) + 0.02 log(C3d)+0.26 log(F2d) + 0.25 log(G3d) + 0.31 log(G2d) + 0.03 log(01d)+0.02 log(S4d) + 0.14 log(W1d) + 0.02 log(A3o) + 0.06 log(D1o)+0.07 log(F3o) + 0.02 log(O2o) + 0.02 log(S4o) + 0.03 log(S2o)+0.67 log(INDo) + 0.02 log(C2o) + 0.15 log(S5o) + 0.04 log(T1o)+0.74

As indicated inFIG.4, the logistic regression model can determine the presence or absence of a food flow link. If a food flow link is predicted to exist, then the ‘hurdle’ of the gamma mixture model has been cleared. Once the hurdle has been cleared, then a gamma regression model is used to estimate the mass transfer on that link.

The area under the curve (AUC) metric with tenfold cross-validation can be used to evaluate model performance. AUC can measure the entire two-dimensional area below the receiver operating characteristic (ROC) curve from (0, 0) to (1, 1). AUC can provide an aggregate measure of performance across all possible classification thresholds. AUC is scale invariant and classification-threshold-invariant. It can measure how well predictions are ranked, rather than their absolute values. Additionally, AUC can measure the quality of the model's predictions irrespective of what classification threshold is chosen. AUC values range from 0 to 1. A model whose predictions are 100% wrong has an AUC of 0.0; one whose predictions are 100% correct has an AUC of 1.0. A score of 0.5 is no better than random chance. There is a tradeoff between precision and overfitting. A score of 0.9 indicates a very good model, but a score of 0.9999 may be too good to be true and can indicate overfitting.

Second, as shown inFIG.4, for pairs of the zones in which the corresponding food flows are estimated to exist, the computing system uses a gamma mixture model to estimate amounts of the corresponding food flows. Food mass flux distributions may follow the gamma distribution across scales. The gamma distribution can be generated from the homogeneous Poisson process. For this reason, the food flow process can be modeled using a Poisson process. Conceptually, this implies that food commodities can be transported from the origin to the destination until k (shape of gamma distribution) effective units of the food commodity are delivered.

To understand this ‘effectiveness’, consider the example of animal feed. A feed manufacturer needs to produce a certain amount of feed containing k units of corn. The origin ships corn, but not all corn ends up in the feed. Some corn might be lost during transport, some corn might be sent to other manufacturing plants or used for other purposes besides feed, and some corn might be re-exported. So, the corn that finally reaches the feed manufacturer is only a fraction, and this fraction is the success rate. Here, this success rate is approximated as a constant within each food commodity category. The gamma regression model for each SCTG group is provided below in Table 4:

TABLE 4SCTGModel01ln(E(F1)) = −0.61 log(D) + 0.11 log(GDPo) + 0.05 log(M2d) + 0.08 log(P1d) +0.10 log(R1d) + 0.21 log(H1o) + 0.17 log(LIVEo)02In(E(F2)) = −0.62 log(D) + 0.59 log(Po) − 0.13 log(Pd) + 0.04 log(F1d) +0.31 log(C1d)03ln(E(F3)) = −1.30 log(D) + 0.23 log(POPd) + 0.28 log(Po) − 0.08 log(Pd) +0.04 log(F1d) + 12.0604ln(E(F4)) = −0.89 log(D) + 0.54 log(GDPo) − 0.65 log(POPo) + 0.46 log(Po) −0.20 log(Pd) + 0.03 log(01d) + 0.38 log(C1d)05ln(E(F5)) = −0.71 log(D) + 0.03 log(01d) + 0.33 log(Po) + 0.12 log(C1o) +0.08 log(C2o) + 0.12 log(H1o)06In(E(F6)) = −0.77 log(D) + 0.03 log(F5d) + 0.35 log(G2d) + 0.04 log(S2d) +0.08 log(S7d) + 0.12 log(G4o) + 0.05 log(G5o) + 0.12 log(Po)07ln(E(F7)) = −1.35 log(D) + 0.02 log(D2d) + 0.03 log(F5d) + 0.44 log(G3d) +0.03 log(S4d) + 0.57 log(Po) + 0.28 log(C1o)

For most food commodity groups, about 5% of the flows exceed the upper bound of the 95% confidence interval of the gamma regression model. These outliers correspond to major transportation hubs within the US (e.g. ports). Based on this, transit hubs can be considered as an additional attribute for some key nodes. The port trade data from the Census Bureau USA Trade database can be used for these hubs. The same process can be employed to generate the second gamma model with the port trade data. In this way, the gamma mixture model is developed. In the gamma mixture model, there are two gamma regression models with different feature spaces. The gamma mixture model is further based on a linear combination of gamma function regressions representing the corresponding food flows. So, the gamma mixture hurdle model combines (i) supervised learning to establish a logistic regression model for link prediction and (ii) a gamma mixture model to estimate the mass of estimated links, taking transit hubs into account.

IV. EXAMPLE APPLICATIONS OF TRAINED MODELS

Once trained, in an example embodiment, the gamma mixture hurdle model can be used to simulate food flow potentials between regions, specifically counties. Based on parameters of the gamma mixture hurdle model, the computing system can estimate: (i) whether corresponding food sub-flows exist between pairs of the regions, and (ii) for pairs of the regions in which the corresponding food sub-flows are estimated to exist, potentials of the corresponding food sub-flows.

The logistic regression model developed for each SCTG food commodity can be used to decide the topology of food flows at a region, or county, level. Continuing with the embodiment illustrated byFIG.4, if the probability that a flow between two regions is greater than a selected threshold between 0 and 1, a link is assigned. Next, the mass flux of food flows can be estimated for existing links. Gamma regression (without total importing information of international ports) can be used to estimate the expected value of the food flows between counties. Flow potentials can be generated as random variables sampled from a gamma distribution with the expected values of these food flows as the scale of the gamma model. If there exists potentials between FAF zones summing to a value smaller than reported flow between these FAF zones, the gamma regression with total importing information of international ports can be used to re-estimate the expected values between these regions. If the total of flows among regions between FAF zones are still smaller than the reported value, scaling the flow potential for the zone to be commensurate with the reported flow for the zone is used.

The system can then be solved to determine food flows between regions. As an example,FIG.6displays the output map for the food flow potentials between counties, in an example embodiment. Using a linear programming framework, the computing system can determine values for the corresponding food sub-flows between regions. To solve the system, the linear programming framework may use data specifying food flows as mass balance constraints on totals of the corresponding food sub-flows that are within each of the zones, the potential for food flow between zones as inequality constraints on the corresponding food sub-flows that are within each of the zones, and region-to-region distance data for the regions as a minimization constraint on the corresponding food sub-flows.

Given the network topology and flow potentials estimated in developing the gamma mixture hurdle model at FAF zone scale and the commodity flow potentials between regions, particularly counties, is simulated, the flows between counties can be estimated with minimization of distance as the objective function and flow values reported at FAF level as equality constraints. This is also shown inFIG.4.

In simulating flows between counties, it can be determined that the sum of the flow potentials among counties within an FAF zone may be greater than or equal to the corresponding FAF zone flows. In an example embodiment, the solution to the linear programming system minimizes transport distance while ensuring mass balance between counties modeled within an FAF zone. In this way, the approach builds on the gravity model of trade in which distance (which typically correlates with costs) is inversely related to trade flows. The region-to-region distance data may be calculated as a great circle distance between region centroids. The great circle distance is estimated by: determining a central angle of each region centroid; and multiplying Earth's radius and the central angle of each region centroid.

Note that the Food Flow Model can estimate self-loops at the county scale. This is because self-loops exist in the FAF data. For example, the remainder of California reports a flow to the remainder of California, such that the remainder of California is both the origin and destination of the flow. Therefore, corresponding food sub-flows can be estimated for a region that is both an origin region and a destination region.

In some scenarios, the map of region food flows could be displayed. A computing device may first receive information indicative of a plurality of geographic zones. The information indicative of a plurality of geographic zones may be at a county spatial scale. The geographic zones could include finer scale (e.g., higher spatial resolution) or coarser scale (e.g., lower spatial resolution). As an example, the geographic zones could include a plurality of neighborhoods, city blocks, or other types and/or sizes of geographic zones.

Based on the trained two-part hurdle model from above, the information indicative of a plurality of zones is uploaded into the model to determine a commodity flow potential for at least one pair of geographic zones of the plurality of geographic zones. The commodity flow potential for at least one pair of geographic zones may be at a county spatial scale. The county spatial scale provides greater resolution and precision for commodity flow data. This allows for it to be used to gather greater information on the industries and on the infrastructure supporting them. At the county spatial level, one pair of geographic zones linked together by the commodity flow potential is two counties. In an example embodiment, the commodity flow potential for at least one pair of geographic zones at the county spatial scale could represent a prediction of the movement of food from one county to another.

Once a commodity flow potential for at least one pair of geographic zones is determined, the results could be displayed on a display or another type of user interface. In an example embodiment, the geographic zones may be at the county spatial scale and displaying of the commodity flow potentials may be illustrated in the form of lines connecting counties on a map. In another embodiment, the display of the commodity flow potentials may be in the form of a readable output listing all of the county links and their commodity flow potentials. In various embodiments, such output information may be further manipulated by a user by way of a user interface. For example, in response to receiving specific geographic inputs at a user interface of a computing device, the computing device may output the commodity flow potentials corresponding to the specific geographic inputs. The specific geographic inputs at a user interface may be county inputs. The output information may be manipulated further still by receiving, at a user interface, a limitation on the number of commodity flow potentials. Such a limitation may restrict the number of commodity flow potentials depicted on the map. Finally, the computing system may send an alert or another type of notification to a user based on a commodity flow potential being above or below a threshold value.

In an example embodiment, after links between geographic zones at a county spatial scale have been determined, a minimum transport distance between the pair of geographic zones could be determined. Such transport distances/routes could be displayed with respect to the commodity flow potentials. In an example embodiment, a map depicting the commodity flow potential for at least one pair of geographic zones at the county spatial scale could also depict or display the shortest transport distance. In this way, the map may also be used to display food fluxes along transportation infrastructure.

In some embodiments, flow potentials of small geographic areas may be monitored by comparing the total of the flow potentials in the small geographic areas to the flow potential of a large geographic area encompassing the small geographic areas. In an example embodiment, to confirm the accuracy of flow potentials at the county spatial level, the sum of the commodity flow potentials of geographic zones at a county spatial scale within a corresponding geographic zone may be equal to or greater than a commodity flow potential for the corresponding geographic zone which the geographic zones at a county spatial scale are within.

V. EXAMPLE OPERATIONS

FIG.7is a flow chart illustrating an example embodiment. The process illustrated byFIG.7may be carried out by a computing device, such as computing device100, and/or a cluster of computing devices, such as server cluster200. However, the process can be carried out by other types of devices or device subsystems. For example, the process could be carried out by a portable computer, such as a laptop or a tablet device.

The embodiments ofFIG.7may be simplified by the removal of any one or more of the features shown therein. Further, these embodiments may be combined with features, aspects, and/or implementations of any of the previous figures or otherwise described herein.

Block700may involve training, by a computing system, a gamma mixture hurdle model characterizing a functional relationship between: output data specifying food flows between zones, and input variables representing food production and food consumption in the zones, wherein the training involves: (i) using binary logistic regression to estimate whether corresponding food flows exist between pairs of the zones, and (ii) for pairs of the zones in which the corresponding food flows are estimated to exist, using a gamma mixture model to estimate amounts of the corresponding food flows, and wherein each zone includes a respective set of regions.

Block702may involve, possibly based on parameters of the gamma mixture hurdle model, estimating, by the computing system: (i) whether corresponding food sub-flows exist between pairs of the regions, and (ii) for pairs of the regions in which the corresponding food sub-flows are estimated to exist, potentials of the corresponding food sub-flows.

Block704may involve determining, by the computing system and using a linear programming framework, values for the corresponding food sub-flows, wherein the linear programming framework uses data specifying food flows as mass balance constraints on totals of the corresponding food sub-flows that are within each of the zones, the potentials as inequality constraints on the corresponding food sub-flows that are within each of the zones, and region-to-region distance data for the regions as a minimization constraint on the corresponding food sub-flows.

In some embodiments, the zones are non-overlapping geographic zones, and the regions are non-overlapping geographic regions.

In some embodiments, the regions are counties and wherein the respective set of regions within each zone include a plurality of counties.

In some embodiments, the output data specifies food flows for a particular type of food, and wherein the input variables represent food production and food consumption for the particular type of food.

In some embodiments, the output data specifying food flows between zones is based on food-related freight movement between the zones or food-related energy sources and transport corridors.

In some embodiments the gamma mixture model is based on a linear combination of gamma function regressions representing the corresponding food flows.

In some embodiments, the region-to-region distance data is a great circle distance between region centroids, wherein the great circle distance is estimated by: (i) determining a central angle of each region centroid, and (ii) multiplying Earth's radius and the central angle of each region centroid.

In some embodiments using binary logistic regression to estimate whether corresponding food flows exist between pairs of the zones involves: (i) sampling a probability from a prior generalized exponential distribution that a food flow exists between a particular pair of the zones, (ii) selecting a random value between 0 and 1, (iii) determining that the probability is greater than the random value, and (iv) based on the probability being greater than the random value, determining that the food flow exists between the particular pair of the zones.

In some embodiments, using the gamma mixture model to estimate amounts of the corresponding food flows includes modeling the food flows using Poisson processes.

In some embodiments, estimating the potentials of the corresponding food sub-flows comprises estimating potentials of the corresponding food sub-flows for a region that is both an origin region and a destination region.

In some embodiments, estimating the potentials of the corresponding food sub-flows involves: (i) determining a flow potential for a zone based on the potentials of the corresponding food sub-flows for regions within the zone, (ii) determining that the flow potential for the zone is lower than a reported flow for the zone, and (iii) re-estimating the potentials of the corresponding food sub-flows for regions within the zone using the gamma mixture model and food importing information from international ports.

In some embodiments, estimating the potentials of the corresponding food sub-flows further involves: (i) after re-estimating the potentials of the corresponding food sub-flows for regions within the zone, determining that the flow potential for the zone is still lower than the reported flow for the zone, and (ii) scaling the flow potential for the zone to be commensurate with the reported flow for the zone.

In some embodiments, using the gamma mixture model to estimate amounts of the corresponding food flows involves an indication of whether a transit hub contributes to the corresponding food flows.

VI. ADDITIONAL EXAMPLE EMBODIMENTS

FIG.6is a map illustrating food flow potentials, according to an example embodiment. In some examples, the map may be beneficially utilized to determine key threats to agricultural production and food transport in the U.S. Threats include the exposure of the U.S. food supply chain to unsustainable water use, weather extremes, other disruptions to food production, disruptions to transport infrastructure (e.g., roads, railways, bridges, etc.), and/or degraded transportation infrastructure. The threats and risks could be further displayed on a map using one or more example methods described in this disclosure.

The exposure of the food supply chain to unsustainable water use in agriculture can be systematically determined. The indirect exposure of a consuming location to water stress in the supply chain may be quantified by utilizing the input and output of a geographic zone at a county spatial scale versus the total exposer of a consuming node.

The method described in this disclosure may also utilize high quality and/or high resolution climate information to help determine potential climate shocks to agriculture. Such determinations could additionally or alternatively be mapped on the display with the commodity flow potentials. In another embodiment, example methods may be executed to determine whether degraded infrastructure may pose a potential threat to commodity flows between geographic zone pairs. In another example embodiment, the method may include considerations of all of unsustainable water use, weather extremes and degraded infrastructure. In such scenarios, all related determinations could be displayed together (e.g., overlaid) with commodity flow potentials.

In some examples, related results may be used to pinpoint key vulnerabilities and resiliencies in the U.S. food system. As an example, scenarios could include the simulation of random attacks to the infrastructure by artificially adjusting the links established between geographic zones as detailed in this disclosure. The attacks may be further carried out on links to a geographic zone that has been determined to be at a higher risk for unsustainable water use, weather extremes, or degraded infrastructure. Thus, the impact of an attack on any particular region to the overall food supply system integrity can be determined.

VII. CONCLUSION

The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those described herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims.

The above detailed description describes various features and operations of the disclosed systems, devices, and methods with reference to the accompanying figures. The example embodiments described herein and in the figures are not meant to be limiting. Other embodiments can be utilized, and other changes can be made, without departing from the scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations.

With respect to any or all of the message flow diagrams, scenarios, and flow charts in the figures and as discussed herein, each step, block, and/or communication can represent a processing of information and/or a transmission of information in accordance with example embodiments. Alternative embodiments are included within the scope of these example embodiments. In these alternative embodiments, for example, operations described as steps, blocks, transmissions, communications, requests, responses, and/or messages can be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved. Further, more or fewer blocks and/or operations can be used with any of the message flow diagrams, scenarios, and flow charts discussed herein, and these message flow diagrams, scenarios, and flow charts can be combined with one another, in part or in whole.

A step or block that represents a processing of information can correspond to circuitry that can be configured to perform the specific logical functions of a herein-described method or technique. Alternatively or additionally, a step or block that represents a processing of information can correspond to a module, a segment, or a portion of program code (including related data). The program code can include one or more instructions executable by a processor for implementing specific logical operations or actions in the method or technique. The program code and/or related data can be stored on any type of computer readable medium such as a storage device including RAM, a disk drive, a solid state drive, or another storage medium.

The computer readable medium can also include non-transitory computer readable media such as computer readable media that store data for short periods of time like register memory and processor cache. The computer readable media can further include non-transitory computer readable media that store program code and/or data for longer periods of time. Thus, the computer readable media may include secondary or persistent long term storage, like ROM, optical or magnetic disks, solid state drives, or compact-disc read only memory (CD-ROM), for example. The computer readable media can also be any other volatile or non-volatile storage systems. A computer readable medium can be considered a computer readable storage medium, for example, or a tangible storage device.

Moreover, a step or block that represents one or more information transmissions can correspond to information transmissions between software and/or hardware modules in the same physical device. However, other information transmissions can be between software modules and/or hardware modules in different physical devices.

The particular arrangements shown in the figures should not be viewed as limiting. It should be understood that other embodiments can include more or less of each element shown in a given figure. Further, some of the illustrated elements can be combined or omitted. Yet further, an example embodiment can include elements that are not illustrated in the figures.

While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purpose of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.