/** * {@inheritDoc} */ @Override public synchronized double getStandardDeviation() { return super.getStandardDeviation(); }
/** * Returns the standard deviation of the available values. * @return The standard deviation, Double.NaN if no values have been added * or 0.0 for a single value set. */ public synchronized double getStandardDeviation() { return super.getStandardDeviation(); }
/** * {@inheritDoc} */ @Override public synchronized double getStandardDeviation() { return super.getStandardDeviation(); }
public static void printTable(TreeBasedTable<Integer, Double, DescriptiveStatistics> table) { System.out.printf("\t%s%n", StringUtils.join(table.columnKeySet(), "\t\t")); for (Map.Entry<Integer, Map<Double, DescriptiveStatistics>> entry : table.rowMap() .entrySet()) { System.out.printf("%s\t", entry.getKey()); for (DescriptiveStatistics ds : entry.getValue().values()) { System.out.printf("%.2f\t%2f\t", ds.getMean(), ds.getStandardDeviation()); } System.out.println(); } }
static void printTable(TreeBasedTable<Integer, Integer, DescriptiveStatistics> table) { System.out.printf("\t%s%n", StringUtils.join(table.columnKeySet(), "\t\t\t")); for (Map.Entry<Integer, Map<Integer, DescriptiveStatistics>> entry : table.rowMap() .entrySet()) { System.out.printf("%s\t", entry.getKey()); for (DescriptiveStatistics ds : entry.getValue().values()) { System.out.printf("%.2f\t%2f\t%d\t", ds.getMean(), ds.getStandardDeviation(), ds.getN()); } System.out.println(); } }
@Override public String getSummaryReport() { final StringBuilder outBuffer = new StringBuilder(); final DescriptiveStatistics ds = computeStats(); outBuffer.append("Aggregate P@" + N + " Statistics:\n"); outBuffer.append(String.format("%-15s\t%6d\n", "num_q", ds.getN())); outBuffer.append(String.format("%-15s\t%6.4f\n", "min", ds.getMin())); outBuffer.append(String.format("%-15s\t%6.4f\n", "max", ds.getMax())); outBuffer.append(String.format("%-15s\t%6.4f\n", "mean", ds.getMean())); outBuffer.append(String.format("%-15s\t%6.4f\n", "std dev", ds.getStandardDeviation())); outBuffer.append(String.format("%-15s\t%6.4f\n", "median", ds.getPercentile(50))); outBuffer.append(String.format("%-15s\t%6.4f\n", "skewness", ds.getSkewness())); outBuffer.append(String.format("%-15s\t%6.4f\n", "kurtosis", ds.getKurtosis())); return outBuffer.toString(); }
@Override public String getSummaryReport() { final StringBuilder outBuffer = new StringBuilder(); final DescriptiveStatistics ds = computeStats(); outBuffer.append("Aggregate P@" + N + " Statistics:\n"); outBuffer.append(String.format("%-15s\t%6d\n", "num_q", ds.getN())); outBuffer.append(String.format("%-15s\t%6.4f\n", "min", ds.getMin())); outBuffer.append(String.format("%-15s\t%6.4f\n", "max", ds.getMax())); outBuffer.append(String.format("%-15s\t%6.4f\n", "mean", ds.getMean())); outBuffer.append(String.format("%-15s\t%6.4f\n", "std dev", ds.getStandardDeviation())); outBuffer.append(String.format("%-15s\t%6.4f\n", "median", ds.getPercentile(50))); outBuffer.append(String.format("%-15s\t%6.4f\n", "skewness", ds.getSkewness())); outBuffer.append(String.format("%-15s\t%6.4f\n", "kurtosis", ds.getKurtosis())); return outBuffer.toString(); }
/** * Generates a text report displaying univariate statistics from values * that have been added. Each statistic is displayed on a separate * line. * * @return String with line feeds displaying statistics */ @Override public String toString() { StringBuffer outBuffer = new StringBuffer(); String endl = "\n"; outBuffer.append("DescriptiveStatistics:").append(endl); outBuffer.append("n: ").append(getN()).append(endl); outBuffer.append("min: ").append(getMin()).append(endl); outBuffer.append("max: ").append(getMax()).append(endl); outBuffer.append("mean: ").append(getMean()).append(endl); outBuffer.append("std dev: ").append(getStandardDeviation()) .append(endl); outBuffer.append("median: ").append(getPercentile(50)).append(endl); outBuffer.append("skewness: ").append(getSkewness()).append(endl); outBuffer.append("kurtosis: ").append(getKurtosis()).append(endl); return outBuffer.toString(); }
/** * Generates a text report displaying univariate statistics from values * that have been added. Each statistic is displayed on a separate * line. * * @return String with line feeds displaying statistics */ @Override public String toString() { StringBuilder outBuffer = new StringBuilder(); String endl = "\n"; outBuffer.append("DescriptiveStatistics:").append(endl); outBuffer.append("n: ").append(getN()).append(endl); outBuffer.append("min: ").append(getMin()).append(endl); outBuffer.append("max: ").append(getMax()).append(endl); outBuffer.append("mean: ").append(getMean()).append(endl); outBuffer.append("std dev: ").append(getStandardDeviation()) .append(endl); outBuffer.append("median: ").append(getPercentile(50)).append(endl); outBuffer.append("skewness: ").append(getSkewness()).append(endl); outBuffer.append("kurtosis: ").append(getKurtosis()).append(endl); return outBuffer.toString(); }
/** * Generates a text report displaying univariate statistics from values * that have been added. Each statistic is displayed on a separate * line. * * @return String with line feeds displaying statistics */ public String toString() { StringBuffer outBuffer = new StringBuffer(); outBuffer.append("DescriptiveStatistics:\n"); outBuffer.append("n: " + getN() + "\n"); outBuffer.append("min: " + getMin() + "\n"); outBuffer.append("max: " + getMax() + "\n"); outBuffer.append("mean: " + getMean() + "\n"); outBuffer.append("std dev: " + getStandardDeviation() + "\n"); outBuffer.append("median: " + getPercentile(50) + "\n"); outBuffer.append("skewness: " + getSkewness() + "\n"); outBuffer.append("kurtosis: " + getKurtosis() + "\n"); return outBuffer.toString(); }
public static void main(String[] args) throws IOException { File inputFile = new File( "mturk/annotation-task/data/32-reasons-batch-0001-5000-2026args-gold.xml.gz"); // read all arguments from the original corpus List<StandaloneArgument> arguments = XStreamSerializer .deserializeArgumentListFromXML(inputFile); System.out.println("Arguments: " + arguments.size()); Frequency frequency = new Frequency(); DescriptiveStatistics statistics = new DescriptiveStatistics(); for (StandaloneArgument argument : arguments) { JCas jCas = argument.getJCas(); Collection<Premise> premises = JCasUtil.select(jCas, Premise.class); frequency.addValue(premises.size()); statistics.addValue(premises.size()); } System.out.println(frequency); System.out.println(statistics.getSum()); System.out.println(statistics.getMean()); System.out.println(statistics.getStandardDeviation()); } }
table.put(entry.getKey(), "timeMax", String.format(Locale.ENGLISH, "%.0f", ds.getMax())); table.put(entry.getKey(), "timeStdev", String.format(Locale.ENGLISH, "%.0f", ds.getStandardDeviation())); table.put(entry.getKey(), "feedbacks", StringUtils.join(feedbacks, ";")); table.put(entry.getKey(), "competence",
/** * Normalize (standardize) the series, so in the end it is having a mean of 0 and a standard deviation of 1. * * @param sample sample to normalize * @return normalized (standardized) sample * @since 2.2 */ public static double[] normalize(final double[] sample) { DescriptiveStatistics stats = new DescriptiveStatistics(); // Add the data from the series to stats for (int i = 0; i < sample.length; i++) { stats.addValue(sample[i]); } // Compute mean and standard deviation double mean = stats.getMean(); double standardDeviation = stats.getStandardDeviation(); // initialize the standardizedSample, which has the same length as the sample double[] standardizedSample = new double[sample.length]; for (int i = 0; i < sample.length; i++) { // z = (x- mean)/standardDeviation standardizedSample[i] = (sample[i] - mean) / standardDeviation; } return standardizedSample; }
public synchronized Double computePhiMeasure(long now) { if (latestHeartbeatMs == -1 || descriptiveStatistics.getN() < minimumSamples) { return null; } long delta = now - latestHeartbeatMs; try { double probability; if (distribution.equals("normal")) { double standardDeviation = descriptiveStatistics.getStandardDeviation(); standardDeviation = standardDeviation < 0.1 ? 0.1 : standardDeviation; probability = new NormalDistributionImpl(descriptiveStatistics.getMean(), standardDeviation).cumulativeProbability(delta); } else { probability = new ExponentialDistributionImpl(descriptiveStatistics.getMean()).cumulativeProbability(delta); } final double eps = 1e-12; if (1 - probability < eps) { probability = 1.0; } return -1.0d * Math.log10(1.0d - probability); } catch (MathException | IllegalArgumentException e) { LOGGER.debug(e); return null; } } }
System.out.println(overallAccuracy.getStandardDeviation()); System.out.println(overallAccuracy.getN()); System.out.println(overallAccuracy.getMin());
public static double getFeatureMatchDistribution(GraphDatabaseService db, Long patternId) { Transaction tx = db.beginTx(); Node startNode = db.getNodeById(patternId); // Feature match distribution List<Double> matches = IteratorUtil.asCollection(db.traversalDescription() .depthFirst() .relationships(withName("HAS_CLASS"), Direction.OUTGOING) .evaluator(Evaluators.fromDepth(1)) .evaluator(Evaluators.toDepth(1)) .traverse(startNode) .relationships()) .stream() .map(p -> ((Integer)p.getProperty("matches")).doubleValue()) .collect(Collectors.toList()); tx.success(); tx.close(); double variance = 1.0; if(matches.size() > 1) { Double[] matchArr = matches.toArray(new Double[matches.size()]); // Get the standard deviation DescriptiveStatistics ds = new DescriptiveStatistics(); matches.forEach(m -> ds.addValue(m.doubleValue() / StatUtils.sum(ArrayUtils.toPrimitive(matchArr)))); variance = ds.getStandardDeviation(); } return variance; }
/** * Compute the current aggregate statistics of the * accumulated results. * * @return the current aggregate statistics */ public AggregateStatistics computeStatistics() { DescriptiveStatistics accuracy = new DescriptiveStatistics(); DescriptiveStatistics errorRate = new DescriptiveStatistics(); for (CMResult<CLASS> result : matrices) { ConfusionMatrix<CLASS> m = result.getMatrix(); accuracy.addValue(m.getAccuracy()); errorRate.addValue(m.getErrorRate()); } AggregateStatistics s = new AggregateStatistics(); s.meanAccuracy = accuracy.getMean(); s.stddevAccuracy = accuracy.getStandardDeviation(); s.meanErrorRate = errorRate.getMean(); s.stddevErrorRate = errorRate.getStandardDeviation(); return s; }
/** * Compute the current aggregate statistics of the * accumulated results. * * @return the current aggregate statistics */ public AggregateStatistics computeStatistics() { DescriptiveStatistics accuracy = new DescriptiveStatistics(); DescriptiveStatistics errorRate = new DescriptiveStatistics(); for (CMResult<CLASS> result : matrices) { ConfusionMatrix<CLASS> m = result.getMatrix(); accuracy.addValue(m.getAccuracy()); errorRate.addValue(m.getErrorRate()); } AggregateStatistics s = new AggregateStatistics(); s.meanAccuracy = accuracy.getMean(); s.stddevAccuracy = accuracy.getStandardDeviation(); s.meanErrorRate = errorRate.getMean(); s.stddevErrorRate = errorRate.getStandardDeviation(); return s; }
System.out.printf("%s %s %s %s%n", padString(" deviation", 25), padDouble(sStats.getStandardDeviation()), padDouble(bStats.getStandardDeviation()), padDouble(oStats.getStandardDeviation()) );
break; case STDDEV: statsNode.put("std-dev", descriptiveStatistics.getStandardDeviation()); break; case MIN: statsNode.put("minimum", descriptiveStatistics.getMin()); statsNode.put("maximum", descriptiveStatistics.getMax()); statsNode.put("std-dev", descriptiveStatistics.getStandardDeviation()); statsNode.put("median", descriptiveStatistics.getPercentile(50)); statsNode.put("skewness", descriptiveStatistics.getSkewness());