Example usage for org.apache.commons.math.stat.descriptive DescriptiveStatistics getVariance

List of usage examples for org.apache.commons.math.stat.descriptive DescriptiveStatistics getVariance

Introduction

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

Prototype

public double getVariance() 

Source Link

Document

Returns the variance of the available values.

Usage

From source file:playground.johannes.gsv.sim.cadyts.ODCountsAnalyzer.java

@Override
public void notifyAfterMobsim(AfterMobsimEvent event) {
    Network network = event.getControler().getScenario().getNetwork();
    DescriptiveStatistics diff = new DescriptiveStatistics();
    DescriptiveStatistics absDiff = new DescriptiveStatistics();
    DescriptiveStatistics error = new DescriptiveStatistics();
    DescriptiveStatistics absError = new DescriptiveStatistics();

    try {/*from  www. jav a2 s .  c  om*/
        String file = event.getControler().getControlerIO().getIterationFilename(event.getIteration(),
                "odCounts.txt");
        BufferedWriter writer = new BufferedWriter(new FileWriter(file));

        writer.write("id\tobs\tsim");

        writer.newLine();

        for (Count count : counts.getCounts().values()) {
            if (count.getLocId().toString().startsWith(ODCalibrator.VIRTUAL_ID_PREFIX)) {
                Link link = network.getLinks().get(count.getLocId());
                double refVal = count.getMaxVolume().getValue() * 24;
                double simVal = simResults.getSimValue(link, 0, 86400, TYPE.COUNT_VEH);

                double err = (simVal - refVal) / refVal;
                error.addValue(err);
                absError.addValue(Math.abs(err));

                double delta = simVal - refVal;
                diff.addValue(delta);
                absDiff.addValue(Math.abs(delta));

                writer.write(link.getId().toString());
                writer.write("\t");
                writer.write(String.valueOf(refVal));
                writer.write("\t");
                writer.write(String.valueOf(simVal));
                writer.newLine();
            }
        }
        writer.close();

        logger.info(String.format("OD-relations diff: avr = %s, median = %s, var = %s, min = %s, max = %s",
                diff.getMean(), diff.getPercentile(50), diff.getVariance(), diff.getMin(), diff.getMax()));
        logger.info(
                String.format("OD-relations absolute diff: avr = %s, median = %s, var = %s, min = %s, max = %s",
                        absDiff.getMean(), absDiff.getPercentile(50), absDiff.getVariance(), absDiff.getMin(),
                        absDiff.getMax()));

        logger.info(String.format(
                "Relative OD-relations error: avr = %s, median = %s, var = %s, min = %s, max = %s",
                error.getMean(), error.getPercentile(50), error.getVariance(), error.getMin(), error.getMax()));
        logger.info(String.format(
                "Absolute relative OD-relations error: avr = %s, median = %s, var = %s, min = %s, max = %s",
                absError.getMean(), absError.getPercentile(50), absError.getVariance(), absError.getMin(),
                absError.getMax()));

        file = event.getControler().getControlerIO().getOutputFilename("odCountsDiff.txt");
        writeStats(file, diff, event.getIteration());

        file = event.getControler().getControlerIO().getOutputFilename("odCountsAbsDiff.txt");
        writeStats(file, absDiff, event.getIteration());

        file = event.getControler().getControlerIO().getOutputFilename("odCountsError.txt");
        writeStats(file, error, event.getIteration());

        file = event.getControler().getControlerIO().getOutputFilename("odCountsAbsError.txt");
        writeStats(file, absError, event.getIteration());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:playground.johannes.gsv.sim.cadyts.ODCountsAnalyzer.java

private void writeStats(String file, DescriptiveStatistics stats, int iteration) throws IOException {
    boolean append = true;
    if (iteration == 0)
        append = false;//from www .ja v a2s. c om

    BufferedWriter writer = new BufferedWriter(new FileWriter(file, append));
    if (!append) {
        writer.write("avr\tmedian\tvar\tmin\tmax");
        writer.newLine();
    }

    writer.write(String.valueOf(stats.getMean()));
    writer.write("\t");
    writer.write(String.valueOf(stats.getPercentile(50)));
    writer.write("\t");
    writer.write(String.valueOf(stats.getVariance()));
    writer.write("\t");
    writer.write(String.valueOf(stats.getMin()));
    writer.write("\t");
    writer.write(String.valueOf(stats.getMax()));
    writer.newLine();
    writer.close();
}

From source file:playground.johannes.snowball2.GraphStatistic.java

protected TObjectDoubleHashMap<String> getStatisticsMap(DescriptiveStatistics stats) {
    TObjectDoubleHashMap<String> statsMap = new TObjectDoubleHashMap<String>();
    statsMap.put(MIN_KEY, stats.getMin());
    statsMap.put(MAX_KEY, stats.getMax());
    statsMap.put(MEAN_KEY, stats.getMean());
    statsMap.put(VARIANCE_KEY, stats.getVariance());
    statsMap.put(SKEWNESS_KEY, stats.getSkewness());
    statsMap.put(KURTOSIS_KEY, stats.getKurtosis());
    return statsMap;
}