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

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

Introduction

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

Prototype

public double getSum() 

Source Link

Document

Returns the sum of the values that have been added to Univariate.

Usage

From source file:org.jenetics.stat.IntMomentStatisticsTest.java

@Test(dataProvider = "sampleCounts")
public void summary(final Integer sampleCounts, final Double epsilon) {
    final List<Integer> numbers = numbers(sampleCounts);

    final DescriptiveStatistics expected = new DescriptiveStatistics();
    numbers.forEach(expected::addValue);

    final IntMomentStatistics summary = numbers.stream().collect(toIntMomentStatistics(Integer::intValue));

    Assert.assertEquals(summary.getCount(), numbers.size());
    assertEqualsDouble(min(summary.getMin()), expected.getMin(), 0.0);
    assertEqualsDouble(max(summary.getMax()), expected.getMax(), 0.0);
    assertEqualsDouble(summary.getSum(), expected.getSum(), epsilon);
    assertEqualsDouble(summary.getMean(), expected.getMean(), epsilon);
    assertEqualsDouble(summary.getVariance(), expected.getVariance(), epsilon);
    assertEqualsDouble(summary.getSkewness(), expected.getSkewness(), epsilon);
    assertEqualsDouble(summary.getKurtosis(), expected.getKurtosis(), epsilon);
}

From source file:org.jenetics.stat.IntMomentStatisticsTest.java

@Test(dataProvider = "parallelSampleCounts")
public void parallelSummary(final Integer sampleCounts, final Double epsilon) {
    final List<Integer> numbers = numbers(sampleCounts);

    final DescriptiveStatistics expected = new DescriptiveStatistics();
    numbers.forEach(expected::addValue);

    final IntMomentStatistics summary = numbers.parallelStream()
            .collect(toIntMomentStatistics(Integer::intValue));

    Assert.assertEquals(summary.getCount(), numbers.size());
    assertEqualsDouble(min(summary.getMin()), expected.getMin(), 0.0);
    assertEqualsDouble(max(summary.getMax()), expected.getMax(), 0.0);
    assertEqualsDouble(summary.getSum(), expected.getSum(), epsilon);
    assertEqualsDouble(summary.getMean(), expected.getMean(), epsilon);
    assertEqualsDouble(summary.getVariance(), expected.getVariance(), epsilon);
    assertEqualsDouble(summary.getSkewness(), expected.getSkewness(), epsilon);
    assertEqualsDouble(summary.getKurtosis(), expected.getKurtosis(), epsilon);
}

From source file:org.jenetics.stat.LongMomentStatisticsTest.java

@Test(dataProvider = "sampleCounts")
public void summary(final Integer sampleCounts, final Double epsilon) {
    final List<Long> numbers = numbers(sampleCounts);

    final DescriptiveStatistics expected = new DescriptiveStatistics();
    numbers.forEach(expected::addValue);

    final LongMomentStatistics summary = numbers.stream().collect(toLongMomentStatistics(Long::longValue));

    Assert.assertEquals(summary.getCount(), numbers.size());
    assertEqualsDouble(min(summary.getMin()), expected.getMin(), 0.0);
    assertEqualsDouble(max(summary.getMax()), expected.getMax(), 0.0);
    assertEqualsDouble(summary.getSum(), expected.getSum(), epsilon);
    assertEqualsDouble(summary.getMean(), expected.getMean(), epsilon);
    assertEqualsDouble(summary.getVariance(), expected.getVariance(), epsilon);
    assertEqualsDouble(summary.getSkewness(), expected.getSkewness(), epsilon);
    assertEqualsDouble(summary.getKurtosis(), expected.getKurtosis(), epsilon);
}

From source file:org.jenetics.stat.LongMomentStatisticsTest.java

