IP Library › Granted Patent US 8,935,136
Granted Patent B2
US 8,935,136 · App. 13/240,999 · Granted Jan 13, 2015

Multi-component model engineering

Inventors: Matthew James Smith (Cambridge, GB); Vassily Lyutsarev (Cambridge, GB); Drew William Purves (Cambridge, GB); Mark Christopher Vanderwel (Cambridge, GB)
Assignee: Microsoft Corporation
G06N99/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,935,136
App. No.
13/240,999
Granted
Jan 13, 2015
Kind
B2
Abstract

Multi-component model engineering is described, for example, to model multi-component dynamical systems in which the true underlying processes are incompletely understood such as the Earth's biosphere, whole organisms, biological cells, the immune system, and anthropogenic systems such as agricultural systems, and economic systems. In an embodiment individual component models are linked together and associated with empirical data observed from the system being modeled in a consistent, repeatable manner. For example, a model component, its links with data, its outputs, and its links with other model components, are specified in a format to be passed directly to inference routines which use an inference engine to infer the most likely parameters of the multi-component model given subsets of the empirical data. The inferred parameter values take the form of a probability distribution representing the degree of uncertainty in most likely parameter. An embodiment describes ways of identifying model components for revising.

Claims (35)

1. A multi-component model engineering system comprising:

one or more processors arranged to provide a library of model components each comprising a function for describing the behavior of a sub-set of the state variables of a multi-component dynamical system, and having at least one parameter, the multicomponent dynamical system including a multi-component model wherein each component of the multi-component model is a model comprising one or more functions representing biological or physical processes and their interactions;

a data access engine arranged to access empirical data measured from the dynamical system, the data being accessed from a plurality of different datasets;

an inference engine arranged to learn one or more of the parameters of specified ones of the model components and to learn a probability distribution for each parameter which represents a degree of uncertainty of the parameter;

a model-data association engine arranged to link a plurality of specified model components from the library of model components to form a multi-component model and to associate each model component with parameters to be learnt, with data from at least one of the datasets;

the model-data association engine also being arranged to pass the specified model components to the inference engine in a format suitable for use by the inference engine to learn the parameters and probability distributions of the specified model components using the data associated with the specified model components; and

a model engineering system arranged to obtain a first learnt probability distribution based on a model fitting process for each of the model component of the entire multi-component model and a second learnt probability distribution based on a model fitting process of an individual model component, and automatically revise the individual model component to produce a revised model component if the difference between the first and second learnt probability distributions exceeds a threshold value, the revised model component retaining one or more elements of the individual model component.

2. A system as claimed in claim 1 wherein the model-data association engine is arranged to receive an inference engine element for each specified model component, the element being arranged to make an instantiation of the model component, read in parameters to be inferred and to make a prediction using the instantiation of the model component.

3. A system as claimed in claim 1 wherein the model-data association engine is arranged to form a model-fitting management element which links the plurality of specified model components to form the multi-component model.

4. A system as claimed in claim 3 wherein the model-fitting management element comprises, for each specified model component, a name, a data distribution type, at least one prediction function for making predictions using the model component and at least one comparison function for assessing the performance of the model component.

5. A system as claimed in claim 4 wherein the prediction function is one of a library of inference routines available to the model engineering system.

6. A system as claimed in claim 3 wherein the specified model components are passed to the inference engine in the form of the model-fitting management element.

7. A system as claimed in claim 1 wherein the data access engine is arranged to divide the data into training, validation and test datasets according to parameters.

8. A system as claimed in claim 1 comprising a processor arranged to configure the datasets for use by a plurality of computing entities in a computing cluster such that each computing entity is able to carry out at least part of the learning of the inference engine using at least part of the data.

9. A system as claimed in claim 1 which further comprises a visualization system arranged to form a graphical display from received probability distributions learnt by the inference engine as well as performance metrics determined by one or more model performance assessment processes.

10. A computer-implemented method of selecting a model component of a multi-component model of a dynamical system comprising:

fitting, by a processor, the entire multi-component model using a plurality of empirical datasets observed from the dynamical system and obtaining, for each parameter of a specified one of the individual model components, a first probability distribution expressing uncertainty in the parameter, each individual model component of the multi-component model being a model comprising one or more functions representing biological or physical processes and their interactions;

fitting the specified one of the individual model components using a subset of the empirical datasets and obtaining, for each parameter of the specified individual model component, a second probability distribution expressing uncertainty in the parameter; and

comparing the first and second probability distributions and automatically revising the individual model component to produce a revised model component if the difference between the first and second probability distributions exceeds a threshold value, the revised model component retaining one or more elements of the individual model component.

11. A method as claimed in claim 10 wherein the multi-component model is fitted using more data from the empirical datasets than is present in the subset used to fit the specified one of the model components.

12. A method as claimed in claim 10 which comprises repeating the process for each model component of the multi-component model.

13. A method as claimed in claim 10 wherein fitting the multi-component model and fitting the specified one of the model components comprises using an inference engine arranged to learn parameters of the model components and to learn a probability distribution for each parameter which represents a degree of uncertainty of the parameter.

14. A method as claimed in claim 10 comprising assessing the performance of the fitted multi-component model and the fitted specified one of the model components using empirical data observed from the dynamical system which has not been used in the fitting process.

15. A computer-implemented method of multi-component model engineering comprising:

accessing, by a processor, a library of model components each comprising a function for describing the behavior of a sub-set of the state variables of a multicomponent dynamical system and having at least one parameter, each component of the multi-component dynamical system being a model comprising one or more functions representing biological or physical processes and their interactions;

using a data access engine to access empirical data measured from the dynamical system, the data being accessed from a plurality of different datasets;

accessing an inference engine arranged to learn one or more of the parameters of specified ones of the model components and to learn a probability distribution for each parameter which represents a degree of uncertainty of the parameter;

linking a plurality of user specified model components from the library of model components to form a multi-component model and associating each model component with parameters to be learnt, with data from at least one of the datasets;

passing the user specified model components to the inference engine in a format suitable for use by the inference engine to learn the parameters and probability distributions of the user specified model components using the data associated with the user specified model components; and

obtaining a first learnt probability distribution based on a model fitting process for each of the model component of the entire multicomponent model and a second learnt probability distribution based on a model fitting process of an individual model component, and automatically revising the individual model component to produce a revised model component if the difference between the first and second learnt probability distributions exceeds a threshold value, the revised model component retaining one or more elements of the individual model component.

16. A method as claimed in claim 15 comprising receiving an inference engine element for each user specified model component, the inference engine element being arranged to make an instantiation of the model component, read in parameters to be inferred and to make a prediction using the instantiation of the model component.

17. A method as claimed in claim 15 comprising forming a model-fitting management element which links the plurality of user specified model components to form the multi-component model.

18. A method as claimed in claim 15 where the model-fitting management element comprises, for each user specified model component, a name, a data distribution type, at least one prediction function for making predictions using the model component and at least one comparison function for assessing the performance of the model component.

19. A system as claimed in claim 4 wherein assessing the performance of the model component is done using empirical data observed from the dynamical system which has not been used in the fitting process.

20. A method as claimed in claim 15 comprising generating a graphical display from received probability distributions learnt by the inference engine as well as performance metrics determined by one or more model performance assessment processes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2011
From: SMITH, MATTHEW JAMES; LYUTSAREV, VASSILY; PURVES, DREW WILLIAM; VANDERWEL, MARK CHRISTOPHER
To: MICROSOFT CORPORATION
Reel/Frame 027261/0805 →
Continuity (1)
Related Publication 20130080129A1 · Mar 28, 2013