org.elasticsearch.search.aggregations.pipeline.MovAvgModel
All Implemented Interfaces:
NamedWriteable, Writeable, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentFragment
Direct Known Subclasses:
EwmaModel, HoltLinearModel, HoltWintersModel, LinearModel, SimpleModel

public abstract class MovAvgModel extends implements NamedWriteable, org.elasticsearch.common.xcontent.ToXContentFragment
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Abstract class which also provides some concrete parsing functionality.

    Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params

    Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable

    Writeable.Reader<V>, Writeable.Writer<V>
  • Field Summary

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    Returns if the model can be cost minimized.
    abstract MovAvgModel
    Clone the model, returning an exact copy
    protected abstract double[]
    <> values, int numPredictions)
    Calls to the model-specific implementation which actually generates the predictions
    protected double[]
    emptyPredictions​(int numPredictions)
    Returns an empty set of predictions, filled with NaNs
    abstract boolean
     obj)
     
    abstract int
     
    boolean
    hasValue​(int valuesAvailable)
    Checks to see this model can produce a new value, without actually running the algo.
    boolean
    Should this model be fit to the data via a cost minimizing algorithm by default?
    abstract MovAvgModel
    Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range.
    abstract double
    <> values)
    Returns the next value in the series, according to the underlying smoothing model
    double[]
    <> values, int numPredictions)
    Predicts the next `n` values in the series.
    protected void
    validate​(long window,  aggregationName)
    This method allows models to validate the window size if required
    abstract void
    Write the model to the output stream

    Methods inherited from class java.lang.

    , , , , , , ,

    Methods inherited from interface org.elasticsearch.common.io.stream.NamedWriteable

    getWriteableName

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContent

    toXContent

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment

    isFragment
  • Constructor Details

    • MovAvgModel

      public MovAvgModel()
  • Method Details

    • 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(<> 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(<> 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(<> 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,  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
    • writeTo

      public abstract void writeTo(StreamOutput out) throws
      Write the model to the output stream
      Specified by:
      writeTo in interface Writeable
      Parameters:
      out - Output stream
      Throws:
    • clone

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

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

      public abstract boolean equals( obj)
      Overrides:
       in class