@Test public void testEdmx_noBreakout() { val data = new double[100]; for (int i = 0; i < data.length; i++) { data[i] = i % 2 == 0 ? 1.0 : 1.2; } val result1 = EdmxEstimator.estimate(data, 5, 0); log.trace("result1={}", result1); assertEquals(49, result1.getLocation()); assertEquals(24.99, result1.getEnergyDistance(), TOLERANCE); val result2 = EdmxEstimator.estimate(data, 5, 20); log.trace("result2={}", result2); assertEquals(49, result2.getLocation()); assertEquals(24.99, result2.getEnergyDistance(), TOLERANCE); }
public static EdmxEstimate estimate(double[] data, int delta, int numPerms) { val scaledData = DataUtil.unitScale(data); val breakout = estimateSimpleBreakout(scaledData, delta); val energyDistance = breakout.getEnergyDistance(); val pValue = estimatePValue(scaledData, delta, numPerms, energyDistance); return new EdmxEstimate() .setLocation(breakout.location) .setEnergyDistance(breakout.energyDistance) .setPreBreakoutMedian(breakout.preBreakoutMedian) .setPostBreakoutMedian(breakout.postBreakoutMedian) .setPValue(pValue); }
EdmxEstimator { public static EdmxEstimate estimate(double[] data, int delta, int numPerms) { val scaledData = DataUtil.unitScale(data); val breakout = estimateSimpleBreakout(scaledData, delta); val energyDistance = breakout.getEnergyDistance(); val pValue = estimatePValue(scaledData, delta, numPerms, energyDistance); return new EdmxEstimate() .setLocation(breakout.location) .setEnergyDistance(breakout.energyDistance) .setPreBreakoutMedian(breakout.preBreakoutMedian) .setPostBreakoutMedian(breakout.postBreakoutMedian) .setPValue(pValue); } }
EdmxEstimator { public static EdmxEstimate estimate(double[] data, int delta, int numPerms) { val scaledData = DataUtil.unitScale(data); val breakout = estimateSimpleBreakout(scaledData, delta); val energyDistance = breakout.getEnergyDistance(); val pValue = estimatePValue(scaledData, delta, numPerms, energyDistance); return new EdmxEstimate() .setLocation(breakout.location) .setEnergyDistance(breakout.energyDistance) .setPreBreakoutMedian(breakout.preBreakoutMedian) .setPostBreakoutMedian(breakout.postBreakoutMedian) .setPValue(pValue); }  }
EdmxEstimator { public static EdmxEstimate estimate(double[] data, int delta, int numPerms) { val scaledData = DataUtil.unitScale(data); val breakout = estimateSimpleBreakout(scaledData, delta); val energyDistance = breakout.getEnergyDistance(); val pValue = estimatePValue(scaledData, delta, numPerms, energyDistance); return new EdmxEstimate() .setLocation(breakout.location) .setEnergyDistance(breakout.energyDistance) .setPreBreakoutMedian(breakout.preBreakoutMedian) .setPostBreakoutMedian(breakout.postBreakoutMedian) .setPValue(pValue); }  static EdmxEstimate estimate(double[] data, int delta, int numPerms); }
EdmxEstimator { public static EdmxEstimate estimate(double[] data, int delta, int numPerms) { val scaledData = DataUtil.unitScale(data); val breakout = estimateSimpleBreakout(scaledData, delta); val energyDistance = breakout.getEnergyDistance(); val pValue = estimatePValue(scaledData, delta, numPerms, energyDistance); return new EdmxEstimate() .setLocation(breakout.location) .setEnergyDistance(breakout.energyDistance) .setPreBreakoutMedian(breakout.preBreakoutMedian) .setPostBreakoutMedian(breakout.postBreakoutMedian) .setPValue(pValue); }  static EdmxEstimate estimate(double[] data, int delta, int numPerms);  }