Package weka.classifiers.functions.pace
Class MixtureDistribution
- 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.5 $
- Author:
- Yong Wang (yongwang@cs.waikato.ac.nz)
-
-
Constructor Summary
Constructors Constructor Description MixtureDistribution()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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 distributionTechnicalInformation
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 i1void
setMixingDistribution(DiscreteFunction d)
Sets the mixing distributionabstract 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
getRevision
-
-
-
-
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
-
-
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 interfaceTechnicalInformationHandler
- 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 mixturemethod
- 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 mixturemethod
- 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 mixturei0
- the index of the first element in the groupi1
- the index of the last element in the groupx
- 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 mixturene
- 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 pointsintervals
- 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 dataintervals
- the intervals- Returns:
- the empirical probabilities
-
toString
public java.lang.String toString()
Converts to a string- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation
-
-