Example usage for org.apache.commons.math.stat.descriptive.moment Mean Mean

List of usage examples for org.apache.commons.math.stat.descriptive.moment Mean Mean

Introduction

In this page you can find the example usage for org.apache.commons.math.stat.descriptive.moment Mean Mean.

Prototype

public Mean() 

Source Link

Document

Constructs a Mean.

Usage

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:com.ibm.streamsx.transportation.sfpark.ParkingFill.java

public ParkingFill aggregate(Iterable<ParkingOccupancy> items) {

    Mean mean = new Mean();

    int count = 0;
    for (ParkingOccupancy occupancy : items) {
        ospid = occupancy.getOspid();/*from w  w w . j ava  2  s. c o m*/
        // maintain the last values, as that's all
        // that matters for parking now!
        occ = occupancy.getOcc();
        oper = occupancy.getOper();
        setTs(occupancy.getTs());
        if (oper == 0)
            continue;
        count++;
        double fill = ((double) occ) / ((double) oper);
        mean.increment(fill);
    }

    if (ospid == null || oper == 0) {
        return null;
    }

    if (count > 5) {
        double[] values = new double[count * 2];
        int i = 0;
        for (ParkingOccupancy occupancy : items) {
            int occl = occupancy.getOcc();
            int operl = occupancy.getOper();
            long tsl = occupancy.getTs();
            if (operl == 0)
                continue;

            // y, then x
            // spaces (y) vs time (x)
            values[i++] = occl;
            values[i++] = tsl;
        }

        OLSMultipleLinearRegression ols = new OLSMultipleLinearRegression();
        ols.newSampleData(values, count, 1);

        double[] coe = ols.estimateRegressionParameters();
        if (coe.length >= 2)
            setTrend(coe[1] * 1000.0 * 60.0); // cars per minute
    }

    fill = (int) (mean.getResult() * 100.0);
    if (fill > 100)
        fill = 100;
    else if (fill < 0)
        fill = 0;

    return this;
}

From source file:edu.harvard.med.screensaver.analysis.ZScoreFunction.java

public void initializeAggregates(Collection<Double> valuesToNormalizeOverController) {
    ResizableDoubleArray tmpDoubleValues = new ResizableDoubleArray();
    for (Double value : valuesToNormalizeOverController) {
        tmpDoubleValues.addElement(value);
    }// w w w. j a v  a2  s  . co  m
    _stdDev = new StandardDeviation().evaluate(tmpDoubleValues.getElements());
    _mean = new Mean().evaluate(tmpDoubleValues.getElements());
    _initialized = true;
}

From source file:com.joliciel.jochre.stats.MeanAbsoluteDeviation.java

public double getResult() {
    if (dirty) {// www  . j a v  a 2s .  c o m
        Mean mean = new Mean();
        for (double value : values)
            mean.increment(value);
        double meanResult = mean.getResult();

        Mean deviationMean = new Mean();
        for (double value : values) {
            double deviation = value - meanResult;
            if (deviation < 0)
                deviation = 0 - deviation;
            deviationMean.increment(deviation);
        }

        meanAbsoluteDeviation = deviationMean.getResult();

        dirty = false;
    }
    return meanAbsoluteDeviation;
}

From source file:de.tudarmstadt.ukp.dkpro.tc.weka.evaluation.MekaEvaluationUtils.java

/**
 * Calculates a number of evaluation measures for multi-label classification, without class-wise measures.
 * //from ww w.  java2 s . c  o m
 * @param predictions
 *            predictions by the classifier (ranking)
 * @param goldStandard
 *            gold standard (bipartition)
 * @param t
 *            a threshold to create bipartitions from rankings
 * @return the evaluation statistics
 */
public static HashMap<String, Double> calcMLStats(double predictions[][], int goldStandard[][], double t[]) {
    int N = goldStandard.length;
    int L = goldStandard[0].length;
    int Ypred[][] = ThresholdUtils.threshold(predictions, t);

    HashMap<String, Double> results = new LinkedHashMap<String, Double>();
    Mean mean = new Mean();

    results.put(NUMBER_LABELS, (double) L);
    results.put(NUMBER_EXAMPLES, (double) N);
    results.put(ZERO_ONE_LOSS, Metrics.L_ZeroOne(goldStandard, Ypred));
    results.put(LABEL_CARDINALITY_PRED, MLUtils.labelCardinality(Ypred));
    results.put(LABEL_CARDINALITY_REAL, MLUtils.labelCardinality(goldStandard));
    results.put(AVERAGE_THRESHOLD, mean.evaluate(t, 0, t.length)); // average
    results.put(EMPTY_VECTORS, MLUtils.emptyVectors(Ypred));

    return results;
}

From source file:com.srotya.sidewinder.core.analytics.TestMathUtils.java

@Test
public void testMean() {
    double[] a = new double[] { 2, 3, 4, 5, 6 };
    double mean = MathUtils.mean(a);
    Mean cmean = new Mean();
    assertEquals(cmean.evaluate(a), mean, 0.0001);
}

