Class MixtureDistribution

  • All Implemented Interfaces:
    RevisionHandler, TechnicalInformationHandler
    Direct Known Subclasses:
    ChisqMixture, NormalMixture

    public abstract class MixtureDistribution
    extends java.lang.Object
    implements TechnicalInformationHandler, RevisionHandler
    Abtract class for manipulating mixture distributions.

    REFERENCES

    Wang, Y. (2000). "A new approach to fitting linear models in high dimensional spaces." PhD Thesis. Department of Computer Science, University of Waikato, New Zealand.

    Wang, Y. and Witten, I. H. (2002). "Modeling for optimal probability prediction." Proceedings of ICML'2002. Sydney.

    Version:
    $Revision: 1.5 $
    Author:
    Yong Wang (yongwang@cs.waikato.ac.nz)
    • Field Detail

      • NNMMethod

        public static final int NNMMethod
        The nonnegative-measure-based method
        See Also:
        Constant Field Values
      • PMMethod

        public static final int PMMethod
        The probability-measure-based method
        See Also:
        Constant Field Values
    • Constructor Detail

      • MixtureDistribution

        public MixtureDistribution()
    • Method Detail

      • 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
      • getMixingDistribution

        public DiscreteFunction getMixingDistribution()
        Gets the mixing distribution
        Returns:
        the mixing distribution
      • setMixingDistribution

        public void setMixingDistribution​(DiscreteFunction d)
        Sets the mixing distribution
        Parameters:
        d - the mixing distribution
      • fit

        public void fit​(DoubleVector data)
        Fits the mixture (or mixing) distribution to the data. The default method is the nonnegative-measure-based method.
        Parameters:
        data - the data, supposedly generated from the mixture model
      • fit

        public void fit​(DoubleVector data,
                        int method)
        Fits the mixture (or mixing) distribution to the data.
        Parameters:
        data - the data supposedly generated from the mixture
        method - the method to be used. Refer to the static final variables of this class.
      • fitForSingleCluster

        public DiscreteFunction fitForSingleCluster​(DoubleVector data,
                                                    int method)
        Fits the mixture (or mixing) distribution to the data. The data is not pre-clustered for computational efficiency.
        Parameters:
        data - the data supposedly generated from the mixture
        method - the method to be used. Refer to the static final variables of this class.
        Returns:
        the generated distribution
      • separable

        public abstract boolean separable​(DoubleVector data,
                                          int i0,
                                          int i1,
                                          double x)
        Return true if a value can be considered for mixture estimatino separately from the data indexed between i0 and i1
        Parameters:
        data - the data supposedly generated from the mixture
        i0 - the index of the first element in the group
        i1 - the index of the last element in the group
        x - the value
        Returns:
        true if a value can be considered
      • supportPoints

        public abstract DoubleVector supportPoints​(DoubleVector data,
                                                   int ne)
        Contructs the set of support points for mixture estimation.
        Parameters:
        data - the data supposedly generated from the mixture
        ne - the number of extra data that are suppposedly discarded earlier and not passed into here
        Returns:
        the set of support points
      • fittingIntervals

        public abstract PaceMatrix fittingIntervals​(DoubleVector data)
        Contructs the set of fitting intervals for mixture estimation.
        Parameters:
        data - the data supposedly generated from the mixture
        Returns:
        the set of fitting intervals
      • probabilityMatrix

        public abstract PaceMatrix probabilityMatrix​(DoubleVector s,
                                                     PaceMatrix intervals)
        Contructs the probability matrix for mixture estimation, given a set of support points and a set of intervals.
        Parameters:
        s - the set of support points
        intervals - the intervals
        Returns:
        the probability matrix
      • empiricalProbability

        public PaceMatrix empiricalProbability​(DoubleVector data,
                                               PaceMatrix intervals)
        Computes the empirical probabilities of the data over a set of intervals.
        Parameters:
        data - the data
        intervals - the intervals
        Returns:
        the empirical probabilities
      • toString

        public java.lang.String toString()
        Converts to a string
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation