List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getSum
public double getSum()
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(); }