Example usage for org.apache.commons.math3.stat StatUtils geometricMean

List of usage examples for org.apache.commons.math3.stat StatUtils geometricMean

Introduction

In this page you can find the example usage for org.apache.commons.math3.stat StatUtils geometricMean.

Prototype

public static double geometricMean(final double[] values) throws MathIllegalArgumentException 

Source Link

Document

Returns the geometric mean of the entries in the input array, or Double.NaN if the array is empty.

Usage

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);
}