Java Code Examples for org.apache.commons.math3.stat.descriptive.moment.Mean#evaluate()
The following examples show how to use
org.apache.commons.math3.stat.descriptive.moment.Mean#evaluate() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HDF5PCACoveragePoNCreationUtilsUnitTest.java From gatk-protected with BSD 3-Clause "New" or "Revised" License | 6 votes |
@Test(dataProvider = "readCountOnlyWithDiverseShapeData") public void testCalculateReducedPanelAndPInversesUsingJollifesRule(final ReadCountCollection readCounts) { final JavaSparkContext ctx = SparkContextFactory.getTestSparkContext(); final ReductionResult result = HDF5PCACoveragePoNCreationUtils.calculateReducedPanelAndPInverses(readCounts, OptionalInt.empty(), NULL_LOGGER, ctx); final RealMatrix counts = readCounts.counts(); Assert.assertNotNull(result); Assert.assertNotNull(result.getPseudoInverse()); Assert.assertNotNull(result.getReducedCounts()); Assert.assertNotNull(result.getReducedPseudoInverse()); Assert.assertNotNull(result.getAllSingularValues()); Assert.assertEquals(counts.getColumnDimension(), result.getAllSingularValues().length); Assert.assertEquals(result.getReducedCounts().getRowDimension(), counts.getRowDimension()); final int eigensamples = result.getReducedCounts().getColumnDimension(); final Mean mean = new Mean(); final double meanSingularValue = mean.evaluate(result.getAllSingularValues()); final double threshold = HDF5PCACoveragePoNCreationUtils.JOLLIFES_RULE_MEAN_FACTOR * meanSingularValue; final int expectedEigensamples = (int) DoubleStream.of(result.getAllSingularValues()).filter(d -> d >= threshold).count(); Assert.assertTrue(eigensamples <= counts.getColumnDimension()); Assert.assertEquals(eigensamples, expectedEigensamples); assertPseudoInverse(counts, result.getPseudoInverse()); assertPseudoInverse(result.getReducedCounts(), result.getReducedPseudoInverse()); }
Example 2
Source File: UserProfileEigenModeler.java From Eagle with Apache License 2.0 | 6 votes |
private void computeStats(RealMatrix m){ if(m.getColumnDimension() != this.cmdTypes.length){ LOG.error("Please fix the commands list in config file"); return; } statistics = new UserCommandStatistics[m.getColumnDimension()]; for(int i=0; i<m.getColumnDimension(); i++){ UserCommandStatistics stats = new UserCommandStatistics(); stats.setCommandName(this.cmdTypes[i]); RealVector colData = m.getColumnVector(i); StandardDeviation deviation = new StandardDeviation(); double stddev = deviation.evaluate(colData.toArray()); //LOG.info("stddev is nan?" + (stddev == Double.NaN? "yes":"no")); if(stddev <= lowVarianceVal) stats.setLowVariant(true); else stats.setLowVariant(false); stats.setStddev(stddev); Mean mean = new Mean(); double mu = mean.evaluate(colData.toArray()); //LOG.info("mu is nan?" + (mu == Double.NaN? "yes":"no")); stats.setMean(mu); statistics[i] = stats; } }
Example 3
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws MathIllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 4
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws IllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws IllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 5
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws IllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws IllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 6
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws MathIllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 7
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws IllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws IllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 8
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws MathIllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 9
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws MathIllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 10
Source File: Covariance.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Computes the covariance between the two arrays. * * <p>Array lengths must match and the common length must be at least 2.</p> * * @param xArray first data array * @param yArray second data array * @param biasCorrected if true, returned value will be bias-corrected * @return returns the covariance for the two arrays * @throws MathIllegalArgumentException if the arrays lengths do not match or * there is insufficient data */ public double covariance(final double[] xArray, final double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException { Mean mean = new Mean(); double result = 0d; int length = xArray.length; if (length != yArray.length) { throw new MathIllegalArgumentException( LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); } else if (length < 2) { throw new MathIllegalArgumentException( LocalizedFormats.INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE, length, 2); } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { double xDev = xArray[i] - xMean; double yDev = yArray[i] - yMean; result += (xDev * yDev - result) / (i + 1); } } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; }
Example 11
Source File: Main.java From Java-for-Data-Science with MIT License | 5 votes |
public void usingApacheCommons() { // Using Apache Commons to find mean Mean mean = new Mean(); double average = mean.evaluate(testData); out.println("The mean is " + average); DescriptiveStatistics statTest = new SynchronizedDescriptiveStatistics(); for (double num : testData) { statTest.addValue(num); } out.println("The mean is " + statTest.getMean()); }
Example 12
Source File: UserProfileKDEModeler.java From Eagle with Apache License 2.0 | 5 votes |
private void computeStats(RealMatrix m){ if(m.getColumnDimension() != this.cmdTypes.length){ LOG.error("Please fix the commands list in config file"); } statistics = new UserCommandStatistics[m.getColumnDimension()]; for(int i=0; i<m.getColumnDimension(); i++){ UserCommandStatistics stats = new UserCommandStatistics(); stats.setCommandName(this.cmdTypes[i]); RealVector colData = m.getColumnVector(i); StandardDeviation deviation = new StandardDeviation(); double stddev = deviation.evaluate(colData.toArray()); if(LOG.isDebugEnabled()) LOG.debug("Stddev is NAN ? " + (Double.isNaN(stddev) ? "yes" : "no")); if(stddev <= lowVarianceVal) stats.setLowVariant(true); else stats.setLowVariant(false); stats.setStddev(stddev); Mean mean = new Mean(); double mu = mean.evaluate(colData.toArray()); if(LOG.isDebugEnabled()) LOG.debug("mu is NAN ? " + (Double.isNaN(mu)? "yes":"no")); stats.setMean(mu); statistics[i]=stats; } }
Example 13
Source File: AverageFromArray.java From levelup-java-examples with Apache License 2.0 | 5 votes |
@Test public void calculate_average_of_array_apache () { Mean mean = new Mean(); double average = mean.evaluate(NUMBERS); assertEquals(35.36363636363637, average, 0); }
Example 14
Source File: AverageFromList.java From levelup-java-examples with Apache License 2.0 | 5 votes |
@Test public void average_from_list_of_numbers_with_apache_commons () { double[] elements = ArrayUtils.toPrimitive( NUMBERS_FOR_AVERAGE.toArray(new Double[NUMBERS_FOR_AVERAGE.size()])); Mean mean = new Mean(); double average = mean.evaluate(elements); assertEquals(10, average, 0); }
Example 15
Source File: RandomInitHMM.java From HMMRATAC with GNU General Public License v3.0 | 4 votes |
private List<OpdfMultiGaussian> setVectorPDF(ArrayList<ObservationVector> obs){ List<OpdfMultiGaussian> opdf = new ArrayList<OpdfMultiGaussian>(); ObservationVector o = obs.get(0); int dim = o.dimension(); double[] means = new double[dim]; Mean mu = new Mean(); Variance v = new Variance(); double[] vars = new double[dim]; double[] vals = new double[obs.size()]; for (int i = 0;i < dim;i++){ for (int a = 0;a < obs.size();a++){ vals[a] = obs.get(a).value(i); } means[i] = mu.evaluate(vals, 0, vals.length); vars[i] = v.evaluate(vals); } double[][] Means = new double[numStates][dim]; double[][] Vars = new double[numStates][dim]; for (int i = 0; i < means.length;i++){ double mean = means[i]; double var = vars[i]; double sd = Math.sqrt(var); double meanLower = mean - (3.0*sd); double meanUpper = mean + (3.0*sd); double varLower = 0.5 * var; double varUpper = 3 * var; double meanStep = (meanUpper - meanLower) / ((double)numStates - 1); double varStep = (varUpper - varLower) / ((double) numStates - 1); //System.out.println((meanUpper-meanLower)+"\t"+meanStep); for(int a = 0;a < numStates;a++){ Means[a][i] = meanLower + (a * meanStep); Vars[a][i] = varLower + (a * varStep); //System.out.println(Means[a][i]); //System.out.println(Vars[a][i]); } } for (int i = 0;i < Means.length;i++){ //System.out.println(Means.length); double[][] cov = new double[dim][dim]; for (int a = 0;a < Means[i].length;a++){ //System.out.println(Means[i].length); cov[a][a] = Vars[i][a]; //System.out.println(cov[a][a]); } OpdfMultiGaussian pdf = new OpdfMultiGaussian(Means[i],cov); opdf.add(pdf); } return opdf; }