Class MovAvgModel

    • Constructor Detail

      • MovAvgModel

        public MovAvgModel()
    • Method Detail

      • minimizeByDefault

        public boolean minimizeByDefault()
        Should this model be fit to the data via a cost minimizing algorithm by default?
      • canBeMinimized

        public abstract boolean canBeMinimized()
        Returns if the model can be cost minimized. Not all models have parameters which can be tuned / optimized.
      • neighboringModel

        public abstract MovAvgModel neighboringModel()
        Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range. Used for minimization
      • hasValue

        public boolean hasValue​(int valuesAvailable)
        Checks to see this model can produce a new value, without actually running the algo. This can be used for models that have certain preconditions that need to be met in order to short-circuit execution
        Parameters:
        valuesAvailable - Number of values in the current window of values
        Returns:
        Returns `true` if calling next() will produce a value, `false` otherwise
      • next

        public abstract double next​(Collection<Double> values)
        Returns the next value in the series, according to the underlying smoothing model
        Parameters:
        values - Collection of numerics to movingAvg, usually windowed
        Returns:
        Returns a double, since most smoothing methods operate on floating points
      • predict

        public double[] predict​(Collection<Double> values,
                                int numPredictions)
        Predicts the next `n` values in the series.
        Parameters:
        values - Collection of numerics to movingAvg, usually windowed
        numPredictions - Number of newly generated predictions to return
        Returns:
        Returns an array of doubles, since most smoothing methods operate on floating points
      • doPredict

        protected abstract double[] doPredict​(Collection<Double> values,
                                              int numPredictions)
        Calls to the model-specific implementation which actually generates the predictions
        Parameters:
        values - Collection of numerics to movingAvg, usually windowed
        numPredictions - Number of newly generated predictions to return
        Returns:
        Returns an array of doubles, since most smoothing methods operate on floating points
      • validate

        protected void validate​(long window,
                                String aggregationName)
        This method allows models to validate the window size if required
      • emptyPredictions

        protected double[] emptyPredictions​(int numPredictions)
        Returns an empty set of predictions, filled with NaNs
        Parameters:
        numPredictions - Number of empty predictions to generate
      • clone

        public abstract MovAvgModel clone()
        Clone the model, returning an exact copy
        Overrides:
        clone in class Object
      • hashCode

        public abstract int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public abstract boolean equals​(Object obj)
        Overrides:
        equals in class Object