org.apache.commons.math.estimation
Class AbstractEstimator

java.lang.Object
  extended by 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
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).
static int DEFAULT_MAX_COST_EVALUATIONS
          Deprecated. Default maximal number of cost evaluations allowed.
protected  double[] jacobian
          Deprecated. Jacobian matrix.
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).

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 © 2003-2011 The Apache Software Foundation. All Rights Reserved.