Search in sources :

Example 1 with NormalKDEDistribution

use of dr.math.distributions.NormalKDEDistribution in project beast-mcmc by beast-dev.

the class KDEDistributionTest method testNormalKDE.

public void testNormalKDE() {
    int length = 100;
    Double[] sample = new Double[length];
    for (int i = 0; i < length; i++) {
        sample[i] = (double) (i + 1);
    }
    //        final int gridSize = 256;
    NormalKDEDistribution kde = new NormalKDEDistribution(sample, null, null, null);
    System.out.println("bw = " + kde.getBandWidth());
    assertEquals(rBandWidth[0], kde.getBandWidth(), tolerance);
    final int gridSize = NormalKDEDistribution.MINIMUM_GRID_SIZE;
    double[] testPoints = new double[gridSize];
    double x = kde.getFromPoint();
    double delta = (kde.getToPoint() - kde.getFromPoint()) / (gridSize - 1);
    for (int i = 0; i < gridSize; ++i) {
        testPoints[i] = x;
        x += delta;
    }
    System.err.println("Eval @ " + new Vector(testPoints));
    double[] testDensity = new double[gridSize];
    for (int i = 0; i < gridSize; ++i) {
        testDensity[i] = kde.pdf(testPoints[i]);
    }
    System.err.println("Den    " + new Vector(testDensity));
    System.err.println("den[0] = " + testDensity[0]);
    System.err.println("den[N] = " + testDensity[NormalKDEDistribution.MINIMUM_GRID_SIZE - 1]);
//  System.exit(-1);
}
Also used : NormalKDEDistribution(dr.math.distributions.NormalKDEDistribution) Vector(dr.math.matrixAlgebra.Vector)

Aggregations

NormalKDEDistribution (dr.math.distributions.NormalKDEDistribution)1 Vector (dr.math.matrixAlgebra.Vector)1