类 LoessInterpolator
java.lang.Object
org.hipparchus.analysis.interpolation.LoessInterpolator
- 所有已实现的接口:
-
Serializable
,UnivariateInterpolator
实现了用于实数一元函数插值的局部回归算法(也称Loess、Lowess)。
参考:William S. Cleveland - Robust Locally Weighted Regression and Smoothing Scatterplots
该类既实现了loess方法,也作为其插值适配器,允许在获得的loess拟合上构建样条。
- 另请参阅:
-
字段概要
修饰符和类型字段说明static final double
精度的默认值。static final double
带宽参数的默认值。static final int
鲁棒性迭代次数的默认值。 -
构造器概要
构造器说明使用带宽为DEFAULT_BANDWIDTH
、DEFAULT_ROBUSTNESS_ITERS
次鲁棒性迭代和精度为{#link #DEFAULT_ACCURACY}构造一个新的LoessInterpolator
。LoessInterpolator
(double bandwidth, int robustnessIters) 使用给定的带宽和鲁棒性迭代次数构造一个新的LoessInterpolator
。LoessInterpolator
(double bandwidth, int robustnessIters, double accuracy) 使用给定的带宽、鲁棒性迭代次数和精度构造一个新的LoessInterpolator
。 -
方法概要
修饰符和类型方法说明final PolynomialSplineFunction
interpolate
(double[] xval, double[] yval) 通过在原始横坐标处执行loess拟合,然后在得到的拟合上使用SplineInterpolator
构建立方样条,计算插值函数。final double[]
smooth
(double[] xval, double[] yval) 在原始横坐标处计算loess拟合。final double[]
smooth
(double[] xval, double[] yval, double[] weights) 在原始横坐标处计算加权loess拟合。
-
字段详细资料
-
DEFAULT_BANDWIDTH
public static final double DEFAULT_BANDWIDTH带宽参数的默认值。- 另请参阅:
-
DEFAULT_ROBUSTNESS_ITERS
public static final int DEFAULT_ROBUSTNESS_ITERS鲁棒性迭代次数的默认值。- 另请参阅:
-
DEFAULT_ACCURACY
public static final double DEFAULT_ACCURACY精度的默认值。- 另请参阅:
-
-
构造器详细资料
-
LoessInterpolator
public LoessInterpolator()使用带宽为DEFAULT_BANDWIDTH
、DEFAULT_ROBUSTNESS_ITERS
次鲁棒性迭代和精度为{#link #DEFAULT_ACCURACY}构造一个新的LoessInterpolator
。有关参数的解释,请参阅LoessInterpolator(double, int, double)
。 -
LoessInterpolator
public LoessInterpolator(double bandwidth, int robustnessIters) 使用给定的带宽和鲁棒性迭代次数构造一个新的LoessInterpolator
。调用此构造函数等效于调用{link
LoessInterpolator(bandwidth, robustnessIters, LoessInterpolator.DEFAULT_ACCURACY)
- 参数:
-
bandwidth
- 在计算特定点处的loess拟合时,考虑到距离当前点最近的源点的比例。通常合理的值为0.25到0.5,默认值为DEFAULT_BANDWIDTH
。 -
robustnessIters
- 进行的鲁棒性迭代次数。通常合理的值为0(仅进行初始拟合,没有任何鲁棒性迭代)到4,默认值为DEFAULT_ROBUSTNESS_ITERS
。 - 另请参阅:
-
LoessInterpolator
public LoessInterpolator(double bandwidth, int robustnessIters, double accuracy) throws MathIllegalArgumentException 使用给定的带宽、鲁棒性迭代次数和精度构造一个新的LoessInterpolator
。- 参数:
-
bandwidth
- 在计算特定点处的loess拟合时,考虑到距离当前点最近的源点的比例。通常合理的值为0.25到0.5,默认值为DEFAULT_BANDWIDTH
。 -
robustnessIters
- 进行的鲁棒性迭代次数。通常合理的值为0(仅进行初始拟合,没有任何鲁棒性迭代)到4,默认值为DEFAULT_ROBUSTNESS_ITERS
。 -
accuracy
- 如果某个鲁棒性迭代中的中位数残差小于此值,则不再进行更多迭代。 - 抛出:
-
MathIllegalArgumentException
- 如果带宽不在区间[0,1]内。 -
MathIllegalArgumentException
- 如果robustnessIters
为负数。 - 另请参阅:
-
-
方法详细资料
-
interpolate
public final PolynomialSplineFunction interpolate(double[] xval, double[] yval) throws MathIllegalArgumentException 通过在原始横坐标处执行loess拟合,然后在得到的拟合上使用SplineInterpolator
构建立方样条,计算插值函数。- 指定者:
-
interpolate
在接口中UnivariateInterpolator
- 参数:
-
xval
- 插值点的参数 -
yval
- 插值点的值 - 返回:
- 在原始横坐标处的数据上构建的立方样条
- 抛出:
-
MathIllegalArgumentException
- 如果xval
未严格按升序排序。 -
MathIllegalArgumentException
- 如果xval
和yval
大小不同。 -
MathIllegalArgumentException
- 如果xval
或yval
大小为零。 -
MathIllegalArgumentException
- 如果任何参数和值不是有限实数。 -
MathIllegalArgumentException
- 如果带宽太小,无法容纳输入数据的大小(即带宽必须大于2/n)。
-
smooth
public final double[] smooth(double[] xval, double[] yval, double[] weights) throws MathIllegalArgumentException 在原始横坐标处计算加权loess拟合。- 参数:
-
xval
- 插值点的参数。 -
yval
- 插值点的值。 -
weights
- 点权重:用于乘以点的稳健性权重的系数。 - 返回:
- 对应原始横坐标的loess拟合值。
- 抛出:
-
MathIllegalArgumentException
- 如果xval
未按严格递增顺序排序。 -
MathIllegalArgumentException
- 如果xval
和yval
大小不同。 -
MathIllegalArgumentException
- 如果xval
或yval
大小为零。 -
MathIllegalArgumentException
- 如果任何参数和值不是有限实数。 -
MathIllegalArgumentException
- 如果带宽太小,无法容纳输入数据的大小(即带宽必须大于2/n)。
-
smooth
在原始横坐标上计算loess拟合。- 参数:
-
xval
- 插值点的参数 -
yval
- 插值点的值 - 返回:
- 对应原始横坐标的loess拟合值
- 抛出:
-
MathIllegalArgumentException
- 如果xval
未按严格递增顺序排序。 -
MathIllegalArgumentException
- 如果xval
和yval
大小不同。 -
MathIllegalArgumentException
- 如果xval
或yval
大小为零。 -
MathIllegalArgumentException
- 如果任何参数和值不是有限实数。 -
MathIllegalArgumentException
- 如果带宽太小,无法容纳输入数据的大小(即带宽必须大于2/n)。
-