@Test(dataProvider = "parallelSampleCounts")
public void parallelSummary(final Integer sampleCounts, final Double epsilon) {
    final List<Long> numbers = numbers(sampleCounts);

    final DescriptiveStatistics expected = new DescriptiveStatistics();
    numbers.forEach(expected::addValue);

    final LongMomentStatistics summary = numbers.stream().collect(toLongMomentStatistics(Long::longValue));

    Assert.assertEquals(summary.getCount(), numbers.size());
    assertEqualsDouble(min(summary.getMin()), expected.getMin(), 0.0);
    assertEqualsDouble(max(summary.getMax()), expected.getMax(), 0.0);
    assertEqualsDouble(summary.getSum(), expected.getSum(), epsilon);
    assertEqualsDouble(summary.getMean(), expected.getMean(), epsilon);
    assertEqualsDouble(summary.getVariance(), expected.getVariance(), epsilon);
    assertEqualsDouble(summary.getSkewness(), expected.getSkewness(), epsilon);
    assertEqualsDouble(summary.getKurtosis(), expected.getKurtosis(), epsilon);
}

From source file:org.jgrasstools.hortonmachine.modules.hydrogeomorphology.lwrecruitment.OmsLW09_AreaToNetpointAssociator.java

@Execute
public void process() throws Exception {

    RegionMap regionMap = CoverageUtilities.getRegionParamsFromGridCoverage(inFlow);
    int cols = regionMap.getCols();
    int rows = regionMap.getRows();
    GridGeometry2D gridGeometry = inFlow.getGridGeometry();
    GeometryFactory gf = GeometryUtilities.gf();

    /*//w  w w  .ja  va2  s .  c  om
     * extract the inundated area from the polygon
     */
    PreparedGeometry preparedFooldingArea = getFloofindArea(inInundationArea);

    /*
     * extract the Canopy Height Model from DTM and DSM
     */
    GridCoverage2D chmGC = getChm(inDsm, inDtm);

    /*
     * extract basins calling netnumbering with in input all the network points
     */
    OmsNetNumbering omsnetnumbering = new OmsNetNumbering();
    omsnetnumbering.inFlow = inFlow;
    omsnetnumbering.inNet = inNet;
    omsnetnumbering.inTca = inTca;
    omsnetnumbering.inPoints = inNetPoints;
    omsnetnumbering.pThres = 0.0;
    omsnetnumbering.pm = pm;
    omsnetnumbering.process();
    outNetnum = omsnetnumbering.outNetnum;
    outBasins = omsnetnumbering.outBasins;

    RandomIter netnumBasinsIter = CoverageUtilities.getRandomIterator(outBasins);
    RandomIter connectivityIter = CoverageUtilities.getRandomIterator(inConnectivity);
    RandomIter chmIter = CoverageUtilities.getRandomIterator(chmGC);
    RandomIter standIter = CoverageUtilities.getRandomIterator(inStand);

    HashMap<Integer, DescriptiveStatistics> heightBasin2ValueMap = new HashMap<Integer, DescriptiveStatistics>();
    HashMap<Integer, DescriptiveStatistics> standBasin2ValueMap = new HashMap<Integer, DescriptiveStatistics>();

    pm.beginTask("Calculating vegetation stats.", cols);
    for (int c = 0; c < cols; c++) {
        for (int r = 0; r < rows; r++) {
            double netnumDouble = netnumBasinsIter.getSampleDouble(c, r, 0);
            if (!isNovalue(netnumDouble)) {
                Integer netNum = (int) netnumDouble;
                Coordinate coordinate = CoverageUtilities.coordinateFromColRow(c, r, gridGeometry);
                Point point = gf.createPoint(coordinate);
                double connectivityDouble = connectivityIter.getSampleDouble(c, r, 0);
                /*
                 * check if the point is connected to the network:
                 * - connectivity index less than the threshold
                 * - point is inside the inundated area
                 * and fill the hashmaps with the correspondent positions.
                 */
                if (connectivityDouble < pConnectivityThreshold || preparedFooldingArea.intersects(point)) {
                    double chmDouble = chmIter.getSampleDouble(c, r, 0);
                    double standDouble = standIter.getSampleDouble(c, r, 0);
                    DescriptiveStatistics summaryHeightStatistics = heightBasin2ValueMap.get(netNum);
                    DescriptiveStatistics summaryStandStatistics = standBasin2ValueMap.get(netNum);
                    if (summaryHeightStatistics == null) {
                        summaryHeightStatistics = new DescriptiveStatistics();
                        summaryStandStatistics = new DescriptiveStatistics();
                        heightBasin2ValueMap.put(netNum, summaryHeightStatistics);
                        standBasin2ValueMap.put(netNum, summaryStandStatistics);
                    }
                    summaryHeightStatistics.addValue(chmDouble);
                    summaryStandStatistics.addValue(standDouble);
                }
            }

        }
        pm.worked(1);
    }
    pm.done();

    /*
     * create the structure for the output attributes and insert the summary statistics
     * as attributes
     */
    FeatureExtender ext = new FeatureExtender(inNetPoints.getSchema(),
            new String[] { LWFields.VOLUME, LWFields.MEDIAN }, new Class[] { Double.class, Double.class });
    List<SimpleFeature> inNetworkPointsList = FeatureUtilities.featureCollectionToList(inNetPoints);
    DefaultFeatureCollection finalNetworkPointsFC = new DefaultFeatureCollection();
    final java.awt.Point point = new java.awt.Point();
    for (SimpleFeature inPointFeature : inNetworkPointsList) {
        Geometry geometry = (Geometry) inPointFeature.getDefaultGeometry();
        Coordinate coordinate = geometry.getCoordinate();
        CoverageUtilities.colRowFromCoordinate(coordinate, gridGeometry, point);
        int netnum = netnumBasinsIter.getSample(point.x, point.y, 0);

        DescriptiveStatistics summaryHeightStatistics = heightBasin2ValueMap.get(netnum);
        double medianHeight = 0.0;
        if (summaryHeightStatistics != null) {
            medianHeight = summaryHeightStatistics.getPercentile(50);
        }

        DescriptiveStatistics summaryStandStatistics = standBasin2ValueMap.get(netnum);
        double sumStand = 0.0;
        if (summaryStandStatistics != null) {
            sumStand = summaryStandStatistics.getSum();
        }

        SimpleFeature newPointFeature = ext.extendFeature(inPointFeature,
                new Object[] { sumStand, medianHeight });
        finalNetworkPointsFC.add(newPointFeature);
    }
    outNetPoints = finalNetworkPointsFC;
}

