org.apache.commons.math.estimation

## Class AbstractEstimator

- java.lang.Object
- - org.apache.commons.math.estimation.AbstractEstimator

All Implemented Interfaces:
  Estimator

Direct Known Subclasses:
  GaussNewtonEstimator, LevenbergMarquardtEstimator

Deprecated.
as of 2.0, everything in package org.apache.commons.math.estimation has been deprecated and replaced by package org.apache.commons.math.optimization.general

    @Deprecated
    public abstract class AbstractEstimator
    extends java.lang.Object
    implements Estimator

Base class for implementing estimators.

This base class handles the boilerplates methods associated to thresholds settings, jacobian and error estimation.

Since:
  1.2
Version:
  $Revision: 990655 $ $Date: 2010-08-29 23:49:40 +0200 (dim. 29 août 2010) $

### Field Summary

Fields
`protected int` `cols` Deprecated. Number of columns of the jacobian matrix.
`protected double` `cost` Deprecated. Cost value (square root of the sum of the residuals).
`private int` `costEvaluations` Deprecated. Number of cost evaluations.
`static int` `DEFAULT_MAX_COST_EVALUATIONS` Deprecated. Default maximal number of cost evaluations allowed.
`protected double[]` `jacobian` Deprecated. Jacobian matrix.
`private int` `jacobianEvaluations` Deprecated. Number of jacobian evaluations.
`private int` `maxCostEval` Deprecated. Maximal allowed number of cost evaluations.
`protected WeightedMeasurement[]` `measurements` Deprecated. Array of measurements.
`protected EstimatedParameter[]` `parameters` Deprecated. Array of parameters.
`protected double[]` `residuals` Deprecated. Residuals array.
`protected int` `rows` Deprecated. Number of rows of the jacobian matrix.

### Constructor Summary

Constructors
`protected` `AbstractEstimator()` Deprecated. Build an abstract estimator for least squares problems.

### Method Summary

Methods
`abstract void` `estimate(EstimationProblem problem)` Deprecated. Solve an estimation problem.
`double` `getChiSquare(EstimationProblem problem)` Deprecated. Get the Chi-Square value.
`int` `getCostEvaluations()` Deprecated. Get the number of cost evaluations.
`double[][]` `getCovariances(EstimationProblem problem)` Deprecated. Get the covariance matrix of unbound estimated parameters.
`int` `getJacobianEvaluations()` Deprecated. Get the number of jacobian evaluations.
`double` `getRMS(EstimationProblem problem)` Deprecated. Get the Root Mean Square value.
`double[]` `guessParametersErrors(EstimationProblem problem)` Deprecated. Guess the errors in unbound estimated parameters.
`protected void` `incrementJacobianEvaluationsCounter()` Deprecated. Increment the jacobian evaluations counter.
`protected void` `initializeEstimate(EstimationProblem problem)` Deprecated. Initialization of the common parts of the estimation.
`void` `setMaxCostEval(int maxCostEval)` Deprecated. Set the maximal number of cost evaluations allowed.
`protected void` `updateJacobian()` Deprecated. Update the jacobian matrix.
`protected void` `updateResidualsAndCost()` Deprecated. Update the residuals array and cost function value.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_MAX_COST_EVALUATIONS

    public static final int DEFAULT_MAX_COST_EVALUATIONS

Deprecated.
Default maximal number of cost evaluations allowed.

See Also:
  Constant Field Values

#### measurements

    protected WeightedMeasurement[] measurements

Deprecated.
Array of measurements.

#### parameters

    protected EstimatedParameter[] parameters

Deprecated.
Array of parameters.

#### jacobian

    protected double[] jacobian

Deprecated.
Jacobian matrix.

This matrix is in canonical form just after the calls to `updateJacobian()`, but may be modified by the solver in the derived class (the `Levenberg-Marquardt estimator` does this).

#### cols

    protected int cols

Deprecated.
Number of columns of the jacobian matrix.

#### rows

    protected int rows

Deprecated.
Number of rows of the jacobian matrix.

#### residuals

    protected double[] residuals

Deprecated.
Residuals array.

This array is in canonical form just after the calls to `updateJacobian()`, but may be modified by the solver in the derived class (the `Levenberg-Marquardt estimator` does this).

#### cost

    protected double cost

Deprecated.
Cost value (square root of the sum of the residuals).

