Class HoltWintersModel
- java.lang.Object
-
- org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
-
- org.elasticsearch.search.aggregations.pipeline.movavg.models.HoltWintersModel
-
- All Implemented Interfaces:
NamedWriteable,Writeable,ToXContent,ToXContentFragment
public class HoltWintersModel extends MovAvgModel
Calculate a triple exponential weighted moving average
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHoltWintersModel.HoltWintersModelBuilderstatic classHoltWintersModel.SeasonalityType-
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 doubleDEFAULT_ALPHAstatic doubleDEFAULT_BETAstatic doubleDEFAULT_GAMMAstatic booleanDEFAULT_PADstatic intDEFAULT_PERIODstatic HoltWintersModel.SeasonalityTypeDEFAULT_SEASONALITY_TYPEstatic java.lang.StringNAMEstatic MovAvgModel.AbstractModelParserPARSER-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description HoltWintersModel()HoltWintersModel(double alpha, double beta, double gamma, int period, HoltWintersModel.SeasonalityType seasonalityType, boolean pad)HoltWintersModel(StreamInput in)Read from a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanBeMinimized()Returns if the model can be cost minimized.MovAvgModelclone()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.booleanequals(java.lang.Object obj)java.lang.StringgetWriteableName()Returns the name of the writeable objectinthashCode()booleanhasValue(int valuesAvailable)Checks to see this model can produce a new value, without actually running the algo.booleanminimizeByDefault()Should this model be fit to the data via a cost minimizing algorithm by default?MovAvgModelneighboringModel()Generates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range.doublenext(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 doubly exponential weighted moving averageXContentBuildertoXContent(XContentBuilder builder, ToXContent.Params params)voidwriteTo(StreamOutput out)Write the model to the output stream-
Methods inherited from class org.elasticsearch.search.aggregations.pipeline.movavg.models.MovAvgModel
emptyPredictions, 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
-
DEFAULT_GAMMA
public static final double DEFAULT_GAMMA
- See Also:
- Constant Field Values
-
DEFAULT_PERIOD
public static final int DEFAULT_PERIOD
- See Also:
- Constant Field Values
-
DEFAULT_SEASONALITY_TYPE
public static final HoltWintersModel.SeasonalityType DEFAULT_SEASONALITY_TYPE
-
DEFAULT_PAD
public static final boolean DEFAULT_PAD
- See Also:
- Constant Field Values
-
PARSER
public static final MovAvgModel.AbstractModelParser PARSER
-
-
Constructor Detail
-
HoltWintersModel
public HoltWintersModel()
-
HoltWintersModel
public HoltWintersModel(double alpha, double beta, double gamma, int period, HoltWintersModel.SeasonalityType seasonalityType, boolean pad)
-
HoltWintersModel
public HoltWintersModel(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:MovAvgModelWrite the model to the output stream- Specified by:
writeToin interfaceWriteable- Specified by:
writeToin classMovAvgModel- Parameters:
out- Output stream- Throws:
java.io.IOException
-
getWriteableName
public java.lang.String getWriteableName()
Description copied from interface:NamedWriteableReturns the name of the writeable object
-
minimizeByDefault
public boolean minimizeByDefault()
Description copied from class:MovAvgModelShould this model be fit to the data via a cost minimizing algorithm by default?- Overrides:
minimizeByDefaultin classMovAvgModel
-
canBeMinimized
public boolean canBeMinimized()
Description copied from class:MovAvgModelReturns if the model can be cost minimized. Not all models have parameters which can be tuned / optimized.- Specified by:
canBeMinimizedin classMovAvgModel
-
neighboringModel
public MovAvgModel neighboringModel()
Description copied from class:MovAvgModelGenerates a "neighboring" model, where one of the tunable parameters has been randomly mutated within the allowed range. Used for minimization- Specified by:
neighboringModelin classMovAvgModel
-
clone
public MovAvgModel clone()
Description copied from class:MovAvgModelClone the model, returning an exact copy- Specified by:
clonein classMovAvgModel
-
hasValue
public boolean hasValue(int valuesAvailable)
Description copied from class:MovAvgModelChecks 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- Overrides:
hasValuein classMovAvgModel- Parameters:
valuesAvailable- Number of values in the current window of values- Returns:
- Returns `true` if calling next() will produce a value, `false` otherwise
-
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, HoltWinters has forecasting/prediction built into the algorithm. Prediction is more than simply adding the next prediction to the window and repeating. HoltWinters will extrapolate into the future by applying the trend and seasonal information to the smoothed data.- Specified by:
doPredictin 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:MovAvgModelReturns the next value in the series, according to the underlying smoothing model- Specified by:
nextin 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 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:
hashCodein classMovAvgModel
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin classMovAvgModel
-
-