Class PSquarePercentile

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static interface  PSquarePercentile.PSquareMarkers
      An interface that encapsulates abstractions of the P-square algorithm markers as is explained in the original works.
    • Constructor Summary

      Constructors 
      Constructor Description
      PSquarePercentile​(double p)
      Constructs a PSquarePercentile with the specific percentile value.
    • Method Summary

      Modifier and Type Method Description
      void clear()
      Clears the internal state of the Statistic
      StorelessUnivariateStatistic copy()
      Returns a copy of the statistic with the same internal state.
      boolean equals​(java.lang.Object o)
      Returns true iff o is a PSquarePercentile returning the same values as this for getResult() and getN() and also having equal markers
      long getN()
      Returns the number of values that have been added.
      double getResult()
      Returns the current value of the Statistic.
      int hashCode()
      Returns hash code based on getResult() and getN().
      void increment​(double observation)
      Updates the internal state of the statistic to reflect the addition of the new value.
      static PSquarePercentile.PSquareMarkers newMarkers​(java.util.List<java.lang.Double> initialFive, double p)
      A creation method to build Markers
      double quantile()
      Returns the quantile estimated by this statistic in the range [0.0-1.0]
      java.lang.String toString()
      Returns a string containing the last observation, the current estimate of the quantile and all markers.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • PSquarePercentile

        public PSquarePercentile​(double p)
        Constructs a PSquarePercentile with the specific percentile value.
        Parameters:
        p - the percentile
        Throws:
        OutOfRangeException - if p is not greater than 0 and less than or equal to 100
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object o)
        Returns true iff o is a PSquarePercentile returning the same values as this for getResult() and getN() and also having equal markers
        Overrides:
        equals in class AbstractStorelessUnivariateStatistic
        Parameters:
        o - object to compare
        Returns:
        true if o is a PSquarePercentile with equivalent internal state
      • increment

        public void increment​(double observation)
        Updates the internal state of the statistic to reflect the addition of the new value.The internal state updated due to the new value in this context is basically of the marker positions and computation of the approximate quantile.
        Specified by:
        increment in interface StorelessUnivariateStatistic
        Specified by:
        increment in class AbstractStorelessUnivariateStatistic
        Parameters:
        observation - the observation currently being added.
      • toString

        public java.lang.String toString()
        Returns a string containing the last observation, the current estimate of the quantile and all markers.
        Overrides:
        toString in class java.lang.Object
        Returns:
        string representation of state data
      • getN

        public long getN()
        Returns the number of values that have been added.
        Specified by:
        getN in interface StorelessUnivariateStatistic
        Returns:
        the number of values.
      • quantile

        public double quantile()
        Returns the quantile estimated by this statistic in the range [0.0-1.0]
        Returns:
        quantile estimated by getResult()
      • newMarkers

        public static PSquarePercentile.PSquareMarkers newMarkers​(java.util.List<java.lang.Double> initialFive,
                                                                  double p)
        A creation method to build Markers
        Parameters:
        initialFive - list of initial five elements
        p - the quantile desired
        Returns:
        an instance of PSquareMarkers