List of usage examples for org.apache.commons.math.stat.descriptive DescriptiveStatistics addValue
public void addValue(double v)
From source file:org.matsim.contrib.socnetgen.sna.snowball.analysis.BridgeEdgeTask.java
@Override public void analyze(Graph g, Map<String, DescriptiveStatistics> results) { SampledGraph graph = (SampledGraph) g; int count = 0; for (SampledEdge e : graph.getEdges()) { SampledVertex v1 = e.getVertices().getFirst(); SampledVertex v2 = e.getVertices().getSecond(); if (v1.getSeed() != v2.getSeed()) count++;/*w w w . ja va2s .c om*/ } DescriptiveStatistics stats = new DescriptiveStatistics(); stats.addValue(count); printStats(stats, KEY); results.put(KEY, stats); }
From source file:org.matsim.contrib.socnetgen.sna.snowball.analysis.EstimatorTask.java
@Override public void analyze(Graph graph, Map<String, DescriptiveStatistics> stats) { TIntDoubleHashMap probas = new TIntDoubleHashMap(graph.getVertices().size()); TIntIntHashMap counts = new TIntIntHashMap(graph.getVertices().size()); double N_estim = 0; for (Vertex vertex : graph.getVertices()) { if (((SampledVertex) vertex).isSampled()) { int k = vertex.getNeighbours().size(); double p = estimator.probability((SampledVertex) vertex); probas.adjustOrPutValue(k, p, p); counts.adjustOrPutValue(k, 1, 1); if (p > 0) N_estim += 1 / p;//from w w w .jav a2s. co m } } DescriptiveStatistics ds = new DescriptiveStatistics(); ds.addValue(N_estim); stats.put("N_estim", ds); double M_estim = 0; for (Edge edge : graph.getEdges()) { SampledVertex v_i = (SampledVertex) edge.getVertices().getFirst(); SampledVertex v_j = (SampledVertex) edge.getVertices().getSecond(); if (v_i.isSampled() && v_j.isSampled()) { double p_i = estimator.probability(v_i); double p_j = estimator.probability(v_j); if (p_i > 0 && p_j > 0) { M_estim += 1 / ((p_i + p_j) - (p_i * p_j)); // M_estim += 1/(p_i * p_j); } } } ds = new DescriptiveStatistics(); ds.addValue(M_estim); stats.put("M_estim", ds); TIntDoubleIterator it = probas.iterator(); for (int i = 0; i < probas.size(); i++) { it.advance(); it.setValue(it.value() / counts.get(it.key())); } writeValues(probas, "proba"); }
From source file:org.matsim.contrib.socnetgen.sna.snowball.analysis.ObservedTransitivity.java
/** * Returns a descriptive statistics object containing the local clustering * coefficient of all sampled vertices that have been sampled up to and * including the next to last iteration. * /*from www . ja v a2 s. c o m*/ * @param vertices * a set of sampled vertices * @return a descriptive statistics object. */ @SuppressWarnings("unchecked") @Override public DescriptiveStatistics statistics(Set<? extends Vertex> vertices) { DescriptiveStatistics stats = new DescriptiveStatistics(); int iteration = SnowballStatistics.getInstance().lastIteration((Set<? extends SampledVertex>) vertices); TObjectDoubleHashMap<? extends Vertex> coefficients = localClusteringCoefficients(vertices); TObjectDoubleIterator<? extends Vertex> it = coefficients.iterator(); for (int i = 0; i < coefficients.size(); i++) { it.advance(); if (((SampledVertex) it.key()).getIterationSampled() <= iteration - 1) { stats.addValue(it.value()); } } return stats; }
From source file:org.matsim.contrib.socnetgen.sna.snowball.analysis.ResponseRateTask.java
@Override public void analyze(Graph g, Map<String, DescriptiveStatistics> stats) { SampledGraph graph = (SampledGraph) g; DescriptiveStatistics ds = new DescriptiveStatistics(); ds.addValue(SnowballStatistics.getInstance().responseRateTotal(graph.getVertices(), SnowballStatistics.getInstance().lastIteration(graph.getVertices()))); stats.put("responseRate", ds); if (getOutputDirectory() != null) { try {//from w w w .java2 s . co m BufferedWriter writer = new BufferedWriter( new FileWriter(getOutputDirectory() + "/responseRates.txt")); writer.write("iteration\tresponseRateTotal\tresponseRatePerIteration"); writer.newLine(); double[] rateTotal = SnowballStatistics.getInstance().responseRateTotal(graph.getVertices()); double[] rate = SnowballStatistics.getInstance().responseRatePerIteration(graph.getVertices()); for (int i = 0; i < rateTotal.length; i++) { writer.write(String.valueOf(i)); writer.write("\t"); writer.write(String.valueOf(rateTotal[i])); writer.write("\t"); writer.write(String.valueOf(rate[i])); writer.newLine(); } writer.close(); } catch (IOException e) { e.printStackTrace(); } } }
From source file:org.matsim.contrib.socnetgen.sna.snowball.analysis.SeedAPLTask.java
@Override public void analyze(Graph g, Map<String, DescriptiveStatistics> results) { SampledGraph graph = (SampledGraph) g; if (seeds == null) { seeds = new ArrayList<SampledVertex>(graph.getVertices().size()); for (SampledVertex vertex : graph.getVertices()) { Integer it = vertex.getIterationDetected(); if (it != null && it == -1) { seeds.add(vertex);/* w w w .j a v a 2 s .c o m*/ } } } AdjacencyMatrix<SampledVertex> y = new AdjacencyMatrix<SampledVertex>(graph); int[] seedIndices = new int[seeds.size()]; for (int i = 0; i < seeds.size(); i++) { seedIndices[i] = y.getIndex(seeds.get(i)); } Dijkstra dijkstra = new Dijkstra(y); DescriptiveStatistics stats = new DescriptiveStatistics(); DescriptiveStatistics statsDirect = new DescriptiveStatistics(); for (int i = 0; i < seedIndices.length; i++) { int idx_i = seedIndices[i]; dijkstra.run(idx_i, -1); for (int j = i + 1; j < seedIndices.length; j++) { int idx_j = seedIndices[j]; TIntArrayList path = dijkstra.getPath(idx_i, idx_j); if (path != null) { stats.addValue(path.size()); /* * filter indirect paths */ boolean indirect = false; for (int k = 1; k < path.size() - 1; k++) { SampledVertex v = y.getVertex(path.get(k)); if (v.getSeed() != seeds.get(i) && v.getSeed() != seeds.get(j)) { indirect = true; break; } } if (!indirect) statsDirect.addValue(path.size()); } } } results.put(KEY, stats); printStats(stats, KEY); String key2 = KEY + "_direct"; results.put(key2, statsDirect); printStats(statsDirect, key2); try { writeHistograms(stats, new LinearDiscretizer(1.0), KEY, false); writeHistograms(statsDirect, new LinearDiscretizer(1.0), key2, false); } catch (IOException e) { e.printStackTrace(); } }
From source file:org.neo4j.nlp.impl.util.VectorUtil.java
public static double getFeatureMatchDistribution(GraphDatabaseService db, Long patternId) { Transaction tx = db.beginTx();/*from w w w .ja va2 s . com*/ 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; }
From source file:org.openehealth.ipf.commons.test.performance.processingtime.ProcessingTimeDescriptiveStatistics.java
@Override protected void updateStatisticsWithDuration(Measurement from, Measurement to) { DescriptiveStatistics statistics = statisticsByMeasurementName.get(to.getName()); ProcessingTime processingTime = ProcessingTime.getProcessingTime(from.getTimestamp(), to.getTimestamp()); statistics.addValue(processingTime.getValue(PROCESSING_TIME_UNIT)); }
From source file:org.processmining.analysis.performance.dottedchart.model.DottedChartModel.java
public void calculateStatisticsLogical() { String key = null;//from ww w .java 2 s . com AbstractLogUnit item, itemOld; DescriptiveStatistics overallDS = timeStatistics.get(0); overallDS.clear(); overallStatistics.clear(); int index = -1; for (Iterator itSets = getItemMap().keySet().iterator(); itSets.hasNext();) { key = (String) itSets.next(); index++; DescriptiveStatistics tempDS = timeStatistics.get(index + 1); tempDS.clear(); if (typeHashMap.equals(ST_INST) && !instanceIDs.contains(key)) continue; LogUnitList tempLogUnitList = (LogUnitList) getItemMap().get(key); itemOld = null; // iterate through items ArrayList<AbstractLogUnit> abst = tempLogUnitList.getEvents(); TreeSet treeSet = new TreeSet<AbstractLogUnit>(abst); for (Iterator itItm = treeSet.iterator(); itItm.hasNext();) { item = (AbstractLogUnit) itItm.next(); if (eventTypeToKeep != null && (!eventTypeToKeep.contains(item.getType()) || !instanceIDs.contains(item.getProcessInstance().getName()))) continue; if (itemOld == null) { itemOld = item; } else { double temp = (double) item.getCurrentTimeStamp().getTime() - (double) itemOld.getCurrentTimeStamp().getTime(); overallStatistics.addValue(temp); tempDS.addValue(temp); itemOld = item; } } if (tempLogUnitList.getRightBoundaryTimestamp(eventTypeToKeep, instanceIDs) == null || tempLogUnitList.getLeftBoundaryTimestamp(eventTypeToKeep, instanceIDs) == null) overallDS.addValue(0); else overallDS.addValue((tempLogUnitList.getRightBoundaryTimestamp(eventTypeToKeep, instanceIDs) .getTime() - tempLogUnitList.getLeftBoundaryTimestamp(eventTypeToKeep, instanceIDs).getTime())); } }
From source file:org.processmining.analysis.performance.dottedchart.model.DottedChartModel.java
public void calculateStatistics() { String key = null;/*from www . j ava 2s. c o m*/ AbstractLogUnit item = null; AbstractLogUnit itemOld; // get the descriptiveStatistics object DescriptiveStatistics overallDS = getTimeStatistics().get(0); overallDS.clear(); overallStatistics.clear(); // iterate through sets int index = -1; for (Iterator itSets = getItemMap().keySet().iterator(); itSets.hasNext();) { index++; key = (String) itSets.next(); DescriptiveStatistics tempDS = getTimeStatistics().get(index + 1); tempDS.clear(); if (typeHashMap.equals(ST_INST) && !instanceIDs.contains(key)) continue; LogUnitList tempLogUnit = (LogUnitList) getItemMap().get(key); itemOld = null; // iterate through items ArrayList<AbstractLogUnit> abst = ((LogUnitList) getItemMap().get(key)).getEvents(); TreeSet treeSet = new TreeSet<AbstractLogUnit>(abst); int k = 0; for (Iterator itItm = treeSet.iterator(); itItm.hasNext();) { k++; item = (AbstractLogUnit) itItm.next(); if (eventTypeToKeep != null && (!eventTypeToKeep.contains(item.getType()) || !instanceIDs.contains(item.getProcessInstance().getName()))) continue; if (itemOld == null) { itemOld = item; } else { double temp = (double) item.getCurrentTimeStamp().getTime() - (double) itemOld.getCurrentTimeStamp().getTime(); tempDS.addValue(temp); overallStatistics.addValue(temp); itemOld = item; } } for (int j = k; j < abst.size(); j++) tempDS.addValue(0); if (tempLogUnit.getRightBoundaryTimestamp(eventTypeToKeep, instanceIDs) == null || tempLogUnit.getLeftBoundaryTimestamp(eventTypeToKeep, instanceIDs) == null) overallDS.addValue(0); else overallDS.addValue((tempLogUnit.getRightBoundaryTimestamp(eventTypeToKeep, instanceIDs).getTime() - tempLogUnit.getLeftBoundaryTimestamp(eventTypeToKeep, instanceIDs).getTime())); } }
From source file:org.rascalmpl.library.analysis.statistics.Descriptive.java
DescriptiveStatistics make(IList dataValues) { DescriptiveStatistics stats = new DescriptiveStatistics(); for (IValue v : dataValues) { stats.addValue(((INumber) v).toReal().floatValue()); }/* w w w .ja v a 2s .c o m*/ return stats; }