Skip navigation links

Package org.spaceroots.mantissa.estimation

This package provides classes to solve estimation problems.

See: Description

Package org.spaceroots.mantissa.estimation Description

This package provides classes to solve estimation problems.

The estimation problems considered here are parametric problems where a user model depends on initially unknown scalar parameters and several measurements made on values that depend on the model are available. As an example, one can consider the flow rate of a river given rain data on its vicinity, or the center and radius of a circle given points on a ring.

One important class of estimation problems is weighted least squares problems. They basically consist in finding the values for some parameters pk such that a cost function J = sum(wi ri2) is minimized. The various ri terms represent the deviation ri = mesi - modi between the measurements and the parameterized models. The wi factors are the measurements weights, they are often chosen either all equal to 1.0 or proportional to the inverse of the variance of the measurement type. The solver adjusts the values of the estimated parameters pk which are not bound. It does not touch the parameters which have been put in a bound state by the user.

This package provides the EstimatedParameter class to represent each estimated parameter, and the WeightedMeasurement abstract class the user can extend to define its measurements. All parameters and measurements are then provided to some Estimator packed together in an EstimationProblem instance which acts only as a container. The package provides two common estimators for weighted least squares problems, one based on the Gauss-Newton method and the other one based on the Levenberg-Marquardt method.

The class diagram for the public classes of this package is displayed below. The orange boxes UserProblem, UserFirstMeasurementType and UserSecondMeasurementType are exemple of what the user should create to use this package: implement his own problem and measurement types using the EstimationProblem interface and WeightedMeasurement abstract class, and then use one of the provided estimators (for example GaussNewtonEstimator or LevenbergMarquardtEstimator) to solve it. The white boxes are the interfaces and classes already provided by the library.

Author:
L. Maisonobe
Skip navigation links

Copyright © 2001-2007 Luc Maisonobe. All Rights Reserved.