US20210224311A1 - Methods and apparatus to profile geographic areas of interest - Google Patents
Methods and apparatus to profile geographic areas of interest Download PDFInfo
- Publication number
- US20210224311A1 US20210224311A1 US17/140,909 US202117140909A US2021224311A1 US 20210224311 A1 US20210224311 A1 US 20210224311A1 US 202117140909 A US202117140909 A US 202117140909A US 2021224311 A1 US2021224311 A1 US 2021224311A1
- Authority
- US
- United States
- Prior art keywords
- geographic area
- geographic
- machine learning
- model
- unknown
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000002131 composite material Substances 0.000 claims abstract description 102
- 238000002156 mixing Methods 0.000 claims abstract description 17
- 238000010801 machine learning Methods 0.000 claims description 49
- 238000003860 storage Methods 0.000 claims description 29
- 238000009826 distribution Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims 6
- 230000004931 aggregating effect Effects 0.000 claims 3
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000013179 statistical model Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 230000004927 fusion Effects 0.000 description 10
- 239000000203 mixture Substances 0.000 description 10
- 238000003066 decision tree Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000008241 heterogeneous mixture Substances 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- -1 workforce Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Definitions
- This disclosure relates generally to geography and, more particularly, to methods and apparatus to profile geographic areas of interest.
- FIG. 1 is a block diagram of an example environment having an example model trainer and an example geographic area modeler constructed in accordance with teachings of this disclosure.
- FIG. 2 is a block diagram of the example geographic area modeler of FIG. 1 .
- FIG. 3 is a flowchart representative of example machine readable instructions that may be executed to implement the example environment of FIG. 1 and apparatus of FIG. 2 .
- FIG. 4 is a flowchart representative of example machine readable instructions that may be executed to implement an example model trainer of FIG. 1 .
- FIG. 5 is a flowchart representative of example machine readable instructions that may be executed to implement the example geographic modeler of FIG. 2
- FIG. 6 is a flowchart representative of example machine readable instructions that may be executed to create a model for an unknown geographic area using the example geographic area modeler of FIG. 2 .
- FIG. 7 is an alternate flowchart representative of example machine readable instructions that may be executed to create a model for an unknown geographic area using the example geographic area modeler of FIG. 2 .
- FIG. 8 is a flowchart representative of example machine readable instructions that may be executed to create a composite model for an unknown geographic area using the example geographic area modeler of FIG. 2 .
- FIG. 9 is an alternate flowchart representative of example machine readable instructions that may be executed to create a composite model for an unknown geographic area using the example geographic area modeler of FIG. 2 .
- FIG. 10 is a block diagram of an example processing system capable of implementing the environment of FIG. 1 and the example apparatus of FIG. 2 by executing the example machine readable instructions of FIGS. 3-9 .
- Known techniques for developing geographic data and/or metadata from a geographic area of interest employ human surveyors. Such known techniques involve challenges such as, for example, high costs, low temporal resolution, and/or an inability to determine geographic data and/or metadata in many areas due to dangerous conditions and/or geopolitical factors. In particular, development of useful information regarding geographic areas of the developing world is sometimes impracticable or impossible in view of the dynamic economies of such areas.
- monitoring applications which need access to a geographic area of interest in order to monitor related geographic data and/or metadata. These monitoring applications may involve the same challenges as discussed above with regard to human surveying.
- computational learning techniques Independent of developing data for a geographic area of interest, computational learning techniques apply learning datasets (e.g., training models) to machine learning algorithms such that the machine learning algorithm may subsequently perform accurately on new, unseen examples/tasks. Training a machine learning algorithm takes time and processing power that increases exponentially with the number of models or machine learning algorithms that need to be trained.
- learning datasets e.g., training models
- a large amount of d data (e.g., geographic data, geospatial data, metadata, etc.) is required to create a learning dataset.
- An example learning dataset is a model or plurality of models for a known geographic area. Accordingly, an example learning dataset may have n models trained with d geographic data, geospatial data, and metadata for a particular geographic area (i.e., n ⁇ d).
- n ⁇ d a large number of learning datasets
- m learning datasets with n models trained with d data are used to train n models for the unknown geographic area (i.e., n ⁇ m ⁇ n ⁇ d).
- the example methods and apparatus disclosed herein provide alternatives to training models for unknown geographic areas of interest, thus avoiding training n models with m learning datasets for j unknown geographic areas of interest for t time.
- Examples disclosed herein provide advantages over data gathering techniques involving, for example, trained surveyors and/or monitoring applications. Examples disclosed herein reduce costs associated with determining geographic data and/or metadata using known techniques and provide estimations of metadata in areas difficult to sample with, for example, human surveyors, monitoring applications, and other known data gathering techniques.
- Examples disclosed herein improve estimates of geographic and/or metadata in locations where data gathering is difficult. For example, gathering information in some locations using known manual techniques requires significant costs. Examples disclosed herein decrease the uncertainty of obtaining geographic and/or metadata and/or decrease the time investments required to obtain the geographic and/or metadata, thereby improving the practicability of performing sampling in such areas.
- Example methods and apparatus disclosed herein employ aerial images and data derived from actual knowledge (“ground truth data,” such as from manually sampling or using applications to monitor a known area) of known geographic areas (e.g., cities, towns, counties, countries, sections thereof, etc.) to create statistical models for geographic areas or interest (e.g., unknown cities, sections of unknown cities, unknown sections of known cities, unknown towns, sections of unknown towns, unknown sections of known towns, etc.) that are not and/or cannot be sampled directly by human surveyors and/or monitoring applications.
- ground truth data such as from manually sampling or using applications to monitor a known area
- known geographic areas e.g., cities, towns, counties, countries, sections thereof, etc.
- statistical models for geographic areas or interest e.g., unknown cities, sections of unknown cities, unknown sections of known cities, unknown towns, sections of unknown towns, unknown sections of known towns, etc.
- Example methods and apparatus disclosed herein utilize information (e.g., geographic data, geospatial data, metadata, set top box data, etc.) known for one or more areas to provide detailed analysis and/or prediction of behavior amongst individuals in one or more other areas for which such information is not available and/or partially available.
- information e.g., geographic data, geospatial data, metadata, set top box data, etc.
- examples disclosed herein utilize known geospatial data such as geographic features (e.g., buildings, terrain, infrastructure, etc.), real estate developments (e.g., construction, housing, etc.), retail stores (e.g., number of stores within a given geographic area), resource density (e.g., water, forests, quarries, oil, minerals, labor, materials, etc.), city type (e.g., college town, international hub, port, etc.), city size and shape, and other geospatial information to develop, for example, predictive data and/or estimations for geographic areas for which little information is available.
- geographic features e.g., buildings, terrain, infrastructure, etc.
- real estate developments e.g., construction, housing, etc.
- retail stores e.g., number of stores within a given geographic area
- resource density e.g., water, forests, quarries, oil, minerals, labor, materials, etc.
- city type e.g., college town, international hub, port, etc.
- city size and shape
- examples disclosed herein utilize geographic and metadata such as, for example, aggregate or partial demographics (e.g., household size, population density, gender and age distributions, etc.), inhabitant lifestyles, wealth (e.g., income, net worth, etc.), size (e.g., distance, population, etc.), store density (e.g., inventory, number of customers, etc.), section type (e.g., city center, suburb, exurb, etc.), data obtained from the Internet, surveying, or monitoring applications, and other types of metadata to supplement, for example, predictive data and/or estimations for geographic areas for which little information is available.
- aggregate or partial demographics e.g., household size, population density, gender and age distributions, etc.
- wealth e.g., income, net worth, etc.
- size e.g., distance, population, etc.
- store density e.g., inventory, number of customers, etc.
- section type e.g., city center, suburb, exurb, etc.
- Some disclosed examples generate models for known geographic areas based on ground truth data from the known geographic areas using processes to train tree bootstrap aggregate (“bagger”) decision trees, artificial neural networks (“neural nets”), and/or other ensemble machine learning algorithms.
- the example methods and apparatus also involve generating composite models based on the generated models of known geographic areas.
- the models disclosed herein provide the ability to create accurate estimations and predictions on new, unseen geographic areas after having experienced a learning dataset (e.g., similar known geographic area(s)).
- Some examples disclosed herein match an unknown geographic area to a known geographic area.
- the matching is based on high level categorical data, such as categorical designations.
- disclosed methods and apparatus match a type of the unknown geographic area (e.g., college town, port city, international hub, etc.) with one or more known geographic areas having a similar type. That is, examples disclosed herein recognize that an unknown college town is likely to be similar to other known college towns.
- Examples herein rank a plurality of known geographic areas from best match to worst match and associate weights accordingly. For example, models associated with a better matching geographic area are more prominent than models associated with a worse matching geographic area. In the illustrated example, a better match or a best match is determined by a known geographic area having a highest amount of affinities with the geographic area of interest. Even further, examples herein blend a plurality of known geographic areas by averaging, weighted averaging, using sector voting hypothesis, data fusion, aggregation, and other known blending techniques.
- example methods and apparatus match an unknown geographic area to a generated composite model.
- the matching is based on, in the illustrated example, high level information such as categorical designations.
- the disclosed methods and apparatus match the unknown geographic area type(s) (e.g., college town, port city, international hub) with one or more composite models representing geographic areas having similar type(s). Examples include generating a prediction model for the unknown geographic area based on the generated models of the matching composite models.
- Example methods and apparatus disclosed herein determine whether known geographic areas are representative of metadata of an unknown geographic area. Some disclosed examples identify any known geographic areas for which ground truth data has been obtained (e.g., ground truth data corresponding to areas that have been manually sampled or surveyed) that share common metadata with any metadata from the unknown geographic area.
- ground truth data e.g., ground truth data corresponding to areas that have been manually sampled or surveyed
- these matching geographic areas each have statistical models associated therewith.
- Some disclosed examples take statistical models for a matching geographic area and associate the models with the unknown geographic area to predict and estimate an overall statistical model for the unknown geographic area.
- Other disclosed examples fuse each statistical models of each matching geographic area together using data fusion algorithms to predict and estimate an overall statistical model for the unknown geographic area.
- the models are representative of known granular data for the matching geographic area that is used to predict and estimate unknown granular data for the unknown geographic area.
- Examples disclosed herein generate a prediction model for unknown geographic areas based on the generated models of matching known geographic areas.
- these models are useful for predicting store densities (e.g., the number of stores in an arbitrarily sized area) and other parameters using surveying, satellite imagery, and other geospatial data.
- examples disclosed herein predict media exposure and/or media consumption information (e.g., media ratings, media audiences, etc.) based on the generated data and/or previously collected information.
- the term “geographic area” is used as a preferably inhabited geographic area of interest.
- the term “geographic area” may be replaced with city, town, village, county, island, country, or other similar term without departing from the scope of the present disclosure. Additionally, the term “geographic area” and all its equivalents include sections thereof (e.g., city section, town section, village section, county section, island section, country section, etc.) even where “sections” are referred to separately.
- known geographic area refers to a geographic area having at least a threshold amount of information required to create a statistical model of the geographic area, a geographic area previously modeled by one or more systems, a geographic area with models stored in a database, a geographic area with models accessible over a network, any combination thereof, etc.
- the term “unknown geographic area” refers to a geographic area having insufficient data (e.g., less than a threshold amount of information) to create a statistical model of the geographic area, a geographic area not previously modeled, a geographic area without models stored in a database, a geographic area without models accessible over a network, any combination thereof, etc. (e.g., rural town, new developing city, country, or the like).
- threshold amount of information is meant to mean the amount of information required for the statistical model (e.g., a learning algorithm) to perform accurately on unseen tasks (e.g., accurately predicting outcomes for unknown geographic areas of interest).
- FIG. 1 is a block diagram of an example environment 100 for estimating geographic area statistical models constructed in accordance with teachings of this disclosure.
- the example environment 100 includes a data collector 102 , a geospatial collector 104 , a metadata collector 106 , a model trainer 108 , a geographic area modeler 110 , a geographic area matcher 112 , a model mixer 114 , a model database 116 , and/or a network 118 .
- the data collector 102 aggregates geospatial data and/or metadata pertaining to a geographic area of interest.
- the example data collector 102 may collect data through the network 118 .
- the data collector 102 collects data using the geospatial collector 104 and the metadata collector 106 . Of course, other types of collectors may also be included.
- the example geospatial collector 104 collects geospatial data including, without limitation, geographic features (e.g., buildings, terrain, etc.), real estate developments (e.g., construction, housing, etc.), retail stores, resource density (e.g., water, workforce, materials, etc.), geographic area type (e.g., college town, international hub, port, etc.), geographic area shape, size, and/or other similar descriptive information.
- geospatial data are collected using satellite imagery of the geographic area. Additionally or alternatively, geospatial data may be collected via the Internet, surveys or censuses from the geographic area of interest, or monitoring applications. In the illustrated example, the geospatial data are used to create predictive models of the geographic area from which the data was obtained.
- the metadata collector 106 collects geographic data and metadata including, for example, aggregate or partial demographics (e.g., household size, population density, gender and age distributions, etc.), inhabitant lifestyles, wealth (e.g., income, net worth, etc.), size (e.g., distance, population, etc.), store density (e.g., inventory, number of customers, etc.), section type (e.g., city center, suburb, exurb, etc.), and other types of information.
- metadata are collected via the Internet, surveys or censuses from the geographic area of interest, or monitoring applications.
- the metadata are used to create predictive models of the geographic area from which the data was obtained.
- the data collector 102 collects data from a first geographic area (including geospatial data collected by the geospatial collector 104 and/or geographic and metadata collected by the metadata collector 106 ) and conveys the data related to the first geographic area to an example model trainer 108 .
- the data collector 102 may collect data from any number of areas.
- the example model trainer 108 trains a first plurality of models pertaining to the first geographic area based on the data (e.g., geospatial data, metadata, etc.) collected for the first geographic area.
- the first plurality of models are bagger decision trees.
- the first plurality of models are neural nets in some examples.
- bagger decision trees, neural nets, and other machine learning approaches may be mixed and matched (e.g., decision trees in one model, neural nets in another model, average outcome of decision trees and neural nets in one model, etc.).
- the first plurality of models are sent to the geographic area modeler 110 , in the illustrated example.
- the data collector 102 collects geospatial data and/or geographic data and metadata for a second geographic area.
- the second geographic area in these examples, may be an unknown geographic area (e.g., having less than a threshold amount of information).
- the second geographic area may be a known geographic area with unknown datasets (e.g., a known city with unknown city sections).
- the geospatial data are collected by the example geospatial collector 104 and the geographic data and metadata are collected by the example metadata collector 106 .
- the data collected relating to the second geographic area is sent to the example geographic area modeler 110 .
- the example geographic area modeler 110 creates models of the second geographic area based on determinations by the geographic area matcher 112 in some examples, and based determinations by the model mixer 114 in some examples. In operation, the example geographic area matcher 112 determines when data elements of the second geographic area are similar to data elements of one or more geographic areas.
- the example geographic area matcher 112 determines that data from the first geographic area can be used to populate, supplement, or otherwise represent the second geographic area.
- the example geographic area matcher 112 determines that data from all matching geographic areas can be used to populate, supplement, or otherwise represent the second geographic area.
- the model mixer 114 aggregates or blends data from all matching geographic area to create a composite model.
- the geographic area matcher 112 of the environment 100 is a part of the geographic area modeler 110 .
- the geographic area matcher 112 is separate from, but coupled with, the geographic area modeler 110 .
- the model mixer 114 of environment 100 is a part of the geographic area modeler 110 .
- the model mixer 114 is separate from, but coupled with, the geographic area modeler 110 .
- any models created by the geographic area modeler 110 are stored in the geographic area model database 116 .
- the geographic area model database 116 stores known geographic area models (e.g., the plurality of models for the first geographic area), composite models (e.g., the result of mixing the plurality of models for the plurality of known geographic areas matching data from the second geographic area), and unknown geographic area models (e.g., models created by the geographic area modeler 110 that estimate the unknown geographic area).
- the geographic area model database 116 , the geographic area modeler 110 (including the geographic area matcher 112 and model mixer 114 in some examples), the model trainer 108 , and the data collector 102 are all connected to each other over the network 118 .
- the network 118 may be the Internet.
- the network 118 is wireless in some examples, wired in some examples, locally hosted in further examples, public in some examples, and any combination thereof.
- geographic area models are stored off-site and accessible by components of the environment 100 through the example network 118 .
- the geographic area model database 116 is itself off-site to save memory and storage space in the environment 100 .
- FIG. 2 is a block diagram of the example geographic area modeler 110 of FIG. 1 .
- the geographic area modeler 110 includes an example geographic area manager 202 , an example model searcher 204 , the example area matcher 112 , an example trained model extractor 206 , example trained model databases 208 a , 208 b , the example model mixer 114 , and an example modeler 210 .
- the example geographic area manager 202 receives data from the example model trainer 108 , the example data collector 102 , and/or the example network 118 . In some examples, the example geographic area manager 202 receives data relating to the second geographic area. The received data are sent to the example model searcher 204 to find one or more similar known geographic areas (e.g., geographic areas previously modeled by the model trainer 108 , geographic areas with models stored in the geographic area model database 116 , geographic areas with models accessible over the network 118 , etc.). The example geographic area matcher 112 compares a plurality of known geographic areas found by the example model searcher 204 with data collected from the second geographic area to determine if any of the plurality of known geographic areas are matches. In the illustrated example, the plurality of known geographic areas are matched with the second geographic area using high level information (e.g., geographic area type, location, etc.).
- high level information e.g., geographic area type, location, etc.
- the example trained model extractor 206 separates a plurality of models for the matching known geographic area (e.g., models possibly modeled by the example model trainer 108 ) and stores the plurality of models within the trained model databases 208 a , 208 b (e.g., any number of databases may be included from a first trained model database 208 a to an nth trained model database 208 b ).
- the example model mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the matching known geographic area. In alternate examples, the model mixer 114 sends most or all of the plurality of models from the matching known geographic area to the example modeler 210 . The example modeler 210 associates the plurality of models from the one matching known geographic area with the second geographic area to create a second plurality of models for the second geographic area.
- multiple known geographic areas are determined to match the second geographic area.
- the example trained model extractor 206 separates a plurality of models for the plurality of matching known geographic areas. Subsequently, the example model mixer 114 mixes the plurality of models for the plurality of matching known geographic areas (each of which were trained by the model trainer 108 in the illustrated example) to create a composite model. In some examples, the model mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas. In alternate examples, the model mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas to create an extensive composite model. The example modeler 210 associates the composite model with the second geographic area to create a model for the second geographic area.
- the composite model is an accurate representation of the second geographic area (e.g., an unknown city where little geographic, geospatial, or metadata are known).
- the composite model provides predictions and estimations for an underdeveloped geographic area (e.g., a rural town where no geographic, geospatial, or metadata exists) in some examples.
- the composite model allows for simulation of a theoretical geographic area (e.g., a developing city, country, or the like).
- FIGS. 3-9 Flowcharts representative of example machine readable instructions for implementing the example environment 100 of FIG. 1 and the example geographic area modeler 110 of FIG. 2 are shown in FIGS. 3-9 .
- the machine readable instructions comprise a program for execution by a processor such as the processor 1012 shown in the example processor platform 1000 discussed below in connection with FIG. 10 .
- FIGS. 3-9 While an example manner of implementing the example environment of FIG. 1 and the example geographic area modeler 110 of FIG. 2 are illustrated in FIGS. 3-9 , one or more of the elements, processes and/or devices illustrated in FIGS. 3-9 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example data collector 102 , the example geospatial collector 104 , the example metadata collector 106 , the example model trainer 108 , the example geographic area modeler 100 , the example geographic area matcher 112 , the example model mixer 114 , the example geographic area model database 116 , the example network 118 , and/or, more generally, the example environment 100 of FIG.
- the example geographic area manager 202 , the example model searcher 204 , the example trained model extractor 206 , the example trained model databases 208 a , 208 b , the example modeler 210 , and/or, more generally, the example geographic area modeler 110 of FIG. 2 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware.
- FPLD field programmable logic device
- example environment 100 of FIG. 1 and the example geographic area modeler 110 of FIG. 2 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in FIGS. 3-9 , and/or may include more than one of any or all of the illustrated elements, processes and devices.
- FIGS. 3-9 Flowcharts representative of example machine readable instructions for implementing the example environment 100 of FIG. 1 and the example geographic area modeler 110 of FIG. 2 are shown in FIGS. 3-9 .
- the machine readable instructions comprise a program for execution by a processor such as the processor 1012 shown in the example processor platform 1000 discussed below in connection with FIG. 10 .
- the program may be embodied in software stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1012 , but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1012 and/or embodied in firmware or dedicated hardware.
- example program is described with reference to the flowcharts illustrated in FIG. 3-9 , many other methods of implementing the example environment 100 and the example geographic area modeler 110 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
- FIGS. 3-9 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- tangible computer readable storage medium and “tangible machine readable storage medium” are used interchangeably. Additionally or alternatively, the example processes of FIGS. 3-9 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- coded instructions e.g., computer and/or machine readable instructions
- a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which
- non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and transmission media.
- phrase “at least” is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term “comprising” is open ended.
- An example program 300 begins at block 302 .
- the example program 300 illustrates an example in which a model does not yet exist for a first geographic area, but at least a threshold amount of geographic data, geospatial data and/or metadata exists for the first geographic area.
- the example data collector 102 collects geospatial data, through the geospatial collector 104 , related to the first geographic area.
- the data collector 102 additionally collects geographic data and metadata, through the metadata collector 106 , related to the first geographic area.
- the geographic data, geospatial data and/or metadata collected for the first geographic area meets or exceeds a threshold amount of information.
- a threshold amount of information In examples where one or more models exist for the first geographic area, such that it is considered a “known geographic area,” the above mentioned examples related to collecting data may be skipped.
- the data collector 102 collects geographic data, geospatial data, and/or metadata, through the geospatial collector 104 and/or the metadata collector 104 , relating to a second geographic area. Specifically, the example data collector 102 collects any data related to the second geographic area in order create associations with the first geographic area, as will be further described in detail below. In the illustrated example, the geographic data, geospatial data, and/or metadata collected for the second geographic area is less than a threshold amount of information. Of course, the data collector 102 may additionally collect other types of relevant data relating to the first and second geographic area other than the example geographic data, geospatial data, and metadata described herein.
- the example program 300 may create a composite model using the model mixer 114 (block 304 ).
- a composite model represents an unknown geographic area better than would a single known geographic area.
- the composite model may be used to model the second geographic area.
- the composite model may be created for future use.
- the example program 300 opts out of creating a composite model (Block 304 : NO), and control proceed to block 306 .
- the data collector 102 sends its data to the model trainer 108 .
- the example model trainer 108 takes the data (e.g., geographic, geospatial, metadata, etc.) relating to the first geographic area and trains a plurality of models for the first geographic area (if no models exist for the first geographic area) (block 306 ).
- the plurality of models are bagger decisions trees in some examples.
- the plurality of models are neural nets.
- other known ensemble machine learning techniques or data mining algorithms may be used to train the plurality of models. As previously mentioned, if one or more models already exists for the first geographic area, then the above mentioned examples relating to training models may be skipped.
- the example model trainer 108 trains the plurality of models for the first geographic area at block 306 or if the plurality of models already exist for the first geographic area, the plurality of models for the first geographic area are sent to geographic area modeler 110 .
- the geographic area manager 202 of FIG. 2 receives the plurality of models for the first geographic area along with any data collected for the second geographic area from the data collector 102 .
- the example model searcher 204 searches for additional possible matching geographic areas, as will be explained in detail below. Control proceeds to block 308 .
- the example geographic area matcher 112 receives the data collected for the second geographic area from geographic area manager 202 and compares it to the plurality of models for the first geographic area trained by the example model trainer 108 (or obtained from the geographic area model database, via the network 118 , etc.) (block 308 ). If data from the first geographic area (e.g., first geographic area type: port town) matches data from the second geographic area (e.g., second geographic area type: port town), then the example modeler 210 profiles an unknown geographic area by populating a first dataset for the second geographic area using the plurality of models for the first geographic area (block 310 ). In some examples, the second geographic area is modeled as a copy of the first geographic area. Therefore, the second geographic area is modeled with the example plurality of models for the first geographic area.
- first geographic area type: port town matches data from the second geographic area (e.g., second geographic area type: port town)
- the example modeler 210 profiles an unknown geographic area by populating a first dataset for the second geographic area
- the plurality of models for the first geographic area, the plurality of models for the second geographic area, and a log of matching geographic areas are sent from the geographic area modeler 110 to the geographic area model database 116 .
- the geographic area model database 116 stores the log of matching geographic areas, models for geographic areas that have been previously modeled, and/or geographic areas that are modeled by the example environment 100 and the example geographic area modeler 110 .
- the example program 300 ceases. Of course, the example program 300 may be ran again for a different geographic area (or the same geographic area) many times thereover.
- the model searcher 204 locates a plurality of possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and the example network 118 .
- the geographic area matcher 112 determines a subset of the plurality of possible matching geographic areas that actually match with data (e.g., high level categorical data, geographic, geospatial data, metadata, etc.) from the second geographic area.
- the example program 300 opts to create a composite model from the plurality of matching geographic areas (Block 304 : YES). Control proceeds to block 312 .
- the geographic area matcher 112 locates a plurality of geographic area models from the plurality of matching geographic areas (e.g., the first geographic area, a third geographic area, a fourth geographic area, etc.).
- the example trained model extractor pulls the plurality of geographic area models from the plurality of matching geographic areas and stores them in the plurality of trained model databases 208 a , 208 b for use by the model mixer 114 .
- the model mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas.
- the model mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas to create an extensive composite model (block 312 ).
- the model mixer 114 combines the plurality of models from the plurality of matching known geographic areas using data fusion algorithms to create a composite model.
- the process of creating a composite model including a first set of models for a first matching geographic area and a second set of models for a second matching geographic area is called rebagging (e.g., a new “bag” is created consisting of bagger models from the first and second matching geographic areas).
- the composite model results in less models than each model for an individual geographic area (e.g., each geographic area has 50 models, but only 12 models are common between the plurality of matching geographic area models).
- the model mixer 114 blends the plurality of models filling in any blanks or unknowns amongst the plurality of matching known geographic areas (e.g., each geographic area has 50 models; 25 models from a first matching geographic area are combined with 25 models from a second matching geographic area).
- the composite model results in the same number of models as each model for an individual geographic area.
- the plurality of models from the plurality of matching known geographic areas are aggregated together (e.g., each geographic area has 50 models; 50 models from a first matching geographic area are combined with 50 models from a second matching geographic area).
- the composite model results in more models than each model for an individual geographic area.
- other data fusion and logic may be applied when mixing or blending the plurality of models, such as, for example, conjunction, disjunction, negation, material implication, exclusive disjunction, and the like.
- each matching geographic area may be weighted according to how similar each matching geographic area is to the geographic area of interest.
- geographic areas with higher affinities e.g., an expert match
- geographic areas with lower affinities e.g., novice match
- the models from the geographic area with higher affinities to the geographic area of interest may be selected over the models from geographic area with lower affinities to the geographic area of interest (e.g., 35 models from a first matching geographic area are combined with 15 models form a second matching geographic area).
- a new model may be created from the weighted average of the individual conflicting models (e.g., weighted averaging of models within model set). For example, if 1 out of 50 models from the first matching geographic area conflicts with the second matching geographic area, then the composite model takes the 49 non-conflicting models and a weighted average of the conflicting model. After all the plurality of models from all the matching geographic areas have been mixed according to the blending principles set out above, the example model mixer 114 sends the composite model to the example modeler 210 (block 312 ).
- the model mixer 114 allocates the plurality of models from a matching geographic area to the composite model to start the mixing process. Subsequently, the example model mixer 114 pulls an additional plurality of models from another matching geographic area (e.g., from the third geographic area) and allocates the additional plurality of models from the other matching geographic area to the composite model. This process may repeat for as many iterations as there are matching geographic areas. Of course, any of the above mentioned blending techniques, their equivalents, or alternate known techniques may be applied to the aforementioned process. After all the plurality of models from all the matching geographic areas have been allocated to the composite model, the example model mixer 114 sends the composite model to the example modeler 210 .
- the plurality of models utilized by the model mixer 114 are bagger decisions trees. In some examples, the plurality of models are neural nets. In alternate examples, other known ensemble machine learning techniques or data mining algorithms may be used as the plurality of models.
- the model mixer 114 mixes together similar ensemble machine learning techniques in some examples (e.g., mixing bagger trees with bagger trees, neural nets with neural nets, etc.). Additionally or alternatively, the model mixer 114 mixes together different ensemble machine learning techniques in some examples (e.g., mixing bagger trees with neural nets, neural nets with buckets of models, etc.).
- the example modeler 210 compares the data collected for the second geographic area to the composite model created by the example model mixer 114 (block 314 ).
- additional data if available, may be used to verify the composite model is an accurate representation of the second geographic area.
- additional iterations of the example program 300 may be needed if the verification step fails.
- the example modeler 210 populates a dataset for the second geographic area using the composite model (block 310 ).
- the second geographic area is modeled as a copy of the composite model.
- the composite model and the plurality of models from the second geographic area are sent from the geographic area modeler 110 to the geographic area model database 116 .
- the example program 300 ceases. Of course, the example program 300 may be ran again for a different geographic area (or the same geographic area) many times thereover.
- the aforementioned process may be streamlined by allocating all the plurality of models from the matching geographic areas directly to the second geographic area in some examples without making a composite model.
- This may be considered a predictive process, while creating a composite model ( 312 ) and verifying the composite model matches (block 314 ) with the second geographic area (e.g., adding a verification step) may be considered an estimation process (e.g., has a higher probability of being accurate).
- a flowchart representative of example machine readable instructions for implementing the example model trainer 108 of FIG. 1 is shown in and described with reference to FIG. 4 .
- the instructions are an example implementation of block 306 from FIG. 3 .
- the example implementation of block 306 begins at block 402 .
- the example data collector 102 collects geographic data, geospatial data, and metadata for a geographic area. If the collected geographic data, geospatial data and/or metadata meets or exceeds a threshold amount of information (block 404 : YES), then control proceeds to block 406 . Otherwise (block 404 : NO), control returns to block 402 . Any number of geographic areas may have data collected from them as needed. In the illustrated example, the environment 100 requires the data collector 102 to collect data from geographic areas. In alternate examples, geographic areas with existing data can be used at block 406 of the example implementation of block 306 .
- the data collector 102 sends collected data to the example model trainer 108 , in some examples.
- the example model trainer 108 trains a model (e.g., bagger decision tree, neural net, a combination thereof, etc.) for the geographic area based on high level categorical data, such as, for example, geospatial data collected from the data collector 102 (more specifically, the geospatial data collector 104 ). (Block 406 ).
- a model e.g., bagger decision tree, neural net, a combination thereof, etc.
- the example model trainer 108 adds metadata (or other granular data) collected from the data collector 102 , and more specifically, the metadata collector 106 , to the trained model (block 408 ). If there are additional models to train (block 410 : YES), control returns to block 406 . In the illustrated example, this process continues for a iterations, where a is the number of models per geographic area to be trained. In some examples, fifty models per geographic area are trained. However, any number of models may be trained in order to accurately reflect the geographic area of interest. In some examples, the number of models to be trained is predetermined. In some examples, a user can choose the number of models that are to be trained as needed. If there are no additional models to train (block 410 : NO), control proceeds to block 412 .
- control returns to block 402 if there are additional geographic areas for which to train models (block 412 : YES).
- this process continues for b iterations, where b is the number of geographic areas to be trained. In some examples, one thousand geographic areas are trained. However, any number of geographic areas may be trained in order to create a large heterogeneous mixture of geographic areas to choose from when estimating and predicting models for unknown geographic areas as described herein.
- the environment 100 stores the plurality of models trained by the model trainer 108 in the geographic area model database 116 .
- the geographic area model database 116 is coupled with the model trainer 108 .
- the geographic area model database 116 and the model trainer 108 may be connected via the network 118 (e.g., Internet, Intranet, Local Area Network, etc.).
- block 412 If there are no more geographic areas to train (block 412 : NO), the example implementation of block 306 ceases. It will be appreciated that the example implementation of block 306 provides a*b models to use for predicting and/or estimating a new, rural, theoretical, and/or otherwise unknown geographic area, city, town, county, country, etc.
- the example implementation of block 306 is ran prior to the example programs taught below, in order to train a plurality of models for a plurality of geographic areas where at least geographic data, geospatial data and/or metadata are known (e.g., thereby making the geographic areas “known” geographic areas for the purpose of the present disclosure).
- These trained models for the plurality of geographic areas may be stored and used in other programs, which are further detailed below.
- a flowchart representative of example readable instructions for implementing the example geographic modeler 110 of FIG. 2 is shown in and described with reference to FIG. 5 .
- the instructions are embodied in an example program 500 .
- the example program 500 begins at block 502 , where, in some examples, the geographic area manager 202 determines a first data element of a first geographic area (block 502 ).
- the example model searcher 204 searches a database for at least one of a model of the first geographic area, a first trained model corresponding to a second geographic area, and a second trained model corresponding to a third geographic area (block 504 ).
- the example geographic area matcher 112 determines whether the second geographic area and the third geographic area match the first data element of the first geographic area (block 506 ).
- the model mixer 114 then blends the first trained model and the second trained model together to represent the model of the first geographic area (block 508 ). Thereafter, the example program 500 ceases.
- an example program 600 begins at block 602 .
- an unknown geographic area e.g., new, rural, theoretical, and/or otherwise unknown geographic area, section, etc.
- the data collector 102 through the geospatial data collector 104 and the metadata collector 106 , collects any available data (e.g., high level categorical data) for the unknown geographic area (block 604 ).
- the example data collector 102 sends the available data (e.g., high level categorical data) for the unknown geographic area to the example geographic area modeler 110 , and more specifically, the example geographic area manager 202 .
- the example geographic area manager 202 analyzes the available data for the unknown geographic area, and prompts the example model searcher 204 to search at least one of the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and the example network 118 .
- the model searcher 204 searches for models that are possible matches with the available data (e.g., high level categorical data) from the unknown geographic area.
- the model searcher 204 searches for modeled geographic areas (e.g., towns, counties, countries, sections thereof, etc.) that are possible matches with the available data from the unknown geographic area. (Block 606 ).
- the geographic area type match query may be used for searching purposes.
- other datasets e.g., easily discoverable high level categorical data known to one skilled in the art may be used for searching and/or matching.
- Block 606 If no known geographic areas with similar metadata to the unknown geographic area is found (Block 606 : NO), then control proceeds to block 608 .
- other geographic area categorical data are searched for using the data collector 102 . If no more data for the unknown geographic area is available (block 608 : NO), then the example program 600 ceases. Alternatively, if more data for the unknown geographic area is available (block 608 : YES), then the example geographic area manager 202 analyzes the alternate available data for the unknown geographic area and prompts the example model searcher 204 to search for known geographic areas with data similar to the alternate available data (block 610 ). If no known geographic areas with data similar to the alternate available data are found (block 610 : NO), control returns to block 608 to search for other alternate data for matching purposes.
- the geographic area modeler 110 populates a model for the unknown geographic area by allocating all models from a matching geographic area to the unknown geographic area (block 612 ).
- the first geographic area is modeled with all the models from the matching geographic area.
- the allocating of models may be one implementation of modeling the geographic area.
- the models are representative of granular data for the matching geographic area that is used to predict and/or estimate granular data for the unknown geographic area.
- the example program 600 ceases. Of course, the example program 600 may be ran again for a different geographic area (or the same geographic area) many times thereover.
- an example program 700 begins at block 702 .
- the example geographic area manager 202 receives data collected from the example data collector 102 (e.g., geographic, geospatial and/or metadata) for an unknown (e.g., new) geographic area in order to create a model for the unknown geographic area based on the collected data.
- data collected from the example data collector 102 e.g., geographic, geospatial and/or metadata
- unknown geographic area e.g., new
- the example model searcher 204 searches for possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and the example network 118 .
- the model searcher 204 sends possible matching geographic areas to the geographic area matcher 112 .
- the example geographic area matcher 112 identifies the plurality of models associated with each geographic area. (Block 704 ). Once a first possible matching geographic area (e.g., one of the modeled known geographic areas) has been found, the example geographic area matcher 112 compares the first possible matching geographic area to the unknown geographic area.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area types (e.g., college town, port city, international hub, etc.) (block 706 ). If the unknown geographic area and the first possible matching geographic area do have similar geographic area types (Block 706 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar geographic area types (Block 706 : NO), then control proceeds to block 708 .
- similar geographic area types e.g., college town, port city, international hub, etc.
- the example geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area section types (e.g., suburb, exurb, city center, business district, etc.). If the unknown geographic area and the first possible matching geographic area do have similar geographic area section types (Block 706 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar geographic area section types (Block 706 : NO), then control proceeds to block 708 .
- similar geographic area section types e.g., suburb, exurb, city center, business district, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geography (using satellite imagery and other geospatial data, e.g., bodies of water, terrain, infrastructure, architecture, etc.) (block 708 ). If the unknown geographic area and the first possible matching geographic area do have similar geography (Block 708 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar geography (Block 708 : NO), then control proceeds to block 710 .
- similar geography using satellite imagery and other geospatial data, e.g., bodies of water, terrain, infrastructure, architecture, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar demographics (e.g., age, gender, education, etc.) (block 710 ). If the unknown geographic area and the first possible matching geographic area do have similar demographics (Block 710 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar demographics (Block 710 : NO), then control proceeds to block 712 .
- similar demographics e.g., age, gender, education, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar inhabitant lifestyles (e.g., retail density (# of outlets per block), population (additionally or alternatively household or individual) spending habits, television viewership and ratings, house sizes, lot sizes, etc.) (block 712 ). If the unknown geographic area and the first possible matching geographic area do have similar inhabitant lifestyles (Block 712 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar inhabitant lifestyles (Block 712 : NO), then control proceeds to block 714 .
- inhabitant lifestyles e.g., retail density (# of outlets per block), population (additionally or alternatively household or individual) spending habits, television viewership and ratings, house sizes, lot sizes, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar wealth distributions (e.g., income level, net worth, gross domestic product (GDP), resource density, etc.) (block 714 ). If the unknown geographic area and the first possible matching geographic area do have similar wealth distributions (Block 714 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar wealth distributions (Block 714 : NO), then control proceeds to block 716 .
- similar wealth distributions e.g., income level, net worth, gross domestic product (GDP), resource density, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar sizes (e.g., population, population density, radius, etc.) (block 716 ). If the unknown geographic area and the first possible matching geographic area do have similar sizes (Block 716 : YES), then control proceeds to block 720 . If the unknown geographic area and the first possible matching geographic area do not have similar sizes (Block 716 : NO), then control proceeds to block 718 .
- similar sizes e.g., population, population density, radius, etc.
- match queries that are apparent to one of ordinary skill in the art may be added to further match the possible matching geographic area to the unknown geographic area.
- match queries taught herein may be arranged in a different order than the example order presented in FIG. 6B .
- the present disclosure should not be limited by the queries presented herein and with regard to the example flowcharts.
- the example geographic area modeler 110 assigns all of the models associated with the first possible matching geographic area to the unknown geographic area (block 720 ). As discussed with reference to block 310 of FIG. 3 , the assigning of models may be one implementation of modeling the geographic area.
- the unknown geographic area and the first possible matching geographic area must match in geographic area type, geography, demographics, inhabitant lifestyles, wealth distribution, and size (e.g., all of the blocks 706 , 708 , 710 , 712 , 714 , and 716 : YES) before assigning the models as described above. Thereafter, the example program 700 ceases. Of course, the example program 700 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover.
- the example geographic area matcher 112 checks if there are any additional possible matching geographic areas (block 718 ). If there are other possible matching geographic areas (Block 718 : YES), the example geographic area matcher 112 locates a second possible matching geographic area (block 722 ). In some examples, the geographic area matcher 112 further identifies the plurality of models associated with the second possible matching geographic area. Thereafter, control returns to block 706 .
- this process continues for c iterations, where c is the number of geographic areas with models that the geographic area matcher 112 receives from the model searcher 204 .
- the example model searcher 204 accesses at least the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and/or the example network 118 for previously modeled geographic areas (or alternate geographic areas of interest, sections thereof, etc.).
- the example program 700 ceases. Of course, the example program 700 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover.
- the example program 600 and the example program 700 are meant to be used in connection with the example implementation of block 306 . In the illustrated example, either program 600 or program 700 is ran subsequent to example implementation of block 306 .
- the program 600 and the program 700 match an unknown (e.g., new) geographic area with a known geographic area modeled by example implementation of block 306 .
- the program 600 and the program 700 match an unknown (e.g., new) geographic area with a known geographic area modeled by another program or system.
- FIG. 8 A flowchart representative of example machine readable instructions for implementing the model mixer 114 is shown in and described with reference to FIG. 8 . Specifically, an example process 800 is embodied in FIG. 8 , which begins at block 802 .
- a composite model is to be modeled.
- a composite model is started by defining the geographic area type (e.g., college town, port city, international hub, etc.) for the composite model (block 802 ).
- the geographic area type e.g., college town, port city, international hub, etc.
- other high level categorical data may be used besides the geographic area type dataset.
- the geographic area type of the composite model is defined randomly in some examples, systematically in some examples, and/or based on an unknown geographic area to be modeled (whose geographic area type is known) in further examples.
- other methods of starting the composite model may be used without departing from the scope of the present disclosure.
- the geographic area modeler 110 uses the geographic area type defined in block 802 to start populating the composite model (block 804 ).
- one or more known geographic areas e.g., geographic areas previously modeled by the model trainer 108 , geographic areas with models stored in the geographic area model database 116 , geographic areas with models accessible over the network 118 , etc.
- the example geographic area matcher 114 determines match the geographic area type (e.g., college town, port city, international hub, etc.) of the composite model.
- the example geographic area matcher 112 finds such a geographic area (e.g., a first known geographic area) matching the geographic area type of the composite model (Block 806 : YES), then control proceeds to block 812 . If the example geographic area matcher 112 does not find any matching geographic areas (Block 806 : NO), then the control proceeds to block 808 . At block 808 , other geographic area categorical data are searched for using the data collector 102 . If no more data for the unknown geographic area is available (block 808 : NO), then the example process 800 ceases. Of course, the example process 800 may be ran again for another composite model (or the same composite model) many times thereover.
- a geographic area e.g., a first known geographic area
- the example geographic area manager 202 ( FIG. 2 ) analyzes the alternate available data for the unknown geographic area and prompts the example model searcher 204 to search for known geographic areas with data similar to the alternate available data (block 810 ). If no known geographic areas with data similar to the alternate available data are found (Block 810 : NO), control returns to block 808 to search for other alternate data for matching purposes.
- example geographic area matcher 112 finds a plurality of matching geographic areas (block 806 or 810 : YES).
- the trained model extractor 206 stores a first trained model for a first matching geographic area in the first trained model database 208 a , and stores a second trained model for a second matching geographic area in the second trained model database 208 a .
- any number of databases may be used to store the plurality of models for the plurality of matching geographic areas.
- the example model mixer 114 blends all of the plurality of models for the plurality of matching geographic areas at the same time (block 812 ). For example, the model mixer 114 ( FIG. 2 ) mixes the first trained model from the first matching geographic area with the second trained model from the second matching geographic area. In some examples, the model mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas. In some examples, the model mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas.
- the trained model extractor 206 stores a first trained model for the first known geographic area in the first trained model database 208 a , and stores a second trained model for the first known geographic area in the second trained model database 208 a .
- the model mixer 114 blends the first and second trained models for the first known geographic area with the composite model to create a blended composite model (block 812 ).
- the model mixer 114 uses data fusion algorithms in some examples and aggregates the plurality of models in some examples. Control proceeds to block 814 .
- a second known geographic area which may or may not have matched previously (e.g., at block 806 ), may now match data with the newly blended plurality of models that make up the composite model. Therefore, if there are other known geographic areas (e.g., towns, counties, islands, countries, sections thereof, etc.) (block 814 : YES) then control proceeds to block 816 . If there are no more known geographic areas (block 814 : NO), then the example process 800 ceases. Of course, the example process 800 may be ran again for another composite model (or the same composite model) many times thereover.
- other known geographic areas e.g., towns, counties, islands, countries, sections thereof, etc.
- the model searcher 204 searches for another known geographic area (e.g., the second known geographic area) that possibly matches the newly blended composite model (block 816 ). If the example geographic area matcher 112 does not find a matching geographic area (Block 816 : NO), then the example process 800 ceases. Of course, the example process 800 may be ran again for another composite model (or the same composite model) many times thereover.
- another known geographic area e.g., the second known geographic area
- the example process 800 may be ran again for another composite model (or the same composite model) many times thereover.
- the example geographic area matcher 112 finds a geographic area (e.g., the second known geographic area) that matches the blended composite model from the model searcher 204 search results (Block 816 : YES), then control returns to block 812 . In the illustrated example, this process continues for d iterations, where d is the number of matching known geographic areas (or geographic area sections) with models that the geographic area matcher 112 receives from the model searcher 204 .
- the composite model will be modeled by blending matching geographic areas' models directly with the composite model.
- each matching geographic area may be ranked and weighted according to how similar each matching geographic area is to the composite model.
- matching geographic areas may be ranked from best match to worst match and applied to the composite model in that order.
- geographic areas with higher affinities to the composite model may have more models blended than geographic areas with lower affinities to the composite model (e.g., weighted averaging of model sets).
- other data fusion and blending techniques discussed herein may be applied similarly to the composite model.
- the plurality of models may be sent to the example modeler 210 .
- the modeler 210 takes the composite model and compares it to any data available for an unknown geographic area, which may be more than the initial high level categorical data used to generate the composite model (e.g., if additional data are available or has become available).
- the composite model matches with the available data for the unknown geographic area.
- the example modeler 210 assigns the composite model to the unknown geographic area. In the illustrated example, this estimates a model for the unknown geographic area.
- the composite model does not match with the available data for the unknown geographic area.
- the composite model is stored in the geographic area model database 116 for future matching.
- the example process 800 may be ran again, an alternate program (e.g., example program 900 ) may be ran, or another known geographic area blending technique may be used as would be apparent to one having ordinary skill in the art.
- the modeler 210 need not compare the composite model to data from the unknown geographic area.
- the modeler 210 profiles an unknown geographic area by populating a model with all the plurality of models from matching known geographic areas, as discussed in an example program 900 below. This may be considered a predictive process, while creating a composite model and verifying the composite model matches with any additional information from the unknown geographic area may be considered an estimation process, which may create a presumption of being more accurate.
- the example process 900 may compare data from unknown geographic areas to known geographic areas to create a composite model.
- the example program 900 begins at block 902 .
- the example data collector 102 collects data (e.g., geographic, geospatial and/or metadata) for an unknown (e.g., new) geographic area in order to model the unknown geographic area.
- the example model searcher 204 searches for possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and the example network 118 .
- the geographic area matcher 112 identifies the plurality of models associated with each geographic area. (Block 714 ). Once a first possible matching geographic area (e.g., a known geographic area with a plurality of models) has been found, the example geographic area matcher 112 compares the first possible matching geographic area to the unknown geographic area.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area types (e.g., college town, port geographic area, international hub, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 906 ). If the unknown geographic area and the first possible matching geographic area do have similar geographic area types (Block 906 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar geographic area types (Block 906 : NO), then control proceeds to block 908 .
- similar geographic area types e.g., college town, port geographic area, international hub, etc.
- the example geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area section types (e.g., suburb, exurb, city center, business district, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area. If the unknown geographic area and the first possible matching geographic area do have similar geographic area section types, then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar geographic area section types, then control proceeds to block 908 .
- similar geographic area section types e.g., suburb, exurb, city center, business district, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geography (e.g., bodies of water, terrain, infrastructure, architecture, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 908 ). If the unknown geographic area and the first possible matching geographic area do have similar geography (Block 908 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar geography (Block 908 : NO), then control proceeds to block 910 .
- similar geography e.g., bodies of water, terrain, infrastructure, architecture, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar demographics (e.g., age, gender, education, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 910 ). If the unknown geographic area and the first possible matching geographic area do have similar demographics (Block 910 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar demographics (Block 910 : NO), then control proceeds to block 912 .
- similar demographics e.g., age, gender, education, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar inhabitant lifestyles (e.g., retail density, population spending habits, television viewership and ratings, house sizes, lot sizes, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 912 ). If the unknown geographic area and the first possible matching geographic area do have similar inhabitant lifestyles (Block 912 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar inhabitant lifestyles (Block 912 : NO), then control proceeds to block 914 .
- inhabitant lifestyles e.g., retail density, population spending habits, television viewership and ratings, house sizes, lot sizes, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar wealth distributions (e.g., income level, net worth, gross domestic product (GDP), resource density, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 914 ). If the unknown geographic area and the first possible matching geographic area do have similar wealth distributions (Block 914 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar wealth distributions (Block 914 : NO), then control proceeds to block 916 .
- similar wealth distributions e.g., income level, net worth, gross domestic product (GDP), resource density, etc.
- the geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar sizes (e.g., population, population density, radius, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 916 ). If the unknown geographic area and the first possible matching geographic area do have similar sizes (Block 916 : YES), then control proceeds to block 920 . If the unknown geographic area and the first possible matching geographic area do not have similar sizes (Block 916 : NO), then control proceeds to block 918 .
- similar sizes e.g., population, population density, radius, etc.
- match queries that are apparent to one of ordinary skill in the art may be added to further match the first possible matching geographic area to the unknown geographic area.
- match queries taught herein may be arranged in a different order than the example order presented in FIG. 9 .
- the present disclosure should not be limited by the queries presented herein and illustrated in the example flowcharts.
- the example geographic area modeler 110 assigns all of the models associated with the first possible matching geographic area to the unknown geographic area (block 920 ). As discussed with reference to block 310 of FIG. 3 , the assigning of models may be one implementation of modeling the unknown geographic area. Thereafter, control proceeds to block 918 .
- the unknown geographic area and the first possible matching geographic area must match in geographic area type, geography, demographics, inhabitant lifestyles, wealth distribution, and size (e.g., all of the blocks 906 , 908 , 910 , 912 , 914 , or 916 : YES) bore assigning the models.
- geographic areas matching the unknown geographic area may be ranked based on the number of queries that each geographic area match with the unknown geographic area. In these examples, higher ranking geographic areas may be weighted higher that lower ranking geographic areas when it comes to mixing multiple geographic areas together to create a composite model.
- the example geographic area matcher 112 checks if there are any additional possible matching geographic areas (block 918 ). If there are other possible matching geographic areas (Block 918 : YES), the example geographic area matcher 112 locates a second possible matching geographic area (block 922 ). In some examples, the geographic area matcher 112 further identifies the plurality of models associated with the second possible matching geographic area. Thereafter, control returns to block 906 .
- this process continues for e iterations, where e is the number of geographic areas with models that the geographic area matcher 112 receives from the model searcher 204 .
- the example model searcher 204 accesses at least the example data collector 102 , the example model trainer 108 , the example geographic area model database 116 , and/or the example network 118 for previously modeled geographic areas (or alternate geographic areas of interest, sections thereof, etc.).
- the unknown geographic area will be modeled by adding any matching models from a geographic area to the models for the unknown geographic area (e.g., composite model), without regard to whether the matching geographic areas match each other, in some examples.
- this process creates a plurality of models for the unknown geographic area that accurate represents the unknown geographic area.
- the example program 900 ceases. Of course, the example program 900 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover.
- the example program 800 and the example program 900 are meant to be used in connection with the example implementation of block 306 and/or the example programs 600 and 700 . In the illustrated example, either the example program 800 or program 900 is ran subsequent to example implementation of block 306 . In some examples, the example program 800 and program 900 are run concurrently with programs 600 and 700 . In some examples, the example program 800 and the program 900 match an unknown (e.g., new) geographic area with a plurality of known geographic areas modeled by example implementation of block 306 .
- FIG. 10 is a block diagram of an example processor platform 1000 capable of executing the instructions of FIGS. 3-9 to implement the example environment 100 of FIG. 1 and the example geographic area modeler 110 of FIG. 2 .
- the processor platform 1000 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPadTM), a personal digital assistant (PDA), an Internet appliance, a gaming console, a set top box, or any other type of computing device.
- a mobile device e.g., a cell phone, a smart phone, a tablet such as an iPadTM
- PDA personal digital assistant
- an Internet appliance e.g., a gaming console, a set top box, or any other type of computing device.
- the processor platform 1000 of the illustrated example includes a processor 1012 .
- the processor 1012 of the illustrated example is hardware.
- the processor 1012 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
- the processor 1012 of the illustrated example includes a local memory 1013 (e.g., a cache).
- the example processor 1012 further includes the example model trainer 108 , the example geographic area modeler 110 , the example geographic area matcher 112 , and the example model mixer 114 .
- the processor 1012 of the illustrated example is in communication with a main memory including a volatile memory 1014 and a non-volatile memory 1016 via a bus 1018 .
- the volatile memory 1014 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
- the non-volatile memory 1016 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1014 , 1016 is controlled by a memory controller.
- the processor platform 1000 of the illustrated example also includes an interface circuit 1020 .
- the interface circuit 1020 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
- one or more input devices 1022 are connected to the interface circuit 1020 .
- the input device(s) 1022 permit(s) a user to enter data and commands into the processor 1012 .
- the input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
- One or more output devices 1024 are also connected to the interface circuit 1020 of the illustrated example.
- the output devices 1024 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a light emitting diode (LED), a printer and/or speakers).
- the interface circuit 1020 of the illustrated example thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.
- the interface circuit 1020 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1026 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
- a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1026 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
- DSL digital subscriber line
- the processor platform 1000 of the illustrated example also includes one or more mass storage devices 1028 for storing software and/or data.
- mass storage devices 1028 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
- the coded instructions 1032 of FIGS. 3-9 may be stored in the local memory 1013 , in the mass storage device 1028 , in the volatile memory 1014 , in the non-volatile memory 1016 , and/or on a removable tangible computer readable storage medium such as a CD or DVD.
- the geographic area model database 116 may be contained in the local memory 1013 , in the mass storage device 1028 , in the volatile memory 1014 , in the non-volatile memory 1016 , and/or on a removable tangible computer readable storage medium such as a flash drive, external hard drive, CD, DVD, and their equivalents.
- the above disclosed example methods and apparatus profile geographic areas in such a way to reduce the costs and time investments associated with determining geographic data, geospatial data and/or metadata of unknown geographic areas.
- the example methods and apparatus further increase the certainty of geographic data, geospatial data and/or metadata applications in unknown geographic areas.
- the example methods and apparatus estimate geographic data and/or metadata more quickly than performing sampling or surveying. For example, manually sampling or surveying detailed geographic data, and/or metadata for every unknown geographic area in the world would be a monstrosity of an undertaking that is impracticable if not impossible during one's lifetime. Even further, creating statistical models based on the manually sampled or surveyed detailed geospatial data and/or metadata for every unknown geographic area requires training of the models. The above disclosed example methods and apparatus avoid training n models with m learning datasets for j unknown geographic areas of interest for t time, while providing estimations and/or predictions of the geospatial data and/or metadata in unknown geographic areas.
- example methods and apparatus provide estimates of geographic data, geospatial data and/or metadata in areas that cannot be sampled directly.
- the geographic data, geospatial data and/or metadata estimated by example methods and apparatus disclosed herein may be used to, for example, identify emerging markets and/or a developing potential for marketing goods and services to an underserved or otherwise unknown location.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Instructional Devices (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This disclosure relates generally to geography and, more particularly, to methods and apparatus to profile geographic areas of interest.
- Data indicative of geographic area features such as, for example, real estate developments, retail stores, lifestyle, aggregate or partial demographics, wealth, size, store density, resource density, city type, and other equivalent information has become a valuable resource. When these data are gathered by trained surveyors, monitoring applications, or other like data gathering techniques, it may be referred to as “ground truth” data.
-
FIG. 1 is a block diagram of an example environment having an example model trainer and an example geographic area modeler constructed in accordance with teachings of this disclosure. -
FIG. 2 is a block diagram of the example geographic area modeler ofFIG. 1 . -
FIG. 3 is a flowchart representative of example machine readable instructions that may be executed to implement the example environment ofFIG. 1 and apparatus ofFIG. 2 . -
FIG. 4 is a flowchart representative of example machine readable instructions that may be executed to implement an example model trainer ofFIG. 1 . -
FIG. 5 is a flowchart representative of example machine readable instructions that may be executed to implement the example geographic modeler ofFIG. 2 -
FIG. 6 is a flowchart representative of example machine readable instructions that may be executed to create a model for an unknown geographic area using the example geographic area modeler ofFIG. 2 . -
FIG. 7 is an alternate flowchart representative of example machine readable instructions that may be executed to create a model for an unknown geographic area using the example geographic area modeler ofFIG. 2 . -
FIG. 8 is a flowchart representative of example machine readable instructions that may be executed to create a composite model for an unknown geographic area using the example geographic area modeler ofFIG. 2 . -
FIG. 9 is an alternate flowchart representative of example machine readable instructions that may be executed to create a composite model for an unknown geographic area using the example geographic area modeler ofFIG. 2 . -
FIG. 10 is a block diagram of an example processing system capable of implementing the environment ofFIG. 1 and the example apparatus ofFIG. 2 by executing the example machine readable instructions ofFIGS. 3-9 . - Known techniques for developing geographic data and/or metadata from a geographic area of interest employ human surveyors. Such known techniques involve challenges such as, for example, high costs, low temporal resolution, and/or an inability to determine geographic data and/or metadata in many areas due to dangerous conditions and/or geopolitical factors. In particular, development of useful information regarding geographic areas of the developing world is sometimes impracticable or impossible in view of the dynamic economies of such areas.
- Other data gathering techniques involve monitoring applications, which need access to a geographic area of interest in order to monitor related geographic data and/or metadata. These monitoring applications may involve the same challenges as discussed above with regard to human surveying.
- Independent of developing data for a geographic area of interest, computational learning techniques apply learning datasets (e.g., training models) to machine learning algorithms such that the machine learning algorithm may subsequently perform accurately on new, unseen examples/tasks. Training a machine learning algorithm takes time and processing power that increases exponentially with the number of models or machine learning algorithms that need to be trained.
- Prior to the example methods and apparatus taught herein, applying computational learning techniques to the exorbitant amount of information related to geographic areas of interest with pluralities of varying datasets would be impracticable, if not impossible. In other words, n models would have to be trained with m learning datasets for j unknown geographic areas of interest for t time before the n models would be ready to perform on unknown tasks (e.g., unknown geographic areas).
- In some examples, a large amount of d data (e.g., geographic data, geospatial data, metadata, etc.) is required to create a learning dataset. An example learning dataset is a model or plurality of models for a known geographic area. Accordingly, an example learning dataset may have n models trained with d geographic data, geospatial data, and metadata for a particular geographic area (i.e., n×d). To train a model for an unknown geographic area, a large number of learning datasets (m) are required. Thus, m learning datasets with n models trained with d data are used to train n models for the unknown geographic area (i.e., n×m×n×d). If this is done for j unknown geographic areas, then the calculation increases further (i.e., j×n2×m×d). As training models takes t time, the calculation increases even more (i.e., t×j×n2×m×d). Thus, the total time it would take to train n models for j unknown geographic areas increases exponentially with the number of models n and is dependent on at least four other variables.
- For example, it would take 5,000,000,000 hours to train models for 20 unknown geographic areas if it takes 1 hour to train a model, 50 models are to be trained for each unknown geographic area, and 1000 geographic areas are used as training sets, each of which have 50 models trained with 100 data elements. In another example, if it only took 3 minutes to train a model, 3 models were to be trained for each unknown geographic area, and 3 geographic areas are used as training sets, each of which have 3 models trained with 3 data elements, it would still take 1029 minutes, or 12 hours and 9 minutes. However, using more models and more training sets drastically improves the accuracy of the performance of a learning algorithm on unseen tasks. Thus, as accuracy of a learning algorithm improves the time involved exponentially scales according to t×j×n2×m×d.
- The example methods and apparatus disclosed herein provide alternatives to training models for unknown geographic areas of interest, thus avoiding training n models with m learning datasets for j unknown geographic areas of interest for t time. Examples disclosed herein provide advantages over data gathering techniques involving, for example, trained surveyors and/or monitoring applications. Examples disclosed herein reduce costs associated with determining geographic data and/or metadata using known techniques and provide estimations of metadata in areas difficult to sample with, for example, human surveyors, monitoring applications, and other known data gathering techniques.
- Examples disclosed herein improve estimates of geographic and/or metadata in locations where data gathering is difficult. For example, gathering information in some locations using known manual techniques requires significant costs. Examples disclosed herein decrease the uncertainty of obtaining geographic and/or metadata and/or decrease the time investments required to obtain the geographic and/or metadata, thereby improving the practicability of performing sampling in such areas.
- Example methods and apparatus disclosed herein employ aerial images and data derived from actual knowledge (“ground truth data,” such as from manually sampling or using applications to monitor a known area) of known geographic areas (e.g., cities, towns, counties, countries, sections thereof, etc.) to create statistical models for geographic areas or interest (e.g., unknown cities, sections of unknown cities, unknown sections of known cities, unknown towns, sections of unknown towns, unknown sections of known towns, etc.) that are not and/or cannot be sampled directly by human surveyors and/or monitoring applications.
- Example methods and apparatus disclosed herein utilize information (e.g., geographic data, geospatial data, metadata, set top box data, etc.) known for one or more areas to provide detailed analysis and/or prediction of behavior amongst individuals in one or more other areas for which such information is not available and/or partially available. For example, examples disclosed herein utilize known geospatial data such as geographic features (e.g., buildings, terrain, infrastructure, etc.), real estate developments (e.g., construction, housing, etc.), retail stores (e.g., number of stores within a given geographic area), resource density (e.g., water, forests, quarries, oil, minerals, labor, materials, etc.), city type (e.g., college town, international hub, port, etc.), city size and shape, and other geospatial information to develop, for example, predictive data and/or estimations for geographic areas for which little information is available. Additionally or alternatively, examples disclosed herein utilize geographic and metadata such as, for example, aggregate or partial demographics (e.g., household size, population density, gender and age distributions, etc.), inhabitant lifestyles, wealth (e.g., income, net worth, etc.), size (e.g., distance, population, etc.), store density (e.g., inventory, number of customers, etc.), section type (e.g., city center, suburb, exurb, etc.), data obtained from the Internet, surveying, or monitoring applications, and other types of metadata to supplement, for example, predictive data and/or estimations for geographic areas for which little information is available.
- Some disclosed examples generate models for known geographic areas based on ground truth data from the known geographic areas using processes to train tree bootstrap aggregate (“bagger”) decision trees, artificial neural networks (“neural nets”), and/or other ensemble machine learning algorithms. The example methods and apparatus also involve generating composite models based on the generated models of known geographic areas. In more specific examples, the models disclosed herein provide the ability to create accurate estimations and predictions on new, unseen geographic areas after having experienced a learning dataset (e.g., similar known geographic area(s)).
- Some examples disclosed herein match an unknown geographic area to a known geographic area. In some examples, the matching is based on high level categorical data, such as categorical designations. For example, disclosed methods and apparatus match a type of the unknown geographic area (e.g., college town, port city, international hub, etc.) with one or more known geographic areas having a similar type. That is, examples disclosed herein recognize that an unknown college town is likely to be similar to other known college towns.
- Further examples disclosed herein rank a plurality of known geographic areas from best match to worst match and associate weights accordingly. For example, models associated with a better matching geographic area are more prominent than models associated with a worse matching geographic area. In the illustrated example, a better match or a best match is determined by a known geographic area having a highest amount of affinities with the geographic area of interest. Even further, examples herein blend a plurality of known geographic areas by averaging, weighted averaging, using sector voting hypothesis, data fusion, aggregation, and other known blending techniques.
- Additionally, example methods and apparatus match an unknown geographic area to a generated composite model. The matching is based on, in the illustrated example, high level information such as categorical designations. For example, the disclosed methods and apparatus match the unknown geographic area type(s) (e.g., college town, port city, international hub) with one or more composite models representing geographic areas having similar type(s). Examples include generating a prediction model for the unknown geographic area based on the generated models of the matching composite models.
- Example methods and apparatus disclosed herein determine whether known geographic areas are representative of metadata of an unknown geographic area. Some disclosed examples identify any known geographic areas for which ground truth data has been obtained (e.g., ground truth data corresponding to areas that have been manually sampled or surveyed) that share common metadata with any metadata from the unknown geographic area.
- These matching geographic areas, in some examples, each have statistical models associated therewith. Some disclosed examples take statistical models for a matching geographic area and associate the models with the unknown geographic area to predict and estimate an overall statistical model for the unknown geographic area. Other disclosed examples fuse each statistical models of each matching geographic area together using data fusion algorithms to predict and estimate an overall statistical model for the unknown geographic area. In the illustrated example, the models are representative of known granular data for the matching geographic area that is used to predict and estimate unknown granular data for the unknown geographic area.
- Examples disclosed herein generate a prediction model for unknown geographic areas based on the generated models of matching known geographic areas. In some disclosed examples, these models are useful for predicting store densities (e.g., the number of stores in an arbitrarily sized area) and other parameters using surveying, satellite imagery, and other geospatial data. Additional or alternatively, examples disclosed herein predict media exposure and/or media consumption information (e.g., media ratings, media audiences, etc.) based on the generated data and/or previously collected information.
- As used herein, the term “geographic area” is used as a preferably inhabited geographic area of interest. The term “geographic area” may be replaced with city, town, village, county, island, country, or other similar term without departing from the scope of the present disclosure. Additionally, the term “geographic area” and all its equivalents include sections thereof (e.g., city section, town section, village section, county section, island section, country section, etc.) even where “sections” are referred to separately.
- Further, as used herein, the term “known geographic area” refers to a geographic area having at least a threshold amount of information required to create a statistical model of the geographic area, a geographic area previously modeled by one or more systems, a geographic area with models stored in a database, a geographic area with models accessible over a network, any combination thereof, etc.
- Likewise, as used herein, the term “unknown geographic area” refers to a geographic area having insufficient data (e.g., less than a threshold amount of information) to create a statistical model of the geographic area, a geographic area not previously modeled, a geographic area without models stored in a database, a geographic area without models accessible over a network, any combination thereof, etc. (e.g., rural town, new developing city, country, or the like).
- As used herein, the term “threshold amount of information,” is meant to mean the amount of information required for the statistical model (e.g., a learning algorithm) to perform accurately on unseen tasks (e.g., accurately predicting outcomes for unknown geographic areas of interest).
-
FIG. 1 is a block diagram of anexample environment 100 for estimating geographic area statistical models constructed in accordance with teachings of this disclosure. Theexample environment 100 includes adata collector 102, ageospatial collector 104, ametadata collector 106, amodel trainer 108, ageographic area modeler 110, ageographic area matcher 112, amodel mixer 114, amodel database 116, and/or anetwork 118. In some examples, thedata collector 102 aggregates geospatial data and/or metadata pertaining to a geographic area of interest. Theexample data collector 102 may collect data through thenetwork 118. In some examples, thedata collector 102 collects data using thegeospatial collector 104 and themetadata collector 106. Of course, other types of collectors may also be included. - The example
geospatial collector 104 collects geospatial data including, without limitation, geographic features (e.g., buildings, terrain, etc.), real estate developments (e.g., construction, housing, etc.), retail stores, resource density (e.g., water, workforce, materials, etc.), geographic area type (e.g., college town, international hub, port, etc.), geographic area shape, size, and/or other similar descriptive information. In some examples, geospatial data are collected using satellite imagery of the geographic area. Additionally or alternatively, geospatial data may be collected via the Internet, surveys or censuses from the geographic area of interest, or monitoring applications. In the illustrated example, the geospatial data are used to create predictive models of the geographic area from which the data was obtained. - In the example of
FIG. 1 , themetadata collector 106 collects geographic data and metadata including, for example, aggregate or partial demographics (e.g., household size, population density, gender and age distributions, etc.), inhabitant lifestyles, wealth (e.g., income, net worth, etc.), size (e.g., distance, population, etc.), store density (e.g., inventory, number of customers, etc.), section type (e.g., city center, suburb, exurb, etc.), and other types of information. In some examples, metadata are collected via the Internet, surveys or censuses from the geographic area of interest, or monitoring applications. In the illustrated example, the metadata are used to create predictive models of the geographic area from which the data was obtained. - In some examples, the
data collector 102 collects data from a first geographic area (including geospatial data collected by thegeospatial collector 104 and/or geographic and metadata collected by the metadata collector 106) and conveys the data related to the first geographic area to anexample model trainer 108. Of course, thedata collector 102 may collect data from any number of areas. - The
example model trainer 108 trains a first plurality of models pertaining to the first geographic area based on the data (e.g., geospatial data, metadata, etc.) collected for the first geographic area. In some examples, the first plurality of models are bagger decision trees. The first plurality of models are neural nets in some examples. Of course, other machine learning approaches may be utilized without departing from the scope of the present disclosure. Even further, bagger decision trees, neural nets, and other machine learning approaches may be mixed and matched (e.g., decision trees in one model, neural nets in another model, average outcome of decision trees and neural nets in one model, etc.). After the first plurality of models have been trained, the first plurality of models are sent to thegeographic area modeler 110, in the illustrated example. - In some examples, the
data collector 102 collects geospatial data and/or geographic data and metadata for a second geographic area. The second geographic area, in these examples, may be an unknown geographic area (e.g., having less than a threshold amount of information). In some examples, the second geographic area may be a known geographic area with unknown datasets (e.g., a known city with unknown city sections). As previously discussed, the geospatial data are collected by the examplegeospatial collector 104 and the geographic data and metadata are collected by theexample metadata collector 106. The data collected relating to the second geographic area is sent to the examplegeographic area modeler 110. - The example
geographic area modeler 110 creates models of the second geographic area based on determinations by thegeographic area matcher 112 in some examples, and based determinations by themodel mixer 114 in some examples. In operation, the examplegeographic area matcher 112 determines when data elements of the second geographic area are similar to data elements of one or more geographic areas. - In some examples, when the second geographic area matches with the first geographic area in at least one data element, the example
geographic area matcher 112 determines that data from the first geographic area can be used to populate, supplement, or otherwise represent the second geographic area. - In some examples, when the second geographic area matches with more than one geographic area in at least one data element, the example
geographic area matcher 112 determines that data from all matching geographic areas can be used to populate, supplement, or otherwise represent the second geographic area. In such examples, themodel mixer 114 aggregates or blends data from all matching geographic area to create a composite model. - In the illustrated example, the
geographic area matcher 112 of theenvironment 100 is a part of thegeographic area modeler 110. In some examples, thegeographic area matcher 112 is separate from, but coupled with, thegeographic area modeler 110. In some examples themodel mixer 114 ofenvironment 100 is a part of thegeographic area modeler 110. In alternate examples, themodel mixer 114 is separate from, but coupled with, thegeographic area modeler 110. - In some examples, any models created by the
geographic area modeler 110 are stored in the geographicarea model database 116. The geographicarea model database 116 stores known geographic area models (e.g., the plurality of models for the first geographic area), composite models (e.g., the result of mixing the plurality of models for the plurality of known geographic areas matching data from the second geographic area), and unknown geographic area models (e.g., models created by thegeographic area modeler 110 that estimate the unknown geographic area). - In some examples, the geographic
area model database 116, the geographic area modeler 110 (including thegeographic area matcher 112 andmodel mixer 114 in some examples), themodel trainer 108, and thedata collector 102 are all connected to each other over thenetwork 118. For example, thenetwork 118 may be the Internet. Thenetwork 118 is wireless in some examples, wired in some examples, locally hosted in further examples, public in some examples, and any combination thereof. In some examples, geographic area models are stored off-site and accessible by components of theenvironment 100 through theexample network 118. In some examples, the geographicarea model database 116 is itself off-site to save memory and storage space in theenvironment 100. -
FIG. 2 is a block diagram of the examplegeographic area modeler 110 ofFIG. 1 . Thegeographic area modeler 110 includes an examplegeographic area manager 202, anexample model searcher 204, theexample area matcher 112, an example trainedmodel extractor 206, example trainedmodel databases example model mixer 114, and anexample modeler 210. - The example
geographic area manager 202 receives data from theexample model trainer 108, theexample data collector 102, and/or theexample network 118. In some examples, the examplegeographic area manager 202 receives data relating to the second geographic area. The received data are sent to theexample model searcher 204 to find one or more similar known geographic areas (e.g., geographic areas previously modeled by themodel trainer 108, geographic areas with models stored in the geographicarea model database 116, geographic areas with models accessible over thenetwork 118, etc.). The examplegeographic area matcher 112 compares a plurality of known geographic areas found by theexample model searcher 204 with data collected from the second geographic area to determine if any of the plurality of known geographic areas are matches. In the illustrated example, the plurality of known geographic areas are matched with the second geographic area using high level information (e.g., geographic area type, location, etc.). - In some examples, only one known geographic area is determined to match the second geographic area. In some examples, the example trained
model extractor 206 separates a plurality of models for the matching known geographic area (e.g., models possibly modeled by the example model trainer 108) and stores the plurality of models within the trainedmodel databases model database 208 a to an nth trainedmodel database 208 b). - The
example model mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the matching known geographic area. In alternate examples, themodel mixer 114 sends most or all of the plurality of models from the matching known geographic area to theexample modeler 210. Theexample modeler 210 associates the plurality of models from the one matching known geographic area with the second geographic area to create a second plurality of models for the second geographic area. - In some examples, multiple known geographic areas are determined to match the second geographic area. The example trained
model extractor 206 separates a plurality of models for the plurality of matching known geographic areas. Subsequently, theexample model mixer 114 mixes the plurality of models for the plurality of matching known geographic areas (each of which were trained by themodel trainer 108 in the illustrated example) to create a composite model. In some examples, themodel mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas. In alternate examples, themodel mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas to create an extensive composite model. Theexample modeler 210 associates the composite model with the second geographic area to create a model for the second geographic area. - In the illustrated example, the composite model is an accurate representation of the second geographic area (e.g., an unknown city where little geographic, geospatial, or metadata are known). The composite model provides predictions and estimations for an underdeveloped geographic area (e.g., a rural town where no geographic, geospatial, or metadata exists) in some examples. In even further examples, the composite model allows for simulation of a theoretical geographic area (e.g., a developing city, country, or the like).
- Flowcharts representative of example machine readable instructions for implementing the
example environment 100 ofFIG. 1 and the examplegeographic area modeler 110 ofFIG. 2 are shown inFIGS. 3-9 . In these examples, the machine readable instructions comprise a program for execution by a processor such as theprocessor 1012 shown in theexample processor platform 1000 discussed below in connection withFIG. 10 . - While an example manner of implementing the example environment of
FIG. 1 and the examplegeographic area modeler 110 ofFIG. 2 are illustrated inFIGS. 3-9 , one or more of the elements, processes and/or devices illustrated inFIGS. 3-9 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, theexample data collector 102, the examplegeospatial collector 104, theexample metadata collector 106, theexample model trainer 108, the examplegeographic area modeler 100, the examplegeographic area matcher 112, theexample model mixer 114, the example geographicarea model database 116, theexample network 118, and/or, more generally, theexample environment 100 ofFIG. 1 ; the examplegeographic area manager 202, theexample model searcher 204, the example trainedmodel extractor 206, the example trainedmodel databases example modeler 210, and/or, more generally, the examplegeographic area modeler 110 ofFIG. 2 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example theexample data collector 102, the examplegeospatial collector 104, theexample metadata collector 106, theexample model trainer 108, the examplegeographic area modeler 100, the examplegeographic area matcher 112, theexample model mixer 114, the example geographicarea model database 116, theexample network 118, and/or, more generally, theexample environment 100 ofFIG. 1 ; the examplegeographic area manager 202, theexample model searcher 204, the example trainedmodel extractor 206, the example trainedmodel databases example modeler 210, and/or, more generally, the examplegeographic area modeler 110 ofFIG. 2 could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of theexample data collector 102, the examplegeospatial collector 104, theexample metadata collector 106, theexample model trainer 108, the examplegeographic area modeler 100, the examplegeographic area matcher 112, theexample model mixer 114, the example geographicarea model database 116, theexample network 118, and/or, more generally, theexample environment 100 ofFIG. 1 ; the examplegeographic area manager 202, theexample model searcher 204, the example trainedmodel extractor 206, the example trainedmodel databases example modeler 210 and/or, more generally the examplegeographic area modeler 110 ofFIG. 2 are hereby expressly defined to include a tangible computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the software and/or firmware. Further still, theexample environment 100 ofFIG. 1 and the examplegeographic area modeler 110 ofFIG. 2 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated inFIGS. 3-9 , and/or may include more than one of any or all of the illustrated elements, processes and devices. - Flowcharts representative of example machine readable instructions for implementing the
example environment 100 ofFIG. 1 and the examplegeographic area modeler 110 ofFIG. 2 are shown inFIGS. 3-9 . In this example, the machine readable instructions comprise a program for execution by a processor such as theprocessor 1012 shown in theexample processor platform 1000 discussed below in connection withFIG. 10 . The program may be embodied in software stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with theprocessor 1012, but the entire program and/or parts thereof could alternatively be executed by a device other than theprocessor 1012 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowcharts illustrated inFIG. 3-9 , many other methods of implementing theexample environment 100 and the examplegeographic area modeler 110 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. - As mentioned above, the example processes of
FIGS. 3-9 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and transmission media. As used herein, “tangible computer readable storage medium” and “tangible machine readable storage medium” are used interchangeably. Additionally or alternatively, the example processes ofFIGS. 3-9 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and transmission media. As used herein, when the phrase “at least” is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term “comprising” is open ended. - A flowchart representative of example machine readable instructions for implementing the
environment 100 and the examplegeographic area modeler 110 ofFIG. 2 is shown and described with reference toFIG. 3 . Anexample program 300 begins atblock 302. Theexample program 300 illustrates an example in which a model does not yet exist for a first geographic area, but at least a threshold amount of geographic data, geospatial data and/or metadata exists for the first geographic area. Atblock 302, theexample data collector 102 collects geospatial data, through thegeospatial collector 104, related to the first geographic area. In the illustrated example, thedata collector 102 additionally collects geographic data and metadata, through themetadata collector 106, related to the first geographic area. In the illustrated example, the geographic data, geospatial data and/or metadata collected for the first geographic area meets or exceeds a threshold amount of information. In examples where one or more models exist for the first geographic area, such that it is considered a “known geographic area,” the above mentioned examples related to collecting data may be skipped. - In some examples, the
data collector 102 collects geographic data, geospatial data, and/or metadata, through thegeospatial collector 104 and/or themetadata collector 104, relating to a second geographic area. Specifically, theexample data collector 102 collects any data related to the second geographic area in order create associations with the first geographic area, as will be further described in detail below. In the illustrated example, the geographic data, geospatial data, and/or metadata collected for the second geographic area is less than a threshold amount of information. Of course, thedata collector 102 may additionally collect other types of relevant data relating to the first and second geographic area other than the example geographic data, geospatial data, and metadata described herein. - After the
example data collector 102 has collected any and/or all data (e.g., geographic, geospatial, metadata, etc.) for the first and second geographic areas, theexample program 300 may create a composite model using the model mixer 114 (block 304). In some examples, a composite model represents an unknown geographic area better than would a single known geographic area. In some examples, the composite model may be used to model the second geographic area. In some examples, the composite model may be created for future use. - In some examples, the
example program 300 opts out of creating a composite model (Block 304: NO), and control proceed to block 306. In such examples, thedata collector 102 sends its data to themodel trainer 108. Theexample model trainer 108 takes the data (e.g., geographic, geospatial, metadata, etc.) relating to the first geographic area and trains a plurality of models for the first geographic area (if no models exist for the first geographic area) (block 306). The plurality of models are bagger decisions trees in some examples. In some examples, the plurality of models are neural nets. In alternate examples, other known ensemble machine learning techniques or data mining algorithms may be used to train the plurality of models. As previously mentioned, if one or more models already exists for the first geographic area, then the above mentioned examples relating to training models may be skipped. - After the
example model trainer 108 trains the plurality of models for the first geographic area atblock 306 or if the plurality of models already exist for the first geographic area, the plurality of models for the first geographic area are sent togeographic area modeler 110. In some examples, thegeographic area manager 202 ofFIG. 2 receives the plurality of models for the first geographic area along with any data collected for the second geographic area from thedata collector 102. Optionally, theexample model searcher 204 searches for additional possible matching geographic areas, as will be explained in detail below. Control proceeds to block 308. - The example
geographic area matcher 112 receives the data collected for the second geographic area fromgeographic area manager 202 and compares it to the plurality of models for the first geographic area trained by the example model trainer 108 (or obtained from the geographic area model database, via thenetwork 118, etc.) (block 308). If data from the first geographic area (e.g., first geographic area type: port town) matches data from the second geographic area (e.g., second geographic area type: port town), then theexample modeler 210 profiles an unknown geographic area by populating a first dataset for the second geographic area using the plurality of models for the first geographic area (block 310). In some examples, the second geographic area is modeled as a copy of the first geographic area. Therefore, the second geographic area is modeled with the example plurality of models for the first geographic area. - In some examples, the plurality of models for the first geographic area, the plurality of models for the second geographic area, and a log of matching geographic areas (e.g., first geographic area matches second geographic area) are sent from the
geographic area modeler 110 to the geographicarea model database 116. The geographicarea model database 116 stores the log of matching geographic areas, models for geographic areas that have been previously modeled, and/or geographic areas that are modeled by theexample environment 100 and the examplegeographic area modeler 110. Afterblock 310, theexample program 300 ceases. Of course, theexample program 300 may be ran again for a different geographic area (or the same geographic area) many times thereover. - In the illustrated example, the
model searcher 204 locates a plurality of possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and theexample network 118. In some examples, thegeographic area matcher 112 determines a subset of the plurality of possible matching geographic areas that actually match with data (e.g., high level categorical data, geographic, geospatial data, metadata, etc.) from the second geographic area. Theexample program 300 opts to create a composite model from the plurality of matching geographic areas (Block 304: YES). Control proceeds to block 312. - In the illustrated example, the
geographic area matcher 112 locates a plurality of geographic area models from the plurality of matching geographic areas (e.g., the first geographic area, a third geographic area, a fourth geographic area, etc.). The example trained model extractor pulls the plurality of geographic area models from the plurality of matching geographic areas and stores them in the plurality of trainedmodel databases model mixer 114. In some examples, themodel mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas. In alternate examples, themodel mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas to create an extensive composite model (block 312). - In some examples, the
model mixer 114 combines the plurality of models from the plurality of matching known geographic areas using data fusion algorithms to create a composite model. In some examples, the process of creating a composite model including a first set of models for a first matching geographic area and a second set of models for a second matching geographic area is called rebagging (e.g., a new “bag” is created consisting of bagger models from the first and second matching geographic areas). - In some examples, only data in common amongst the plurality of models is used to create the composite model (e.g., A≡B=>C; where “≡” means logic equality). In these examples, the composite model results in less models than each model for an individual geographic area (e.g., each geographic area has 50 models, but only 12 models are common between the plurality of matching geographic area models).
- In some examples, the
model mixer 114 blends the plurality of models filling in any blanks or unknowns amongst the plurality of matching known geographic areas (e.g., each geographic area has 50 models; 25 models from a first matching geographic area are combined with 25 models from a second matching geographic area). In these examples, the composite model results in the same number of models as each model for an individual geographic area. - In even further examples, the plurality of models from the plurality of matching known geographic areas are aggregated together (e.g., each geographic area has 50 models; 50 models from a first matching geographic area are combined with 50 models from a second matching geographic area). In these examples, the composite model results in more models than each model for an individual geographic area. Of course, other data fusion and logic may be applied when mixing or blending the plurality of models, such as, for example, conjunction, disjunction, negation, material implication, exclusive disjunction, and the like.
- Additionally or alternatively, each matching geographic area may be weighted according to how similar each matching geographic area is to the geographic area of interest. In these examples, geographic areas with higher affinities (e.g., an expert match) to the geographic area of interest may have more models blended than geographic areas with lower affinities (e.g., novice match) to the geographic area (e.g., weighted averaging of model sets). Further, if a first matching geographic area has models that conflict with a second matching geographic area, the models from the geographic area with higher affinities to the geographic area of interest may be selected over the models from geographic area with lower affinities to the geographic area of interest (e.g., 35 models from a first matching geographic area are combined with 15 models form a second matching geographic area).
- Additionally or alternatively, where a first matching geographic area has models that conflict with a second matching geographic area, a new model may be created from the weighted average of the individual conflicting models (e.g., weighted averaging of models within model set). For example, if 1 out of 50 models from the first matching geographic area conflicts with the second matching geographic area, then the composite model takes the 49 non-conflicting models and a weighted average of the conflicting model. After all the plurality of models from all the matching geographic areas have been mixed according to the blending principles set out above, the
example model mixer 114 sends the composite model to the example modeler 210 (block 312). - In some examples, the
model mixer 114 allocates the plurality of models from a matching geographic area to the composite model to start the mixing process. Subsequently, theexample model mixer 114 pulls an additional plurality of models from another matching geographic area (e.g., from the third geographic area) and allocates the additional plurality of models from the other matching geographic area to the composite model. This process may repeat for as many iterations as there are matching geographic areas. Of course, any of the above mentioned blending techniques, their equivalents, or alternate known techniques may be applied to the aforementioned process. After all the plurality of models from all the matching geographic areas have been allocated to the composite model, theexample model mixer 114 sends the composite model to theexample modeler 210. - In some examples, the plurality of models utilized by the
model mixer 114 are bagger decisions trees. In some examples, the plurality of models are neural nets. In alternate examples, other known ensemble machine learning techniques or data mining algorithms may be used as the plurality of models. Themodel mixer 114 mixes together similar ensemble machine learning techniques in some examples (e.g., mixing bagger trees with bagger trees, neural nets with neural nets, etc.). Additionally or alternatively, themodel mixer 114 mixes together different ensemble machine learning techniques in some examples (e.g., mixing bagger trees with neural nets, neural nets with buckets of models, etc.). - Subsequently, the
example modeler 210 compares the data collected for the second geographic area to the composite model created by the example model mixer 114 (block 314). In some examples, additional data, if available, may be used to verify the composite model is an accurate representation of the second geographic area. In some examples, additional iterations of theexample program 300 may be needed if the verification step fails. - If data from the composite model accurately reflects the second geographic area, then the
example modeler 210 populates a dataset for the second geographic area using the composite model (block 310). In these examples, the second geographic area is modeled as a copy of the composite model. In some examples, the composite model and the plurality of models from the second geographic area are sent from thegeographic area modeler 110 to the geographicarea model database 116. Afterblock 310, theexample program 300 ceases. Of course, theexample program 300 may be ran again for a different geographic area (or the same geographic area) many times thereover. - Of course, the aforementioned process may be streamlined by allocating all the plurality of models from the matching geographic areas directly to the second geographic area in some examples without making a composite model. This may be considered a predictive process, while creating a composite model (312) and verifying the composite model matches (block 314) with the second geographic area (e.g., adding a verification step) may be considered an estimation process (e.g., has a higher probability of being accurate).
- A flowchart representative of example machine readable instructions for implementing the
example model trainer 108 ofFIG. 1 is shown in and described with reference toFIG. 4 . Specifically, the instructions are an example implementation ofblock 306 fromFIG. 3 . The example implementation ofblock 306 begins atblock 402. Atblock 402, theexample data collector 102 collects geographic data, geospatial data, and metadata for a geographic area. If the collected geographic data, geospatial data and/or metadata meets or exceeds a threshold amount of information (block 404: YES), then control proceeds to block 406. Otherwise (block 404: NO), control returns to block 402. Any number of geographic areas may have data collected from them as needed. In the illustrated example, theenvironment 100 requires thedata collector 102 to collect data from geographic areas. In alternate examples, geographic areas with existing data can be used atblock 406 of the example implementation ofblock 306. - As previously discussed, the
data collector 102 sends collected data to theexample model trainer 108, in some examples. Theexample model trainer 108 trains a model (e.g., bagger decision tree, neural net, a combination thereof, etc.) for the geographic area based on high level categorical data, such as, for example, geospatial data collected from the data collector 102 (more specifically, the geospatial data collector 104). (Block 406). - The
example model trainer 108 adds metadata (or other granular data) collected from thedata collector 102, and more specifically, themetadata collector 106, to the trained model (block 408). If there are additional models to train (block 410: YES), control returns to block 406. In the illustrated example, this process continues for a iterations, where a is the number of models per geographic area to be trained. In some examples, fifty models per geographic area are trained. However, any number of models may be trained in order to accurately reflect the geographic area of interest. In some examples, the number of models to be trained is predetermined. In some examples, a user can choose the number of models that are to be trained as needed. If there are no additional models to train (block 410: NO), control proceeds to block 412. - At
block 412, control returns to block 402 if there are additional geographic areas for which to train models (block 412: YES). In the illustrated example, this process continues for b iterations, where b is the number of geographic areas to be trained. In some examples, one thousand geographic areas are trained. However, any number of geographic areas may be trained in order to create a large heterogeneous mixture of geographic areas to choose from when estimating and predicting models for unknown geographic areas as described herein. - In the illustrated example, the
environment 100 stores the plurality of models trained by themodel trainer 108 in the geographicarea model database 116. In some examples, the geographicarea model database 116 is coupled with themodel trainer 108. In some examples, similar to the one shown inFIG. 1 , the geographicarea model database 116 and themodel trainer 108 may be connected via the network 118 (e.g., Internet, Intranet, Local Area Network, etc.). - If there are no more geographic areas to train (block 412: NO), the example implementation of
block 306 ceases. It will be appreciated that the example implementation ofblock 306 provides a*b models to use for predicting and/or estimating a new, rural, theoretical, and/or otherwise unknown geographic area, city, town, county, country, etc. - In some examples, the example implementation of
block 306 is ran prior to the example programs taught below, in order to train a plurality of models for a plurality of geographic areas where at least geographic data, geospatial data and/or metadata are known (e.g., thereby making the geographic areas “known” geographic areas for the purpose of the present disclosure). These trained models for the plurality of geographic areas may be stored and used in other programs, which are further detailed below. - A flowchart representative of example readable instructions for implementing the example
geographic modeler 110 ofFIG. 2 is shown in and described with reference toFIG. 5 . Specifically, the instructions are embodied in anexample program 500. Theexample program 500 begins atblock 502, where, in some examples, thegeographic area manager 202 determines a first data element of a first geographic area (block 502). Theexample model searcher 204 searches a database for at least one of a model of the first geographic area, a first trained model corresponding to a second geographic area, and a second trained model corresponding to a third geographic area (block 504). Subsequently, the examplegeographic area matcher 112 determines whether the second geographic area and the third geographic area match the first data element of the first geographic area (block 506). In the illustrated example, themodel mixer 114 then blends the first trained model and the second trained model together to represent the model of the first geographic area (block 508). Thereafter, theexample program 500 ceases. - A flowchart representative of example machine readable instructions for implementing the
geographic area matcher 112 ofFIGS. 1 and 2 is shown in and described with reference toFIG. 6 . Specifically, anexample program 600 begins atblock 602. Atblock 602, an unknown geographic area (e.g., new, rural, theoretical, and/or otherwise unknown geographic area, section, etc.) is to be modeled. In the illustrated example, thedata collector 102, through thegeospatial data collector 104 and themetadata collector 106, collects any available data (e.g., high level categorical data) for the unknown geographic area (block 604). - The
example data collector 102 sends the available data (e.g., high level categorical data) for the unknown geographic area to the examplegeographic area modeler 110, and more specifically, the examplegeographic area manager 202. The examplegeographic area manager 202 analyzes the available data for the unknown geographic area, and prompts theexample model searcher 204 to search at least one of theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and theexample network 118. In some examples, themodel searcher 204 searches for models that are possible matches with the available data (e.g., high level categorical data) from the unknown geographic area. In some examples, themodel searcher 204 searches for modeled geographic areas (e.g., towns, counties, countries, sections thereof, etc.) that are possible matches with the available data from the unknown geographic area. (Block 606). In the illustrated example, the geographic area type match query may be used for searching purposes. Of course, other datasets (e.g., easily discoverable high level categorical data) known to one skilled in the art may be used for searching and/or matching. - If no known geographic areas with similar metadata to the unknown geographic area is found (Block 606: NO), then control proceeds to block 608. At
block 608, other geographic area categorical data are searched for using thedata collector 102. If no more data for the unknown geographic area is available (block 608: NO), then theexample program 600 ceases. Alternatively, if more data for the unknown geographic area is available (block 608: YES), then the examplegeographic area manager 202 analyzes the alternate available data for the unknown geographic area and prompts theexample model searcher 204 to search for known geographic areas with data similar to the alternate available data (block 610). If no known geographic areas with data similar to the alternate available data are found (block 610: NO), control returns to block 608 to search for other alternate data for matching purposes. - In some examples, if a known geographic area with similar data to the unknown geographic area is found (block 606 or 610: YES), then the
geographic area modeler 110 populates a model for the unknown geographic area by allocating all models from a matching geographic area to the unknown geographic area (block 612). In other words, the first geographic area is modeled with all the models from the matching geographic area. As discussed with reference to block 310 ofFIG. 3 , the allocating of models may be one implementation of modeling the geographic area. In the illustrated example, the models are representative of granular data for the matching geographic area that is used to predict and/or estimate granular data for the unknown geographic area. Afterblock 612, theexample program 600 ceases. Of course, theexample program 600 may be ran again for a different geographic area (or the same geographic area) many times thereover. - An alternate flowchart representative of example machine readable instructions for implementing the
geographic area modeler 110 is shown in and described with reference toFIG. 7 . Specifically, anexample program 700 begins atblock 702. Atblock 702, the examplegeographic area manager 202 receives data collected from the example data collector 102 (e.g., geographic, geospatial and/or metadata) for an unknown (e.g., new) geographic area in order to create a model for the unknown geographic area based on the collected data. - At
block 704, theexample model searcher 204 searches for possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and theexample network 118. In some examples, themodel searcher 204 sends possible matching geographic areas to thegeographic area matcher 112. The examplegeographic area matcher 112 identifies the plurality of models associated with each geographic area. (Block 704). Once a first possible matching geographic area (e.g., one of the modeled known geographic areas) has been found, the examplegeographic area matcher 112 compares the first possible matching geographic area to the unknown geographic area. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area types (e.g., college town, port city, international hub, etc.) (block 706). If the unknown geographic area and the first possible matching geographic area do have similar geographic area types (Block 706: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar geographic area types (Block 706: NO), then control proceeds to block 708. - Additionally or alternatively, the example
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area section types (e.g., suburb, exurb, city center, business district, etc.). If the unknown geographic area and the first possible matching geographic area do have similar geographic area section types (Block 706: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar geographic area section types (Block 706: NO), then control proceeds to block 708. - In the illustrated example, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geography (using satellite imagery and other geospatial data, e.g., bodies of water, terrain, infrastructure, architecture, etc.) (block 708). If the unknown geographic area and the first possible matching geographic area do have similar geography (Block 708: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar geography (Block 708: NO), then control proceeds to block 710. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar demographics (e.g., age, gender, education, etc.) (block 710). If the unknown geographic area and the first possible matching geographic area do have similar demographics (Block 710: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar demographics (Block 710: NO), then control proceeds to block 712. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar inhabitant lifestyles (e.g., retail density (# of outlets per block), population (additionally or alternatively household or individual) spending habits, television viewership and ratings, house sizes, lot sizes, etc.) (block 712). If the unknown geographic area and the first possible matching geographic area do have similar inhabitant lifestyles (Block 712: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar inhabitant lifestyles (Block 712: NO), then control proceeds to block 714. - In additional examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar wealth distributions (e.g., income level, net worth, gross domestic product (GDP), resource density, etc.) (block 714). If the unknown geographic area and the first possible matching geographic area do have similar wealth distributions (Block 714: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar wealth distributions (Block 714: NO), then control proceeds to block 716. - In further examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar sizes (e.g., population, population density, radius, etc.) (block 716). If the unknown geographic area and the first possible matching geographic area do have similar sizes (Block 716: YES), then control proceeds to block 720. If the unknown geographic area and the first possible matching geographic area do not have similar sizes (Block 716: NO), then control proceeds to block 718. - Of course, additional match queries that are apparent to one of ordinary skill in the art may be added to further match the possible matching geographic area to the unknown geographic area. Even further, the match queries taught herein may be arranged in a different order than the example order presented in
FIG. 6B . Thus, the present disclosure should not be limited by the queries presented herein and with regard to the example flowcharts. - If the unknown geographic area and the first possible matching geographic area have at least one similarity (e.g., one of
blocks geographic area modeler 110 assigns all of the models associated with the first possible matching geographic area to the unknown geographic area (block 720). As discussed with reference to block 310 ofFIG. 3 , the assigning of models may be one implementation of modeling the geographic area. Alternatively, the unknown geographic area and the first possible matching geographic area must match in geographic area type, geography, demographics, inhabitant lifestyles, wealth distribution, and size (e.g., all of theblocks example program 700 ceases. Of course, theexample program 700 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover. - If the unknown geographic area and the possible matching geographic area have no similarities (e.g., all
blocks geographic area matcher 112 checks if there are any additional possible matching geographic areas (block 718). If there are other possible matching geographic areas (Block 718: YES), the examplegeographic area matcher 112 locates a second possible matching geographic area (block 722). In some examples, thegeographic area matcher 112 further identifies the plurality of models associated with the second possible matching geographic area. Thereafter, control returns to block 706. - In the illustrated example, this process continues for c iterations, where c is the number of geographic areas with models that the
geographic area matcher 112 receives from themodel searcher 204. As previously discussed, theexample model searcher 204 accesses at least theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and/or theexample network 118 for previously modeled geographic areas (or alternate geographic areas of interest, sections thereof, etc.). - If there are no possible matching geographic areas or no other known geographic areas (Block 718: NO), the
example program 700 ceases. Of course, theexample program 700 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover. Theexample program 600 and theexample program 700 are meant to be used in connection with the example implementation ofblock 306. In the illustrated example, eitherprogram 600 orprogram 700 is ran subsequent to example implementation ofblock 306. In some examples, theprogram 600 and theprogram 700 match an unknown (e.g., new) geographic area with a known geographic area modeled by example implementation ofblock 306. Alternatively, theprogram 600 and theprogram 700 match an unknown (e.g., new) geographic area with a known geographic area modeled by another program or system. - In the illustrated example, a single known geographic area does not accurately reflect an unknown geographic area. In these examples, finding a plurality of geographic areas that, when combined, accurately reflect the unknown geographic area is required. A flowchart representative of example machine readable instructions for implementing the
model mixer 114 is shown in and described with reference toFIG. 8 . Specifically, anexample process 800 is embodied inFIG. 8 , which begins atblock 802. - At block 802 a composite model is to be modeled. In some examples, a composite model is started by defining the geographic area type (e.g., college town, port city, international hub, etc.) for the composite model (block 802). Of course, as discussed herein, other high level categorical data may be used besides the geographic area type dataset. The geographic area type of the composite model is defined randomly in some examples, systematically in some examples, and/or based on an unknown geographic area to be modeled (whose geographic area type is known) in further examples. Of course, other methods of starting the composite model may be used without departing from the scope of the present disclosure.
- In some examples, the geographic area modeler 110 (
FIG. 2 ) uses the geographic area type defined inblock 802 to start populating the composite model (block 804). In the illustrated example, one or more known geographic areas (e.g., geographic areas previously modeled by themodel trainer 108, geographic areas with models stored in the geographicarea model database 116, geographic areas with models accessible over thenetwork 118, etc.) having a plurality of models that the examplegeographic area matcher 114 determines match the geographic area type (e.g., college town, port city, international hub, etc.) of the composite model. If the examplegeographic area matcher 112 finds such a geographic area (e.g., a first known geographic area) matching the geographic area type of the composite model (Block 806: YES), then control proceeds to block 812. If the examplegeographic area matcher 112 does not find any matching geographic areas (Block 806: NO), then the control proceeds to block 808. Atblock 808, other geographic area categorical data are searched for using thedata collector 102. If no more data for the unknown geographic area is available (block 808: NO), then theexample process 800 ceases. Of course, theexample process 800 may be ran again for another composite model (or the same composite model) many times thereover. - Alternatively, if more data for the unknown geographic area is available (block 808: YES), then the example geographic area manager 202 (
FIG. 2 ) analyzes the alternate available data for the unknown geographic area and prompts theexample model searcher 204 to search for known geographic areas with data similar to the alternate available data (block 810). If no known geographic areas with data similar to the alternate available data are found (Block 810: NO), control returns to block 808 to search for other alternate data for matching purposes. - In some examples, example
geographic area matcher 112 finds a plurality of matching geographic areas (block 806 or 810: YES). In some examples, the trainedmodel extractor 206 stores a first trained model for a first matching geographic area in the first trainedmodel database 208 a, and stores a second trained model for a second matching geographic area in the second trainedmodel database 208 a. Of course, any number of databases may be used to store the plurality of models for the plurality of matching geographic areas. - In the illustrated example, the
example model mixer 114 blends all of the plurality of models for the plurality of matching geographic areas at the same time (block 812). For example, the model mixer 114 (FIG. 2 ) mixes the first trained model from the first matching geographic area with the second trained model from the second matching geographic area. In some examples, themodel mixer 114 uses data fusion algorithms to selectively mix the plurality of models from the plurality of matching known geographic areas. In some examples, themodel mixer 114 aggregates the plurality of models from the plurality of matching known geographic areas. - In examples where a first known geographic area matches the defined composite model type, the trained
model extractor 206 stores a first trained model for the first known geographic area in the first trainedmodel database 208 a, and stores a second trained model for the first known geographic area in the second trainedmodel database 208 a. Themodel mixer 114 blends the first and second trained models for the first known geographic area with the composite model to create a blended composite model (block 812). Similarly, themodel mixer 114 uses data fusion algorithms in some examples and aggregates the plurality of models in some examples. Control proceeds to block 814. - In the illustrated example, a second known geographic area, which may or may not have matched previously (e.g., at block 806), may now match data with the newly blended plurality of models that make up the composite model. Therefore, if there are other known geographic areas (e.g., towns, counties, islands, countries, sections thereof, etc.) (block 814: YES) then control proceeds to block 816. If there are no more known geographic areas (block 814: NO), then the
example process 800 ceases. Of course, theexample process 800 may be ran again for another composite model (or the same composite model) many times thereover. - In some examples, the
model searcher 204 searches for another known geographic area (e.g., the second known geographic area) that possibly matches the newly blended composite model (block 816). If the examplegeographic area matcher 112 does not find a matching geographic area (Block 816: NO), then theexample process 800 ceases. Of course, theexample process 800 may be ran again for another composite model (or the same composite model) many times thereover. - If the example
geographic area matcher 112 finds a geographic area (e.g., the second known geographic area) that matches the blended composite model from themodel searcher 204 search results (Block 816: YES), then control returns to block 812. In the illustrated example, this process continues for d iterations, where d is the number of matching known geographic areas (or geographic area sections) with models that thegeographic area matcher 112 receives from themodel searcher 204. - Throughout the d iterations, the composite model will be modeled by blending matching geographic areas' models directly with the composite model. In the illustrated example, each matching geographic area may be ranked and weighted according to how similar each matching geographic area is to the composite model. In specific examples, matching geographic areas may be ranked from best match to worst match and applied to the composite model in that order. In some examples, geographic areas with higher affinities to the composite model may have more models blended than geographic areas with lower affinities to the composite model (e.g., weighted averaging of model sets). Of course, other data fusion and blending techniques discussed herein may be applied similarly to the composite model.
- As discussed above, once the
example model mixer 114 has created the composite model, the plurality of models may be sent to theexample modeler 210. In some examples, themodeler 210 takes the composite model and compares it to any data available for an unknown geographic area, which may be more than the initial high level categorical data used to generate the composite model (e.g., if additional data are available or has become available). - In some examples, the composite model matches with the available data for the unknown geographic area. Thus, the
example modeler 210 assigns the composite model to the unknown geographic area. In the illustrated example, this estimates a model for the unknown geographic area. - In some examples, the composite model does not match with the available data for the unknown geographic area. In these examples, the composite model is stored in the geographic
area model database 116 for future matching. Theexample process 800 may be ran again, an alternate program (e.g., example program 900) may be ran, or another known geographic area blending technique may be used as would be apparent to one having ordinary skill in the art. - Of course, the
modeler 210 need not compare the composite model to data from the unknown geographic area. In some examples, themodeler 210 profiles an unknown geographic area by populating a model with all the plurality of models from matching known geographic areas, as discussed in anexample program 900 below. This may be considered a predictive process, while creating a composite model and verifying the composite model matches with any additional information from the unknown geographic area may be considered an estimation process, which may create a presumption of being more accurate. - An alternate flowchart representative of example machine readable instructions for implementing the
model mixer 114 is shown in and described with reference toFIG. 9 . Specifically, theexample process 900 may compare data from unknown geographic areas to known geographic areas to create a composite model. Theexample program 900 begins atblock 902. Atblock 902, theexample data collector 102 collects data (e.g., geographic, geospatial and/or metadata) for an unknown (e.g., new) geographic area in order to model the unknown geographic area. Atblock 904, theexample model searcher 204 searches for possible matching geographic areas (e.g., known cities, towns, counties, sections thereof, etc.) from at least one of theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and theexample network 118. In some examples, thegeographic area matcher 112 identifies the plurality of models associated with each geographic area. (Block 714). Once a first possible matching geographic area (e.g., a known geographic area with a plurality of models) has been found, the examplegeographic area matcher 112 compares the first possible matching geographic area to the unknown geographic area. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area types (e.g., college town, port geographic area, international hub, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 906). If the unknown geographic area and the first possible matching geographic area do have similar geographic area types (Block 906: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar geographic area types (Block 906: NO), then control proceeds to block 908. - Additionally or alternatively, the example
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geographic area section types (e.g., suburb, exurb, city center, business district, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area. If the unknown geographic area and the first possible matching geographic area do have similar geographic area section types, then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar geographic area section types, then control proceeds to block 908. - In the illustrated example, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar geography (e.g., bodies of water, terrain, infrastructure, architecture, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 908). If the unknown geographic area and the first possible matching geographic area do have similar geography (Block 908: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar geography (Block 908: NO), then control proceeds to block 910. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar demographics (e.g., age, gender, education, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 910). If the unknown geographic area and the first possible matching geographic area do have similar demographics (Block 910: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar demographics (Block 910: NO), then control proceeds to block 912. - In some examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar inhabitant lifestyles (e.g., retail density, population spending habits, television viewership and ratings, house sizes, lot sizes, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 912). If the unknown geographic area and the first possible matching geographic area do have similar inhabitant lifestyles (Block 912: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar inhabitant lifestyles (Block 912: NO), then control proceeds to block 914. - In additional examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar wealth distributions (e.g., income level, net worth, gross domestic product (GDP), resource density, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 914). If the unknown geographic area and the first possible matching geographic area do have similar wealth distributions (Block 914: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar wealth distributions (Block 914: NO), then control proceeds to block 916. - In further examples, the
geographic area matcher 112 determines whether the unknown geographic area and the first possible matching geographic area have similar sizes (e.g., population, population density, radius, etc.) using an image representative of the unknown geographic area, a survey from the unknown geographic area, applications monitoring the unknown geographic area, and/or Internet entries regarding the unknown geographic area (block 916). If the unknown geographic area and the first possible matching geographic area do have similar sizes (Block 916: YES), then control proceeds to block 920. If the unknown geographic area and the first possible matching geographic area do not have similar sizes (Block 916: NO), then control proceeds to block 918. - Of course, additional match queries that are apparent to one of ordinary skill in the art may be added to further match the first possible matching geographic area to the unknown geographic area. Even further, the match queries taught herein may be arranged in a different order than the example order presented in
FIG. 9 . Thus, the present disclosure should not be limited by the queries presented herein and illustrated in the example flowcharts. - If the unknown geographic area and the first possible matching geographic area have at least one similarity (e.g., one of
blocks geographic area modeler 110 assigns all of the models associated with the first possible matching geographic area to the unknown geographic area (block 920). As discussed with reference to block 310 ofFIG. 3 , the assigning of models may be one implementation of modeling the unknown geographic area. Thereafter, control proceeds to block 918. - Alternatively, the unknown geographic area and the first possible matching geographic area must match in geographic area type, geography, demographics, inhabitant lifestyles, wealth distribution, and size (e.g., all of the
blocks - If the unknown geographic area and the first possible matching geographic area have no similarities (e.g., all
blocks geographic area matcher 112 checks if there are any additional possible matching geographic areas (block 918). If there are other possible matching geographic areas (Block 918: YES), the examplegeographic area matcher 112 locates a second possible matching geographic area (block 922). In some examples, thegeographic area matcher 112 further identifies the plurality of models associated with the second possible matching geographic area. Thereafter, control returns to block 906. - In the illustrated example, this process continues for e iterations, where e is the number of geographic areas with models that the
geographic area matcher 112 receives from themodel searcher 204. As previously discussed, theexample model searcher 204 accesses at least theexample data collector 102, theexample model trainer 108, the example geographicarea model database 116, and/or theexample network 118 for previously modeled geographic areas (or alternate geographic areas of interest, sections thereof, etc.). - Throughout the e iterations, the unknown geographic area will be modeled by adding any matching models from a geographic area to the models for the unknown geographic area (e.g., composite model), without regard to whether the matching geographic areas match each other, in some examples. In the illustrated example, this process creates a plurality of models for the unknown geographic area that accurate represents the unknown geographic area.
- If there are no other possible matching geographic areas (Block 918: NO), the
example program 900 ceases. Of course, theexample program 900 may be ran again for a different unknown geographic area (or the same geographic area) many times thereover. Theexample program 800 and theexample program 900 are meant to be used in connection with the example implementation ofblock 306 and/or theexample programs example program 800 orprogram 900 is ran subsequent to example implementation ofblock 306. In some examples, theexample program 800 andprogram 900 are run concurrently withprograms example program 800 and theprogram 900 match an unknown (e.g., new) geographic area with a plurality of known geographic areas modeled by example implementation ofblock 306. -
FIG. 10 is a block diagram of anexample processor platform 1000 capable of executing the instructions ofFIGS. 3-9 to implement theexample environment 100 ofFIG. 1 and the examplegeographic area modeler 110 ofFIG. 2 . Theprocessor platform 1000 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA), an Internet appliance, a gaming console, a set top box, or any other type of computing device. - The
processor platform 1000 of the illustrated example includes aprocessor 1012. Theprocessor 1012 of the illustrated example is hardware. For example, theprocessor 1012 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer. - The
processor 1012 of the illustrated example includes a local memory 1013 (e.g., a cache). Theexample processor 1012 further includes theexample model trainer 108, the examplegeographic area modeler 110, the examplegeographic area matcher 112, and theexample model mixer 114. - The
processor 1012 of the illustrated example is in communication with a main memory including avolatile memory 1014 and anon-volatile memory 1016 via abus 1018. Thevolatile memory 1014 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1016 may be implemented by flash memory and/or any other desired type of memory device. Access to themain memory - The
processor platform 1000 of the illustrated example also includes aninterface circuit 1020. Theinterface circuit 1020 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface. - In the illustrated example, one or
more input devices 1022 are connected to theinterface circuit 1020. The input device(s) 1022 permit(s) a user to enter data and commands into theprocessor 1012. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system. - One or
more output devices 1024 are also connected to theinterface circuit 1020 of the illustrated example. Theoutput devices 1024 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a light emitting diode (LED), a printer and/or speakers). Theinterface circuit 1020 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor. - The
interface circuit 1020 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1026 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.). - The
processor platform 1000 of the illustrated example also includes one or moremass storage devices 1028 for storing software and/or data. Examples of suchmass storage devices 1028 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives. - The coded
instructions 1032 ofFIGS. 3-9 may be stored in thelocal memory 1013, in themass storage device 1028, in thevolatile memory 1014, in thenon-volatile memory 1016, and/or on a removable tangible computer readable storage medium such as a CD or DVD. - Even further, the geographic
area model database 116 may be contained in thelocal memory 1013, in themass storage device 1028, in thevolatile memory 1014, in thenon-volatile memory 1016, and/or on a removable tangible computer readable storage medium such as a flash drive, external hard drive, CD, DVD, and their equivalents. - From the foregoing, it will be appreciated that the above disclosed example methods and apparatus profile geographic areas in such a way to reduce the costs and time investments associated with determining geographic data, geospatial data and/or metadata of unknown geographic areas. The example methods and apparatus further increase the certainty of geographic data, geospatial data and/or metadata applications in unknown geographic areas.
- Further, the example methods and apparatus estimate geographic data and/or metadata more quickly than performing sampling or surveying. For example, manually sampling or surveying detailed geographic data, and/or metadata for every unknown geographic area in the world would be a monstrosity of an undertaking that is impracticable if not impossible during one's lifetime. Even further, creating statistical models based on the manually sampled or surveyed detailed geospatial data and/or metadata for every unknown geographic area requires training of the models. The above disclosed example methods and apparatus avoid training n models with m learning datasets for j unknown geographic areas of interest for t time, while providing estimations and/or predictions of the geospatial data and/or metadata in unknown geographic areas. Even further, example methods and apparatus provide estimates of geographic data, geospatial data and/or metadata in areas that cannot be sampled directly. The geographic data, geospatial data and/or metadata estimated by example methods and apparatus disclosed herein may be used to, for example, identify emerging markets and/or a developing potential for marketing goods and services to an underserved or otherwise unknown location.
- Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Claims (21)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/140,909 US20210224311A1 (en) | 2015-09-25 | 2021-01-04 | Methods and apparatus to profile geographic areas of interest |
US18/399,044 US20240202229A1 (en) | 2015-09-25 | 2023-12-28 | Methods and apparatus to profile geographic areas of interest |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/866,347 US10885097B2 (en) | 2015-09-25 | 2015-09-25 | Methods and apparatus to profile geographic areas of interest |
US17/140,909 US20210224311A1 (en) | 2015-09-25 | 2021-01-04 | Methods and apparatus to profile geographic areas of interest |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/866,347 Continuation US10885097B2 (en) | 2015-09-25 | 2015-09-25 | Methods and apparatus to profile geographic areas of interest |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/399,044 Continuation US20240202229A1 (en) | 2015-09-25 | 2023-12-28 | Methods and apparatus to profile geographic areas of interest |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210224311A1 true US20210224311A1 (en) | 2021-07-22 |
Family
ID=58407400
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/866,347 Active 2037-12-28 US10885097B2 (en) | 2015-09-25 | 2015-09-25 | Methods and apparatus to profile geographic areas of interest |
US17/140,909 Abandoned US20210224311A1 (en) | 2015-09-25 | 2021-01-04 | Methods and apparatus to profile geographic areas of interest |
US18/399,044 Pending US20240202229A1 (en) | 2015-09-25 | 2023-12-28 | Methods and apparatus to profile geographic areas of interest |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/866,347 Active 2037-12-28 US10885097B2 (en) | 2015-09-25 | 2015-09-25 | Methods and apparatus to profile geographic areas of interest |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/399,044 Pending US20240202229A1 (en) | 2015-09-25 | 2023-12-28 | Methods and apparatus to profile geographic areas of interest |
Country Status (1)
Country | Link |
---|---|
US (3) | US10885097B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4178207A1 (en) * | 2021-11-05 | 2023-05-10 | British Board of Film Classification | A method of converting an age rating of media content |
US20230179311A1 (en) * | 2021-12-07 | 2023-06-08 | Shasta Cloud, Inc. | Parameter Determination for Radio-Frequency Modeling |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676680B2 (en) | 2006-02-03 | 2014-03-18 | Zillow, Inc. | Automatically determining a current value for a home |
US10198735B1 (en) | 2011-03-09 | 2019-02-05 | Zillow, Inc. | Automatically determining market rental rate index for properties |
US10460406B1 (en) | 2011-03-09 | 2019-10-29 | Zillow, Inc. | Automatically determining market rental rates for properties |
US10885097B2 (en) | 2015-09-25 | 2021-01-05 | The Nielsen Company (Us), Llc | Methods and apparatus to profile geographic areas of interest |
US11392625B2 (en) * | 2016-06-27 | 2022-07-19 | Omniearth, Inc. | Systems and methods for utilizing property features from images |
US11334216B2 (en) * | 2017-05-30 | 2022-05-17 | Palantir Technologies Inc. | Systems and methods for visually presenting geospatial information |
AU2018324087A1 (en) | 2017-08-31 | 2020-01-23 | Eagle View Technologies, Inc. | Systems and methods for automatic estimation of object characteristics from digital images |
US11537848B2 (en) * | 2018-07-26 | 2022-12-27 | Raytheon Company | Class level artificial neural network |
US20200175383A1 (en) * | 2018-12-03 | 2020-06-04 | Clover Health | Statistically-Representative Sample Data Generation |
US11861635B1 (en) * | 2019-03-20 | 2024-01-02 | MFTB Holdco, Inc. | Automatic analysis of regional housing markets based on the appreciation or depreciation of individual homes |
US11966851B2 (en) * | 2019-04-02 | 2024-04-23 | International Business Machines Corporation | Construction of a machine learning model |
US11087344B2 (en) * | 2019-04-12 | 2021-08-10 | Adp, Llc | Method and system for predicting and indexing real estate demand and pricing |
WO2020247513A1 (en) | 2019-06-07 | 2020-12-10 | Pictometry International Corp. | Systems and methods for automated detection of changes in extent of structures using imagery |
US11861748B1 (en) | 2019-06-28 | 2024-01-02 | MFTB Holdco, Inc. | Valuation of homes using geographic regions of varying granularity |
CA3149080A1 (en) | 2019-09-20 | 2021-03-25 | Shadrian Strong | Roof condition assessment using machine learning |
WO2021062152A1 (en) | 2019-09-25 | 2021-04-01 | Pictometry International Corp. | Systems and methods for creating automated faux-manual markings on digital images imitating manual inspection results |
US11694354B2 (en) | 2019-10-18 | 2023-07-04 | Pictometry International Corp. | Geospatial object geometry extraction from imagery |
US20220138260A1 (en) * | 2020-10-30 | 2022-05-05 | Here Global B.V. | Method, apparatus, and system for estimating continuous population density change in urban areas |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160253597A1 (en) * | 2015-02-27 | 2016-09-01 | Xerox Corporation | Content-aware domain adaptation for cross-domain classification |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3240138A (en) | 1963-04-26 | 1966-03-15 | Itek Corp | Aerial camera |
US5299115A (en) | 1989-09-12 | 1994-03-29 | Mrs. Fields Software Group Inc. | Product demand system and method |
US5341439A (en) | 1989-09-21 | 1994-08-23 | Hsu Shin Yi | System for texture-based automatic detection of man-made objects in representations of sensed natural environmental scenes |
US5361201A (en) | 1992-10-19 | 1994-11-01 | Hnc, Inc. | Real estate appraisal using predictive modeling |
US5414462A (en) | 1993-02-11 | 1995-05-09 | Veatch; John W. | Method and apparatus for generating a comprehensive survey map |
US5682525A (en) | 1995-01-11 | 1997-10-28 | Civix Corporation | System and methods for remotely accessing a selected group of items of interest from a database |
US6535210B1 (en) | 1995-06-07 | 2003-03-18 | Geovector Corp. | Vision system computer modeling apparatus including interaction with real scenes with respect to perspective and spatial relationship as measured in real-time |
US6137909A (en) | 1995-06-30 | 2000-10-24 | The United States Of America As Represented By The Secretary Of The Navy | System and method for feature set reduction |
US7069232B1 (en) | 1996-01-18 | 2006-06-27 | Planalytics, Inc. | System, method and computer program product for short-range weather adapted, business forecasting |
US5949988A (en) | 1996-07-16 | 1999-09-07 | Lucent Technologies Inc. | Prediction system for RF power distribution |
US5968109A (en) | 1996-10-25 | 1999-10-19 | Navigation Technologies Corporation | System and method for use and storage of geographic data on physical media |
US6035255A (en) | 1997-12-01 | 2000-03-07 | Schlumberger Technology Corporation | Article of manufacturing for creating, testing, and modifying geological subsurface models |
US6212392B1 (en) | 1999-02-26 | 2001-04-03 | Signal Soft Corp. | Method for determining if the location of a wireless communication device is within a specified area |
US6850946B1 (en) | 1999-05-26 | 2005-02-01 | Wireless Valley Communications, Inc. | Method and system for a building database manipulator |
US6665449B1 (en) | 1999-09-03 | 2003-12-16 | Battelle Memorial Institute | Method and algorithm for image processing |
US20020029226A1 (en) | 2000-09-05 | 2002-03-07 | Gang Li | Method for combining data with maps |
US7055107B1 (en) | 2000-09-22 | 2006-05-30 | Wireless Valley Communications, Inc. | Method and system for automated selection of optimal communication network equipment model, position, and configuration |
US7487114B2 (en) | 2000-10-23 | 2009-02-03 | Costar Group, Inc. | System and method for associating aerial images, map features, and information |
US7164883B2 (en) | 2001-02-14 | 2007-01-16 | Motorola. Inc. | Method and system for modeling and managing terrain, buildings, and infrastructure |
US20020145620A1 (en) | 2001-04-09 | 2002-10-10 | William Smith | Geographic information system for the management and retrieval of location-related drawings and other related electronic files |
EP1384188A1 (en) | 2001-05-04 | 2004-01-28 | IMS Health Incorporated | System and methods for estimating product sales in highly fragmented geographical segments of service provider location |
US20030101063A1 (en) | 2001-09-28 | 2003-05-29 | Sexton Ashley K. | Real estate information system |
US7611602B2 (en) | 2001-12-13 | 2009-11-03 | Urban Mapping, Llc | Method of producing maps and other objects configured for presentation of spatially-related layers of data |
US20030177055A1 (en) | 2002-03-14 | 2003-09-18 | The Procter & Gamble Company | Virtual test market system and method |
CA2392410A1 (en) | 2002-07-04 | 2004-01-04 | Dan Keith Andersen | Method of aerial monitoring of forests |
US6970578B1 (en) | 2002-07-16 | 2005-11-29 | The United States Of America As Represented By The Secretary Of The Navy | Method of generating images to aid in the detection of manmade objects in cluttered underwater environments |
US7324666B2 (en) | 2002-11-15 | 2008-01-29 | Whitegold Solutions, Inc. | Methods for assigning geocodes to street addressable entities |
US7844417B2 (en) | 2003-02-21 | 2010-11-30 | First American Real Estate Solutions, Llc | GIS-based rapid population assessment tool |
US7747450B2 (en) | 2003-07-24 | 2010-06-29 | Terradex, Inc. | Method and apparatus for monitoring and responding to land use activities |
US20050060299A1 (en) | 2003-09-17 | 2005-03-17 | George Filley | Location-referenced photograph repository |
WO2005059867A1 (en) | 2003-12-18 | 2005-06-30 | 1626628 Ontario Limited | System, apparatus and method for mapping |
US8341009B1 (en) | 2003-12-23 | 2012-12-25 | Experian Marketing Solutions, Inc. | Information modeling and projection for geographic regions having insufficient sample size |
CA2559726C (en) | 2004-03-24 | 2015-10-20 | A9.Com, Inc. | System and method for displaying images in an online directory |
US8207964B1 (en) | 2008-02-22 | 2012-06-26 | Meadow William D | Methods and apparatus for generating three-dimensional image data models |
US7929800B2 (en) | 2007-02-06 | 2011-04-19 | Meadow William D | Methods and apparatus for generating a continuum of image data |
US20060069606A1 (en) | 2004-09-30 | 2006-03-30 | Kraft Foods Holdings, Inc. | Store modeling-based identification of marketing opportunities |
US7323982B2 (en) | 2004-11-05 | 2008-01-29 | Wirelesswerx International, Inc. | Method and system to control movable entities |
US7921029B2 (en) | 2005-01-22 | 2011-04-05 | Ims Software Services Ltd. | Projection factors for forecasting product demand |
US8296388B2 (en) | 2005-07-18 | 2012-10-23 | Microsoft Corporation | Cross-application encoding of geographical location information |
EP1920423A2 (en) | 2005-09-01 | 2008-05-14 | GeoSim Systems Ltd. | System and method for cost-effective, high-fidelity 3d-modeling of large-scale urban environments |
US7711360B2 (en) | 2005-11-08 | 2010-05-04 | Siemens Aktiengesellschaft | Radio frequency planning with consideration of inter-building effects |
US20070190502A1 (en) | 2006-01-31 | 2007-08-16 | Multigen-Paradigm Inc. | System and method for creating a simulation of a terrain that includes simulated illumination effects |
US8938464B2 (en) | 2006-04-25 | 2015-01-20 | Google Inc. | Identifying geo-located objects |
US20070282665A1 (en) | 2006-06-02 | 2007-12-06 | Buehler Christopher J | Systems and methods for providing video surveillance data |
US8341010B1 (en) | 2006-11-21 | 2012-12-25 | The Gadberry Group, LLC | Method and system for counting households within a geographic area |
US20080294372A1 (en) | 2007-01-26 | 2008-11-27 | Herbert Dennis Hunt | Projection facility within an analytic platform |
CN101275854A (en) | 2007-03-26 | 2008-10-01 | 日电(中国)有限公司 | Method and equipment for updating map data |
US20080243906A1 (en) | 2007-03-31 | 2008-10-02 | Keith Peters | Online system and method for providing geographic presentations of localities that are pertinent to a text item |
US11064236B2 (en) | 2007-05-11 | 2021-07-13 | Verizon Patent And Licensing Inc. | Systems and methods for using value-added services records to provide targeted marketing services |
US8823709B2 (en) | 2007-11-01 | 2014-09-02 | Ebay Inc. | User interface framework for viewing large scale graphs on the web |
US8117060B2 (en) | 2007-12-20 | 2012-02-14 | Ebay Inc. | Geographic demand distribution and forecast |
US8239245B2 (en) | 2008-01-22 | 2012-08-07 | International Business Machines Corporation | Method and apparatus for end-to-end retail store site optimization |
US20090198681A1 (en) | 2008-02-01 | 2009-08-06 | Xsite Validation, Llc | Real property evaluation and scoring method and system |
US20090222424A1 (en) | 2008-02-26 | 2009-09-03 | Van Benedict | Method and apparatus for integrated life through virtual cities |
US8260006B1 (en) | 2008-03-14 | 2012-09-04 | Google Inc. | System and method of aligning images |
US8175992B2 (en) | 2008-03-17 | 2012-05-08 | Intelliscience Corporation | Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system wherein hit weights are summed |
US20100111374A1 (en) | 2008-08-06 | 2010-05-06 | Adrian Stoica | Method for using information in human shadows and their dynamics |
US20100121680A1 (en) | 2008-09-09 | 2010-05-13 | Propel Biofuels, Inc. | Method and system for identifying installation sites of alternative fuel stations |
US8224766B2 (en) | 2008-09-30 | 2012-07-17 | Sense Networks, Inc. | Comparing spatial-temporal trails in location analytics |
US8527308B2 (en) | 2008-10-02 | 2013-09-03 | Certusview Technologies, Llc | Methods and apparatus for overlaying electronic locate information on facilities map information and/or other image information displayed on a locate device |
US8422825B1 (en) | 2008-11-05 | 2013-04-16 | Hover Inc. | Method and system for geometry extraction, 3D visualization and analysis using arbitrary oblique imagery |
US8489445B1 (en) | 2008-12-19 | 2013-07-16 | Amazon Technologies, Inc. | Determining and displaying item preferences associated with geographic areas |
US20140172560A1 (en) | 2009-01-21 | 2014-06-19 | Truaxis, Inc. | System and method of profitability analytics |
US8385591B1 (en) | 2009-04-28 | 2013-02-26 | Google Inc. | System and method of using images to determine correspondence between locations |
US8761435B2 (en) | 2009-06-24 | 2014-06-24 | Navteq B.V. | Detecting geographic features in images based on invariant components |
GB0914603D0 (en) | 2009-08-20 | 2009-09-30 | Univ East Anglia | Image reconstruction method |
US9324003B2 (en) | 2009-09-14 | 2016-04-26 | Trimble Navigation Limited | Location of image capture device and object features in a captured image |
US8582802B2 (en) | 2009-10-09 | 2013-11-12 | Edgenet, Inc. | Automatic method to generate product attributes based solely on product images |
US9208612B2 (en) | 2010-02-12 | 2015-12-08 | The University Of North Carolina At Chapel Hill | Systems and methods that generate height map models for efficient three dimensional reconstruction from depth information |
GB201002709D0 (en) | 2010-02-17 | 2010-04-07 | Selex Galileo Ltd | Target detection apparatus and methods |
US8340415B2 (en) | 2010-04-05 | 2012-12-25 | Microsoft Corporation | Generation of multi-resolution image pyramids |
US20120079061A1 (en) | 2010-09-29 | 2012-03-29 | Peter Leonard Krebs | System and method for aggregating data for analyzing and designing an architectural structure |
US8447107B1 (en) | 2010-09-30 | 2013-05-21 | A9.Com, Inc. | Processing and comparing images |
US8903119B2 (en) | 2010-10-11 | 2014-12-02 | Texas Instruments Incorporated | Use of three-dimensional top-down views for business analytics |
US20120094639A1 (en) | 2010-10-15 | 2012-04-19 | Mark Carlson | Heat maps applying location-based information to transaction processing data |
US8429156B2 (en) | 2011-06-17 | 2013-04-23 | Microsoft Corporation | Spatial attribute ranking value index |
US9230308B2 (en) | 2011-06-30 | 2016-01-05 | Weyerhaeuser Nr Company | Method and apparatus for removing artifacts from aerial images |
US9392310B2 (en) | 2011-08-31 | 2016-07-12 | Google Inc. | Method and system for collecting and managing TV viewership data |
WO2013036618A1 (en) | 2011-09-06 | 2013-03-14 | Canfield Scientific, Incorporated | Systems, devices, and methods for image analysis |
GB2495529B (en) | 2011-10-12 | 2013-08-28 | Hidef Aerial Surveying Ltd | Aerial survey video processing |
US8768866B2 (en) * | 2011-10-21 | 2014-07-01 | Sas Institute Inc. | Computer-implemented systems and methods for forecasting and estimation using grid regression |
US8949163B2 (en) | 2011-11-16 | 2015-02-03 | General Electric Company | Adoption simulation with evidential reasoning using agent models in a hierarchical structure |
US9002114B2 (en) | 2011-12-08 | 2015-04-07 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to measure geographical features using an image of a geographical location |
US20130226667A1 (en) | 2012-02-23 | 2013-08-29 | Alex Terrazas | Methods and apparatus to analyze markets based on aerial images |
US8843423B2 (en) * | 2012-02-23 | 2014-09-23 | International Business Machines Corporation | Missing value imputation for predictive models |
GB2495567B (en) | 2012-04-19 | 2013-09-18 | Wonga Technology Ltd | Method and system for user authentication |
US9378509B2 (en) | 2012-05-09 | 2016-06-28 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to measure geographical features using an image of a geographical location |
US9152881B2 (en) | 2012-09-13 | 2015-10-06 | Los Alamos National Security, Llc | Image fusion using sparse overcomplete feature dictionaries |
US9137918B2 (en) | 2012-09-28 | 2015-09-15 | Htc Corporation | Electronic apparatus and method for assembling the same |
US20140153835A1 (en) | 2012-11-30 | 2014-06-05 | Samuel Wye PRITT | Geospatial-curve-based geolocation of media items |
US20140238801A1 (en) | 2013-02-22 | 2014-08-28 | Wei Hung Lai | Expandable Luggage |
US20140279784A1 (en) | 2013-03-14 | 2014-09-18 | Kxen, Inc. | Partial predictive modeling |
US9082014B2 (en) | 2013-03-14 | 2015-07-14 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate demography based on aerial images |
US9454848B2 (en) | 2013-05-20 | 2016-09-27 | Nokia Technologies Oy | Image enhancement using a multi-dimensional model |
US9224243B2 (en) | 2013-05-20 | 2015-12-29 | Nokia Technologies Oy | Image enhancement using a multi-dimensional model |
US9536148B2 (en) | 2013-09-27 | 2017-01-03 | Real Data Guru, Inc. | Property assessment and prospecting tool |
US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity |
US20160379388A1 (en) | 2014-07-16 | 2016-12-29 | Digitalglobe, Inc. | System and method for combining geographical and economic data extracted from satellite imagery for use in predictive modeling |
US20160063516A1 (en) | 2014-08-29 | 2016-03-03 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate commercial characteristics based on geospatial data |
US9613455B1 (en) | 2014-11-02 | 2017-04-04 | Google Inc. | Local georeferenced data |
US20160140589A1 (en) | 2014-11-14 | 2016-05-19 | International Business Machines Corporation | Retail customer engagement zones |
US20160283955A1 (en) | 2015-03-27 | 2016-09-29 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate market opportunities for an object class |
US20160358190A1 (en) | 2015-06-04 | 2016-12-08 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate a population of a consumer segment in a geographic area |
US10885097B2 (en) | 2015-09-25 | 2021-01-05 | The Nielsen Company (Us), Llc | Methods and apparatus to profile geographic areas of interest |
-
2015
- 2015-09-25 US US14/866,347 patent/US10885097B2/en active Active
-
2021
- 2021-01-04 US US17/140,909 patent/US20210224311A1/en not_active Abandoned
-
2023
- 2023-12-28 US US18/399,044 patent/US20240202229A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160253597A1 (en) * | 2015-02-27 | 2016-09-01 | Xerox Corporation | Content-aware domain adaptation for cross-domain classification |
Non-Patent Citations (1)
Title |
---|
REICHL, J.P.C. et al., "Optimization of a similarity measure for estimating unguaged streamflow," Water Resources Research, Vol. 45, 15 pp. (Year: 2009) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4178207A1 (en) * | 2021-11-05 | 2023-05-10 | British Board of Film Classification | A method of converting an age rating of media content |
WO2023078878A1 (en) * | 2021-11-05 | 2023-05-11 | British Board Of Film Classification | A method of converting an age rating of media content |
US11678015B1 (en) * | 2021-11-05 | 2023-06-13 | British Board Of Film Classification | Method for dynamically training a system to determine an age rating of media content |
US20230188788A1 (en) * | 2021-11-05 | 2023-06-15 | British Board Of Film Classification | Method for dynamically training a system to determine an age rating of media content |
US12003817B2 (en) | 2021-11-05 | 2024-06-04 | British Board Of Film Classification | Method for dynamically training a system to determine an age rating of media content |
US20230179311A1 (en) * | 2021-12-07 | 2023-06-08 | Shasta Cloud, Inc. | Parameter Determination for Radio-Frequency Modeling |
WO2023107312A1 (en) * | 2021-12-07 | 2023-06-15 | Shasta Cloud, Inc. | Parameter determination for radio-frequency modeling |
Also Published As
Publication number | Publication date |
---|---|
US10885097B2 (en) | 2021-01-05 |
US20170091627A1 (en) | 2017-03-30 |
US20240202229A1 (en) | 2024-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240202229A1 (en) | Methods and apparatus to profile geographic areas of interest | |
Meller et al. | Ensemble distribution models in conservation prioritization: from consensus predictions to consensus reserve networks | |
US20100111372A1 (en) | Determining user similarities based on location histories | |
Soliman et al. | Social sensing of urban land use based on analysis of Twitter users’ mobility patterns | |
US20110282798A1 (en) | Making Friend and Location Recommendations Based on Location Similarities | |
WO2021135562A1 (en) | Feature validity evaluation method and apparatus, and electronic device and storage medium | |
US20160358190A1 (en) | Methods and apparatus to estimate a population of a consumer segment in a geographic area | |
Bégin et al. | Assessing Volunteered Geographic Information (vgi) Quality Based on CONTRIBUTORS'Mapping Behaviours | |
JP2021533450A (en) | Identification and application of hyperparameters for machine learning | |
CN110689368B (en) | Method for designing advertisement click rate prediction system in mobile application | |
CN110706015B (en) | Feature selection method for advertisement click rate prediction | |
CN112948951B (en) | Building model creating method and device and processing server | |
CN114359563B (en) | Model training method, device, computer equipment and storage medium | |
Sarquis et al. | Species distribution models and empirical test: Comparing predictions with well‐understood geographical distribution of Bothrops alternatus in Argentina | |
Larrea‐Gallegos et al. | Exploring machine learning techniques to predict deforestation to enhance the decision‐making of road construction projects | |
Al Jawarneh et al. | Spatial-aware approximate big data stream processing | |
US20200244347A1 (en) | Systems and methods for expert guided rule based identification of relevant planetary images for downlinking over limited bandwidth | |
Rosti et al. | An empirical seismic vulnerability model | |
Roy et al. | Inferring the number of floors for residential buildings | |
CN110276387B (en) | Model generation method and device | |
Liang et al. | Comparison on two case‐based reasoning strategies of automatically selecting terrain covariates for digital soil mapping | |
Fantappiè et al. | Digital soil mapping of Italy to map derived soil profiles with neural networks | |
Bodenmann et al. | Dynamic post-earthquake updating of regional damage estimates using Gaussian processes | |
CN111259268A (en) | POI recommendation model construction method and system | |
CN116777056A (en) | Method and device for training prediction model and determining material demand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THE NIELSEN COMPANY (US), LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TERRAZAS, ALEJANDRO;LIPA, PETER;SULLIVAN, JONATHAN;AND OTHERS;SIGNING DATES FROM 20150922 TO 20150925;REEL/FRAME:055321/0001 Owner name: NIELSEN CONSUMER LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE NIELSEN COMPANY (US), LLC;REEL/FRAME:055325/0353 Effective date: 20210209 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT, NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNORS:NIELSEN CONSUMER LLC;BYZZER INC.;REEL/FRAME:055742/0719 Effective date: 20210305 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |