类 LeastSquaresConverter
java.lang.Object
org.hipparchus.optim.nonlinear.scalar.LeastSquaresConverter
- 所有已实现的接口:
-
MultivariateFunction
This class converts
当向量目标函数代表从应用于模型的点集计算出的理论结果,且模型点必须调整以将理论结果拟合到某些参考观测时,通常使用此类。观测结果可以例如来自物理测量,无论模型是从理论考虑构建的。
此类计算可能加权的残差平方和,这是一个标量值。残差是理论模型(即向量目标函数的输出)与观测值之间的差异。该类实现了
此类支持带权重和相关性的残差组合。
向量目标函数
到 标量目标函数
,当目标是最小化它们时。
当向量目标函数代表从应用于模型的点集计算出的理论结果,且模型点必须调整以将理论结果拟合到某些参考观测时,通常使用此类。观测结果可以例如来自物理测量,无论模型是从理论考虑构建的。
此类计算可能加权的残差平方和,这是一个标量值。残差是理论模型(即向量目标函数的输出)与观测值之间的差异。该类实现了
MultivariateFunction
接口,因此可以被支持标量目标函数的任何优化器最小化。这是执行最小二乘估计的一种方式。还有其他方法可以在不使用此转换器的情况下执行此操作,因为一些优化算法直接支持向量目标函数。
此类支持带权重和相关性的残差组合。
- 另请参阅:
-
构造器概要
构造器说明LeastSquaresConverter
(MultivariateVectorFunction function, double[] observations) 构建一个简单的转换器,用于具有相同权重的不相关残差。LeastSquaresConverter
(MultivariateVectorFunction function, double[] observations, double[] weights) 构建一个简单的转换器,用于具有指定权重的不相关残差。LeastSquaresConverter
(MultivariateVectorFunction function, double[] observations, RealMatrix scale) 构建一个简单的转换器,用于具有指定权重的相关残差。 -
方法概要
-
构造器详细资料
-
LeastSquaresConverter
构建一个简单的转换器,用于具有相同权重的不相关残差。- 参数:
-
function
- 要包装的向量残差函数 -
observations
- 用于与目标函数比较以计算残差的观测值
-
LeastSquaresConverter
public LeastSquaresConverter(MultivariateVectorFunction function, double[] observations, double[] weights) 构建一个简单的转换器,用于具有指定权重的不相关残差。标量目标函数值计算为:objective = ∑weighti(observationi-objectivei)2
权重可用于例如结合具有不同标准差的残差。例如,考虑一个残差数组,其中偶数元素是角度测量,标准差为0.01°,奇数元素是距离测量,标准差为15米。在这种情况下,权重数组应初始化为偶数元素中的值1.0/(0.012),奇数元素中的值为1.0/(15.02)(即方差的倒数)。
由目标函数计算的数组、观测数组和权重数组必须具有一致的大小,否则在计算标量目标时将触发
MathIllegalArgumentException
。- 参数:
-
function
- 要包装的向量残差函数 -
observations
- 用于与目标函数比较以计算残差的观测值 -
weights
- 应用于残差的权重 - 抛出:
-
MathIllegalArgumentException
- 如果观测向量和权重向量的维度不匹配(仅在调用value(double[])
方法时检查目标函数维度)
-
LeastSquaresConverter
public LeastSquaresConverter(MultivariateVectorFunction function, double[] observations, RealMatrix scale) 构建一个简单的转换器,用于具有指定权重的相关残差。标量目标函数值计算为:objective = yTy,其中 y = scale×(observation-objective)
由目标函数计算的数组、观测数组和缩放矩阵必须具有一致的大小,否则在计算标量目标时将触发
MathIllegalArgumentException
。- 参数:
-
function
- 要包装的向量残差函数 -
observations
- 用于与目标函数比较以计算残差的观测值 -
scale
- 缩放矩阵 - 抛出:
-
MathIllegalArgumentException
- 如果观测向量和缩放矩阵的维度不匹配(仅在调用value(double[])
方法时检查目标函数维度)
-
-
方法详细资料
-
value
public double value(double[] point) 计算给定点的函数值。- 指定者:
-
value
在接口中MultivariateFunction
- 参数:
-
point
- 必须评估函数的点 - 返回:
- 给定点的函数值。
-