This disclosure relates generally to modeling systems and, more particularly, to improving data coverage for modeling systems.
Computational models, particularly process models, are often built to capture complex interrelationships between input parameters and output parameters. Various techniques, such as neural networks, may be used in such models to establish mathematical relationships between input parameters and output parameters. Once the models are established, they may provide predictions of the output parameters based on the input parameters.
One such modeling task may include the construction of a virtual sensor network for a particular type of machinery. Using these applications, an engineer can construct computational models, and use them to analyze the behavior of data or to predict new data. In a modeling system, training data are usually used to select and train the model. Training data may be collected by measurements, or generated by computer simulations. During the modeling process, a plurality of models may be fitted to the training data, and a model that best represents the training data may be selected. Further, independent parameters of the best model may also be determined based on the training data. For example, a normal distribution may be selected as the best statistical representation for an independent parameter to a model for a given set of training data, and independent parameters including a mean and a standard deviation of the normal distribution may be determined for each independent parameter feeding into the model.
In order to construct a good computational model, data quality, data coverage, and data structure of the training data become important. Certain analytical tools have been developed that enable engineers to evaluate the data quality and the data structure. For example, data quality issues may be identified by inspecting the tractability certificates of systems producing the data. Data structure issues may be detected with key fields or time records when attempting to combine data from two or more systems. However, detecting data coverage issues remains an elusive task.
For example, training data that distribute uniformly in the modeling space may lead to an efficient and accurate modeling. However, collected or simulated training data are usually denser in certain regions of the modeling space than in other regions. As a result, such a data coverage condition may lead to models that are insufficiently broad to cover the range of expected inputs, or do not generalize well into underrepresented regions of a solution space. This can have unexpected or unintended consequences for control and diagnostic systems that rely on virtual sensor network technologies. In addition, the modeling process may take an unacceptably long time to converge. Thus, there is a need for modeling systems to evaluate and improve the coverage of the training data, before the data are used for the modeling process.
Systems and methods for processing training data for a statistical classification application is described in U.S. Patent Publication No. 2005/0226495 to Li (“the '495 publication”). According to the method described in the '495 publication, confidence values may be calculated for training data elements to identify the probabilities of the training data elements belonging to identified classes. Further, an interactive scatter plot may be generated using the calculated confidence values and the user may be able to select training data elements from the scatter plot.
Although the method described in the '495 publication may be effective for selecting training data, it may be problematic. For example, the method described in the '495 publication is only able to remove training data elements that are misclassified in the scatter plot, but fails to improve the overall coverage of training data in the modeling space. Furthermore, the method described in the '495 publication can only select training elements from an existing dataset, but fails to provide suggestions of additional cases for generating or obtaining more training data to correct coverage issues. In addition, the method described in the '495 publication relies on calculating confidence values for each data element and generating scatter plot for each selecting process, and thus, may be time and/or computational consuming. For example, the method in the '495 publication may have to generate 2N scatter plots for manual evaluation, where N is the number of independent parameters under consideration. Practical problems in this space could have hundreds of candidate parameters, rendering a manual search such as the one described in the '495 publication impractical
The disclosed system and method for modifying data coverage in modeling systems are directed towards overcoming one or more of the shortcomings set forth above.
One aspect of the present disclosure includes a method for modifying data coverage in a modeling system. The method may include obtaining data records relating to a plurality of input variables and one or more output parameters and selecting a plurality of input parameters from the plurality of input variables. The method may further include evaluating a coverage of the data records in a modeling space and modifying the coverage of the data records, if a data coverage condition is detected. The method may also include generating a computational model indicative of interrelationships between the plurality of input parameters and the one or more output parameters based on the data records.
Another aspect of the present disclosure includes a computer-based modeling system. The modeling system may include a database containing data records relating to a plurality of input variables and one or more output parameters and a processor coupled to the database. The processor may be configured to obtain data records relating to the plurality of input variables and one or more output parameters and to select a plurality of input parameters from the plurality of input variables. The processor may also be configured to evaluate a coverage of the data records in a modeling space and modify the coverage of the data records, if a data coverage condition is detected. Further, the processor may be configured to generate a computational model indicative of interrelationships between the plurality of input parameters and the one or more output parameters based on the data records.
Reference will now be made in detail to exemplary embodiments, which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
As another example, modeling system 100 may be used for providing indirect sensor measurements in addition or in place of the direct measurements made by physical sensors. For instance, modeling system 100 may be a virtual sensor network. The virtual sensor network may include a plurality of virtual sensors, each of which may have a model type, at least one input parameter, and at least one output parameter. The disclosed modeling system 100 may be configured to construct a model considering the dependencies among the plurality of virtual sensors. Modeling system 100 may further determine one or more virtual sensor output parameters using the model, based on operational information of the plurality of virtual sensors.
Modeling system 100 may include a processor 102, a memory module 104, a database 106, an I/O interface 108, and a network interface 110. Modeling system 100 may also include a data input device 109, and a display 112. Any other components suitable for receiving and interacting with data, executing instructions, communicating with one or more external workstations, displaying information, etc. may also be included in modeling system 100.
Processor 102 may be a central processing unit (“CPU”). Processor 102 may also include any appropriate type of general purpose microprocessor, digital signal processor, or microcontroller. Processor 102 may execute sequences of computer program instructions to perform various processes that will be explained later. Processor 102 may be configured as a separate processor module dedicated to modeling. Alternatively, processor 102 may be configured as a shared processor module for performing other functions unrelated to modeling. Processor 102 may also include one or more printed circuit boards, and/or a microprocessor chip.
Memory module 104 may include one or more memory units including, but not limited to, a ROM, a flash memory, a dynamic RAM, and a static RAM. Memory module 104 may be configured to store information accessed and used by processor 102. Database 106 may include any type of appropriate database containing information relating to characteristics of input parameters, output parameters, computational models, and/or any other control information. Database 106 may also contain data records that are used to construct the computational models.
I/O interface 108 may be connected to a data input device 109 to provide data and control information to modeling system 100. Data input device 109 may be provided for a user to input information to modeling system 100. For example, data input device 109 may include a keyboard, a switch, a mouse, and/or a touch screen. Network interface 110 may include any appropriate type of network adaptor capable of communicating with other computer systems based on one or more communication protocols. Display 112 may include any type of device (e.g., CRT monitors, LCD screens, etc.) capable of graphically depicting information.
In one embodiment, the data records may be generated in the following manner by processor 102. For a particular task to be performed, a modeling space of interest may be identified. A plurality of sets of random values may be generated for various input variables that fall within the desired modeling space. These sets of random values may be supplied to at least one simulation algorithm to generate values for one or more output parameters related to the input variables. The at least one simulation algorithm may be associated with, for example, systems for performing finite element analysis, computational fluid dynamics analysis, radio frequency simulation, electromagnetic field simulation, electrostatic discharge simulation, network propagation simulation, discrete event simulation, constraint-based network simulation, or any other appropriate type of dynamic simulation.
As part of step 201, the data records may also be pre-processed. For example, processor 102 may pre-process the data records to clean up the data records for obvious errors and to eliminate redundancies. Processor 102 may remove approximately identical data records and/or remove data records that are out of a reasonable range in order to be meaningful for model generation and optimization. For example, for randomly generated data records, any cases violating variable covariance terms may be eliminated as per Latin Hypercube processes known in the art.
After the data records have been pre-processed, processor 102 may then select proper input parameters at step 202 by analyzing the data records. The data records may include many input variables. In certain situations, for example, where the data records are obtained through experimental observations, the number of input variables may exceed the number of the data records and lead to sparse data scenarios. In these situations, the number of input variables may need to be reduced to create computational models within practical computational time limits and that contain enough degrees of freedom to map the relationship between inputs and outputs. In certain other situations, however, where the data records are generated by processor 102 using simulation algorithms, there may be less of a risk that the number of input variables exceeds the number of data records. That is, in these situations, if the number of input variables exceeds the number of data records, more data records may be generated using the simulation algorithms. Thus, for computer generated data records, the number of data records can be made to exceed, and often far exceed, the number of input variables. For these situations, the input parameters selected for use in step 202 may correspond to the entire set of input variables.
Where the number on input variables exceeds the number of data records, processor 102 may select input parameters at step 202 according to predetermined criteria. For example, processor 102 may choose input parameters by experimentation and/or expert opinions. Alternatively, in certain embodiments, processor 102 may select input parameters based on a Mahalanobis distance between a normal data set and an abnormal data set of the data records. The normal data set and abnormal data set may be defined by processor 102 by any suitable method. For example, the normal data set may include characteristic data associated with the input parameters that produce desired output parameters. On the other hand, the abnormal data set may include any characteristic data that may be out of tolerance or may need to be avoided. The normal data set and abnormal data set may be predefined by processor 102.
Mahalanobis distance may refer to a mathematical representation that may be used to measure data profiles based on covariances between parameters in a data set. Mahalanobis distance differs from Euclidean distance in that Mahalanobis distance takes into account the correlations of the data set. Mahalanobis distance of a data set X (e.g., a multivariate vector) may be represented as
MDi=(Xi−μx)Σ−1(Xi−μx)′ (1)
where μx is the mean of X and Σ−1 is an inverse variance-covariance matrix of X. MDi weights the distance of a data point Xi from its mean μx such that observations that are on the same multivariate normal density contour will have the same distance. Such observations may be used to identify and select correlated parameters from separate data groups having different variances.
Processor 102 may select a desired subset of input parameters such that the Mahalanobis distance between the normal data set and the abnormal data set is maximized or optimized. A genetic algorithm may be used by processor 102 to search the input parameters for the desired subset with the purpose of maximizing the Mahalanobis distance. Processor 102 may select a candidate subset of the input parameters based on a predetermined criteria and calculate a Mahalanobis distance MDnormal of the normal data set and a Mahalanobis distance MDabnormal of the abnormal data set. Processor 102 may also calculate the Mahalanobis distance between the normal data set and the abnormal data (i.e., the deviation of the Mahalanobis distance MDx=MDnormal−MDnormal). Other types of deviation metrics, however, may also be used.
Processor 102 may select the candidate subset of the input parameters if the genetic algorithm converges (i.e., the genetic algorithm finds the maximized or optimized Mahalanobis distance between the normal data set and the abnormal data set corresponding to the candidate subset). If the genetic algorithm does not converge, a different candidate subset of the input parameters may be created for further searching. This searching process may continue until the genetic algorithm converges and a desired subset of the input parameters is selected.
After input parameters are selected in step 202, processor 102 may evaluate the coverage of the data records in the modeling space (step 203). The modeling space may be a multi-dimensional space depending on the number of input parameters selected in step 202. Each dimension of the modeling space may correspond to an input parameter, and the span of each dimension may correspond to the range of the respective input parameter. Depending on the data collection or simulation process, data records may not cover the modeling space uniformly. For example, certain regions of the modeling space may have sparser data coverage than other regions. Non-uniform data coverage may indicate that the covariance between input parameters is not uniform throughout the modeling space, and as a result, computational models that are constructed based on such data records may be inaccurate and less representative to the real nature of the task.
In one embodiment, at step 203, processor 102 may determine data densities for the different regions in the modeling space and determine a distribution of the data density. Processor 102 may identify data coverage conditions in the modeling space and may motivate certain modifications to be made to the data coverage. A data coverage condition may be a condition where the non-uniformity of the data density exceeds a certain level. Consistent with one embodiment, the non-uniformity of the data density may be measured automatically by processor 102 with certain metrics. For example, processor 102 may determine a statistical difference from the distribution of the data density and a significant statistical difference may indicate a data coverage condition. Further, the statistical difference may also be used to identify regions that have sparse data records. Consistent with another embodiment, the non-uniformity of the data density may also be determined by a user and then input to processor 102. In addition to non-uniformity, sparsity of data may also constitute a data coverage condition. If the amount of data falls below a designated level, this could be considered as a data coverage condition that may trigger modification to the data coverage. Consistent with one embodiment, a hyper-quadrant density inspection process 300 may be used to evaluate the coverage of the data records in the modeling space, as shown in
Based on the data coverage evaluation in step 203, processor 102 may determine if a data coverage condition is detected (step 204). For example, a data coverage condition may be detected by hyper-quadrant density inspection process 300 if the statistical difference is high. If a data coverage condition is detected (step 204: Yes), data coverage may be recommended before a model is constructed based on the data records. At step 205, modeling system 100 may receive a user choice on how to modify the data coverage. In one embodiment, a list of choices may be provided to the user on display 112 and the user may choose one or more choices on the list. For example, the list of choices may include having the user provide additional data records for sparse regions in the modeling space (hereon referred to as “choice No. 1”). The list of choices may further include authorizing processor 102 to remove data records from dense regions in the modeling space (hereon referred to as “choice No. 2”). The list of choices may also include authorizing processor 102 to create additional data records for sparse regions in the modeling space (hereon referred to as “choice No. 3”).
It is contemplated that the list may include additional, fewer, and/or different choices than those listed above. It is understood that the type and number of listed choices are exemplary only and not intended to be limiting. A user decision regarding the choices may be received via data input device 109. The user may choose one or more choices on the list. For example, the user may want processor 102 to remove data records from dense regions and also create additional data records for sparse regions, and accordingly, both choice No. 2 and choice No. 3 may be selected.
If choice No. 1 is selected by the user, processor 102 may receive additional data records for sparse regions from the user (step 206). For example, the user may generate experimental observations to collect additional data records, especially in those sparse regions in the modeling space. These additional data records may be entered into modeling system 100 via data input device 109.
If choice No. 2 is selected by the user, processor 102 may remove certain data records from dense regions (step 207). For example, in some cases, data records may be well over-collected or over-generated for the number of input variables available. As a result, the user may choose to have modeling system 100 automatically remove data records from the dense regions such that the overall data coverage is at a desired level. Various algorithms may be used to determine which data records are to be removed. In one embodiment, at step 207, processor 102 may randomly remove data records in dense regions identified as part of step 203. During the removing process, data coverage in the entire modeling space may be constantly monitored, such that the removing process may stop once the data coverage is modified to an extent that no data coverage condition is detected.
If choice No. 3 is selected by the user, processor 102 may create additional data records for dense regions (step 208). In some cases, the user may not wish to remove any existing data records and it may be difficult for the user to collect additional data records in the sparse regions. Processor 102 may automatically generate data records using algorithms such as a symmetric random scatter (SRS) process, which are described in greater detail in connection with
Once step 206, 207, 208 or any combination of them are performed for modifying the data coverage of the modeling space, process 200 may return to step 203 and re-evaluate the data coverage. Steps 203-208 may be iterated as long as there is still data coverage condition detected in step 204. Once data coverage is modified to the extent that no data coverage condition is detected (step 204: no), process 200 may go to step 209 to generate a computational model.
At step 209, processor 102 may generate a computational model to build interrelationships between the input parameters and output parameters based on the data records (step 209). Any appropriate type of neural network may be used to build the computational model. The type of neural network models used may include back propagation, feed forward models, cascaded neural networks, and/or hybrid neural networks, etc. Particular types or structures of the neural network used may depend on particular applications. Other types of models, such as linear system or non-linear system models, etc., may also be used.
The neural network computational model may be trained by using the data records. For example, the neural network computational model may include a relationship between output parameters (e.g., engine power, engine efficiency, engine vibration, etc.) and input parameters (e.g., cylinder wall thickness, cylinder wall material, cylinder bore, etc). The neural network computational model may be evaluated by predetermined criteria to determine whether the training is completed. The criteria may include desired ranges of accuracy, time, and/or number of training iterations, etc.
After the neural network has been trained (i.e., the computational model has initially been established based on the predetermined criteria), processor 102 may statistically validate the computational model (step 210). Statistical validation may refer to an analyzing process to compare outputs of the neural network computational model with actual outputs to determine the accuracy of the computational model. Part of the data records may be reserved for use in the validation process. Alternatively, processor 102 may generate simulation or test data for use in the validation process. Once trained and validated, the computational model may be used to determine values of output parameters when provided with values of input parameters.
Further, processor 102 may optimize the model by determining desired distributions of the input parameters based on relationships between the input parameters and desired distributions of the output parameters (step 211). In one embodiment, processor 102 may analyze the relationships between distributions of the input parameters and desired distributions of the output parameters (e.g., constraints provided to the model that may represent a state of compliance of the solution). Processor 102 may then run a simulation of the computational model to find statistical distributions for an individual input parameter. That is, processor 102 may separately determine a distribution (e.g., mean, standard variation, etc.) of the individual input parameter corresponding to the ranges of the output parameters representing a compliance state for the product. Processor 102 may then analyze and combine the desired distributions for all the individual input parameters to determined desired distributions and characteristics for the input parameters.
Alternatively, in another embodiment, processor 102 may identify desired distributions of input parameters simultaneously to maximize the probability of obtaining desired outcomes (i.e., to maximize the probability that a certain solution is compliant with the desired requirements). In certain embodiments, processor 102 may simultaneously determine desired distributions of the input parameters based on zeta statistic. Zeta statistic may indicate a relationship between input parameters, their value ranges, and desired outcomes. Processor 102 may identify a desired distribution of the input parameters such that the zeta statistic of the neural network computational model is maximized or optimized.
After the model has been optimized (step 211), processor 102 may define a valid input space (step 212) representative of the optimized model. This valid input space may represent the nominal values and corresponding statistical distributions for each of the selected input parameters. For example, to implement a task modeled by modeling system 100, values for the input parameters selected within the valid input space would maximize the probability of achieving a compliance state according to the constraints provided to the model.
Take a two-dimensional space as an example. Suppose the engine speed and the engine load are the two input parameters, and suppose the engine speed may have a range of [1, 6] kRPM, and the engine load may have a range of [0.25, 1] calculated load. The range of the engine speed may be broken into five sub-ranges [1, 2), [2,3), [3,4), [4,5), and [5,6], and the range of the engine load may be broken into three sub-ranges [0.25,0.5), [0.5,0.75), and [0.75,1]. As such, the entire modeling space may be divided into fifteen hyper-quadrants (in this case, the hyper-quadrants are rectangles). Each hyper-quadrant may correspond to the combination of a sub-range in the engine speed dimension and a sub-range in the engine load dimension. For example, a hyper-quadrant at the upper-right corner of the modeling space may correspond to the [5,6] engine speed sub-range and the [0.75,1] engine load sub-range.
The size and shape of the hyper-quadrants may depend on the resolution at which each input parameter range is broken down. Consequently, the number of hyper-quadrants generated in a modeling space may depend on the number of dimensions of the modeling space, and number of sub-ranges in each dimension. For example, if the modeling space has N dimensions, and each dimension is split at its midpoint, a total of 2N hyper-quadrants may be generated for evaluation.
At step 302, processor 102 may calculate data density in each hyper-quadrant. In one embodiment, processor 102 may count the data records or vectors in each hyper-quadrant. Based on the calculated data densities, a histogram may be generated (step 303). A histogram may be a graphical display of the data density distribution, i.e., frequencies that the data densities fall into each of several specified categories. For example, the histogram may have a horizontal axis that represents categories of data density and a vertical axis that represents the number of hyper-quadrants that have data densities falling into each category.
The histogram may provide a graphical view for the data density distribution. For example, if the data records distribute uniformly in the modeling space, data densities of all the hyper-quadrants may be close to each other and may all fall into the same category. As a result, the histogram may show a single spike, with nearly all the hyper-quadrants falling in a certain category and nearly no hyper-quadrants in the other categories. As another example, if the data densities conform to a uniform distribution, all the data density categories in the histogram may correspond to bars having the same height. In other words, the histogram may have a flat contour. The wide spread of the histogram may suggest a data coverage condition.
With the calculated data densities and generated histogram, a statistical difference may be determined (step 304). Consistent with one embodiment, processor 102 may determine the statistical difference based on the histogram. For example, processor 102 may determine the statistical difference as the spread of the data density distribution. Alternatively, processor 102 may determine the statistical difference as the standard deviation of the data density distribution, and normalize it with the mean of the distribution. Processor 102 may also identify two or more peaks in the histogram, and determine the statistical difference as the distance between the two farthest peaks.
At step 305, the statistical difference may be compared to a threshold. The threshold may be determined by processor 102 based on the need of the task, or alternatively, entered by the user via data input device 109. If the statistical difference exceeds the threshold (step 305: Yes), processor 102 may identify a data coverage condition (step 306). Otherwise, if the statistical difference is below the threshold (step 305: Yes), processor 102 may determine that the data records do not have a data coverage condition and process 300 may terminate.
In certain embodiments, if the statistical difference exceeds the threshold (step 305: Yes), processor 102 may further examine the histogram to determine if the statistical difference is of concern. For example, processor 102 may examine the hyper-quadrants with data densities that fall into those sparse density categories in the histogram. Processor 102 may then determine if the low data densities in these hyper-quadrants are normal given the nature of the task being modeled. In certain cases, it may be, by design, difficult to obtain data records in these regions of the modeling space. For example, if speed and load of a typical internal combustion engine are selected in step 202 as two input parameters, data records in the region corresponding to very low speed and very high load in the modeling space may be difficult or sometimes impossible to obtain, since an engine may not be able to physically operate under these conditions. Under such circumstances, although the statistical difference may exceed the threshold, processor 102 may still determine that the data records do not have a data coverage condition and process 300 may terminate.
Alternatively or additionally to steps 304-305, processor 102 may provide the histogram to the user via display 112 (step 306). The user may determine if a data coverage condition exists based on the histogram. For example, the user may determine the non-uniformity of the data density based on the histogram. In one embodiment, the user may identify the data coverage condition and notify modeling system 100 of the condition via data input device 109. Based on the notification, processor 102 may determine if a data coverage condition is identified by the user (step 307). Accordingly, processor 102 may identify a data coverage condition (step 308), if the condition is identified by the user (step 307: Yes), or otherwise (step 307: No), processor 102 may determine that the data records do not have a data coverage condition and process 300 may terminate.
After a data coverage condition is identified (step 308), processor 102 may mark sparse hyper-quadrants with data densities below a density threshold (step 309). Consistent with one embodiment, processor 102 may examine the histogram, and mark those hyper-quadrants that fall into categories corresponding to data densities below the density threshold. Consistent with another embodiment, processor 102 may examine each hyper-quadrant and mark it sparse if the associated data density is below the density threshold. After the sparse hyper-quadrants are marked (step 309), process 300 may terminate.
Various algorithms may be used to modify the data coverage in the sparse hyper-quadrants, as marked in step 309 of
As shown in
The starting range of each input parameter may define an input space (i.e., all ranges or possible values of the input parameters), the centroid data record may then be referred to as a center of the input space. After the centroid data record is created (step 402), processor 102 may create a plurality of sample data records within the starting range (step 403). The sample data records may include any data record having a value for each input parameter from the starting range. Processor 102 may create the sample data records in various ways. In certain embodiments, the sample records may be created randomly by processor 102. The total number of the sample data records may be determined based on a particular application. For example, a total of approximately 10 sample data records may be created for the applications described in this disclosure. Other numbers of sample data records, however, may also be used.
Further, processor 102 may create a plurality of SRS data records corresponding to the sample data records (step 404). To create the SRS data records, processor 102 may calculate an SRS for each sample data record. That is, each sample data record may be an original mathematic object and the SRS of each sample data record may be a symmetric vector opposite of each original mathematic object (e.g., a vector) with respect to the centroid data record (e.g., the center of the input space). For example, an original two-dimensional vector (1,1) may have a symmetric scatter of (−1, −1) with respect to a centroid of (0, 0). Because the SRS data records may be symmetric scatters of the sample data records, the combination of the SRS data records, the sample data records, and the centroid data record may reflect a random part of the starting range centered at the mean of the input parameters.
After creating the plurality of SRS data records, processor 102 may combine the SRS data records, the sample data records, and the centroid data record as the candidate data records (step 405). Processor 102 may then remove candidate data records that fall out of sparse hyper-quadrants (step 406). For example, processor 102 may map the candidate data records onto the modeling space and determine if they fall into those sparse hyper-quadrants marked in step 309 of
The disclosed systems and methods may efficiently provide data coverage evaluation and modification in a modeling system. Based on the disclosed system, data coverage condition may be detected by using a hyper-quadrant density inspection process. Further, if a data coverage condition is detected, the coverage may be modified in various ways or their combinations. With the modified data coverage, the robustness and accuracy of the modeling process may be significantly modified.
Furthermore, unlike the method described in the '495 publication that is only able to select training elements from an existing dataset, the disclosed systems and methods are capable of automatically creating additional data records to modify the data coverage. For example, additional data records may be created in the sparse regions of the modeling space, using a symmetric random scatter process. This additional feature may further enhance the accuracy of the modeling process.
In addition, the disclosed method for modifying data coverage in a modeling system may be more efficient than traditional methods. The disclosed method may detect data coverage conditions via a histogram, which is generated based on simple calculations of data densities. Moreover, the disclosed system may provide options to a user for modifying the data coverage, including the option to have the modeling system automatically generate additional data records using an efficient algorithm. Such a computer-based data generating process may significantly reduce the time and inconvenience to the user, compared to a physical data collecting process.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed modeling system 100 without departing from the scope of the disclosure. Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the present disclosure. It is intended that the specification and examples be considered as exemplary only, with a true scope of the present disclosure being indicated by the following claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3316395 | Lavin | Apr 1967 | A |
4136329 | Trobert | Jan 1979 | A |
4533900 | Muhlberger et al. | Aug 1985 | A |
5014220 | McMann et al. | May 1991 | A |
5163412 | Neu et al. | Nov 1992 | A |
5262941 | Saladin et al. | Nov 1993 | A |
5341315 | Niwa et al. | Aug 1994 | A |
5386373 | Keeler et al. | Jan 1995 | A |
5434796 | Weininger | Jul 1995 | A |
5539638 | Keeler et al. | Jul 1996 | A |
5548528 | Keeler et al. | Aug 1996 | A |
5561610 | Schricker et al. | Oct 1996 | A |
5566091 | Schricker et al. | Oct 1996 | A |
5585553 | Schricker | Dec 1996 | A |
5594637 | Eisenberg et al. | Jan 1997 | A |
5598076 | Neubauer et al. | Jan 1997 | A |
5604306 | Schricker | Feb 1997 | A |
5604895 | Raimi | Feb 1997 | A |
5608865 | Midgely et al. | Mar 1997 | A |
5666297 | Britt et al. | Sep 1997 | A |
5682317 | Keeler et al. | Oct 1997 | A |
5698780 | Mizutani et al. | Dec 1997 | A |
5727128 | Morrison | Mar 1998 | A |
5750887 | Schricker | May 1998 | A |
5752007 | Morrison | May 1998 | A |
5835902 | Jannarone | Nov 1998 | A |
5842202 | Kon | Nov 1998 | A |
5914890 | Sarangapani et al. | Jun 1999 | A |
5925089 | Fujime | Jul 1999 | A |
5950147 | Sarangapani et al. | Sep 1999 | A |
5966312 | Chen | Oct 1999 | A |
5987976 | Sarangapani | Nov 1999 | A |
6086617 | Waldon et al. | Jul 2000 | A |
6092016 | Sarangapani et al. | Jul 2000 | A |
6119074 | Sarangapani | Sep 2000 | A |
6145066 | Atkin | Nov 2000 | A |
6195648 | Simon et al. | Feb 2001 | B1 |
6199007 | Zavarehi et al. | Mar 2001 | B1 |
6208982 | Allen, Jr. et al. | Mar 2001 | B1 |
6223133 | Brown | Apr 2001 | B1 |
6236908 | Cheng et al. | May 2001 | B1 |
6240343 | Sarangapani et al. | May 2001 | B1 |
6269351 | Black | Jul 2001 | B1 |
6298718 | Wang | Oct 2001 | B1 |
6370544 | Krebs et al. | Apr 2002 | B1 |
6405122 | Yamaguchi | Jun 2002 | B1 |
6438430 | Martin et al. | Aug 2002 | B1 |
6442511 | Sarangapani et al. | Aug 2002 | B1 |
6477660 | Sohner | Nov 2002 | B1 |
6513018 | Culhane | Jan 2003 | B1 |
6546379 | Hong et al. | Apr 2003 | B1 |
6584768 | Hecker et al. | Jul 2003 | B1 |
6594989 | Hepburn et al. | Jul 2003 | B1 |
6698203 | Wang | Mar 2004 | B2 |
6711676 | Zomaya et al. | Mar 2004 | B1 |
6721606 | Kaji et al. | Apr 2004 | B1 |
6725208 | Hartman et al. | Apr 2004 | B1 |
6763708 | Ting et al. | Jul 2004 | B2 |
6775647 | Evans et al. | Aug 2004 | B1 |
6785604 | Jacobson | Aug 2004 | B2 |
6810442 | Lin et al. | Oct 2004 | B1 |
6823675 | Brunell et al. | Nov 2004 | B2 |
6859770 | Ramsey | Feb 2005 | B2 |
6859785 | Case | Feb 2005 | B2 |
6865883 | Gomulka | Mar 2005 | B2 |
6882929 | Liang et al. | Apr 2005 | B2 |
6895286 | Kaji et al. | May 2005 | B2 |
6935313 | Jacobson | Aug 2005 | B2 |
6941287 | Vaidyanathan et al. | Sep 2005 | B1 |
6952662 | Wegerich et al. | Oct 2005 | B2 |
6976062 | Denby et al. | Dec 2005 | B1 |
7000229 | Gere | Feb 2006 | B2 |
7024343 | El-Ratal | Apr 2006 | B2 |
7027953 | Klein | Apr 2006 | B2 |
7035834 | Jacobson | Apr 2006 | B2 |
7117079 | Streichsbier et al. | Oct 2006 | B2 |
7124047 | Zhang et al. | Oct 2006 | B2 |
7127892 | Akins et al. | Oct 2006 | B2 |
7174284 | Dolansky et al. | Feb 2007 | B2 |
7178328 | Solbrig | Feb 2007 | B2 |
7191161 | Rai et al. | Mar 2007 | B1 |
7194392 | Tuken et al. | Mar 2007 | B2 |
7213007 | Grichnik | May 2007 | B2 |
7356393 | Schlatre et al. | Apr 2008 | B1 |
7369925 | Morioka et al. | May 2008 | B2 |
7787969 | Grichnik et al. | Aug 2010 | B2 |
7813869 | Grichnik et al. | Oct 2010 | B2 |
20020014294 | Okano et al. | Feb 2002 | A1 |
20020016701 | Duret et al. | Feb 2002 | A1 |
20020042784 | Kerven et al. | Apr 2002 | A1 |
20020049704 | Vanderveldt et al. | Apr 2002 | A1 |
20020103996 | LeVasseur et al. | Aug 2002 | A1 |
20020198821 | Munoz | Dec 2002 | A1 |
20030018503 | Shulman | Jan 2003 | A1 |
20030055607 | Wegerich et al. | Mar 2003 | A1 |
20030093250 | Goebel | May 2003 | A1 |
20030126053 | Boswell et al. | Jul 2003 | A1 |
20030126103 | Chen et al. | Jul 2003 | A1 |
20030130855 | Babu et al. | Jul 2003 | A1 |
20030167354 | Peppers et al. | Sep 2003 | A1 |
20030187567 | Sulatisky et al. | Oct 2003 | A1 |
20030187584 | Harris | Oct 2003 | A1 |
20030200296 | Lindsey | Oct 2003 | A1 |
20040030420 | Ulyanov et al. | Feb 2004 | A1 |
20040034857 | Mangino et al. | Feb 2004 | A1 |
20040059518 | Rothschild | Mar 2004 | A1 |
20040077966 | Yamaguchi et al. | Apr 2004 | A1 |
20040122702 | Sabol et al. | Jun 2004 | A1 |
20040122703 | Walker et al. | Jun 2004 | A1 |
20040128058 | Andres et al. | Jul 2004 | A1 |
20040135677 | Asam | Jul 2004 | A1 |
20040138995 | Hershkowitz et al. | Jul 2004 | A1 |
20040153227 | Hagiwara et al. | Aug 2004 | A1 |
20040230404 | Messmer et al. | Nov 2004 | A1 |
20040267818 | Hartenstine | Dec 2004 | A1 |
20050047661 | Maurer | Mar 2005 | A1 |
20050055176 | Clarke et al. | Mar 2005 | A1 |
20050091093 | Bhaskaran et al. | Apr 2005 | A1 |
20050209943 | Ballow et al. | Sep 2005 | A1 |
20050210337 | Chester et al. | Sep 2005 | A1 |
20050226495 | Li | Oct 2005 | A1 |
20050240539 | Olavson | Oct 2005 | A1 |
20050261791 | Chen et al. | Nov 2005 | A1 |
20050262031 | Saidi et al. | Nov 2005 | A1 |
20050278227 | Esary et al. | Dec 2005 | A1 |
20050278432 | Feinleib et al. | Dec 2005 | A1 |
20060010057 | Bradway et al. | Jan 2006 | A1 |
20060010142 | Kim et al. | Jan 2006 | A1 |
20060010157 | Dumitrascu et al. | Jan 2006 | A1 |
20060025897 | Shostak et al. | Feb 2006 | A1 |
20060026270 | Sadovsky et al. | Feb 2006 | A1 |
20060026587 | Lemarroy et al. | Feb 2006 | A1 |
20060064474 | Feinleib et al. | Mar 2006 | A1 |
20060068973 | Kappauf et al. | Mar 2006 | A1 |
20060129289 | Kumar et al. | Jun 2006 | A1 |
20060130052 | Allen et al. | Jun 2006 | A1 |
20060229753 | Seskin et al. | Oct 2006 | A1 |
20060229769 | Grichnik et al. | Oct 2006 | A1 |
20060229852 | Grichnik et al. | Oct 2006 | A1 |
20060229854 | Grichnik et al. | Oct 2006 | A1 |
20060230018 | Grichnik et al. | Oct 2006 | A1 |
20060230097 | Grichnik et al. | Oct 2006 | A1 |
20060230313 | Grichnik et al. | Oct 2006 | A1 |
20060241923 | Xu et al. | Oct 2006 | A1 |
20060247798 | Subbu et al. | Nov 2006 | A1 |
20070061144 | Grichnik et al. | Mar 2007 | A1 |
20070094048 | Grichnik | Apr 2007 | A1 |
20070094181 | Tayebnejad et al. | Apr 2007 | A1 |
20070118338 | Grichnik et al. | May 2007 | A1 |
20070118487 | Grichnik et al. | May 2007 | A1 |
20070124237 | Sundararajan et al. | May 2007 | A1 |
20070150332 | Grichnik et al. | Jun 2007 | A1 |
20070168494 | Liu et al. | Jul 2007 | A1 |
20070179769 | Grichnik et al. | Aug 2007 | A1 |
20070203864 | Grichnik | Aug 2007 | A1 |
20080154811 | Grichnik et al. | Jun 2008 | A1 |
20080201054 | Grichnik et al. | Aug 2008 | A1 |
20090024367 | Grichnik et al. | Jan 2009 | A1 |
20090118841 | Grichnik et al. | May 2009 | A1 |
20090132216 | Grichnik et al. | May 2009 | A1 |
20100250202 | Grichnik et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
1103926 | May 2001 | EP |
1367248 | Dec 2003 | EP |
1418481 | May 2004 | EP |
10-332621 | Dec 1998 | JP |
11-351045 | Dec 1999 | JP |
2002-276344 | Sep 2002 | JP |
WO9742581 | Nov 1997 | WO |
WO02057856 | Jul 2002 | WO |
WO2006017453 | Feb 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090300052 A1 | Dec 2009 | US |