Class ExponentialRegression

  • All Implemented Interfaces:
    IsRegression

    public final class ExponentialRegression
    extends Object
    Exponential regression is a non-linear regression technique that looks like this:

    y = A * eB * x

    Author:
    Andrea "Stock" Stocchero
    • Field Detail

      • DEFAULT_FORMULA_PRECISION

        public static final int DEFAULT_FORMULA_PRECISION
        Default precision to get the formula, 2.
        See Also:
        Constant Field Values
    • Method Detail

      • getA

        public double getA()
        Returns the A coefficient.
        Returns:
        the A coefficient
      • getB

        public double getB()
        Returns the B coefficient.
        Returns:
        the B coefficient
      • getCoefficients

        public List<Double> getCoefficients()
        Description copied from interface: IsRegression
        Returns all calculated coefficients as a list.
        Returns:
        all calculated coefficients as a list
      • isConsistent

        public final boolean isConsistent()
        Description copied from interface: IsRegression
        Returns true if the regression is consistent and usable.
        Specified by:
        isConsistent in interface IsRegression
        Returns:
        true if the regression is consistent and usable
      • predict

        public final double predict​(double x)
        Description copied from interface: IsRegression
        Returns the Y value, calculated by the regression formula at specific X value.
        Specified by:
        predict in interface IsRegression
        Parameters:
        x - value to use to get the predicted value
        Returns:
        the Y value, calculated by the regression formula at specific X value
      • predict

        public final double predict​(Date x)
        Description copied from interface: IsRegression
        Returns the Y value, calculated by the regression formula at specific X value.
        Specified by:
        predict in interface IsRegression
        Parameters:
        x - value to use to get the predicted value
        Returns:
        the Y value, calculated by the regression formula at specific X value
      • predict

        public final double predict​(DataPoint dataPoint)
        Description copied from interface: IsRegression
        Returns the Y value, calculated by the regression formula at specific X value.
        Specified by:
        predict in interface IsRegression
        Parameters:
        dataPoint - value to use to get the predicted value
        Returns:
        the Y value, calculated by the regression formula at specific X value
      • predict

        public final double predict​(TimeSeriesItem item)
        Description copied from interface: IsRegression
        Returns the Y value, calculated by the regression formula at specific X value.
        Specified by:
        predict in interface IsRegression
        Parameters:
        item - value to use to get the predicted value
        Returns:
        the Y value, calculated by the regression formula at specific X value
      • predict

        public final List<Double> predict​(double... xValues)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predict in interface IsRegression
        Parameters:
        xValues - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predict

        public final List<Double> predict​(List<Double> xValues)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predict in interface IsRegression
        Parameters:
        xValues - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByDates

        public final List<Double> predictByDates​(Date... xValues)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByDates in interface IsRegression
        Parameters:
        xValues - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByDates

        public final List<Double> predictByDates​(List<Date> xValues)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByDates in interface IsRegression
        Parameters:
        xValues - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByDataPoints

        public final List<Double> predictByDataPoints​(DataPoint... dataPoints)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByDataPoints in interface IsRegression
        Parameters:
        dataPoints - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByDataPoints

        public final List<Double> predictByDataPoints​(List<DataPoint> dataPoints)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByDataPoints in interface IsRegression
        Parameters:
        dataPoints - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByTimeSeriesItems

        public final List<Double> predictByTimeSeriesItems​(TimeSeriesItem... items)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByTimeSeriesItems in interface IsRegression
        Parameters:
        items - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • predictByTimeSeriesItems

        public final List<Double> predictByTimeSeriesItems​(List<TimeSeriesItem> items)
        Description copied from interface: IsRegression
        Returns a list of Y values, calculated by the regression formula for specific X values.
        Specified by:
        predictByTimeSeriesItems in interface IsRegression
        Parameters:
        items - values to use to get the predicted values
        Returns:
        a list of Y values, calculated by the regression formula for specific X values
      • score

        public final RegressionScore score​(List<Double> y)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        X values are creating starting from 0 with increment of 1.
        Specified by:
        score in interface IsRegression
        Parameters:
        y - Y values to use for evaluation
        Returns:
        the score of the regression
      • score

        public final RegressionScore score​(List<Double> y,
                                           double starting)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        X values are creating starting from passed argument with increment of 1.
        Specified by:
        score in interface IsRegression
        Parameters:
        y - Y values to use for evaluation
        starting - starting value to create X values
        Returns:
        the score of the regression
      • score

        public final RegressionScore score​(List<Double> y,
                                           double starting,
                                           double increment)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        X values are creating starting from passed argument with increment of passed argument.
        Specified by:
        score in interface IsRegression
        Parameters:
        y - Y values to use for evaluation
        starting - starting value to create X values
        increment - increment to apply to the starting value
        Returns:
        the score of the regression
      • score

        public final RegressionScore score​(List<Double> x,
                                           List<Double> y)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        Specified by:
        score in interface IsRegression
        Parameters:
        x - X values to use for evaluation
        y - Y values to use for evaluation
        Returns:
        the score of the regression
      • scoreByDate

        public final RegressionScore scoreByDate​(List<Date> x,
                                                 List<Double> y)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        Specified by:
        scoreByDate in interface IsRegression
        Parameters:
        x - X values to use for evaluation
        y - Y values to use for evaluation
        Returns:
        the score of the regression
      • scoreByDataPoints

        public final RegressionScore scoreByDataPoints​(List<DataPoint> dataPoints)
        Description copied from interface: IsRegression
        Evaluates the regression formula if the model fits enough.
        Specified by:
        scoreByDataPoints in interface IsRegression
        Parameters:
        dataPoints - X and Y values to use for evaluation
        Returns:
        the score of the regression
      • toFormula

        public final String toFormula()
        Description copied from interface: IsRegression
        Returns the formula of the regression.
        Specified by:
        toFormula in interface IsRegression
        Returns:
        the formula of the regression
      • toFormula

        public final String toFormula​(int precision)
        Description copied from interface: IsRegression
        Returns the formula of the regression, using the requested precision.
        Specified by:
        toFormula in interface IsRegression
        Parameters:
        precision - precision to apply to the numbers of the formula
        Returns:
        the formula of the regression
      • toLaTeX

        public final String toLaTeX()
        Description copied from interface: IsRegression
        Returns the formula of the regression.
        Specified by:
        toLaTeX in interface IsRegression
        Returns:
        the formula of the regression
      • toLaTeX

        public final String toLaTeX​(int precision)
        Description copied from interface: IsRegression
        Returns the formula of the regression, using the requested precision.
        Specified by:
        toLaTeX in interface IsRegression
        Parameters:
        precision - precision to apply to the numbers of the formula
        Returns:
        the formula of the regression