An example embodiment of the present invention generally relates to predictive analytics and more particularly, to a prediction system configured to provide users with analytics based upon tag location data, derived tag location data or the like.
Location based services allow for a user to identify the location of a particular user, tag, and/or object. In addition, various analytics may be determined based upon location data of an object, such as an athlete's location during a game. Predicting future athletic performances based upon past athletic performances has been difficult as prior art systems have lacked particular performance and/or tag location data. Through applied effort, ingenuity and innovation, Applicant has solved many of these identified problems by developing a solution that is embodied by the present invention, which is described in detail below.
A method, apparatus, computer program product, and system therefore provide for predicting analytics and providing tag location data based upon tag location data, derived tag location data, statistical data or the like corresponding to an object. As is described in more detail herein, some example embodiments are configured to generate or otherwise receive tag location data, derived tag location data or the like for a particular object. The object may be associated with one or more entities, such as a title, role, a team, an opponent and/or the like. The object may also be related to one or more statistical outcomes received from an external source or generated based on the tag location data, derived tag location data or the like. As such, based upon the object, the characteristics of the object, associations of the object, one or more statistical outcomes for the object and/or the like, a model may be trained or a set or rules developed. Such a model or set of rules, in some example embodiments, may be used to provide one or more predictions of object future performance or indications of how an object should have performed for a given criteria of interest.
Having thus described example embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numerals refer to like elements throughout.
As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Moreover, the term “exemplary”, as may be used herein, is not provided to convey any qualitative assessment, but instead merely to convey an illustration of an example. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
The term “computer-readable medium” as used herein refers to any medium configured to participate in providing information to a processor, including instructions for execution. Such a medium may take many forms, including, but not limited to a non-transitory computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Transmission media include, for example, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Examples of non-transitory computer-readable media include a magnetic computer readable medium (e.g., a floppy disk, hard disk, magnetic tape, any other magnetic medium), an optical computer readable medium (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a Blu-Ray disc, or the like), a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), a FLASH-EPROM, or any other non-transitory medium from which a computer can read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media. However, it will be appreciated that where embodiments are described to use a computer-readable storage medium, other types of computer-readable mediums may be substituted for or used in addition to the computer-readable storage medium in alternative embodiments.
Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (for example, implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
As indicated above, some embodiments of the present invention may be employed in methods, apparatuses, systems and computer program products configured to advantageously provide a prediction for a criteria of interest for one or more objects, one or more groups of objects or the like. In some examples, a prediction for a criteria of interest may be generated from or otherwise be a function of tag location data, derived tag location data, statistical data or the like. For example, embodiments of the present invention may advantageously provide for predicting a prediction for a criteria of interest (i.e., predicting potential performance metrics or the like) for an object, such as a football player, based upon tag location data, derived tag location data, statistical data or the like corresponding to the object and/or one or more potential outcomes for the object.
In one example embodiment, a system may advantageously provide a prediction for a criteria of interest of a future performance, such as a football player's future performance (or data on a how a player should have performed) based upon data corresponding to the football player's past performances, performances of other players similar to the football player, characteristics of the opposition, climate characteristics, contextual data, tag location data, derived tag location data, statistical results of the player or similar players, the player's health history data, player equipment characteristic data, and/or any data that may have a material effect on the player's performance and the like. For example, data corresponding to a football player's past performance against a particular team at a particular location may be used to determine the player's performance against the same or similar team at the same or similar location. Additionally, performance of a player with similar characteristics (e.g., height, weight, speed, strength or the like) may also be used to provide predictive analytics for how a particular object might perform. Accordingly, embodiments described herein may provide a prediction for a criteria of interest based upon previous tag location data, derived tag location data, statistical data or the like corresponding to a particular object.
In some example embodiments and in order to provide predictive analytics, the methods, apparatus, systems and computer program products may be configured to generate or otherwise access information relating to a particular object. Object information may include, but is not limited to, organization, name, role, title, statistics, protective equipment, years of experience, college, location, hometown and the like. The object information, in some examples, may be filtered based on external factors such as, but not limited to, time of year, climate, opponent or the like or may include, but is not limited to, impact data, route running data, movement data, speed data, acceleration data, body pose data and/or the like.
Statistical data may be generated by combining a portion or all of the tag location data for one or more objects or may be received from one or more users. In some example embodiments, a portion of the statistical data may be used to train and/or test a model in conjunction with tag location data and derived tag location data (e.g. one or more particular types of tag location data). For example, the model may be configured to determine one or more patterns that are suggestive of a particular result. In some examples, patterns may be generated or otherwise detected based on characteristics, external factors, associations and/or the like.
In some examples, training the model may include historical statistical model and may further include defining relationships between two or more fields of statistical data in a database, date store or the like. In other words, the model may be defined such that an outcome field is dependent (e.g., dependent variable) on one or more other fields (e.g. independent variables). For example, a play outcome (e.g., play outcome data) could be not targeted, targeted, or caught. Independent variables could vary at each time epoch, and could include statistical data or derived tag location data (e.g., formation, play, relative position to ball, relative position to quarterback, relative position to adversary, speed, velocity, acceleration, height and/or the like). In some examples, derived tag location data may be based on a single time epoch where other examples the derived tag location data may be based on two or more time epochs.
As such, derived location data, such as velocity, can be compared to play outcome data, such as a catch, to determine whether a pattern exists. If so, the model may be trained to look for such a pattern and apply the pattern to future velocity measurements for a particular object.
In some example embodiments, criteria of interest may be established for the purpose of evaluating the tag location data, derived tag location data, statistical data or the like as a basis for generating data prediction. For example, criteria of interest (e.g., type of outcome to be predicted) may include certain performance related items, such as targeted, not targeted, catches, drops, play outcomes (e.g., the result of a particular play, a catch, a drop, a run, a pass or the like) in the form of play outcome data, the longest run, the fastest player, the longest throw, predicted completion percentage or the like for a particular game, group of games or a season.
According to some example embodiments, criteria of interest may include information corresponding to an athlete with the ability to start moving and stop moving the quickest, vertical jump, sprint times, an athlete with the ability to perform at a specific level in certain climate and/or environmental conditions and/or an athlete with the ability to perform at a specific level despite a predicted loss of ability to perform at the specified level (e.g., a player able to still score points commensurate with a high stamina level even when the player has a low stamina level, a player able to run at a particular speed even though injured, etc.). In some example embodiments, statistical data, tag location data or the derived tag location data may be used and/or tracked in real time and the related or applied predictive mode may be used for informative purposes, to enable decisions to be made and/or to make or alter predictions related to an object or group of objects.
In further example embodiments, criteria of interest and object information may be used as inputs to the trained model. As such, based on the object and particular criteria, the model may provide a prediction of a particular statistical output or play outcome. For example, the model may provide a prediction of a running back's total rushing yards in an upcoming game or an indication of a probability of rushing yards for an object in a particular game exceeding 100 yards. Alternatively or additionally, in other examples, the model may be configured to measure an object/participant's performance (e.g., speed) for the current play and using that as an independent variable to predict play outcome (e.g., catch, drop, etc.). In other examples, the model may be used to predict particular results as a function of the arm strength of a quarterback, 40-yard dash speed of a linebacker or the like, such as based on a combine, tryout or the like.
One example may comprise:
In some examples, play outcomes (or play outcome data) may be aggregated in the form of performance data (e.g., plays 4, targeted 3, catch 2 using the above referenced table). In some examples, the system and method described herein may use particular tag location data or derived tag location data to generate a prediction. For example, tag location data equal to 8 may suggest that the likelihood a play occurred is 100%, object was targeted 75% and catch 50%. Whereas tag location data equal to or greater than 10 may suggest that the likelihood a play occurred is 100%, object was targeted 100% and catch 67%. Event predictions may also be made (e.g., total plays 28, targeted 21, catch 14 and/or the like)
The receiver processing and distribution system 110 illustrated in
The predictive data engine 112 may take the form of any suitable network server and/or other processing device, such as a computer, tablet computer, smartphone, and/or the like. The at least one database 162A and the at least one object information database 172A can be any suitable network database configured to store tag location data, derived tag location data or the like and association data respectively. In addition, the database 162A and/or the object information database 172A may be configured to store data corresponding to a relationship between at least one object and at least one association. For example, the tag location data, derived tag location data or the like database and/or the association data database may also be configured to store data corresponding to a relationship between at least one object and at least one association/correlation, such as a relationship between a football player and the player's current team, a football player and the player's past teams, a football player and the opposing team of a current football game, a football player and the opposing team in past games, and the like. According to some embodiments, the tag location data, derived tag location data or the like database and/or the association data database may be configured to store data corresponding to a relationship between at least one object and at least one association, such as the relationship between the football player and a particular climate, environment, using particular equipment, playing on a particular day and/or time, and/or the like. In some example embodiments, statistics (e.g., total yards, total catches, number of touchdowns, and/or the like) for a particular object may be stored in the statistical data 180. In some examples, statistical data may be historical statistical data whereas in other examples statistical data is real time statistical data or near real time statistical data. In further examples, statistical data may be limited to data that describes one or more known metrics that track the performance of a player on the field as captured by a human, whereas in other examples statistical data may be derived from tag location data or the derived tag location data.
Although some embodiments described herein relate to a system for predicting analytics for American Football, such as for a football player, based upon tag location data, derived tag location data, statistical data or the like, one of ordinary skill in the art may appreciate the system may be employed for predicting analytics based upon any type of tag location data, derived tag location data, statistical data or the like. For example, the system may be employed for predicting analytics corresponding to other sports based upon aggregate data. In another embodiment, the system may be employed for predicting analytics corresponding to agricultural needs based upon aggregate data. For example, the system may be used to predict analytics, such as a cow's ability to produce milk, based upon aggregate data, such as the cow's past milk production, the cow's movement, the climate, the environment, the cow's diet, and/or the like.
Although
As shown in
As such, the predictive data engine 112, as illustrated in
Referring to
In some examples, the system comprising at least the tags 102 and the receivers 106 is configured to provide two dimensional and/or three dimensional precision localization (e.g., subfoot resolutions), even in the presence of multipath interference, due in part to the use of short nanosecond duration pulses whose time-of-flight can be accurately determined using detection circuitry, such as in the receivers 106, which can trigger on the leading edge of a received waveform. In some examples, this short pulse characteristic allows necessary data to be conveyed by the system at a higher peak power, but lower overall power levels, than a wireless system configured for high data rate communications, yet still operate within local regulatory requirements which may limit overall power levels.
The tag signal transmitted from RF location tag 102 to receiver 106 may include “blink data” as it is transmitted at selected intervals. This “blink rate” may be set by the tag designer or the system designer to meet application requirements. In some embodiments it is consistent for one or all tags; in some embodiments it may be data dependent. Blink data includes characteristics of the tag signal that allow the tag signal to be recognized by the receiver 106 so the location of the RF location tag 102 may be determined by the locating system. Blink data may also comprise one or more tag data packets. Such tag data packets may include any data from the tag 102 that is intended for transmission such as, for example in the depicted embodiment, a tag UID, tag data, and a tag-individual correlator. In the case of TDOA systems, the blink data may be or include a specific pattern, code, or trigger that the receiver 106 (or downstream receiver processing and analytics system) detects to identify that the transmission is from a RF location tag 102 (e.g., a UWB tag).
In some examples, the tags 102 may operate with an instantaneous −3 dB bandwidth of approximately 400 MHz and an average transmission rate below a 187.5 kHz regulatory cutoff. In such examples, the predicted maximum range of the system, operating at 6.0 GHz, is roughly 311 meters. Such a configuration advantageously satisfies constraints applied by regulatory bodies related to peak and average power densities (e.g., effective isotropic radiated power density), while still optimizing system performance related to range and interference. In further examples, tag transmissions with a −3 dB bandwidth of approximately 400 MHz yields, in some examples, an instantaneous pulsewidth of roughly 2.5 nanoseconds which enables a resolution to better than 30 centimeters.
Referring again to
In some examples, the RF location tag 102 may employ UWB waveforms (e.g., low data rate waveforms) to achieve extremely fine resolution because of their extremely short pulse (i.e., sub-nanosecond to nanosecond, such as a 2 ns (1 ns up and 1 ns down)) durations. As such, the tag data packet may be of a short length (e.g., 72-112 bits in some example embodiments), that advantageously enables a higher throughput and higher transmission rates. In some examples, higher throughput and/or higher transmission rates may result in larger datasets for filtering to achieve a more accurate location estimate. In some examples, rates of up to approximately 2600 updates per second can be accommodated without exceeding regulatory requirements. Alternatively or additionally, in some examples, the length of the tag data packets, in conjunction with other system functionality, may also result in a longer battery life (e.g., a 3.0 v 1 A-hr lithium cell battery may result in a tag battery life in excess of 3.8 years).
In some examples, one or more other tags, such as a reference tag 104, may be positioned within and/or about a monitored area or zone, such as monitored area 100 illustrated herein as a football field. In some examples, the reference tag 104 may be configured to transmit a signal that is used to measure the relative phase (e.g., the count of free-running counters) of non-resettable counters within the receivers 106.
One or more (preferably four or more) receivers 106 are also at locations with predetermined coordinates within and/or around the monitored area 100. In some examples, the receivers 106 may be connected in a “daisy chain” fashion to advantageously allow for a large number of receivers 106 to be interconnected over a significant monitored area in order to reduce and simplify cabling, reduce latency, provide power and/or the like. Each of the receivers 106 includes a receiver for receiving transmissions, such as UWB transmissions, and preferably, a packet decoding circuit that extracts a time of arrival (TOA) timing pulse train, transmitter ID, packet number and/or other information that may have been encoded in the tag transmission signal (e.g., material description, personal information, etc.) and is configured to sense signals transmitted by the tags 102 and one or more reference tags 104 (if present).
Each receiver 106 includes a time measuring circuit that measures time differences of arrival (TDOA) of tag bursts. The time measuring circuit is phase-locked (e.g., phase differences do not change and therefore respective frequencies are identical) with a common digital reference clock signal distributed via cable connection from a receiver hub 108 having a central timing reference clock generator. The reference clock signal establishes a common timing reference for the receivers 106. Thus, multiple time measuring circuits of the respective receivers 106 are synchronized in frequency, but not necessarily in phase. While there typically may be a phase offset between any given pair of receivers in the receivers 106, the offset is readily determined through use of a reference tag 104. Alternatively or additionally, each receiver may be synchronized wirelessly via virtual synchronization without a dedicated physical timing channel.
In some example embodiments, the receivers 106 are configured to determine various attributes of the received signal. Since measurements are determined at each receiver 106, in a digital format, rather than analog, measurements are transmittable to the receiver hub 108. Advantageously, because packet data and measurement results can be transferred at high speeds to a receiver memory, the receivers 106 can receive and process tag (and corresponding object) locating signals on a nearly continuous basis. As such, in some examples, the receiver memory allows for a high burst rate of tag events (i.e., tag data packets) to be captured.
Data cables or wireless transmissions may convey measurement data from the receivers 106 to the receiver hub 108 (e.g., the data cables may enable a transfer speed of 2 Mbps). In some examples, measurement data is transferred to the receiver hub at regular polling intervals.
As such, the receiver hub 108 determines or computes tag location (i.e., object location) by processing TDOA measurements related to multiple data packets detected by the receivers 106. In some example embodiments, the receiver hub 108 may be configured to resolve the coordinates of a tag using nonlinear optimization techniques. The receiver hub 108 may also be referred to herein as a locate engine or a receiver hub/locate engine.
In some examples, the system described herein may be referred to as an “over-specified” or “over-determined” system. As such, the receiver hub 108 may then calculate one or more valid (i.e., most likely) locations based on a set of measurements and/or one or more incorrect (i.e., less likely) locations. For example, a location may be calculated that is impossible due the laws of physics (e.g., a tag on a football player that travels more than 100 yards in 1 second) or may be an outlier when compared to other locations. As such one or more algorithms or heuristics may be applied to minimize such error.
One such algorithm for error minimization, which may be referred to as a time error minimization algorithm, may be described as:
where N is the number of receivers, c is the speed of light, xj,k, yj,k and zj,k are the coordinates of the receivers and tj,k are the arrival times received at each of the receivers. Note that only time differences may be evaluated at hub 108 in some example embodiments. The starting point for the minimization may be obtained by first doing an area search on a coarse grid of x, y and z over an area defined by the user and followed by a localized steepest descent search.
Another or second algorithm for error minimization, which may be referred to as a distance error minimization algorithm, may be defined by:
where time and location differences are replaced by their non-differential values by incorporating an additional unknown dummy variable, t0, which represents an absolute time epoch. The starting point for this algorithm is fixed at the geometric mean position of all active receivers. No initial area search is needed, and optimization proceeds through the use of a Davidon-Fletcher-Powell (DFP) quasi-Newton algorithm in some examples. In other examples, a steepest descent algorithm may be used.
In order to determine the coordinates of a tag (T), in some examples and for calibration purposes, a reference tag (e.g., reference tag 104) is positioned at a known coordinate position (xT, yT, zT).
In further example embodiments, a number N of receivers {Rj: j=1, . . . , N} (e.g., receivers 106) are positioned at known coordinates (xR
d
Rj=√{square root over ((xRj−xτ)2+(yRj−yτ)2+(zRj−zτ)2)}{square root over ((xRj−xτ)2+(yRj−yτ)2+(zRj−zτ)2)}{square root over ((xRj−xτ)2+(yRj−yτ)2+(zRj−zτ)2)}
from a reference tag.
Each receiver Rj utilizes, for example, a synchronous clock signal derived from a common frequency time base, such as clock generator. Because the receivers are not synchronously reset, an unknown, but constant offset Oj exists for each receiver's internal free running counter. The value of the offset Oj is measured in terms of the number of fine resolution count increments (e.g., a number of nanoseconds for a one nanosecond resolution system).
The reference tag is used to calibrate the radio frequency locating system as follows:
The reference tag emits a signal burst at an unknown time τR. Upon receiving the signal burst from the reference tag, a count NR
N
i
=βτr+Oj+βdR
where c is the speed of light and β is the number of fine resolution count increments per unit time (e.g., one per nanosecond). Similarly, each object tag Ti of each object to be located transmits a signal at an unknown time τi to produce a count
N
i
=βτi+Oj+βdi
at receiver Rj where di
Δjk is constant as long as dRj−dRk remains constant, (which means the receivers and tag are fixed and there is no multipath situation) and β is the same for each receiver. Note that Δj
N
i
−N
i
=(Oj−Ok)+β(di
or,
d
i
−d
i
=(c/β)[Ni
The process further includes determining a minimum error value Ei, for each object tag Ti, according to the functional relationship:
is the Euclidean distance between point (x,y,z) and the coordinates of the jth receiver Rj. The minimization solution (x′,y′,z′) is the estimated coordinate location for the ith tag at t0.
In an example algorithm, this proceeds according to:
where each arrival time, tj, is referenced to a particular receiver (receiver “1”) as follows:
and the minimization is performed over variables (x,y,z,t0) to reach a solution (x′,y′,z′,t0′).
In some example embodiments, the location of a tag 102 may then be output to a receiver processing and distribution system 110 for further processing of the location data to advantageously provide visualizations, predictive analytics, statistics and/or the like.
The exemplary radio frequency locating system of
In some embodiments, multiple tags 102 (as well as other sensors) may be attached to the equipment worn by an object, such as an individual player or official. The receiver processing and distribution system 110 may use a database to associate the tag unique identification number (tag UID) of each tag 102 with each player, official, or other object and correlate the tag location data and/or other data for multiple tags 102 that are associated with a particular player, official, or other object.
Additional sensors 254 may be attached to equipment worn by player 252, such as accelerometers, health monitoring sensors (e.g., blood pressure sensors, heart monitors, respiration sensors, moisture sensors, temperature sensors), gyroscopes, light sensors, or the like. The additional sensors 254 may be affixed to shoulder pads, the helmet, the shoes, rib pads, elbow pads, the jersey, the pants, a bodysuit undergarment, gloves, arm bands, wristbands, and the like.
Sensors 254 may be configured to communicate with receivers (106 of
At 304, a filter, such as a filter in the receiver processing and distribution system 110 or the predictive data engine 112 may process the tag location data to identify tags 102 that are associated and/or otherwise correlated with a given object (e.g., multiple tags attached to a player, a ball, an official, etc.). The filter may correlate the tag location data associated with multiple tags 102 where the multiple tags 102 are associated with the same object (e.g., player or official), such as to provide more accurate data regarding the activities of the object.
At 306, the predictive data engine may compare the tag identifier (e.g., a tag ID, tag UID or the like) to a database of player roles to determine the associated player (e.g., a player profile) and role. In some example embodiments, the predictive data engine may use the tag location data, the player role data for each individual player (e.g., object information such as quarterback or center fielder), and player dynamics/kinetics models to determine player dynamics (e.g., multi-dimensional player location information) for each player, such as location. In other examples, the player dynamics/kinetics models may be used to generate derived tag location data, such as change in location, orientation, speed, velocity, acceleration, deceleration, or the like.
At 308, the predictive data engine may determine the likelihood that an event has occurred (e.g., particular play has formed, a play has started, a play is in progress, or a play has ended). In some embodiments, the predictive data engine may also receive an indication of the actions of game officials to further improve play determination accuracy. In some embodiments, the predictive data engine may also receive tag-derived data associated with a ball, a sideline, and/or the like to assist in generating play data.
At 310, predictive data engine may generate a stream of tag location data, derived tag location data, play outcome data, events and statistics for the game, the players, and the teams or the like to perform analytics, operations, or the like.
In some embodiments, an object, such as a football player, may possess a tag 102, as illustrated in
A predictive data engine may receive, in some examples, additional object information at 402 that corresponds to the object. In some embodiments, at 402, the predictive data engine may be configured to receive object information corresponding to an object name, object type or role, object information, object equipment, and/or the like. For example, a user may manually input object information via a user interface, such as the user interface 190 shown in
At 404, the predictive data engine may be configured to generate derived tag location data. At 406, the predictive data engine may be configured to define and/or determine associations for an object. Example associations include, but are not limited to, an association between the football player and the player's team, conference, division, and/or the like. In some embodiments, the predictive data engine may be configured to determine a relationship between objects using the tag location data, such as a relationship between the football player's location throughout the game and the football player's team, the opposing team, and/or the like. In other examples, associations may be determined based on derived tag location data (e.g. distance between an object and an opposing object, such as a defender). or other adversary.
At 408, the predictive data engine may be configured to define or otherwise receive at least one criteria of interest. The criteria of interest may include any number of metrics associated with the object. In some embodiments, the criteria of interest may include metrics corresponding to the performance of the object or similar objects, such as total yards traveled, number of plays, time on the field, or the like. In another example, the criteria of interest may be defined by performance metrics, such as a football player's performance (e.g., total rushing yards, total catches and/or the like). In another embodiment, the predictive data engine may be configured to define a plurality and/or a combination of various criteria of interest. For example, the criteria could be defined as number of plays, total yards traveled, total completions, time on the field and/or the like.
In some example embodiments, a user interface, such as the user interface 190 of
At 410, the predictive data engine may be configured to predict criteria of interest. In some example embodiments, the predictive data engine may be configured to utilize a model, such as the model described with respect to
At 412, the predictive data engine may be configured to cause the prediction for a criteria of interest to be displayed on an interface, such as the user interface 190 shown in
At 506, the tag location data, derived tag location data or the like for the object may be compared to a model that comprises tag location data, derived tag location data and/or the like and various play outcomes. Specifically, the predictive data engine may be configured to compare a tag location data, derived tag location data or the like for objects of a certain type (e.g., quarterbacks in the league) and a particular outcome against the tag location data, derived tag location data or the like for a particular object (e.g., quarterback for the current play) and the actual outcome. Such a comparison may generate an indication of how a particular object performed in comparison to all objects of that type. An example of such a comparison is further shown with respect to tag location data, derived tag location data or the like 708 for an object and tag location data, derived tag location data, statistical data or the like 704 for one or more objects of that type of
At 508, a prediction for the criteria of interest is generated as a function of the comparison. For example, using the tag location data, derived tag location data, statistical data or the like, the performance of a current object can be predicted. In one example, if a player (e.g., quarterback) had played in a certain number of plays and was on the field for a particular amount of time, a certain performance, such as number of completions (or completion percentage) could be predicted. Alternatively, in overtime, the player may have played worse than what was predicted, thus indicating a conditioning issue that could be addressed. According to some embodiments, a predictive analytic value may be generated for a specific quarterback based at least in part on a comparison of tag location data, derived tag location data or the like corresponding to the specific quarterback's performance in a game and tag location data, derived tag location data, statistical data or the like corresponding to the performances of all quarterbacks in all games within the league. In some embodiments, tag location data, derived tag location data, statistical data or the like may provide a component or an indication for determining a prediction for the criteria of interest. For example, if the tag location data, derived tag location data, statistical data or the like details an event (e.g., the quarterback threw a touchdown pass) occurred 100 times in 100 games, then the tag location data, derived tag location data, statistical data or the like may provide an indication and/or a component for determining a predictive analytic value corresponding to whether or not the quarterback will throw a touchdown in an upcoming game. In this regard, the tag location data, derived tag location data, statistical data or the like may provide an indication of a high probability that a particular event will occur in other games. Conversely, if the tag location data, derived tag location data, statistical data or the like details an event (e.g., the quarterback threw a touchdown pass) occurred 100 times in 10,000 games, then the tag location data, derived tag location data, statistical data or the like may provide an indication of a very low probability that the event will occur in other games. An example of such a value is further shown with respect to the a prediction for a criteria of interest 706 of
As is shown in
At block 604, according to some embodiments, a pattern recognition algorithm may be used to process the input dataset in order to determine tag location, derived tag location data or the like, play outcomes for criteria of interest and/or metrics. In some example embodiments, determining may include classifying tag location data, derived tag location data or the like or the like as effecting or otherwise informative of a particular result (e.g., correlating independent variables to dependent variables). In some example embodiments, the model may additionally or alternatively be trained so that it may estimate a value of a particular criteria of interest and/or metric based on the tag location data, derived tag location data or the like and/or relationships between aggregated tag location data, derived tag location data or the like.
Cluster analysis and classification algorithms are two examples of pattern recognition algorithms that may be used to process the input dataset. In cluster analysis, an input dataset may be classified into one of several groups (clusters) of patterns. Patterns within the same cluster are likely to be more similar to each other than they are similar to patterns assigned to different clusters. A classification algorithm (i.e., classifier) maps an input dataset into one of several clusters within which the pattern is most likely similar. As such, one or more patterns in the tag location data, derived tag location data or the like may be determined, such patterns suggestive of a particular statistical outcome.
Machine learning is often used to develop a particular pattern recognition algorithm (i.e., a process for recognizing a particular pattern) that may be used for statistical inference. For example, a set of clusters may be developed using unsupervised learning, in which the number and respective sizes of the clusters are determined using calculations of similarity between features of the patterns for a previously collected training set of patterns. In another example, a classifier representing a particular categorization problem may be developed using supervised learning on a training set of patterns including known categorizations. Each training pattern is input to the classifier, and the difference between the output categorization and the known categorization is calculated. This difference calculated by the classifier is used to adjust the classifier coefficients to more accurately categorize the patterns. A classifier that is developed using supervised learning may also be known as a trainable classifier.
In some embodiments, predictive analysis includes data predictive classifier that takes tag location data, derived tag location data or the like as an input and produces an output that categorizes the particular tag location data, derived tag location data or the like in such a way to predict one or more statistical outcomes (e.g., prediction for a criteria of interest). In some examples, the model may be configured to generate a particular quantitative result, whereas in other example embodiments a range or threshold may be reported, whereas in further examples a particular play outcome may be predicted.
As is shown in block 606, tag location data, derived tag location data and/or object information may be provided along with particular criteria of interest. In some embodiments, the predictive data engine may be configured to determine tag location data associated with the object and the at least one criteria of interest based upon additional data that is not associated with the at least one criteria of interest. For example, the criteria of interest may be the number of rushing yards a player has accrued per game played at Denver, Colo., while the predictive data engine may be configured to determine a prediction for a criteria of interest from tag location data, derived tag location data, statistical data or the like associated with the number of rushing yards the player accrued per game at Miami, Fla. In this embodiment, the predictive data engine may be configured to determine a prediction for a criteria of interest using contextual data (i.e., such as the elevation relative to sea level at Miami, Fla.) associated with particular tag location data, derived tag location data or the like (i.e., the average number of rushing yards the football player accrued per game at Miami, Fla.) to determine a prediction for a criteria of interest (i.e., the predicted number of rushing yards the football player will amass during a game in Denver, Colo.) that corresponds with the particular criteria of interest.
In some embodiments, the predictive data engine may be configured to determine a predicted criteria of interest (e.g., to predict a fantasy football outcome), such as events, actions, and the like that created in a virtual and/or fantasy environment, but may also be analyzed against actual tag location data, derived tag location data or the like, such as a football player's performance. For example, fantasy data may correspond to a virtual player/athlete who is not an actual athlete, but is one who only exists within a fantasy environment. The fantasy data may correspond to actual data, events, actions, and the like, and may further include abilities and/or performance characteristics associated with actual player data, even though the virtual player does not exist and never acquired those abilities and/or performance characteristics. As such, the predictive data engine may be configured to determine a prediction for a criteria of interest using hypothetical and/or fantasy data for a virtual player (e.g., a fantasy football representation of an actual player, a video game representation or the like). In some embodiments, hypothetical and/or fantasy data may be applied to an actual player to predict how certain training stresses may increase a player's abilities and/or the like. were created in a virtual and/or fantasy environment. In some embodiments, the predictive analytic data engine may be configured to determine predictive analytic data using either or both actual object data, such as the football player's total yardage, and fantasy data, such as a video game statistic.
As shown in block 608, the tag location data, the derived tag location and/or the play outcome data may be provided to the model determined respect to block 604. In some example embodiments, one or more criteria of interest may also be provided to the model. The model then may compare received tag location data, derived tag location data or the like to its determined model, the comparison generating at least one predicted criteria of interest data for a particular object based on tag location data, derived tag location data or the like, and/or a relationship between the tag location data, derived tag location data or the like and at least one association.
In
In addition, although not shown in
Analytic data 702 may further comprise tag location data corresponding to tag location data, derived tag location data, statistical data or the like 704. For example, tag location data, derived tag location data, statistical data or the like 704 may comprise tag location data, derived tag location data or the like that corresponds to all objects in a system. Referring to
According to some embodiments, the tag location data 702 may further comprise a prediction for a criteria of interest 706, which may correspond to a particular predictive performance for an object, such as a football player. For example, a prediction for a criteria of interest 706 may detail how a particular football player may perform or should have performed against a particular opponent based upon tag location data previously received by the a prediction for a criteria of interest system. In one instance, tag location data, derived tag location data or the like corresponding to a particular football player may be associated, not only with the football player's current team, but may also be associated with an opposing team. As such, the predictive data engine may be configured to determine tag location data, such as the a prediction for a criteria of interest 706, based upon tag location data, derived tag location data or the like associated with various associations, such as an opposing team. As such, the predictive data engine may be configured to cause a user interface to display a prediction for a criteria of interest 706 corresponding to an object (i.e., the football player) based at least upon the object's past performance associated with a particular association (i.e., an opposing team). In other words, the predictive data engine may be configured to receive data corresponding to a quarterback's performance against a particular opponent to determine and predict the quarterback's performance in an upcoming game against the particular opponent or how the quarterback should have performed.
Additionally and/or alternatively, the predictive data engine may be configured to determine and predict tag location data corresponding to a particular object based upon additional tag location data, derived tag location data or the like. For example, a prediction for a criteria of interest 706 may be based, not only on the tag location data, derived tag location data or the like 708 corresponding to a football player's past performances against the particular opponent, but may also be based upon additional tag location data, derived tag location data or the like, such as the football player's most recent performances against other opponents, the performance of other players having a similar title or role, the performance of other players against the particular opponent, and/or the like.
Referring again to
As referred to herein, “module” includes hardware, software and/or firmware configured to perform one or more particular functions. In this regard, the means of circuitry as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions stored on a non-transitory computer-readable medium (e.g., memory 158) that is executable by a suitably configured processing device (e.g., processor 155), or some combination thereof.
Processor 155 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in
Whether configured by hardware, firmware/software methods, or by a combination thereof, processor 155 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when processor 155 is embodied as an ASIC, FPGA or the like, processor 155 may comprise specifically configured hardware for conducting one or more operations described herein. As another example, when processor 155 is embodied as an executor of instructions, such as may be stored in memory 158, the instructions may specifically configure processor 155 to perform one or more algorithms and operations described herein.
Memory 158 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in
Communications module 192 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., memory 158) and executed by a processing device (e.g., processor 155), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a second circuitry and/or the like. In some embodiments, communications module 192 (like other components discussed herein) can be at least partially embodied as or otherwise controlled by processor 155. In this regard, communications module 192 may be in communication with processor 155, such as via a bus. Communications module 192 may include, for example, an antenna, a transmitter, a receiver, a transceiver, network interface card and/or supporting hardware and/or firmware/software for enabling communications with another computing device. Communications module 192 may be configured to receive and/or transmit any data that may be stored by memory 158 using any protocol that may be used for communications between computing devices. Communications module 192 may additionally or alternatively be in communication with the memory 158 and/or any other component of circuitry, such as via a bus
Predictive analytics data engine 112 may also or instead be included and configured to perform the functionality discussed herein related to facilitating the determination of a prediction for a criteria of interest corresponding to an object, as discussed above. In some embodiments, some or all of the functionality related facilitating the determination of a prediction for a criteria of interest corresponding to an object may be performed by processor 155. In this regard, the example processes and algorithms discussed herein can be performed by at least one processor 155 and/or predictive analytics data engine 112. For example, non-transitory computer readable storage media can be configured to store firmware, one or more application programs, and/or other software, which include instructions and other computer-readable program code portions that can be executed to control processors of the components of the receiver processing and distribution system 110 to implement various operations, including the examples shown above. As such, a series of computer-readable program code portions may be embodied in one or more computer program products and can be used, with a computing device, server, and/or other programmable apparatus, to produce the machine-implemented processes discussed herein.
Any such computer program instructions and/or other type of code may be loaded onto a computer, processor or other programmable apparatuses circuitry to produce a machine, such that the computer, processor or other programmable circuitry that executes the code may be the means for implementing various functions, including those described herein.
The illustrations described herein are intended to provide a general understanding of the structure of various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus, processors, and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the description. Thus, to the maximum extent allowed by law, the scope is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
This application claims priority from and the benefit of the filing date of U.S. Provisional Patent Application No. 61/831,990 filed Jun. 6, 2013, the contents of which is incorporated by reference in its entirety herein.
Number | Date | Country | |
---|---|---|---|
61831990 | Jun 2013 | US |