See: Description
| Interface | Description |
|---|---|
| EstimationProblem |
This interface represents an estimation problem.
|
| Estimator |
This interface represents solvers for estimation problems.
|
| Class | Description |
|---|---|
| EstimatedParameter |
This class represent the estimated parameters of an estimation problem.
|
| GaussNewtonEstimator |
This class implements a solver for estimation problems.
|
| LevenbergMarquardtEstimator |
This class solves a least squares problem.
|
| WeightedMeasurement |
This class represents measurements in estimation problems.
|
| Exception | Description |
|---|---|
| EstimationException |
This class represents exceptions thrown by the estimation solvers.
|
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.

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