public abstract class AbstractLeastSquaresOptimizer extends JacobianMultivariateVectorOptimizer
evaluations, iterations| Modifier | Constructor and Description |
|---|---|
protected |
AbstractLeastSquaresOptimizer(ConvergenceChecker<PointVectorValuePair> checker) |
| Modifier and Type | Method and Description |
|---|---|
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 |
parseOptimizationData(OptimizationData... optData)
Scans the list of (required and optional) optimization data that
characterize the problem.
|
protected void |
setCost(double cost)
Sets the cost.
|
computeJacobiancomputeObjectiveValue, getTarget, getTargetSize, getWeightgetLowerBound, getStartPoint, getUpperBounddoOptimize, getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCountprotected AbstractLeastSquaresOptimizer(ConvergenceChecker<PointVectorValuePair> checker)
checker - Convergence checker.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
BaseOptimizer.parseOptimizationData(OptimizationData[]) if they need to register
their own options; but then, they must also call
super.parseOptimizationData(optData) within that method.optimize in class JacobianMultivariateVectorOptimizeroptData - Optimization data. In addition to those documented in
JacobianMultivariateVectorOptimizer, this method will register the following data:
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.protected void parseOptimizationData(OptimizationData... optData)
weightMatrixSqrt
field is recomputed.parseOptimizationData in class JacobianMultivariateVectorOptimizeroptData - Optimization data. The following data will be looked for:
Copyright © 2003–2014. All rights reserved.