×

Hybrid solver for data-driven analytics

  • US 8,190,406 B2
  • Filed: 11/26/2008
  • Issued: 05/29/2012
  • Est. Priority Date: 11/26/2008
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for use in a computer modeling system that includes one or more server computing systems and one or more client computing systems, and wherein a computer architecture is implemented either on a server computing system, a client computing system, or is distributed among one or more server and client computing systems, and wherein the computer architecture includes (1) an authoring component that allows an author to formulate and/or select input, analytics and view data for a model, (2) a pipeline with a data module for accepting the input data, an analytics portion for accepting the analytics data and binding the input data to analytics data for a given model, and then solving for unknown parameters of the given model, and a view module for constructing a composite view to be rendered for the given model using parameters output by the analytics module, and (3) a user interaction component, and wherein the computer-implemented method is used at the analytics module of the pipeline to solve model analytics for a given model, the method comprising:

  • receiving at the analytics module of the pipeline;

    a plurality of model parameters for a given data model, the data model including model analytics that define a plurality of analytical relations between the plurality of model parameters; and

    canonicalized data having a plurality of data fields;

    at the analytics module of the pipeline binding one or more of the data fields from the canonicalized data to one or more corresponding model parameters so that, after said binding, at least one or more model parameters that are bound to data fields from the canonicalized data are known, and at least one or more model parameters that remain unbound are unknown;

    at the analytics module of the pipeline determining from the known and unknown model parameters at least one or more input variables and at least one or more output variables for a particular solve using the model analytics, and maintaining a dependency graph of which model variables are input model variables and which model variables are output model variables;

    at the analytics module of the pipeline coordinating use of a plurality of solvers to solve for the particular solve either (i) symbolically using one or both of a forward solver or a symbolic solver, or (ii) numerically using a numeric solver when the particular solve cannot be solved symbolically, including performing, in order, the following;

    based on the dependency graph, determining whether or not the model analytics to be solved for the particular solve can be solved symbolically when using the forward solver to symbolically solve for the one or more output variables, and if so, using the forward solver to symbolically solve for the one or more output variables;

    if it is determined that the model analytics for the particular solve cannot be solved symbolically when using the forward solver, based on the dependency graph, determining whether or not the model analytics to be solved for the particular solve can be solved symbolically when using the symbolic solver to algorithmically invert the model analytics so that one or more computable expressions exist for the one or more output variables and when subsequently using the forward solver to symbolically solve for the one or more output variables using the inverted model analytics, and if so, using the symbolic solver to invert the model analytics and using the forward solver to solve for the one or more output variables using the inverted model analytics; and

    if it is determined that the model analytics to be solved for the particular solve cannot be solved symbolically using inverted model analytics, using the numeric solver to solve for the one or more output variables using numerical methods.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×