public void test() { assertCDF(P, X, NORMAL); assertPDF(Z, X, NORMAL); assertInverseCDF(X, NORMAL); }
@Test public void test() { ProbabilityDistribution<Double> dist = new StudentTDistribution(1, ENGINE); assertCDFWithNull(dist); assertPDFWithNull(dist); assertInverseCDF(X, dist); for (int i = 0; i < 10; i++) { dist = new StudentTDistribution(DOF[i], ENGINE); assertEquals(P[i], dist.getCDF(X[i]), EPS); } }
@Test public void testNormal() { final ProbabilityDistribution<Double> highDOF = new StudentTDistribution(1000000, ENGINE); final ProbabilityDistribution<Double> normal = new NormalDistribution(0, 1, ENGINE); final double eps = 1e-4; double x; for (int i = 0; i < 100; i++) { x = RANDOM.nextDouble(); assertEquals(highDOF.getCDF(x), normal.getCDF(x), eps); assertEquals(highDOF.getPDF(x), normal.getPDF(x), eps); assertEquals(highDOF.getInverseCDF(x), normal.getInverseCDF(x), eps); } }
public void testRoundTrip() { int n = 29; for (int i = 0; i < n; i++) { double x = -7.0 + 0.5 * i; double p = NORMAL.getCDF(x); double xStar = NORMAL.getInverseCDF(p); assertEquals(x, xStar, 1e-5); } }
@Test public void test() { assertCDFWithNull(DIST); assertPDFWithNull(DIST); assertInverseCDFWithNull(DIST); ChiSquareDistribution dist; for (int i = 0; i < 5; i++) { dist = new ChiSquareDistribution(DOF[i], ENGINE); assertEquals(1 - dist.getCDF(X[i]), Q[i], EPS); assertEquals(dist.getInverseCDF(dist.getCDF(X[i])), X[i], EPS); } } }
@Test public void testSupport() { ProbabilityDistribution<Double> dist = new GeneralizedParetoDistribution(MU, SIGMA, KSI, ENGINE); assertLimit(dist, MU - EPS); assertEquals(dist.getCDF(MU + EPS), 0, EPS); assertEquals(dist.getCDF(LARGE_X), 1, EPS); dist = new GeneralizedParetoDistribution(MU, SIGMA, -KSI); final double limit = MU + SIGMA / KSI; assertLimit(dist, MU - EPS); assertLimit(dist, limit + EPS); assertEquals(dist.getCDF(MU + EPS), 0, EPS); assertEquals(dist.getCDF(limit - 1e-15), 1, EPS); }
@Test public void testSupport() { ProbabilityDistribution<Double> dist = new GeneralizedExtremeValueDistribution(MU, SIGMA, KSI); double limit = MU - SIGMA / KSI; assertLimit(dist, limit - EPS); assertEquals(dist.getCDF(limit + EPS), 0, EPS); assertEquals(dist.getCDF(LARGE_X), 1, EPS); dist = new GeneralizedExtremeValueDistribution(MU, SIGMA, -KSI); limit = MU + SIGMA / KSI; assertLimit(dist, limit + EPS); assertEquals(dist.getCDF(-LARGE_X), 0, EPS); assertEquals(dist.getCDF(limit - EPS), 1, EPS); dist = new GeneralizedExtremeValueDistribution(MU, SIGMA, 0); assertEquals(dist.getCDF(-LARGE_X), 0, EPS); assertEquals(dist.getCDF(LARGE_X), 1, EPS); }
protected void assertCDF(final double[] p, final double[] x, final ProbabilityDistribution<Double> dist) { assertCDFWithNull(dist); for (int i = 0; i < p.length; i++) { assertEquals(dist.getCDF(x[i]), p[i], EPS); } }
protected void assertPDF(final double[] z, final double[] x, final ProbabilityDistribution<Double> dist) { assertPDFWithNull(dist); for (int i = 0; i < z.length; i++) { assertEquals(dist.getPDF(x[i]), z[i], EPS); } }
protected void assertInverseCDFWithNull(final ProbabilityDistribution<Double> dist) { try { dist.getInverseCDF(null); Assert.fail(); } catch (final IllegalArgumentException e) { // Expected } }
protected void assertPDFWithNull(final ProbabilityDistribution<Double> dist) { try { dist.getPDF(null); Assert.fail(); } catch (final IllegalArgumentException e) { // Expected } }
@Test public void testBadInputs() { assertCDFWithNull(DIST); assertPDFWithNull(DIST); }
@Test public void testBadInputs() { assertCDFWithNull(DIST); assertPDFWithNull(DIST); }
public StudentTTwoTailedCriticalValueCalculator(double nu, RandomEngine engine) { ArgChecker.notNegative(nu, "nu"); ArgChecker.notNull(engine, "engine"); _calc = new StudentTOneTailedCriticalValueCalculator(nu, engine); }
public StudentTOneTailedCriticalValueCalculator(double nu, RandomEngine engine) { ArgChecker.notNegative(nu, "nu"); ArgChecker.notNull(engine, "engine"); _dist = new StudentTDistribution(nu, engine); }
/** * Creates an instance. * * @param mean the mean * @param sigma the sigma * @param engine the random number engine */ public NormalRandomNumberGenerator(double mean, double sigma, RandomEngine engine) { ArgChecker.notNegativeOrZero(sigma, "standard deviation"); ArgChecker.notNull(engine, "engine"); this.normal = new NormalDistribution(mean, sigma, engine); }
protected void assertCDFWithNull(final ProbabilityDistribution<Double> dist) { try { dist.getCDF(null); Assert.fail(); } catch (final IllegalArgumentException e) { // Expected } } }