java.lang.Object
riso.approximation.GaussianMixApproximation
- public class GaussianMixApproximation
- extends java.lang.Object
This class contains a public static method to create a Gaussian mixture approximation to
an unconditional distribution.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
nequivalent
public static double nequivalent
debug
public static boolean debug
GaussianMixApproximation
public GaussianMixApproximation()
do_approximation
public static riso.distributions.MixGaussians do_approximation(riso.distributions.Distribution target,
riso.distributions.MixGaussians approximation,
double[][] supports,
double tolerance)
throws java.lang.Exception
- This method creates a Gaussian mixture approximation to an unconditional distribution.
The approach is described in Sections 5.5 and 5.6 of my dissertation.
Briefly, the usual expectation-maximization algorithm for fitting a mixture to data
is generalized to fitting a mixture to a continuous density.
Discrete summations are replaced by integrations -- integrands are constructed
as instances of helper classes. An effort is made to simplify the resulting mixture
by throwing out components which have little mass or which are redundant with
another component.
main
public static void main(java.lang.String[] args)
- A main program to carry out the mixture approximation algorithm.
Usage:
java riso.approximation.GaussianMixApproximation target approx0 x0 x1 N
where
- target File containing description of the target distribution.
- approx0 File containing description of the initial approximation.
- x0, x1 Endpoints of the interval over which to construct the approximation.
- N Equivalent sample size. This is essentially a regularization parameter.