@Test public void testEdmx_longSeries_smallBreakout_noPerms() { val data = new double[100]; for (int i = 0; i < data.length; i++) { data[i] = random.nextGaussian() + (i >= 80 ? 3.0 : 0.0); } val result = EdmxEstimator.estimate(data, 10, 0); assertEquals(75, result.getLocation()); assertEquals(2.569, result.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);  }