Class SeqDrift2ChangeDetector.SeqDrift2
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.classifiers.core.driftdetection.SeqDrift2ChangeDetector.SeqDrift2
-
- All Implemented Interfaces:
Serializable
,MOAObject
- Enclosing class:
- SeqDrift2ChangeDetector
public class SeqDrift2ChangeDetector.SeqDrift2 extends AbstractMOAObject
SeqDrift2 uses reservoir sampling to build a sequential change detection model that uses statistically sound guarantees defined using Bernstein Bound on false positive and false negative rates. This is a block based approach and checks for changes in the data values only at block boundaries as opposed to the methods on per instance basis. SeqDrift maintains a reservoir and a repository. Repository gathers the new instances and reservoir stores only the data values that are statistically not different, in other words from the same distribution. If the data values in the repository are consistent with the values in reservoir, the data values of the repository are copied to the reservoir applying reservoir algorithm.The hypothesis is that the mean values of the reservoir and right repository are not statistically different Pears, R., Sakthithasan, S., & Koh, Y. (2014). Detecting concept change in dynamic data streams. Machine Learning, 97(3), 259-293. doi:10.1007/s10994-013-5433-9- Author:
- Sakthithasan Sripirakas sripirakas363 at yahoo dot com
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SeqDrift2(double _significanceLevel, int _blockSize)
SeqDrift change detector requires two parameters: significance level and block size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
getDescription(StringBuilder sb, int indent)
Returns a string representation of this object.double
getEstimation()
Gets the prediction of next values.boolean
setInput(double _inputValue)
This method can be used to directly interface with SeqDrift change detector.-
Methods inherited from class moa.AbstractMOAObject
copy, copy, measureByteSize, measureByteSize, toString
-
-
-
-
Constructor Detail
-
SeqDrift2
public SeqDrift2(double _significanceLevel, int _blockSize)
SeqDrift change detector requires two parameters: significance level and block size. Significance level controls the false positive rate and block size sets the interval of two consecutive hypothesis tests Block Size is a positive integer and significance level is a double value between 0 and 1- Parameters:
_significanceLevel
-_blockSize
-
-
-
Method Detail
-
setInput
public boolean setInput(double _inputValue)
This method can be used to directly interface with SeqDrift change detector. This method requires a numerical value as an input. The return value indicates whether there is a change detected or not.- Parameters:
_inputValue
- numerical value
-
getEstimation
public double getEstimation()
Gets the prediction of next values.- Returns:
- Predicted value of next data value
-
getDescription
public void getDescription(StringBuilder sb, int indent)
Description copied from interface:MOAObject
Returns a string representation of this object. Used inAbstractMOAObject.toString
to give a string representation of the object.- Parameters:
sb
- the stringbuilder to add the descriptionindent
- the number of characters to indent
-
-