Class MovAvgModel
- java.lang.Object
-
- org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
-
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentFragment
- Direct Known Subclasses:
EwmaModel
,HoltLinearModel
,HoltWintersModel
,LinearModel
,SimpleModel
public abstract class MovAvgModel extends java.lang.Object implements NamedWriteable, ToXContentFragment
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MovAvgModel.AbstractModelParser
Abstract class which also provides some concrete parsing functionality.-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, 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 MovAvgModel()
-
Method Summary
Modifier and Type Method Description abstract boolean
canBeMinimized()
Returns if the model can be cost minimized.abstract MovAvgModel
clone()
Clone the model, returning an exact copyprotected abstract double[]
doPredict(java.util.Collection<java.lang.Double> values, int numPredictions)
Calls to the model-specific implementation which actually generates the predictionsprotected double[]
emptyPredictions(int numPredictions)
Returns an empty set of predictions, filled with NaNsabstract boolean
equals(java.lang.Object obj)
abstract int
hashCode()
boolean
hasValue(int valuesAvailable)
Checks to see this model can produce a new value, without actually running the algo.boolean
minimizeByDefault()
Should this model be fit to the data via a cost minimizing algorithm by default?abstract MovAvgModel
neighboringModel()
Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range.abstract double
next(java.util.Collection<java.lang.Double> values)
Returns the next value in the series, according to the underlying smoothing modeldouble[]
predict(java.util.Collection<java.lang.Double> values, int numPredictions)
Predicts the next `n` values in the series.abstract void
writeTo(StreamOutput out)
Write the model to the output stream-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
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
-
-
-
-
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(java.util.Collection<java.lang.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(java.util.Collection<java.lang.Double> values, int numPredictions)
Predicts the next `n` values in the series.- Parameters:
values
- Collection of numerics to movingAvg, usually windowednumPredictions
- 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(java.util.Collection<java.lang.Double> values, int numPredictions)
Calls to the model-specific implementation which actually generates the predictions- Parameters:
values
- Collection of numerics to movingAvg, usually windowednumPredictions
- Number of newly generated predictions to return- Returns:
- Returns an array of doubles, since most smoothing methods operate on floating points
-
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 java.io.IOException
Write the model to the output stream
-
clone
public abstract MovAvgModel clone()
Clone the model, returning an exact copy- Overrides:
clone
in classjava.lang.Object
-
hashCode
public abstract int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public abstract boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
-