## 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: 825919 $ $Date: 2009-10-16 10:51:55 -0400 (Fri, 16 Oct 2009) $

Field Summary
`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
`protected` `AbstractEstimator()` Deprecated. Build an abstract estimator for least squares problems.

Method Summary
`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

Copyright (c) 2003-2011 Apache Software Foundation