Class AbstractEstimator

java.lang.Object
org.apache.commons.math.estimation.AbstractEstimator
All Implemented Interfaces:
Estimator
Direct Known Subclasses:
GaussNewtonEstimator, LevenbergMarquardtEstimator

@Deprecated public abstract class AbstractEstimator extends Object implements Estimator
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
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 Details

    • DEFAULT_MAX_COST_EVALUATIONS

      public static final int DEFAULT_MAX_COST_EVALUATIONS
      Deprecated.
      Default maximal number of cost evaluations allowed.
      See Also:
    • 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).
  • Constructor Details

    • 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 Details

    • 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:
    • 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:
    • 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:
    • 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