Example usage for org.apache.commons.math.stat.descriptive.moment StandardDeviation StandardDeviation

List of usage examples for org.apache.commons.math.stat.descriptive.moment StandardDeviation StandardDeviation

Introduction

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

Prototype

public StandardDeviation() 

Source Link

Document

Constructs a StandardDeviation.

Usage

From source file:com.test.zmisc.App.java

public static void main(String[] args) {
    double[] a = new double[32768];
    double[] b = new double[32768];

    ThreadLocalRandom rand = ThreadLocalRandom.current();

    for (int i = 0; i < a.length; i++) {
        a[i] = rand.nextDouble();//from  ww w .  j  a v a 2s  . co  m
        b[i] = a[i];
    }

    long ts = System.currentTimeMillis();
    PearsonsCorrelation corr = new PearsonsCorrelation();
    corr.correlation(a, b);
    ts = System.currentTimeMillis() - ts;
    System.out.println("Time elapsed:" + ts + "ms");

    // standard deviation is the sqrt(mean((X-avg)^2))

    ts = System.currentTimeMillis();
    double amean = average(a);
    double aStdDev = standardDeviation(a, amean);

    StandardDeviation sd = new StandardDeviation();
    sd.setBiasCorrected(false);

    double bmean = average(b);
    double bStdDev = standardDeviation(b, bmean);

    double cor = (covariance(a, aStdDev, b, bmean)) / (aStdDev * bStdDev);
    ts = System.currentTimeMillis() - ts;
    System.out.println("Time elapsed:" + ts + "ms");
}

From source file:com.discursive.jccook.math.StatExample.java

public static void main(String[] args) {
    double[] values = new double[] { 2.3, 5.4, 6.2, 7.3, 23.3 };

    System.out.println("min: " + StatUtils.min(values));
    System.out.println("max: " + StatUtils.max(values));
    System.out.println("mean: " + StatUtils.mean(values));
    System.out.println("product: " + StatUtils.product(values));
    System.out.println("sum: " + StatUtils.sum(values));
    System.out.println("variance: " + StatUtils.variance(values));

    // Measures from previous example
    Min min = new Min();
    System.out.println("min: " + min.evaluate(values));
    Max max = new Max();
    System.out.println("max: " + max.evaluate(values));
    Mean mean = new Mean();
    System.out.println("mean: " + mean.evaluate(values));
    Product product = new Product();
    System.out.println("product: " + product.evaluate(values));
    Sum sum = new Sum();
    System.out.println("sum: " + sum.evaluate(values));
    Variance variance = new Variance();
    System.out.println("variance: " + variance.evaluate(values));

    // New measures
    Percentile percentile = new Percentile();
    System.out.println("80 percentile value: " + percentile.evaluate(values, 80.0));
    GeometricMean geoMean = new GeometricMean();
    System.out.println("geometric mean: " + geoMean.evaluate(values));
    StandardDeviation stdDev = new StandardDeviation();
    System.out.println("standard dev: " + stdDev.evaluate(values));
    Skewness skewness = new Skewness();
    System.out.println("skewness: " + skewness.evaluate(values));
    Kurtosis kurtosis = new Kurtosis();
    System.out.println("kurtosis: " + kurtosis.evaluate(values));

}

From source file:edu.harvard.med.screensaver.analysis.ZScoreFunction.java

public void initializeAggregates(Collection<Double> valuesToNormalizeOverController) {
    ResizableDoubleArray tmpDoubleValues = new ResizableDoubleArray();
    for (Double value : valuesToNormalizeOverController) {
        tmpDoubleValues.addElement(value);
    }//w w w  . j  a v a2  s.co m
    _stdDev = new StandardDeviation().evaluate(tmpDoubleValues.getElements());
    _mean = new Mean().evaluate(tmpDoubleValues.getElements());
    _initialized = true;
}

From source file:ch.ethz.bsse.quasirecomb.informationholder.ModelSelectionBootstrapStorage.java

public SelectionResultBootstrap(Collection<Double> bics) {
    List<Double> list = new ArrayList<>(bics);
    double[] bicsTmp = new double[list.size()];
    for (int i = 0; i < list.size(); i++) {
        bicsTmp[i] = list.get(i);// ww w  . j a va  2  s .  c o m
    }
    this.median = new Median().evaluate(bicsTmp);
    this.lowerBound = median - new StandardDeviation().evaluate(bicsTmp) * Math.sqrt(1 + 1d / bicsTmp.length);
}

