Parameter estimation

From ASCEND
Revision as of 21:19, 11 May 2012 by Jpye (talk | contribs)
Jump to navigation Jump to search
This article is about planned development or proposed functionality. Comments welcome.
a simple least-squares fit of a quadratic to noisy data

We would like to implement support for solution of 'parameter estimation' problems in ASCEND. Both DAE and NLA estimation problems could be supported. The approach would be to provide

  • a model that can be solved to predict certain 'estimate' values given suitable values of the 'parameters'.
  • a table of data containing values of some independent variables (eg time, 'x', etc) as well as measured values corresponding to the 'estimate' variables

The output would be that the model would be solved for good values of the parameter variables, and some statistical information would be returned, such as how well the model reproduces the measured data, and what are the confidence intervals on the parameter variables and the estimates.

There is some statistical rigour needed here, need to learn about that.

There are two ways that we might want to do parameter estimation with dynamic models. The first would be that we would have measurements at different time-steps, and we would like parameters that give a trajectory as close as possible to the timestep-by-timestep measurements. The second would be to have tabulated initial conditions and final simulation results eg many trajectories, and the parameters would the best fit for those numerous dynamic scenrios (for example, the times taken for balls of different masses to fall down could be used to estimate gravity). It seems that the first of these two would be more immediately useful?

We can already use IPOPT to solve some least-squares problems, as shown in models/johnpye/leastsq.a4c although this approach is limited and will perhaps not scale well if moving to thousands of data points.

Not sure if some new language constructs are needed for this, or whether we can implement this purely in the GUI, or some mixture of the two.