public void index_nearest_0951_100() { double indexDouble = (LEVEL3 + 0.001) * SAMPLE_SIZE_100; int indexRound = (int) Math.round(indexDouble); double quantileExpected = SORTED_100.get(indexRound - 1); // Java index start at 0. double quantileComputed = QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL3, UNSORTED_100); assertEquals(quantileComputed, quantileExpected, TOL); double quantileExtrapComputed = QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted( LEVEL3, UNSORTED_100); assertEquals(quantileExtrapComputed, quantileComputed); }
@Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_100); } };
public void index_nearest_095_100() { double quantileExpected = QUANTILE_INDEX_ABOVE.quantileFromUnsorted(LEVEL3, UNSORTED_100); double quantileComputed = QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL3, UNSORTED_100); assertEquals(quantileComputed, quantileExpected, TOL); }
public void index_nearest_095_123_expected_shortfall() { Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_123); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL, LEVEL3) / LEVEL3; double expectedShortfallComputed = QUANTILE_NEAREST_INDEX.expectedShortfallFromUnsorted( LEVEL3, UNSORTED_123); assertEquals(expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL); }
assertEquals(esAbove.getValue(), expectedValueAbove, TOL); QuantileResult esNearest = QUANTILE_NEAREST_INDEX.expectedShortfallResultFromUnsorted(LEVEL2, UNSORTED_100); double expectedValueNearest = 0d; double sumWeightsNearest = 0d;
assertEquals(quantileAbove.getValue(), expectedValueAbove, TOL); QuantileResult quantileNearest = QUANTILE_NEAREST_INDEX.quantileResultFromUnsorted(LEVEL2, UNSORTED_100); double expectedValueNearest = 0d; double sumWeightsNearest = 0d;
@Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_100); } };
@Test public void interpolation_sample_095_100() { double quantileExpected = QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL3, UNSORTED_100); double quantileComputed = QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL3, UNSORTED_100); assertEquals(quantileComputed, quantileExpected, TOL); }
public void index_nearest_0001_100_expected_shortfall() { double expectedShortfallComputed = QUANTILE_NEAREST_INDEX.expectedShortfallFromUnsorted(LEVEL4, UNSORTED_100); assertEquals(expectedShortfallComputed, SORTED_100.get(0), TOL_INTEGRAL); }
@Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_123); } };
public void regression_test1() { assertEquals(QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL1, UNSORTED_100), 0.94105, TOL); assertEquals(QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL1, UNSORTED_100), 0.9434, TOL); assertEquals( QUANTILE_INDEX_ABOVE.expectedShortfallFromUnsorted(LEVEL1, UNSORTED_100), 0.478780748663101, TOL); assertEquals(QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL2, UNSORTED_100), 0.77722, TOL); assertEquals(QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL2, UNSORTED_100), 0.7711, TOL); assertEquals( QUANTILE_INDEX_ABOVE.expectedShortfallFromUnsorted(LEVEL2, UNSORTED_100), 0.388652617801047, TOL); assertEquals(QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL3, UNSORTED_100), 0.9532, TOL); assertEquals(QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL3, UNSORTED_100), 0.9532, TOL); assertEquals( QUANTILE_INDEX_ABOVE.expectedShortfallFromUnsorted(LEVEL3, UNSORTED_100), 0.48622, TOL); assertThrowsIllegalArg(() -> QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertThrowsIllegalArg(() -> QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertEquals(QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL5, UNSORTED_100), 0.994769, TOL); assertEquals(QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL5, UNSORTED_100), 0.9948, TOL); assertEquals( QUANTILE_INDEX_ABOVE.expectedShortfallFromUnsorted(LEVEL5, UNSORTED_100), 0.510629582958296, TOL); }
public void index_nearest_095_100_expected_shortfall() { Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_100); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL, LEVEL3) / LEVEL3; double expectedShortfallComputed = QUANTILE_NEAREST_INDEX.expectedShortfallFromUnsorted( LEVEL3, UNSORTED_100); assertEquals(expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL); }
public void index_nearest_9999_100() { double quantileExpected = SORTED_100.get(SAMPLE_SIZE_100 - 1); // Java index start at 0. double quantileComputed = QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted( LEVEL5, UNSORTED_100); assertEquals(quantileComputed, quantileExpected, TOL); }
public void interpolation_wrong_quantile_small() { assertThrowsIllegalArg(() -> QUANTILE_SAMPLE_INTERPOLATION.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertThrowsIllegalArg(() -> QUANTILE_SAMPLE1_INTERPOLATION.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertThrowsIllegalArg(() -> QUANTILE_MIDWAY_INTERPOLATION.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertThrowsIllegalArg(() -> QUANTILE_NEAREST_INDEX.quantileFromUnsorted(LEVEL4, UNSORTED_100)); assertThrowsIllegalArg(() -> QUANTILE_SAMPLE1_NEAREST_INDEX.quantileFromUnsorted(LEVEL4, UNSORTED_100)); }
public void index_nearest_9999_100_expected_shortfall() { Function<Double, Double> func = new Function<Double, Double>() { @Override public Double apply(Double level) { return QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted(level, UNSORTED_100); } }; double expectedShortfallExpected = INTEG.integrate(func, TOL_INTEGRAL, LEVEL5) / LEVEL5; double expectedShortfallComputed = QUANTILE_NEAREST_INDEX.expectedShortfallFromUnsorted( LEVEL5, UNSORTED_100); assertEquals(expectedShortfallComputed, expectedShortfallExpected, TOL_INTEGRAL); }
public void index_nearest_0001_100() { double quantileExpected = SORTED_100.get(0); // Java index start at 0. double quantileComputed = QUANTILE_NEAREST_INDEX.quantileWithExtrapolationFromUnsorted( LEVEL4, UNSORTED_100); assertEquals(quantileComputed, quantileExpected, TOL); }