From source file:musite.prediction.feature.disorder.DisorderTest.java

@Test
public void extractMean() throws IOException {
    //         String xml = "testData/musite-test.xml";
    String xml = "data/Uniprot/uniprot_sprot.201009.ptm.musite.with.disorder.xml";

    ProteinsXMLReader reader = DisorderUtil.getDisorderXMLReader();
    Proteins proteins = MusiteIOUtil.read(reader, xml);

    TTest ttest = new TTestImpl();
    StandardDeviation std = new StandardDeviation();

    Map<AminoAcid, double[]> mapAAScores = new EnumMap<AminoAcid, double[]>(AminoAcid.class);
    for (AminoAcid aa : AminoAcid.values()) {
        List<Double> scores = new ArrayList<Double>();
        Iterator<Protein> it = proteins.proteinIterator();
        while (it.hasNext()) {
            Protein protein = it.next();
            List<Double> dis = DisorderUtil.extractDisorder(protein, aa);
            if (dis != null)
                scores.addAll(dis);//from w w  w.j  a v  a2 s  .  co  m
        }
        mapAAScores.put(aa, list2array(scores));
        //            System.out.print(aa.toString()+":");
        //            System.out.println(""+average(scores)+"("+scores.size()+")");
    }

    Map<String, AminoAcid> mapKeyAA = getMapKeywordAminoAcid();

    for (PTM ptm : PTM.values()) {
        Set<String> keywords = ptm.getUniprotKeywords();
        for (String keyword : keywords) {
            AnnotationFilter filter = ResidueAnnotationUtil.createAnnotationFilter("keyword",
                    Collections.singleton(keyword), true);

            double[] scores;
            {
                List<Double> list = new ArrayList<Double>();
                Iterator<Protein> it = proteins.proteinIterator();
                while (it.hasNext()) {
                    Protein protein = it.next();
                    List<Double> dis = DisorderUtil.extractDisorder(protein, ptm, filter);
                    if (dis != null)
                        list.addAll(dis);
                }
                scores = list2array(list);
            }

            System.out.print(ptm.toString());
            System.out.print("\t" + keyword);
            if (scores.length == 0)
                System.out.println("\tno_site");
            else {
                System.out.print("\t" + scores.length);
                double mean = StatUtils.mean(scores);
                System.out.print("\t" + mean);
                System.out.print("\t" + std.evaluate(scores, mean));

                AminoAcid aa = mapKeyAA.get(keyword);
                double[] bg = mapAAScores.get(aa);
                System.out.print("\t" + aa.toString());
                System.out.print("\t" + bg.length);
                mean = StatUtils.mean(bg);
                System.out.print("\t" + mean);
                System.out.print("\t" + std.evaluate(bg, mean));

                double pvalue = -1.0;
                try {
                    pvalue = ttest.tTest(scores, bg);
                } catch (Exception e) {
                    //                        e.printStackTrace();
                }

                if (pvalue != -1.0)
                    System.out.print("\t" + pvalue);

                System.out.println();
            }
        }
    }
}

From source file:ch.ethz.bsse.quasirecomb.model.hmm.EM.java

