|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.optim.BaseOptimizer<PAIR> org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointVectorValuePair> org.apache.commons.math3.optim.nonlinear.vector.MultivariateVectorOptimizer org.apache.commons.math3.optim.nonlinear.vector.JacobianMultivariateVectorOptimizer org.apache.commons.math3.optim.nonlinear.vector.jacobian.AbstractLeastSquaresOptimizer
public abstract class AbstractLeastSquaresOptimizer
Base class for implementing least-squares optimizers. It provides methods for error estimation.
Field Summary |
---|
Fields inherited from class org.apache.commons.math3.optim.BaseOptimizer |
---|
evaluations, iterations |
Constructor Summary | |
---|---|
protected |
AbstractLeastSquaresOptimizer(ConvergenceChecker<PointVectorValuePair> checker)
|
Method Summary | |
---|---|
protected double |
computeCost(double[] residuals)
Computes the cost. |
double[][] |
computeCovariances(double[] params,
double threshold)
Get the covariance matrix of the optimized parameters. |
protected double[] |
computeResiduals(double[] objectiveValue)
Computes the residuals. |
double[] |
computeSigma(double[] params,
double covarianceSingularityThreshold)
Computes an estimate of the standard deviation of the parameters. |
protected RealMatrix |
computeWeightedJacobian(double[] params)
Computes the weighted Jacobian matrix. |
double |
getChiSquare()
Get a Chi-Square-like value assuming the N residuals follow N distinct normal distributions centered on 0 and whose variances are the reciprocal of the weights. |
double |
getRMS()
Gets the root-mean-square (RMS) value. |
RealMatrix |
getWeightSquareRoot()
Gets the square-root of the weight matrix. |
PointVectorValuePair |
optimize(OptimizationData... optData)
Stores data and performs the optimization. |
protected void |
setCost(double cost)
Sets the cost. |
Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.JacobianMultivariateVectorOptimizer |
---|
computeJacobian |
Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.MultivariateVectorOptimizer |
---|
computeObjectiveValue, getTarget, getTargetSize, getWeight |
Methods inherited from class org.apache.commons.math3.optim.BaseMultivariateOptimizer |
---|
getLowerBound, getStartPoint, getUpperBound |
Methods inherited from class org.apache.commons.math3.optim.BaseOptimizer |
---|
doOptimize, getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractLeastSquaresOptimizer(ConvergenceChecker<PointVectorValuePair> checker)
checker
- Convergence checker.Method Detail |
---|
protected RealMatrix computeWeightedJacobian(double[] params)
params
- Model parameters at which to compute the Jacobian.
DimensionMismatchException
- if the Jacobian dimension does not
match problem dimension.protected double computeCost(double[] residuals)
residuals
- Residuals.
computeResiduals(double[])
public double getRMS()
public double getChiSquare()
public RealMatrix getWeightSquareRoot()
protected void setCost(double cost)
cost
- Cost value.public double[][] computeCovariances(double[] params, double threshold)
JTJ
matrix, where J
is the
Jacobian matrix.
The threshold
parameter is a way for the caller to specify
that the result of this computation should be considered meaningless,
and thus trigger an exception.
params
- Model parameters.threshold
- Singularity threshold.
SingularMatrixException
- if the covariance matrix cannot be computed (singular problem).public double[] computeSigma(double[] params, double covarianceSingularityThreshold)
sd(a[i]) ~= sqrt(C[i][i])
, where a[i]
is the optimized value of the i
-th parameter, and C
is
the covariance matrix.
params
- Model parameters.covarianceSingularityThreshold
- Singularity threshold (see
computeCovariances
).
SingularMatrixException
- if the covariance matrix cannot be computed.public PointVectorValuePair optimize(OptimizationData... optData) throws TooManyEvaluationsException
optimize
in class JacobianMultivariateVectorOptimizer
optData
- Optimization data. The following data will be looked for:
TooManyEvaluationsException
- if the maximal number of
evaluations is exceeded.
DimensionMismatchException
- if the initial guess, target, and weight
arguments have inconsistent dimensions.protected double[] computeResiduals(double[] objectiveValue)
objectiveValue
- Value of the the objective function. This is
the value returned from a call to
computeObjectiveValue
(whose array argument contains the model parameters).
DimensionMismatchException
- if params
has a wrong
length.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |