Class AbstractEstimator

  • All Implemented Interfaces:
    Estimator
    Direct Known Subclasses:
    GaussNewtonEstimator, LevenbergMarquardtEstimator

    @Deprecated
    public abstract class AbstractEstimator
    extends java.lang.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 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.
      • 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 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

      • 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