## weka.classifiers.functions.pace Class NormalMixture

```java.lang.Object
weka.classifiers.functions.pace.MixtureDistribution
weka.classifiers.functions.pace.NormalMixture
```

public class NormalMixture
extends MixtureDistribution

Class for manipulating normal 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.1 \$
Author:
Yong Wang (yongwang@cs.waikato.ac.nz)

 Field Summary `protected  double` `fittingIntervalLength` `protected  double` `separatingThreshold` `protected  double` `trimingThreshold`

 Fields inherited from class weka.classifiers.functions.pace.MixtureDistribution `mixingDistribution, NNMMethod, PMMethod`

 Constructor Summary `NormalMixture()`           Contructs an empty NormalMixture

 Method Summary ` double` `empiricalBayesEstimate(double x)`           Returns the empirical Bayes estimate of a single value. ` DoubleVector` `empiricalBayesEstimate(DoubleVector x)`           Returns the empirical Bayes estimate of a vector. ` double` `f(double x)`           Computes the value of f(x) given the mixture. ` DoubleVector` `f(DoubleVector x)`           Computes the value of f(x) given the mixture, where x is a vector. ` PaceMatrix` `fittingIntervals(DoubleVector data)`           Contructs the set of fitting intervals for mixture estimation. ` double` `getSeparatingThreshold()`           Gets the separating threshold value. ` double` `getTrimingThreshold()`           Gets the triming thresholding value. ` double` `h(double x)`           Computes the value of h(x) given the mixture. ` DoubleVector` `h(DoubleVector x)`           Computes the value of h(x) given the mixture, where x is a vector. ` double` `hf(double x)`           Computes the value of h(x) / f(x) given the mixture. `static void` `main(java.lang.String[] args)`           Method to test this class ` DoubleVector` `nestedEstimate(DoubleVector x)`           Returns the optimal nested model estimate of a vector. ` PaceMatrix` ```probabilityMatrix(DoubleVector s, PaceMatrix intervals)```           Contructs the probability matrix for mixture estimation, given a set of support points and a set of intervals. ` 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` `setSeparatingThreshold(double t)`           Sets the separating threshold value ` void` `setTrimingThreshold(double t)`           Sets the triming thresholding value. ` DoubleVector` `subsetEstimate(DoubleVector x)`           Returns the estimate of optimal subset selection. ` DoubleVector` ```supportPoints(DoubleVector data, int ne)```           Contructs the set of support points for mixture estimation. ` java.lang.String` `toString()`           Converts to a string ` void` `trim(DoubleVector x)`           Trims the small values of the estaimte

 Methods inherited from class weka.classifiers.functions.pace.MixtureDistribution `empiricalProbability, fit, fit, fitForSingleCluster, getMixingDistribution, setMixingDistribution`

 Methods inherited from class java.lang.Object `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

 Field Detail

### separatingThreshold

`protected double separatingThreshold`

### trimingThreshold

`protected double trimingThreshold`

### fittingIntervalLength

`protected double fittingIntervalLength`
 Constructor Detail

### NormalMixture

`public NormalMixture()`
Contructs an empty NormalMixture

 Method Detail

### getSeparatingThreshold

`public double getSeparatingThreshold()`
Gets the separating threshold value. This value is used by the method separatable

### setSeparatingThreshold

`public void setSeparatingThreshold(double t)`
Sets the separating threshold value

Parameters:
`t` - the threshold value

### getTrimingThreshold

`public double getTrimingThreshold()`
Gets the triming thresholding value. This value is usef by the method trim.

### setTrimingThreshold

`public void setTrimingThreshold(double t)`
Sets the triming thresholding value.

### separable

```public 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

Specified by:
`separable` in class `MixtureDistribution`
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

### supportPoints

```public DoubleVector supportPoints(DoubleVector data,
int ne)```
Contructs the set of support points for mixture estimation.

Specified by:
`supportPoints` in class `MixtureDistribution`
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

### fittingIntervals

`public PaceMatrix fittingIntervals(DoubleVector data)`
Contructs the set of fitting intervals for mixture estimation.

Specified by:
`fittingIntervals` in class `MixtureDistribution`
Parameters:
`data` - the data supposedly generated from the mixture

### probabilityMatrix

```public PaceMatrix probabilityMatrix(DoubleVector s,
PaceMatrix intervals)```
Contructs the probability matrix for mixture estimation, given a set of support points and a set of intervals.

Specified by:
`probabilityMatrix` in class `MixtureDistribution`
Parameters:
`s` - the set of support points
`intervals` - the intervals

### empiricalBayesEstimate

`public double empiricalBayesEstimate(double x)`
Returns the empirical Bayes estimate of a single value.

Parameters:
`x` - the value

### empiricalBayesEstimate

`public DoubleVector empiricalBayesEstimate(DoubleVector x)`
Returns the empirical Bayes estimate of a vector.

Parameters:
`x` - the vector

### nestedEstimate

`public DoubleVector nestedEstimate(DoubleVector x)`
Returns the optimal nested model estimate of a vector.

Parameters:
`x` - the vector

### subsetEstimate

`public DoubleVector subsetEstimate(DoubleVector x)`
Returns the estimate of optimal subset selection.

Parameters:
`x` - the vector

### trim

`public void trim(DoubleVector x)`
Trims the small values of the estaimte

Parameters:
`x` - the estimate vector

### hf

`public double hf(double x)`
Computes the value of h(x) / f(x) given the mixture. The implementation avoided overflow.

Parameters:
`x` - the value

### h

`public double h(double x)`
Computes the value of h(x) given the mixture.

Parameters:
`x` - the value

### h

`public DoubleVector h(DoubleVector x)`
Computes the value of h(x) given the mixture, where x is a vector.

Parameters:
`x` - the vector

### f

`public double f(double x)`
Computes the value of f(x) given the mixture.

Parameters:
`x` - the value

### f

`public DoubleVector f(DoubleVector x)`
Computes the value of f(x) given the mixture, where x is a vector.

Parameters:
`x` - the vector

### toString

`public java.lang.String toString()`
Converts to a string

Overrides:
`toString` in class `MixtureDistribution`

### main

`public static void main(java.lang.String[] args)`
Method to test this class