List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getMean
public double getMean()
From source file:org.mskcc.cbio.portal.scripts.ImportProteinArrayData.java
private double[] convertToZscores(String[] strs) { double[] data = new double[strs.length - 1]; boolean nan = false; for (int i = 1; i < strs.length; i++) { // ignore the first column try {//w w w. j ava 2 s. c om data[i - 1] = Double.parseDouble(strs[i]); } catch (Exception e) { data[i - 1] = Double.NaN; nan = true; } } DescriptiveStatistics ds = new DescriptiveStatistics(nan ? copyWithNoNaN(data) : data); double mean = ds.getMean(); double std = ds.getStandardDeviation(); for (int i = 0; i < data.length; i++) { if (!Double.isNaN(data[i])) { data[i] = (data[i] - mean) / std; } } return data; }
From source file:org.obiba.magma.math.summary.ContinuousVariableSummaryTest.java
@Test public void test_compute_integerType() { Variable mockVariable = Variable.Builder.newVariable("mock", IntegerType.get(), "mock").build(); ContinuousVariableSummary summary = computeFromTable(mockVariable, Values.asValues(IntegerType.get(), 1, 2, 3)); DescriptiveStatistics descriptiveStats = summary.getDescriptiveStats(); assertThat(descriptiveStats.getMin()).isEqualTo(1.0); assertThat(descriptiveStats.getMax()).isEqualTo(3.0); assertThat(descriptiveStats.getMean()).isEqualTo(2.0); assertThat(descriptiveStats.getN()).isEqualTo(3l); }
From source file:org.obiba.magma.math.summary.ContinuousVariableSummaryTest.java
@Test public void test_compute_integerTypeWithNull() { Variable mockVariable = Variable.Builder.newVariable("mock", IntegerType.get(), "mock").build(); ContinuousVariableSummary summary = computeFromTable(mockVariable, Values.asValues(IntegerType.get(), 1, 2, 3, null, null)); DescriptiveStatistics descriptiveStats = summary.getDescriptiveStats(); assertThat(descriptiveStats.getMin()).isEqualTo(1.0); assertThat(descriptiveStats.getMax()).isEqualTo(3.0); assertThat(descriptiveStats.getMean()).isEqualTo(2.0); assertThat(descriptiveStats.getN()).isEqualTo(3l); }
From source file:org.obiba.magma.math.summary.ContinuousVariableSummaryTest.java
@Test public void test_compute_integerTypeMissingCategories() { Variable mockVariable = Variable.Builder.newVariable("mock", IntegerType.get(), "mock") .addCategory("888", "", true).addCategory("999", "", true).build(); ContinuousVariableSummary summary = computeFromTable(mockVariable, Values.asValues(IntegerType.get(), 1, 2, 3, 888, 999)); DescriptiveStatistics descriptiveStats = summary.getDescriptiveStats(); assertThat(descriptiveStats.getMin()).isEqualTo(1.0); assertThat(descriptiveStats.getMax()).isEqualTo(3.0); assertThat(descriptiveStats.getMean()).isEqualTo(2.0); assertThat(descriptiveStats.getN()).isEqualTo(3l); }
From source file:org.obiba.opal.web.magma.Dtos.java
@SuppressWarnings({ "OverlyLongMethod", "PMD.NcssMethodCount" }) public static Math.ContinuousSummaryDto.Builder asDto(ContinuousVariableSummary summary) { DescriptiveStatistics descriptiveStats = summary.getDescriptiveStats(); Math.DescriptiveStatsDto.Builder descriptiveBuilder = Math.DescriptiveStatsDto.newBuilder() .setN(descriptiveStats.getN()).addAllPercentiles(summary.getPercentiles()); if (isNumeric(descriptiveStats.getMin())) descriptiveBuilder.setMin(descriptiveStats.getMin()); if (isNumeric(descriptiveStats.getMax())) descriptiveBuilder.setMax(descriptiveStats.getMax()); if (isNumeric(descriptiveStats.getMean())) descriptiveBuilder.setMean(descriptiveStats.getMean()); if (isNumeric(descriptiveStats.getSum())) descriptiveBuilder.setSum(descriptiveStats.getSum()); if (isNumeric(descriptiveStats.getSumsq())) descriptiveBuilder.setSumsq(descriptiveStats.getSumsq()); if (isNumeric(descriptiveStats.getStandardDeviation())) { descriptiveBuilder.setStdDev(descriptiveStats.getStandardDeviation()); }// www .ja va 2s.c om if (isNumeric(descriptiveStats.getVariance())) descriptiveBuilder.setVariance(descriptiveStats.getVariance()); if (isNumeric(descriptiveStats.getSkewness())) descriptiveBuilder.setSkewness(descriptiveStats.getSkewness()); if (isNumeric(descriptiveStats.getGeometricMean())) { descriptiveBuilder.setGeometricMean(descriptiveStats.getGeometricMean()); } if (isNumeric(descriptiveStats.getKurtosis())) descriptiveBuilder.setKurtosis(descriptiveStats.getKurtosis()); double median = descriptiveStats.apply(new Median()); if (isNumeric(median)) descriptiveBuilder.setMedian(median); if (isNumeric(descriptiveStats.getVariance())) descriptiveBuilder.setVariance(descriptiveStats.getVariance()); Math.ContinuousSummaryDto.Builder continuousBuilder = Math.ContinuousSummaryDto.newBuilder() .addAllDistributionPercentiles(summary.getDistributionPercentiles()); for (IntervalFrequency.Interval interval : summary.getIntervalFrequencies()) { Math.IntervalFrequencyDto.Builder freqBuilder = Math.IntervalFrequencyDto.newBuilder() .setFreq(interval.getFreq()); if (isNumeric(interval.getLower())) freqBuilder.setLower(interval.getLower()); if (isNumeric(interval.getUpper())) freqBuilder.setUpper(interval.getUpper()); if (isNumeric(interval.getDensity())) freqBuilder.setDensity(interval.getDensity()); if (isNumeric(interval.getDensityPct())) freqBuilder.setDensityPct(interval.getDensityPct()); continuousBuilder.addIntervalFrequency(freqBuilder); } for (ContinuousVariableSummary.Frequency frequency : summary.getFrequencies()) { Math.FrequencyDto.Builder freqBuilder = Math.FrequencyDto.newBuilder() // .setValue(frequency.getValue()) // .setFreq(frequency.getFreq())// .setMissing(frequency.isMissing()); if (isNumeric(frequency.getPct())) freqBuilder.setPct(frequency.getPct()); continuousBuilder.addFrequencies(freqBuilder); } return continuousBuilder.setSummary(descriptiveBuilder); }
From source file:org.onosproject.store.cluster.impl.PhiAccrualFailureDetector.java
private double computePhi(DescriptiveStatistics samples, long tLast, long tNow) { long size = samples.getN(); long t = tNow - tLast; return (size > 0) ? PHI_FACTOR * t / samples.getMean() : BOOTSTRAP_PHI_VALUE; }
From source file:org.orbisgis.view.toc.actions.cui.legend.stats.Thresholds.java
/** * This method ://from ww w .j ava2s .c o m * - Feeds the given SortedSet with the mean of the given statistics. * - Calls itself recursively on the two subset obtained by dividing the set around its mean, if lev > 0. * @param inpStat The input statistics * @param toFeed The SortedSet we want to feed * @param lev The remaining number of levels we have to process. */ private void computeBoxedMeans(DescriptiveStatistics inpStat, SortedSet<Double> toFeed, int lev) { double[] input = inpStat.getSortedValues(); double mean = inpStat.getMean(); toFeed.add(mean); if (lev > 0) { int i = Arrays.binarySearch(input, mean); int ind = i < 0 ? -i - 1 : i; double[] first = Arrays.copyOf(input, ind); double[] tail = Arrays.copyOfRange(input, ind, input.length); computeBoxedMeans(new DescriptiveStatistics(first), toFeed, lev - 1); computeBoxedMeans(new DescriptiveStatistics(tail), toFeed, lev - 1); } }
From source file:org.uma.jmetal.util.experiment.component.GenerateLatexTablesWithStatistics.java
/** * Computes the statistical values//from w w w .ja v a 2s .c om * @param values * @return */ private Map<String, Double> computeStatistics(List<Double> values) { Map<String, Double> results = new HashMap<>(); DescriptiveStatistics stats = new DescriptiveStatistics(); for (Double value : values) { stats.addValue(value); } results.put("mean", stats.getMean()); results.put("median", stats.getPercentile(50.0)); results.put("stdDeviation", stats.getStandardDeviation()); results.put("iqr", stats.getPercentile(75) - stats.getPercentile(25)); results.put("max", stats.getMax()); results.put("min", stats.getMean()); results.put("numberOfElements", (double) values.size()); return results; }
From source file:org.wattdepot.client.http.api.performance.GetDateValueThroughput.java
/** * @param stats the DescriptiveStatistics to calculate the mean put time. * @return The estimated put rate based upon the time it takes to put a single * measurement./* ww w . j av a2s . c o m*/ */ private Long calculateGetRate(DescriptiveStatistics stats) { double putTime = stats.getMean(); Long ret = null; double numPuts = 1.0 / putTime; ret = Math.round(numPuts); return ret; }
From source file:org.wattdepot.client.http.api.performance.PutThroughput.java
/** * @param stats the DescriptiveStatistics to calculate the mean put time. * @return The estimated put rate based upon the time it takes to put a single * measurement.// w w w. jav a 2s . c o m */ private Long calculatePutRate(DescriptiveStatistics stats) { double putTime = stats.getMean(); Long ret = null; double numPuts = 1.0 / putTime; ret = Math.round(numPuts); return ret; }