List of usage examples for org.apache.commons.math3.stat StatUtils geometricMean
public static double geometricMean(final double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty. From source file:kieker.tools.opad.timeseries.AggregationMethod.java
/** * This method returns the result of the aggregation under one of the defined aggregation methods. * * @param aggregationValues/*w w w.j a va2 s .co m*/ * Values to be aggregated * @return * Result of the aggregation */ public double getAggregationValue(final double[] aggregationValues) { switch (this) { case GEOMETRIC_MEAN: return StatUtils.geometricMean(aggregationValues); case MAX: return StatUtils.max(aggregationValues); case MEAN: return StatUtils.mean(aggregationValues); case MIN: return StatUtils.min(aggregationValues); case PERCENTILE90: return StatUtils.percentile(aggregationValues, 90); case PERCENTILE95: return StatUtils.percentile(aggregationValues, 95); case PRODUCT: return StatUtils.product(aggregationValues); case SUM: return StatUtils.sum(aggregationValues); case SUMSQ: return StatUtils.sumSq(aggregationValues); case SUMLOG: return StatUtils.sumLog(aggregationValues); case VARIANCE: return StatUtils.variance(aggregationValues); default: return StatUtils.mean(aggregationValues); } }
From source file:de.hshannover.f4.trust.irondetectprocedures.Median.java
@Override public ProcedureResult calculate(List<Feature> featureSet, List<Context> contextSet) { logger.trace("calculate"); // get values from features double[] values = new double[featureSet.size()]; for (int i = 0; i < featureSet.size(); i++) { if (featureSet.get(i).getType().getTypeId() == FeatureType.QUANTITIVE) { values[i] = Double.valueOf(featureSet.get(i).getValue()); }//from www .j a v a 2 s . c o m } // calculate median double median = StatUtils.geometricMean(values); // dispatch between policy defined and trained mean, prefer trained mean double expected = this.trainingDone ? trained : expectedByPolicy; return ProcedureResultMapper.map(median, expected, DistanceType.percent, Boundary.high, 25, 50); }
From source file:com.mycompany.supersimplestockmarket.StockMarket.java
public double calculateGBCEAllShareIndex() throws Exception { double allShareIndex = 0.0; // build list of all stock prices for stocks that had trades in last 15 minutes (i.e. non zero ones) ArrayList<Double> stockPrices = new ArrayList<>(); for (AbstractStock stock : stocks.values()) { double stockPrice = calculateVolumeWeightedStockPrice(stock.getStockSymbol()); if (stockPrice > 0.0) stockPrices.add(stockPrice); }// w ww . j av a2s.c o m // convert to array of double, and calculate geometric mean if (stockPrices.size() > 0) { double[] prices = new double[stockPrices.size()]; int i = 0; for (Double price : stockPrices) prices[i++] = price; allShareIndex = StatUtils.geometricMean(prices); } return allShareIndex; }
From source file:de.hshannover.f4.trust.irondetectprocedures.Median.java
@Override public void train(List<Feature> featureSet, List<Context> contextSet, Calendar start, Calendar end) { logger.trace("start training ..."); // get values from features // FIXME what if different types if features are used? double[] values = new double[featureSet.size()]; for (int i = 0; i < featureSet.size(); i++) { if (featureSet.get(i).getType().getTypeId() == FeatureType.QUANTITIVE) { values[i] = Double.valueOf(featureSet.get(i).getValue()); }/*w w w .j a va2 s. com*/ } // store as trained value this.trained = StatUtils.geometricMean(values); this.trainingDone = true; logger.trace("training was done. value is " + this.trained); }
From source file:com.jpmorgan.assgn.sss02mvn.service.StockTradeServiceImpl.java
@Override public double calculateGBCEAllShareIndex() throws Exception { double allShareIndex = 0.0; // Calculate stock price for all stock in the system Map<String, Stock> stocks = stockTradeRepository.getStocks(); ArrayList<Double> stockPrices = new ArrayList<Double>(); for (String stockSymbol : stocks.keySet()) { double stockPrice = calculateStockPrice(stockSymbol, 0); if (stockPrice > 0) { stockPrices.add(stockPrice); }/*from w w w .j a v a 2 s .co m*/ } if (stockPrices.size() >= 1) { double[] stockPricesArray = new double[stockPrices.size()]; for (int i = 0; i <= (stockPrices.size() - 1); i++) { // stockPricesArray[i] = stockPrices.get(i).doubleValue(); stockPricesArray[i] = stockPrices.get(i); } // Calculates the GBCE All Share Index allShareIndex = StatUtils.geometricMean(stockPricesArray); } return allShareIndex; }
From source file:tech.tablesaw.api.NumberColumnTest.java
@Test public void testSummarize() { IntColumn c = IntColumn.indexColumn("t", 99, 1); IntColumn c2 = c.copy();/*from w w w . j av a 2 s.com*/ c2.appendCell(""); double c2Variance = c2.variance(); double cVariance = StatUtils.variance(c.asDoubleArray()); assertEquals(cVariance, c2Variance, 0.00001); assertEquals(StatUtils.sumLog(c.asDoubleArray()), c2.sumOfLogs(), 0.00001); assertEquals(StatUtils.sumSq(c.asDoubleArray()), c2.sumOfSquares(), 0.00001); assertEquals(StatUtils.geometricMean(c.asDoubleArray()), c2.geometricMean(), 0.00001); assertEquals(StatUtils.product(c.asDoubleArray()), c2.product(), 0.00001); assertEquals(StatUtils.populationVariance(c.asDoubleArray()), c2.populationVariance(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getQuadraticMean(), c2.quadraticMean(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getStandardDeviation(), c2.standardDeviation(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getKurtosis(), c2.kurtosis(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getSkewness(), c2.skewness(), 0.00001); assertEquals(StatUtils.variance(c.asDoubleArray()), c.variance(), 0.00001); assertEquals(StatUtils.sumLog(c.asDoubleArray()), c.sumOfLogs(), 0.00001); assertEquals(StatUtils.sumSq(c.asDoubleArray()), c.sumOfSquares(), 0.00001); assertEquals(StatUtils.geometricMean(c.asDoubleArray()), c.geometricMean(), 0.00001); assertEquals(StatUtils.product(c.asDoubleArray()), c.product(), 0.00001); assertEquals(StatUtils.populationVariance(c.asDoubleArray()), c.populationVariance(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getQuadraticMean(), c.quadraticMean(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getStandardDeviation(), c.standardDeviation(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getKurtosis(), c.kurtosis(), 0.00001); assertEquals(new DescriptiveStatistics(c.asDoubleArray()).getSkewness(), c.skewness(), 0.00001); }