From source file:org.knime.knip.core.features.ObjectCalcAndCache.java

public <T extends RealType<T>> double[] weightedCentroid(final IterableInterval<T> ii,
        final DescriptiveStatistics ds, int massDisplacement) {

    if (m_wcIterableInterval != ii) {
        m_wcIterableInterval = ii;//from ww w  .j  a v  a  2 s  .  c o m
        m_weightedCentroid = new double[ii.numDimensions()];
        final double[] centroid = new double[ii.numDimensions()];

        final double sum = ds.getSum();
        final Cursor<T> c = ii.localizingCursor();

        final long[] pos = new long[c.numDimensions()];
        while (c.hasNext()) {
            c.fwd();
            c.localize(pos);

            final double val = c.get().getRealDouble();

            for (int d = 0; d < ii.numDimensions(); d++) {
                m_weightedCentroid[d] += pos[d] * (val / sum);
                centroid[d] += pos[d];
            }
        }

        massDisplacement = 0;
        for (int d = 0; d < ii.numDimensions(); d++) {
            centroid[d] /= ii.size();
            massDisplacement += Math.pow(m_weightedCentroid[d] - centroid[d], 2);
        }

    }
    return m_weightedCentroid;

}

From source file:org.lightjason.agentspeak.action.buildin.math.statistic.EStatisticValue.java

/**
 * returns a statistic value//from w w  w . j a  va 2  s  .  com
 *
 * @param p_statistic statistic object
 * @return statistic value
 */
