Class MOACUSUM

  • All Implemented Interfaces:
    Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, SizeOfHandler, TechnicalInformationHandler, ControlChart, IndividualsControlChart, Serializable

    public class MOACUSUM
    extends AbstractControlChart
    implements IndividualsControlChart
    CUSUM (cumulative sum control chart) is a sequential analysis technique developed by E. S. Page of the University of Cambridge.

    For more information see:
    E. S. Page. CUSUM. URL https://en.wikipedia.org/wiki/CUSUM.
    This version is based on MOA's drift detector:
    https://github.com/apache/incubator-samoa/blob/9b178f63152e5b4c262e0f3ed28e77667832fc98/samoa-api/src/main/java/org/apache/samoa/moa/classifiers/core/driftdetection/CusumDM.java

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -min-num-values <int> (property: minNumValues)
        The minimum number of values to process before testing.
        default: 30
        minimum: 1
     
    -delta <double> (property: delta)
        The delta parameter.
        default: 0.05
        minimum: 0.0
     
    -lambda <double> (property: lambda)
        The threshold for the test.
        default: 4.0
        minimum: 0.0
     
    Version:
    $Revision$
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_MinNumValues

        protected int m_MinNumValues
        the minimum number of values before testing.
      • m_Delta

        protected double m_Delta
        the delta parameter.
      • m_Lambda

        protected double m_Lambda
        the lambda parameter.
    • Constructor Detail

      • MOACUSUM

        public MOACUSUM()
    • Method Detail

      • getName

        public String getName()
        Returns the chart name.
        Specified by:
        getName in interface ControlChart
        Returns:
        the chart name
      • getTechnicalInformation

        public TechnicalInformation getTechnicalInformation()
        Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
        Specified by:
        getTechnicalInformation in interface TechnicalInformationHandler
        Returns:
        the technical information about this class
      • setMinNumValues

        public void setMinNumValues​(int value)
        Sets the minimum number of values to process before testing.
        Parameters:
        value - the number of values
      • getMinNumValues

        public int getMinNumValues()
        Returns the minimum number of values to process before testing.
        Returns:
        the number of values
      • minNumValuesTipText

        public String minNumValuesTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setDelta

        public void setDelta​(double value)
        Sets the delta parameter.
        Parameters:
        value - the delta
      • getDelta

        public double getDelta()
        Returns the delta parameter.
        Returns:
        the delta
      • deltaTipText

        public String deltaTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setLambda

        public void setLambda​(double value)
        Sets the threshold for the test.
        Parameters:
        value - the threshold
      • getLambda

        public double getLambda()
        Returns the threshold for the test.
        Returns:
        the threshold
      • lambdaTipText

        public String lambdaTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • calculate

        public List<Limits> calculate​(Number[] data)
        Calculates center/lower/upper limit.
        Specified by:
        calculate in interface IndividualsControlChart
        Parameters:
        data - the data to use for the calculation
        Returns:
        center/lower/upper
      • prepare

        public double[] prepare​(Number[] data)
        Prepares the data.
        Specified by:
        prepare in interface IndividualsControlChart
        Parameters:
        data - the data to prepare
        Returns:
        the prepared/processed data