From source file:com.joliciel.jochre.graphics.features.EmptySectorsBinaryFeature.java

@Override
public FeatureResult<Boolean> checkInternal(ShapeWrapper shapeWrapper, RuntimeEnvironment env) {
    Shape shape = shapeWrapper.getShape();
    double[][] totals = shape.getBrightnessBySection(5, 5, 1, SectionBrightnessMeasurementMethod.RAW);

    Mean testMean = new Mean();
    Mean otherMean = new Mean();

    for (int i = 0; i < totals.length; i++) {
        for (int j = 0; j < totals[0].length; j++) {
            double brightness = totals[i][j];
            if (testSectors[i][j])
                testMean.increment(brightness);
            else if (brightness > shape.getBrightnessMeanBySection(5, 5, 1,
                    SectionBrightnessMeasurementMethod.RAW))
                otherMean.increment(brightness);
        }//from   w  ww. ja  va 2  s  .c  o  m
    }

    double testMeanValue = testMean.getResult();
    double otherMeanValue = otherMean.getResult();

    if (LOG.isDebugEnabled())
        LOG.trace("Test mean: " + testMeanValue + " (* threshold = " + testMeanValue * THRESHOLD
                + "), Other mean: " + otherMeanValue);

    boolean result = (testMeanValue * THRESHOLD < otherMeanValue);
    FeatureResult<Boolean> outcome = this.generateResult(result);
    return outcome;
}

From source file:net.sf.jdmf.util.MathCalculator.java

/**
 * Calculates the mean of all attribute values.
 * //from w w  w . j ava  2  s.  c  o  m
 * @param attributeValues attribute values
 * @return the mean
 */
public Double calculateMean(Comparable[] attributeValues) {
    Mean mean = new Mean();

    Double evaluatedMean = mean.evaluate(convertToPrimitives(attributeValues));

    log.debug("mean = " + evaluatedMean);

    return evaluatedMean;
}

From source file:fr.ens.transcriptome.corsen.util.StatTest.java

public void testMean() {

    Mean mean = new Mean();

    for (int i = 0; i < 1000; i++) {

        List<DataDouble> list = generate();
        assertEquals(mean.evaluate(Stats.toDouble(list)), Stats.mean(list));
    }//w  w  w  . j  a v a2 s.  c  o m
}

From source file:com.linkedin.pinot.transport.common.routing.RandomRoutingTableTest.java

@Test
public void testHelixExternalViewBasedRoutingTable() throws Exception {
    String tableName = "testTable_OFFLINE";
    String fileName = RandomRoutingTableTest.class.getClassLoader().getResource("SampleExternalView.json")
            .getFile();//from  w  w w .  j a v  a 2  s .c om
    System.out.println(fileName);
    InputStream evInputStream = new FileInputStream(fileName);
    ZNRecordSerializer znRecordSerializer = new ZNRecordSerializer();
    ZNRecord externalViewRecord = (ZNRecord) znRecordSerializer.deserialize(IOUtils.toByteArray(evInputStream));
    int totalRuns = 10000;
    RoutingTableBuilder routingStrategy = new BalancedRandomRoutingTableBuilder(10);
    HelixExternalViewBasedRouting routingTable = new HelixExternalViewBasedRouting(null, null);
    Field offlineRTBField = HelixExternalViewBasedRouting.class.getDeclaredField("_offlineRoutingTableBuilder");
    offlineRTBField.setAccessible(true);
    offlineRTBField.set(routingTable, routingStrategy);

    ExternalView externalView = new ExternalView(externalViewRecord);

    routingTable.markDataResourceOnline(tableName, externalView, getInstanceConfigs(externalView));

    double[] globalArrays = new double[9];

    for (int numRun = 0; numRun < totalRuns; ++numRun) {
        RoutingTableLookupRequest request = new RoutingTableLookupRequest(tableName);
        Map<ServerInstance, SegmentIdSet> serversMap = routingTable.findServers(request);
        TreeSet<ServerInstance> serverInstances = new TreeSet<ServerInstance>(serversMap.keySet());

        int i = 0;

        double[] arrays = new double[9];
        for (ServerInstance serverInstance : serverInstances) {
            globalArrays[i] += serversMap.get(serverInstance).getSegments().size();
            arrays[i++] = serversMap.get(serverInstance).getSegments().size();
        }
        for (int j = 0; i < arrays.length; ++j) {
            Assert.assertTrue(arrays[j] / totalRuns <= 31);
            Assert.assertTrue(arrays[j] / totalRuns >= 28);
        }
        //System.out.println(Arrays.toString(arrays) + " : " + new StandardDeviation().evaluate(arrays) + " : " + new Mean().evaluate(arrays));
    }
    for (int i = 0; i < globalArrays.length; ++i) {
        Assert.assertTrue(globalArrays[i] / totalRuns <= 31);
        Assert.assertTrue(globalArrays[i] / totalRuns >= 28);
    }
    System.out.println(Arrays.toString(globalArrays) + " : " + new StandardDeviation().evaluate(globalArrays)
            + " : " + new Mean().evaluate(globalArrays));
}