Class LoessInterpolator

• java.lang.Object
• org.apache.commons.math.analysis.interpolation.LoessInterpolator
• Field Detail

• DEFAULT_BANDWIDTH

public static final double DEFAULT_BANDWIDTH
Default value of the bandwidth parameter.
Constant Field Values
• DEFAULT_ROBUSTNESS_ITERS

public static final int DEFAULT_ROBUSTNESS_ITERS
Default value of the number of robustness iterations.
Constant Field Values
• DEFAULT_ACCURACY

public static final double DEFAULT_ACCURACY
Default value for accuracy.
Since:
2.1
Constant Field Values
• Constructor Detail

• LoessInterpolator

public LoessInterpolator​(double bandwidth,
int robustnessIters,
double accuracy)
throws MathException
Constructs a new LoessInterpolator with given bandwidth, number of robustness iterations and accuracy.
Parameters:
bandwidth - when computing the loess fit at a particular point, this fraction of source points closest to the current point is taken into account for computing a least-squares regression.
A sensible value is usually 0.25 to 0.5, the default value is DEFAULT_BANDWIDTH.
robustnessIters - This many robustness iterations are done.
A sensible value is usually 0 (just the initial fit without any robustness iterations) to 4, the default value is DEFAULT_ROBUSTNESS_ITERS.
accuracy - If the median residual at a certain robustness iteration is less than this amount, no more iterations are done.
Throws:
MathException - if bandwidth does not lie in the interval [0,1] or if robustnessIters is negative.
Since:
2.1
LoessInterpolator(double, int)
• Method Detail

• interpolate

public final PolynomialSplineFunction interpolate​(double[] xval,
double[] yval)
throws MathException
Compute an interpolating function by performing a loess fit on the data at the original abscissae and then building a cubic spline with a SplineInterpolator on the resulting fit.
Specified by:
interpolate in interface UnivariateRealInterpolator
Parameters:
xval - the arguments for the interpolation points
yval - the values for the interpolation points
Returns:
A cubic spline built upon a loess fit to the data at the original abscissae
Throws:
MathException - if some of the following conditions are false:
• Arguments and values are of the same size that is greater than zero
• The arguments are in a strictly increasing order
• All arguments and values are finite real numbers
• smooth

public final double[] smooth​(double[] xval,
double[] yval,
double[] weights)
throws MathException
Compute a weighted loess fit on the data at the original abscissae.
Parameters:
xval - the arguments for the interpolation points
yval - the values for the interpolation points
weights - point weights: coefficients by which the robustness weight of a point is multiplied
Returns:
values of the loess fit at corresponding original abscissae
Throws:
MathException - if some of the following conditions are false:
• Arguments and values are of the same size that is greater than zero
• The arguments are in a strictly increasing order
• All arguments and values are finite real numbers
Since:
2.1
• smooth

public final double[] smooth​(double[] xval,
double[] yval)
throws MathException
Compute a loess fit on the data at the original abscissae.
Parameters:
xval - the arguments for the interpolation points
yval - the values for the interpolation points
Returns:
values of the loess fit at corresponding original abscissae
Throws:
MathException - if some of the following conditions are false:
• Arguments and values are of the same size that is greater than zero
• The arguments are in a strictly increasing order
• All arguments and values are finite real numbers