private void blackbox(Read[] reads, int N, int L, int K, int n) {
    Globals.getINSTANCE().setLOG(new StringBuilder());
    Globals.getINSTANCE().setMAX_LLH(-1);
    Globals.getINSTANCE().setMIN_BIC(Double.MAX_VALUE);
    String pathOptimum = null;//from  www .  j a v a2s  .  co  m
    if (K == 1 || Globals.getINSTANCE().isFORCE_NO_RECOMB()) {
        Globals.getINSTANCE().setNO_RECOMB(true);
    } else {
        Globals.getINSTANCE().setNO_RECOMB(false);
    }
    if (Globals.getINSTANCE().getOPTIMUM() == null) {
        double maxLLH = Double.NEGATIVE_INFINITY;
        bics = new Double[Globals.getINSTANCE().getREPEATS()];
        double[] bics_local = new double[Globals.getINSTANCE().getREPEATS()];
        for (int i = 0; i < Globals.getINSTANCE().getREPEATS(); i++) {
            SingleEM sem = new SingleEM(N, K, L, n, reads, Globals.getINSTANCE().getDELTA_LLH(), i);
            bics_local[i] = sem.getOptimalResult().getBIC();
            bics[i] = sem.getOptimalResult().getBIC();
            this.maxBIC = Math.max(this.maxBIC, sem.getOptimalResult().getBIC());
            if (sem.getLoglikelihood() > maxLLH) {
                maxLLH = sem.getLoglikelihood();
                pathOptimum = sem.getOptimumPath();
            }
        }
        medianBIC = new Median().evaluate(bics_local);
        lowerBoundBIC = medianBIC
                - new StandardDeviation().evaluate(bics_local) * Math.sqrt(1 + 1d / bics_local.length);
    } else {
        pathOptimum = Globals.getINSTANCE().getOPTIMUM();
    }
    if (Globals.getINSTANCE().isMODELSELECTION()) {
        try {
            FileInputStream fis = new FileInputStream(pathOptimum);
            try (ObjectInputStream in = new ObjectInputStream(fis)) {
                or = (OptimalResult) in.readObject();
            }
        } catch (IOException | ClassNotFoundException ex) {
            System.err.println(ex);
        }
        StatusUpdate.getINSTANCE().printBIC(K, (int) or.getBIC());
    } else {
        try {
            FileInputStream fis = new FileInputStream(pathOptimum);
            try (ObjectInputStream in = new ObjectInputStream(fis)) {
                or = (OptimalResult) in.readObject();
            }
        } catch (IOException | ClassNotFoundException ex) {
            System.err.println(ex);
        }

        StatusUpdate.getINSTANCE().printBIC(K, (int) or.getBIC());
        System.out.print("\n");
        if (!Globals.getINSTANCE().isSUBSAMPLE()) {
            //            Globals.getINSTANCE().setREFINEMENT(true);
            if (!Globals.getINSTANCE().isANNEALING()) {
                SingleEM bestEM = new SingleEM(or, Globals.getINSTANCE().getDELTA_REFINE_LLH(), reads);
                this.or = bestEM.getOptimalResult();
            }
            StatusUpdate.getINSTANCE().printBIC(K, 100, (int) this.or.getBIC());
            if (Globals.getINSTANCE().isLOGGING()) {
                Utils.saveFile(Globals.getINSTANCE().getSAVEPATH() + "support" + File.separator + "log_K" + K,
                        Globals.getINSTANCE().getLOG().toString());
            }
        }
    }
}

From source file:jsprit.core.algorithm.acceptor.SchrimpfInitialThresholdGenerator.java

@Override
public void informAlgorithmStarts(VehicleRoutingProblem problem, VehicleRoutingAlgorithm algorithm,
        Collection<VehicleRoutingProblemSolution> solutions) {
    logger.info("prepare schrimpfAcceptanceFunction, i.e. determine initial threshold");
    double now = System.currentTimeMillis();

    /*//from  ww w.j a  v  a2  s  .  c  om
       * randomWalk to determine standardDev
     */
    final double[] results = new double[nOfRandomWalks];

    URL resource = Resource.getAsURL("randomWalk.xml");
    AlgorithmConfig algorithmConfig = new AlgorithmConfig();
    new AlgorithmConfigXmlReader(algorithmConfig).read(resource);
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.createAlgorithm(problem, algorithmConfig);
    vra.setMaxIterations(nOfRandomWalks);
    vra.getAlgorithmListeners().addListener(new IterationEndsListener() {

        @Override
        public void informIterationEnds(int iteration, VehicleRoutingProblem problem,
                Collection<VehicleRoutingProblemSolution> solutions) {
            double result = Solutions.bestOf(solutions).getCost();
            //            logger.info("result={}", result);
            results[iteration - 1] = result;
        }

    });
    vra.searchSolutions();

    StandardDeviation dev = new StandardDeviation();
    double standardDeviation = dev.evaluate(results);
    double initialThreshold = standardDeviation / 2;

    schrimpfAcceptance.setInitialThreshold(initialThreshold);

    logger.info("took {} seconds", ((System.currentTimeMillis() - now) / 1000.0));
    logger.debug("initial threshold: {}", initialThreshold);
    logger.info("---------------------------------------------------------------------");
}

