Example usage for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getMean

List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getMean

Introduction

In this page you can find the example usage for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getMean.

Prototype

public double getMean() 

Source Link

Document

Returns the <a href="http://www.xycoon.com/arithmetic_mean.htm"> arithmetic mean </a> of the available values

Usage

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;
}