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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2013 Apache Software Foundation