List of usage examples for org.apache.commons.math.stat.descriptive.rank Percentile Percentile
public Percentile()
From source file:com.discursive.jccook.math.StatExample.java
public static void main(String[] args) { double[] values = new double[] { 2.3, 5.4, 6.2, 7.3, 23.3 }; System.out.println("min: " + StatUtils.min(values)); System.out.println("max: " + StatUtils.max(values)); System.out.println("mean: " + StatUtils.mean(values)); System.out.println("product: " + StatUtils.product(values)); System.out.println("sum: " + StatUtils.sum(values)); System.out.println("variance: " + StatUtils.variance(values)); // Measures from previous example Min min = new Min(); System.out.println("min: " + min.evaluate(values)); Max max = new Max(); System.out.println("max: " + max.evaluate(values)); Mean mean = new Mean(); System.out.println("mean: " + mean.evaluate(values)); Product product = new Product(); System.out.println("product: " + product.evaluate(values)); Sum sum = new Sum(); System.out.println("sum: " + sum.evaluate(values)); Variance variance = new Variance(); System.out.println("variance: " + variance.evaluate(values)); // New measures Percentile percentile = new Percentile(); System.out.println("80 percentile value: " + percentile.evaluate(values, 80.0)); GeometricMean geoMean = new GeometricMean(); System.out.println("geometric mean: " + geoMean.evaluate(values)); StandardDeviation stdDev = new StandardDeviation(); System.out.println("standard dev: " + stdDev.evaluate(values)); Skewness skewness = new Skewness(); System.out.println("skewness: " + skewness.evaluate(values)); Kurtosis kurtosis = new Kurtosis(); System.out.println("kurtosis: " + kurtosis.evaluate(values)); }
From source file:fr.ens.transcriptome.corsen.util.StatTest.java
public void testPercentile() { Percentile percentile = new Percentile(); for (int j = 0; j < 10; j++) { for (int i = 0; i < 98; i++) { List<DataDouble> list = generate(); double p = random.nextInt(99) + 1; assertEquals(percentile.evaluate(Stats.toDouble(list), p), Stats.percentile(list, p)); }// w w w .j ava 2 s . c o m } }
From source file:geogebra.kernel.statistics.AlgoPercentile.java
protected final void compute() { //========================== // validation size = inputList.size();//from w w w . j a v a2 s. c o m if (!inputList.isDefined() || size == 0) { result.setUndefined(); return; } if (value == null) { result.setUndefined(); return; } else { val = value.getDouble() * 100; } if (val <= 0 || val > 100) { result.setUndefined(); return; } //========================== // compute result inputArray = new double[size]; // load input value array from geoList for (int i = 0; i < size; i++) { GeoElement geo = inputList.get(i); if (geo.isNumberValue()) { NumberValue num = (NumberValue) geo; inputArray[i] = num.getDouble(); } else { result.setUndefined(); return; } } if (percentile == null) percentile = new Percentile(); percentile.setData(inputArray); result.setValue(percentile.evaluate(val)); }
From source file:geogebra.common.kernel.statistics.AlgoPercentile.java
@Override public final void compute() { // ========================== // validation size = inputList.size();//from ww w . j a va2s. c om if (!inputList.isDefined() || size == 0) { result.setUndefined(); return; } if (value == null) { result.setUndefined(); return; } val = value.getDouble() * 100; if (val <= 0 || val > 100) { result.setUndefined(); return; } // ========================== // compute result inputArray = new double[size]; // load input value array from geoList for (int i = 0; i < size; i++) { GeoElement geo = inputList.get(i); if (geo instanceof NumberValue) { NumberValue num = (NumberValue) geo; inputArray[i] = num.getDouble(); } else { result.setUndefined(); return; } } if (percentile == null) percentile = new Percentile(); percentile.setData(inputArray); result.setValue(percentile.evaluate(val)); }
From source file:fr.ens.transcriptome.corsen.util.StatTest.java
public void testFirstQuartile() { Percentile percentile = new Percentile(); for (int i = 0; i < 1000; i++) { List<DataDouble> list = generate(); assertEquals(percentile.evaluate(Stats.toDouble(list), 25.0), Stats.firstQuartile(list)); }/*from www. j a v a 2s . co m*/ }
From source file:com.google.caliper.runner.ConsoleResultProcessor.java
@Override public void processTrial(Trial trial) { ImmutableListMultimap<String, Measurement> measurementsIndex = new ImmutableListMultimap.Builder<String, Measurement>() .orderKeysBy(Ordering.natural()) .putAll(Multimaps.index(trial.measurements(), new Function<Measurement, String>() { @Override/*from w w w .j a v a2 s . co m*/ public String apply(Measurement input) { return input.description(); } })).build(); for (Entry<String, Collection<Measurement>> entry : measurementsIndex.asMap().entrySet()) { Collection<Measurement> measurements = entry.getValue(); ImmutableSet<String> units = FluentIterable.from(measurements) .transform(new Function<Measurement, String>() { @Override public String apply(Measurement input) { return input.value().unit(); } }).toSet(); double[] weightedValues = new double[measurements.size()]; int i = 0; for (Measurement measurement : measurements) { weightedValues[i] = measurement.value().magnitude() / measurement.weight(); i++; } Percentile percentile = new Percentile(); percentile.setData(weightedValues); DescriptiveStatistics descriptiveStatistics = new DescriptiveStatistics(weightedValues); String unit = Iterables.getOnlyElement(units); stdout.printf(" %s%s: min=%.2f, 1st qu.=%.2f, median=%.2f, mean=%.2f, 3rd qu.=%.2f, max=%.2f%n", entry.getKey(), unit.isEmpty() ? "" : "(" + unit + ")", descriptiveStatistics.getMin(), percentile.evaluate(25), percentile.evaluate(50), descriptiveStatistics.getMean(), percentile.evaluate(75), descriptiveStatistics.getMax()); } instrumentSpecs.add(trial.instrumentSpec()); Scenario scenario = trial.scenario(); vmSpecs.add(scenario.vmSpec()); benchmarkSpecs.add(scenario.benchmarkSpec()); numMeasurements += trial.measurements().size(); }
From source file:fr.ens.transcriptome.corsen.util.StatTest.java
public void testThirdQuartile() { Percentile percentile = new Percentile(); for (int i = 0; i < 1000; i++) { List<DataDouble> list = generate(); assertEquals(percentile.evaluate(Stats.toDouble(list), 75.0), Stats.thirdQuartile(list)); }/* ww w . j ava 2 s . c o m*/ }
From source file:dk.ilios.spanner.model.Trial.java
/** * Mark Trial as done and calculate results. */// w w w . j a va2 s .c o m public void calculateResults() { checkResultsCalculated(false); double[] weightedValues = new double[measurements.size()]; int i = 0; for (Measurement measurement : measurements) { weightedValues[i] = measurement.value().magnitude() / measurement.weight(); i++; } percentile = new Percentile(); percentile.setData(weightedValues); descriptiveStatistics = new DescriptiveStatistics(weightedValues); if (experiment.getBaseline() != null) { experiment.getBaseline().calculateResults(); } resultsCalculated = true; }
From source file:dk.ilios.spanner.internal.ConsoleOutput.java
/** * Prints a summary of a successful trial result. *//* w ww .ja v a 2 s .co m*/ void processTrial(Trial.Result result) { Trial baseline = result.getExperiment().getBaseline(); trialsCompleted++; stdout.printf("Trial Report (%d of %d):%n Experiment %s%n", trialsCompleted, numberOfTrials, result.getExperiment()); if (!result.getTrialMessages().isEmpty()) { stdout.println(" Messages:"); for (String message : result.getTrialMessages()) { stdout.print(" "); stdout.println(message); } } Trial trial = result.getTrial(); // Group measurements by their description // TODO Why? All measurements for a single trial should have the same description ImmutableListMultimap<String, Measurement> measurementsIndex = new ImmutableListMultimap.Builder<String, Measurement>() .orderKeysBy(Ordering.natural()) .putAll(Multimaps.index(trial.measurements(), new Function<Measurement, String>() { @Override public String apply(Measurement input) { return input.description(); } })).build(); stdout.println(" Results:"); for (Map.Entry<String, Collection<Measurement>> entry : measurementsIndex.asMap().entrySet()) { Collection<Measurement> measurements = entry.getValue(); String unit = measurements.iterator().next().value().unit(); double[] weightedValues = new double[measurements.size()]; int i = 0; for (Measurement measurement : measurements) { weightedValues[i] = measurement.value().magnitude() / measurement.weight(); i++; } Percentile percentile = new Percentile(); percentile.setData(weightedValues); DescriptiveStatistics descriptiveStatistics = new DescriptiveStatistics(weightedValues); stdout.printf(" %s%s: min=%.2f, 1st qu.=%.2f, median=%.2f (%s), mean=%.2f, 3rd qu.=%.2f, max=%.2f%n", entry.getKey(), unit.isEmpty() ? "" : "(" + unit + ")", descriptiveStatistics.getMin(), percentile.evaluate(25), percentile.evaluate(50), calculateDiff(percentile.evaluate(50), baseline), descriptiveStatistics.getMean(), percentile.evaluate(75), descriptiveStatistics.getMax()); } instrumentSpecs.add(trial.instrumentSpec()); Scenario scenario = trial.scenario(); benchmarkSpecs.add(scenario.benchmarkSpec()); numMeasurements += trial.measurements().size(); }
From source file:com.google.caliper.runner.ConsoleOutput.java
/** * Prints a summary of a successful trial result. *///from ww w .j a va 2 s . c om void processTrial(TrialResult result) { trialsCompleted++; stdout.printf("Trial Report (%d of %d):%n Experiment %s%n", trialsCompleted, numberOfTrials, result.getExperiment()); if (!result.getTrialMessages().isEmpty()) { stdout.println(" Messages:"); for (String message : result.getTrialMessages()) { stdout.print(" "); stdout.println(message); } } Trial trial = result.getTrial(); ImmutableListMultimap<String, Measurement> measurementsIndex = new ImmutableListMultimap.Builder<String, Measurement>() .orderKeysBy(Ordering.natural()) .putAll(Multimaps.index(trial.measurements(), new Function<Measurement, String>() { @Override public String apply(Measurement input) { return input.description(); } })).build(); stdout.println(" Results:"); for (Entry<String, Collection<Measurement>> entry : measurementsIndex.asMap().entrySet()) { Collection<Measurement> measurements = entry.getValue(); ImmutableSet<String> units = FluentIterable.from(measurements) .transform(new Function<Measurement, String>() { @Override public String apply(Measurement input) { return input.value().unit(); } }).toSet(); double[] weightedValues = new double[measurements.size()]; int i = 0; for (Measurement measurement : measurements) { weightedValues[i] = measurement.value().magnitude() / measurement.weight(); i++; } Percentile percentile = new Percentile(); percentile.setData(weightedValues); DescriptiveStatistics descriptiveStatistics = new DescriptiveStatistics(weightedValues); String unit = Iterables.getOnlyElement(units); stdout.printf(" %s%s: min=%.2f, 1st qu.=%.2f, median=%.2f, mean=%.2f, 3rd qu.=%.2f, max=%.2f%n", entry.getKey(), unit.isEmpty() ? "" : "(" + unit + ")", descriptiveStatistics.getMin(), percentile.evaluate(25), percentile.evaluate(50), descriptiveStatistics.getMean(), percentile.evaluate(75), descriptiveStatistics.getMax()); } instrumentSpecs.add(trial.instrumentSpec()); Scenario scenario = trial.scenario(); vmSpecs.add(scenario.vmSpec()); benchmarkSpecs.add(scenario.benchmarkSpec()); numMeasurements += trial.measurements().size(); }