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 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 Summary

Fields
Modifier and Type
Field
Description
`static final int`
`NNMMethod`
The nonnegative-measure-based method
`static final int`
`PMMethod`
The probability-measure-based method

## Constructor Summary

Constructors
Constructor
Description
`MixtureDistribution()`

## Method Summary

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 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.
`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 Details

### 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 Details

### MixtureDistribution

public MixtureDistribution()

## Method Details

### 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 String toString()
Converts to a string

Overrides:
  `toString` in class `Object`
Returns:
  a string representation