Class LoessInterpolator

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      PolynomialSplineFunction interpolate​(double[] xval, double[] yval)
      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.
      double[] smooth​(double[] xval, double[] yval)
      Compute a loess fit on the data at the original abscissae.
      double[] smooth​(double[] xval, double[] yval, double[] weights)
      Compute a weighted loess fit on the data at the original abscissae.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_BANDWIDTH

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

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

        public static final double DEFAULT_ACCURACY
        Default value for accuracy.
        Since:
        2.1
        See Also:
        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
        See Also:
        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