public final double value(final DescriptiveStatistics p_statistic) {
    switch (this) {
    case GEOMETRICMEAN:
        return p_statistic.getGeometricMean();

    case MAX:
        return p_statistic.getMax();

    case MIN:
        return p_statistic.getMin();

    case COUNT:
        return p_statistic.getN();

    case POPULATIONVARIANCE:
        return p_statistic.getPopulationVariance();

    case QUADRATICMEAN:
        return p_statistic.getQuadraticMean();

    case STANDARDDEVIATION:
        return p_statistic.getStandardDeviation();

    case SUM:
        return p_statistic.getSum();

    case SUMSQUARE:
        return p_statistic.getSumsq();

    case VARIANCE:
        return p_statistic.getVariance();

    case MEAN:
        return p_statistic.getMean();

    case KURTIOSIS:
        return p_statistic.getKurtosis();

    default:
        throw new CIllegalStateException(
                org.lightjason.agentspeak.common.CCommon.languagestring(this, "unknown", this));
    }
}

From source file:org.lightjason.agentspeak.action.builtin.math.statistic.EStatisticValue.java

/**
 * returns a statistic value/*  w w  w .ja v a  2 s.  com*/
 *
 * @param p_statistic statistic object
 * @return statistic value
 */
public final double value(@Nonnull final DescriptiveStatistics p_statistic) {
    switch (this) {
    case GEOMETRICMEAN:
        return p_statistic.getGeometricMean();

    case MAX:
        return p_statistic.getMax();

    case MIN:
        return p_statistic.getMin();

    case COUNT:
        return p_statistic.getN();

    case POPULATIONVARIANCE:
        return p_statistic.getPopulationVariance();

    case QUADRATICMEAN:
        return p_statistic.getQuadraticMean();

    case STANDARDDEVIATION:
        return p_statistic.getStandardDeviation();

    case SUM:
        return p_statistic.getSum();

    case SUMSQUARE:
        return p_statistic.getSumsq();

    case VARIANCE:
        return p_statistic.getVariance();

    case MEAN:
        return p_statistic.getMean();

    case KURTIOSIS:
        return p_statistic.getKurtosis();

    default:
        throw new CIllegalStateException(
                org.lightjason.agentspeak.common.CCommon.languagestring(this, "unknown", this));
    }
}

From source file:org.matsim.contrib.drt.analysis.DynModeTripsAnalyser.java

/**
 * @param vehicleDistances//from   w  w w.j  a  v  a2 s.com
 * @param string
 * @return
 */
public static String summarizeVehicles(Map<Id<Vehicle>, double[]> vehicleDistances, String del) {
    DecimalFormat format = new DecimalFormat();
    format.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.US));
    format.setMinimumIntegerDigits(1);
    format.setMaximumFractionDigits(2);
    format.setGroupingUsed(false);

    DescriptiveStatistics driven = new DescriptiveStatistics();
    DescriptiveStatistics revenue = new DescriptiveStatistics();
    DescriptiveStatistics occupied = new DescriptiveStatistics();
    DescriptiveStatistics empty = new DescriptiveStatistics();

    for (double[] dist : vehicleDistances.values()) {
        driven.addValue(dist[0]);
        revenue.addValue(dist[1]);
        occupied.addValue(dist[2]);
        double emptyD = dist[0] - dist[2];
        empty.addValue(emptyD);
    }
    double d_r_d_t = revenue.getSum() / driven.getSum();
    // bw.write("iteration;vehicles;totalDistance;totalEmptyDistance;emptyRatio;totalRevenueDistance;averageDrivenDistance;averageEmptyDistance;averageRevenueDistance");
    String result = vehicleDistances.size() + del + format.format(driven.getSum()) + del
            + format.format(empty.getSum()) + del + format.format(empty.getSum() / driven.getSum()) + del
            + format.format(revenue.getSum()) + del + format.format(driven.getMean()) + del
            + format.format(empty.getMean()) + del + format.format(revenue.getMean()) + del
            + format.format(d_r_d_t);
    return result;
}

From source file:org.matsim.contrib.drt.analysis.DynModeTripsAnalyser.java

public static double getTotalDistance(Map<Id<Vehicle>, double[]> vehicleDistances) {
    DescriptiveStatistics driven = new DescriptiveStatistics();
    for (double[] dist : vehicleDistances.values()) {
        driven.addValue(dist[0]);//w  ww.  j  a v  a  2  s  . c o m
    }
    return driven.getSum();
}