List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics getVariance
public double getVariance()
From source file:com.github.jessemull.microflex.stat.statbigdecimal.PopulationVarianceBigDecimalTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *///from ww w . j a va2 s .c o m @Test public void testAggregatedPlateIndices() { for (PlateBigDecimal plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.platesAggregated(plate, begin, end - begin, mc); for (WellBigDecimal well : plate) { resultList.addAll(well.data().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflex.stat.statbigdecimal.PopulationVarianceBigDecimalTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *//*from w w w. j a v a2s.c o m*/ @Test public void testAggregatedSetIndices() { for (PlateBigDecimal plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.setsAggregated(plate.dataSet(), begin, end - begin, mc); for (WellBigDecimal well : plate) { resultList.addAll(well.data().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflexbigdecimal.stat.PopulationVarianceTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *//*from ww w . j a va 2 s . co m*/ @Test public void testAggregatedPlateIndices() { for (Plate plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.platesAggregated(plate, begin, end - begin, mc); for (Well well : plate) { resultList.addAll(well.data().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflexbigdecimal.stat.PopulationVarianceTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *//* www.j a va 2 s . com*/ @Test public void testAggregatedSetIndices() { for (Plate plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.setsAggregated(plate.dataSet(), begin, end - begin, mc); for (Well well : plate) { resultList.addAll(well.data().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflex.stat.statbigdecimal.SampleVarianceBigDecimalWeightsTest.java
/** * Tests well calculation./*from w w w . j a va2 s .c o m*/ */ @Test public void testWell() { for (PlateBigDecimal plate : array) { for (WellBigDecimal well : plate) { double[] input = new double[well.size()]; int index = 0; for (BigDecimal bd : well) { input[index] = bd.doubleValue() * weights[index]; index++; } DescriptiveStatistics stat = new DescriptiveStatistics(input); double resultDouble = stat.getVariance(); BigDecimal returned = variance.well(well, weights, mc); BigDecimal result = new BigDecimal(resultDouble, mc); BigDecimal[] corrected = correctRoundingErrors(result, returned); assertEquals(corrected[0], corrected[1]); } } }
From source file:com.github.jessemull.microflexbigdecimal.stat.SampleVarianceWeightsTest.java
/** * Tests well calculation./* w w w. j a v a 2s .co m*/ */ @Test public void testWell() { for (Plate plate : array) { for (Well well : plate) { double[] input = new double[well.size()]; int index = 0; for (BigDecimal bd : well) { input[index] = bd.doubleValue() * weights[index]; index++; } DescriptiveStatistics stat = new DescriptiveStatistics(input); double resultDouble = stat.getVariance(); BigDecimal returned = variance.well(well, weights, mc); BigDecimal result = new BigDecimal(resultDouble, mc); BigDecimal[] corrected = correctRoundingErrors(result, returned); assertEquals(corrected[0], corrected[1]); } } }
From source file:com.github.jessemull.microflexbiginteger.stat.PopulationVarianceTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *//*from ww w. jav a 2 s . co m*/ @Test public void testAggregatedPlateIndices() { for (Plate plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.platesAggregated(plate, begin, end - begin, mc); for (Well well : plate) { resultList.addAll(well.toBigDecimal().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflexbiginteger.stat.PopulationVarianceTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *///from w w w .j a v a2s . c o m @Test public void testAggregatedSetIndices() { for (Plate plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.setsAggregated(plate.dataSet(), begin, end - begin, mc); for (Well well : plate) { resultList.addAll(well.toBigDecimal().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflex.stat.statbiginteger.PopulationVarianceBigIntegerTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *//*ww w . j a v a 2 s . co m*/ @Test public void testAggregatedPlateIndices() { for (PlateBigInteger plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.platesAggregated(plate, begin, end - begin, mc); for (WellBigInteger well : plate) { resultList.addAll(well.toBigDecimal().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }
From source file:com.github.jessemull.microflex.stat.statbiginteger.PopulationVarianceBigIntegerTest.java
/** * Tests the aggregated plate statistics method using the values between the indices. *///from w w w.j av a 2 s .c om @Test public void testAggregatedSetIndices() { for (PlateBigInteger plate : arrayIndices) { int size = arrayIndices[0].first().size(); int begin = random.nextInt(size - 5); int end = (begin + 4) + random.nextInt(size - (begin + 4) + 1); List<BigDecimal> resultList = new ArrayList<BigDecimal>(); BigDecimal aggregatedReturned = variance.setsAggregated(plate.dataSet(), begin, end - begin, mc); for (WellBigInteger well : plate) { resultList.addAll(well.toBigDecimal().subList(begin, end)); } double[] inputAggregated = new double[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { inputAggregated[i] = resultList.get(i).doubleValue(); } DescriptiveStatistics statAggregated = new DescriptiveStatistics(inputAggregated); double resultAggregatedDouble = statAggregated.getVariance(); resultAggregatedDouble *= resultList.size() - 1; resultAggregatedDouble /= resultList.size(); BigDecimal aggregatedResult = new BigDecimal(resultAggregatedDouble); BigDecimal[] corrected = correctRoundingErrors(aggregatedResult, aggregatedReturned); assertEquals(corrected[0], corrected[1]); } }