Class HoltLinearModel
- java.lang.Object
-
- org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
-
- org.elasticsearch.search.aggregations.pipeline.movavg.models.HoltLinearModel
-
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentFragment
public class HoltLinearModel extends MovAvgModel
Calculate a doubly exponential weighted moving average
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HoltLinearModel.HoltLinearModelBuilder
-
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
MovAvgModel.AbstractModelParser
-
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 Modifier and Type Field Description static double
DEFAULT_ALPHA
static double
DEFAULT_BETA
static java.lang.String
NAME
static MovAvgModel.AbstractModelParser
PARSER
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description HoltLinearModel()
HoltLinearModel(double alpha, double beta)
HoltLinearModel(StreamInput in)
Read from a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canBeMinimized()
Returns if the model can be cost minimized.MovAvgModel
clone()
Clone the model, returning an exact copyprotected double[]
doPredict(java.util.Collection<java.lang.Double> values, int numPredictions)
Predicts the next `n` values in the series, using the smoothing model to generate new values.boolean
equals(java.lang.Object obj)
java.lang.String
getWriteableName()
Returns the name of the writeable objectint
hashCode()
MovAvgModel
neighboringModel()
Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range.double
next(java.util.Collection<java.lang.Double> values)
Returns the next value in the series, according to the underlying smoothing modeldouble[]
next(java.util.Collection<java.lang.Double> values, int numForecasts)
Calculate a Holt-Linear (doubly exponential weighted) moving averageXContentBuilder
toXContent(XContentBuilder builder, ToXContent.Params params)
void
writeTo(StreamOutput out)
Write the model to the output stream-
Methods inherited from class org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
emptyPredictions, hasValue, minimizeByDefault, predict
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
DEFAULT_ALPHA
public static final double DEFAULT_ALPHA
- See Also:
- Constant Field Values
-
DEFAULT_BETA
public static final double DEFAULT_BETA
- See Also:
- Constant Field Values
-
PARSER
public static final MovAvgModel.AbstractModelParser PARSER
-
-
Constructor Detail
-
HoltLinearModel
public HoltLinearModel()
-
HoltLinearModel
public HoltLinearModel(double alpha, double beta)
-
HoltLinearModel
public HoltLinearModel(StreamInput in) throws java.io.IOException
Read from a stream.- Throws:
java.io.IOException
-
-
Method Detail
-
writeTo
public void writeTo(StreamOutput out) throws java.io.IOException
Description copied from class:MovAvgModel
Write the model to the output stream- Specified by:
writeTo
in interfaceWriteable
- Specified by:
writeTo
in classMovAvgModel
- Parameters:
out
- Output stream- Throws:
java.io.IOException
-
getWriteableName
public java.lang.String getWriteableName()
Description copied from interface:NamedWriteable
Returns the name of the writeable object
-
canBeMinimized
public boolean canBeMinimized()
Description copied from class:MovAvgModel
Returns if the model can be cost minimized. Not all models have parameters which can be tuned / optimized.- Specified by:
canBeMinimized
in classMovAvgModel
-
neighboringModel
public MovAvgModel neighboringModel()
Description copied from class:MovAvgModel
Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range. Used for minimization- Specified by:
neighboringModel
in classMovAvgModel
-
clone
public MovAvgModel clone()
Description copied from class:MovAvgModel
Clone the model, returning an exact copy- Specified by:
clone
in classMovAvgModel
-
doPredict
protected double[] doPredict(java.util.Collection<java.lang.Double> values, int numPredictions)
Predicts the next `n` values in the series, using the smoothing model to generate new values. Unlike the other moving averages, Holt-Linear has forecasting/prediction built into the algorithm. Prediction is more than simply adding the next prediction to the window and repeating. Holt-Linear will extrapolate into the future by applying the trend information to the smoothed data.- Specified by:
doPredict
in classMovAvgModel
- 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
-
next
public double next(java.util.Collection<java.lang.Double> values)
Description copied from class:MovAvgModel
Returns the next value in the series, according to the underlying smoothing model- Specified by:
next
in classMovAvgModel
- Parameters:
values
- Collection of numerics to movingAvg, usually windowed- Returns:
- Returns a double, since most smoothing methods operate on floating points
-
next
public double[] next(java.util.Collection<java.lang.Double> values, int numForecasts)
Calculate a Holt-Linear (doubly exponential weighted) moving average- Parameters:
values
- Collection of values to calculate avg fornumForecasts
- number of forecasts into the future to return- Returns:
- Returns a Double containing the moving avg for the window
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Throws:
java.io.IOException
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classMovAvgModel
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in classMovAvgModel
-
-