#### maxCostEval

    private int maxCostEval

Deprecated.
Maximal allowed number of cost evaluations.

#### costEvaluations

    private int costEvaluations

Deprecated.
Number of cost evaluations.

#### jacobianEvaluations

    private int jacobianEvaluations

Deprecated.
Number of jacobian evaluations.

### Constructor Detail

#### AbstractEstimator

    protected AbstractEstimator()

Deprecated.
Build an abstract estimator for least squares problems.

The maximal number of cost evaluations allowed is set to its default value `DEFAULT_MAX_COST_EVALUATIONS`.

### Method Detail

#### setMaxCostEval

    public final void setMaxCostEval(int maxCostEval)

Deprecated.
Set the maximal number of cost evaluations allowed.

Parameters:
  `maxCostEval` - maximal number of cost evaluations allowed
See Also:
  `estimate(org.apache.commons.math.estimation.EstimationProblem)`

#### getCostEvaluations

    public final int getCostEvaluations()

Deprecated.
Get the number of cost evaluations.

Returns:
  number of cost evaluations

#### getJacobianEvaluations

    public final int getJacobianEvaluations()

Deprecated.
Get the number of jacobian evaluations.

Returns:
  number of jacobian evaluations

#### updateJacobian

    protected void updateJacobian()

Deprecated.
Update the jacobian matrix.

#### incrementJacobianEvaluationsCounter

    protected final void incrementJacobianEvaluationsCounter()

Deprecated.
Increment the jacobian evaluations counter.

#### updateResidualsAndCost

    protected void updateResidualsAndCost()
                                   throws EstimationException

Deprecated.
Update the residuals array and cost function value.

Throws:
  `EstimationException` - if the number of cost evaluations exceeds the maximum allowed

#### getRMS

    public double getRMS(EstimationProblem problem)

Deprecated.
Get the Root Mean Square value. Get the Root Mean Square value, i.e. the root of the arithmetic mean of the square of all weighted residuals. This is related to the criterion that is minimized by the estimator as follows: if c if the criterion, and n is the number of measurements, then the RMS is sqrt (c/n).

Specified by:
  `getRMS` in interface `Estimator`
Parameters:
  `problem` - estimation problem
Returns:
  RMS value
See Also:
  `Estimator.guessParametersErrors(EstimationProblem)`

#### getChiSquare

    public double getChiSquare(EstimationProblem problem)

Deprecated.
Get the Chi-Square value.

Parameters:
  `problem` - estimation problem
Returns:
  chi-square value

#### getCovariances

    public double[][] getCovariances(EstimationProblem problem)
                              throws EstimationException

Deprecated.
Get the covariance matrix of unbound estimated parameters.

Specified by:
  `getCovariances` in interface `Estimator`
Parameters:
  `problem` - estimation problem
Returns:
  covariance matrix
Throws:
  `EstimationException` - if the covariance matrix cannot be computed (singular problem)

#### guessParametersErrors

    public double[] guessParametersErrors(EstimationProblem problem)
                                   throws EstimationException

Deprecated.
Guess the errors in unbound estimated parameters.

Guessing is covariance-based, it only gives rough order of magnitude.

Specified by:
  `guessParametersErrors` in interface `Estimator`
Parameters:
  `problem` - estimation problem
Returns:
  errors in estimated parameters
Throws:
  `EstimationException` - if the covariances matrix cannot be computed or the number of degrees of freedom is not positive (number of measurements lesser or equal to number of parameters)
See Also:
  `Estimator.getRMS(EstimationProblem)`

#### initializeEstimate

    protected void initializeEstimate(EstimationProblem problem)

Deprecated.
Initialization of the common parts of the estimation.

This method must be called at the start of the `estimate` method.

Parameters:
  `problem` - estimation problem to solve

#### estimate

    public abstract void estimate(EstimationProblem problem)
                           throws EstimationException

Deprecated.
Solve an estimation problem.

The method should set the parameters of the problem to several trial values until it reaches convergence. If this method returns normally (i.e. without throwing an exception), then the best estimate of the parameters can be retrieved from the problem itself, through the `EstimationProblem.getAllParameters` method.

Specified by:
  `estimate` in interface `Estimator`
Parameters:
  `problem` - estimation problem to solve
Throws:
  `EstimationException` - if the problem cannot be solved