From source file:net.sf.jdmf.util.MathCalculator.java

/**
 * Calculates the standard deviation of all attribute values.
 * /*w  w w . ja va  2s  .  c om*/
 * @param attributeValues attribute values
 * @return the standard deviation
 */
public Double calculateStandardDeviation(Comparable[] attributeValues, Double mean) {
    StandardDeviation standardDeviation = new StandardDeviation();

    Double evaluatedStdDev = standardDeviation.evaluate(convertToPrimitives(attributeValues), mean);

    log.debug("standardDeviation( " + mean + " ) = " + evaluatedStdDev);

    return evaluatedStdDev;
}

From source file:com.foundationdb.server.store.statistics.histograms.BucketSampler.java

BucketSampler(int maxSize, long estimatedInputs, boolean calculateStandardDeviation) {
    if (maxSize < 1)
        throw new IllegalArgumentException("max must be at least 1");
    if (estimatedInputs < 0)
        throw new IllegalArgumentException("estimatedInputs must be non-negative: " + estimatedInputs);
    this.maxSize = maxSize;
    this.estimatedInputs = estimatedInputs;
    this.buckets = new ArrayList<>(maxSize + 1);
    this.stdDev = calculateStandardDeviation ? new StandardDeviation() : null;
    computeMedianPointBoundaries(maxSize);
}

From source file:com.linkedin.pinot.transport.common.routing.RandomRoutingTableTest.java

@Test
public void testHelixExternalViewBasedRoutingTable() throws Exception {
    String tableName = "testTable_OFFLINE";
    String fileName = RandomRoutingTableTest.class.getClassLoader().getResource("SampleExternalView.json")
            .getFile();/*from  w  w w .  jav  a 2  s .co m*/
    System.out.println(fileName);
    InputStream evInputStream = new FileInputStream(fileName);
    ZNRecordSerializer znRecordSerializer = new ZNRecordSerializer();
    ZNRecord externalViewRecord = (ZNRecord) znRecordSerializer.deserialize(IOUtils.toByteArray(evInputStream));
    int totalRuns = 10000;
    RoutingTableBuilder routingStrategy = new BalancedRandomRoutingTableBuilder(10);
    HelixExternalViewBasedRouting routingTable = new HelixExternalViewBasedRouting(null, null);
    Field offlineRTBField = HelixExternalViewBasedRouting.class.getDeclaredField("_offlineRoutingTableBuilder");
    offlineRTBField.setAccessible(true);
    offlineRTBField.set(routingTable, routingStrategy);

    ExternalView externalView = new ExternalView(externalViewRecord);

    routingTable.markDataResourceOnline(tableName, externalView, getInstanceConfigs(externalView));

    double[] globalArrays = new double[9];

    for (int numRun = 0; numRun < totalRuns; ++numRun) {
        RoutingTableLookupRequest request = new RoutingTableLookupRequest(tableName);
        Map<ServerInstance, SegmentIdSet> serversMap = routingTable.findServers(request);
        TreeSet<ServerInstance> serverInstances = new TreeSet<ServerInstance>(serversMap.keySet());

        int i = 0;

        double[] arrays = new double[9];
        for (ServerInstance serverInstance : serverInstances) {
            globalArrays[i] += serversMap.get(serverInstance).getSegments().size();
            arrays[i++] = serversMap.get(serverInstance).getSegments().size();
        }
        for (int j = 0; i < arrays.length; ++j) {
            Assert.assertTrue(arrays[j] / totalRuns <= 31);
            Assert.assertTrue(arrays[j] / totalRuns >= 28);
        }
        //System.out.println(Arrays.toString(arrays) + " : " + new StandardDeviation().evaluate(arrays) + " : " + new Mean().evaluate(arrays));
    }
    for (int i = 0; i < globalArrays.length; ++i) {
        Assert.assertTrue(globalArrays[i] / totalRuns <= 31);
        Assert.assertTrue(globalArrays[i] / totalRuns >= 28);
    }
    System.out.println(Arrays.toString(globalArrays) + " : " + new StandardDeviation().evaluate(globalArrays)
            + " : " + new Mean().evaluate(globalArrays));
}