MixtureDistribution (original) (raw)
java.lang.Object
- weka.classifiers.functions.pace.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.5Revision: 1.5 Revision:1.5
Author:
Yong Wang (yongwang@cs.waikato.ac.nz)
Field Summary
Fields
Modifier and Type Field and Description static int NNMMethod The nonnegative-measure-based method static int PMMethod The probability-measure-based method Constructor Summary
Constructors
Constructor and Description MixtureDistribution() Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods
Modifier and Type Method and Description PaceMatrix empiricalProbability(DoubleVector data,PaceMatrix intervals) Computes the empirical probabilities of the data over a set of intervals. void fit(DoubleVector data) Fits the mixture (or mixing) distribution to the data. void fit(DoubleVector data, int method) Fits the mixture (or mixing) distribution to the data. DiscreteFunction fitForSingleCluster(DoubleVector data, int method) Fits the mixture (or mixing) distribution to the data. abstract PaceMatrix fittingIntervals(DoubleVector data) Contructs the set of fitting intervals for mixture estimation. DiscreteFunction getMixingDistribution() Gets the mixing distribution 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. 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. 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 void setMixingDistribution(DiscreteFunction d) Sets the mixing distribution abstract DoubleVector supportPoints(DoubleVector data, int ne) Contructs the set of support points for mixture estimation. java.lang.String toString() Converts to a string * ### Methods inherited from class java.lang.Object `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait` * ### Methods inherited from interface weka.core.[RevisionHandler](../../../../weka/core/RevisionHandler.html "interface in weka.core") `[getRevision](../../../../weka/core/RevisionHandler.html#getRevision--)`
Field Detail
* #### NNMMethod public static final int NNMMethod The nonnegative-measure-based method See Also: [Constant Field Values](../../../../constant-values.html#weka.classifiers.functions.pace.MixtureDistribution.NNMMethod) * #### PMMethod public static final int PMMethod The probability-measure-based method See Also: [Constant Field Values](../../../../constant-values.html#weka.classifiers.functions.pace.MixtureDistribution.PMMethod)
Constructor Detail
* #### MixtureDistribution public MixtureDistribution()
Method Detail
* #### getTechnicalInformation public [TechnicalInformation](../../../../weka/core/TechnicalInformation.html "class in weka.core") 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](../../../../weka/core/TechnicalInformationHandler.html#getTechnicalInformation--)` in interface `[TechnicalInformationHandler](../../../../weka/core/TechnicalInformationHandler.html "interface in weka.core")` Returns: the technical information about this class * #### getMixingDistribution public [DiscreteFunction](../../../../weka/classifiers/functions/pace/DiscreteFunction.html "class in weka.classifiers.functions.pace") getMixingDistribution() Gets the mixing distribution Returns: the mixing distribution * #### setMixingDistribution public void setMixingDistribution([DiscreteFunction](../../../../weka/classifiers/functions/pace/DiscreteFunction.html "class in weka.classifiers.functions.pace") d) Sets the mixing distribution Parameters: `d` \- the mixing distribution * #### fit public void fit([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/classifiers/functions/pace/DiscreteFunction.html "class in weka.classifiers.functions.pace") fitForSingleCluster([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") supportPoints([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/classifiers/functions/pace/PaceMatrix.html "class in weka.classifiers.functions.pace") fittingIntervals([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") 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](../../../../weka/classifiers/functions/pace/PaceMatrix.html "class in weka.classifiers.functions.pace") probabilityMatrix([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") s, [PaceMatrix](../../../../weka/classifiers/functions/pace/PaceMatrix.html "class in weka.classifiers.functions.pace") 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](../../../../weka/classifiers/functions/pace/PaceMatrix.html "class in weka.classifiers.functions.pace") empiricalProbability([DoubleVector](../../../../weka/core/matrix/DoubleVector.html "class in weka.core.matrix") data, [PaceMatrix](../../../../weka/classifiers/functions/pace/PaceMatrix.html "class in weka.classifiers.functions.pace") 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