", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Erlang-5 dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gamma(4.5) dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gamma(0.5) dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gaussian(5, 2) dist:"); ", Variance is "+Utils.variance(varb)+"\n");
/** * AverageResults - Create a Result with the average of an array of Results * @param folds array of Results (e.g., from CV-validation) * @return A result reporting the average of these folds. */ public static Result averageResults(Result folds[]) { Result r = new Result(); // for info .. r.info = folds[0].info; // for output .. for(String metric : folds[0].output.keySet()) { double values[] = new double[folds.length]; for(int i = 0; i < folds.length; i++) { values[i] = folds[i].output.get(metric); } String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.info.put(metric,avg_sd); } // and now for 'vals' .. for(String metric : folds[0].vals.keySet()) { double values[] = new double[folds.length]; for(int i = 0; i < folds.length; i++) { values[i] = folds[i].vals.get(metric); } String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.info.put(metric,avg_sd); } r.setInfo("Type","CV"); return r; }
", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Erlang-5 dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gamma(4.5) dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gamma(0.5) dist:"); ", Variance is "+Utils.variance(varb)+ "\n\nGenerate "+n+" values with"+ " std. Gaussian(5, 2) dist:"); ", Variance is "+Utils.variance(varb)+"\n");
private void checkAccuracy(long var, long[] values, double tol) { double ref = Double.longBitsToDouble(var); double test = Utils.variance(convert(values)); assertEquals("Inaccurate variance calculation!", ref, test, Math.abs(tol*ref)); }
private void checkAccuracy(long var, long[] values, double tol) { double ref = Double.longBitsToDouble(var); double test = Utils.variance(convert(values)); assertEquals("Inaccurate variance calculation!", ref, test, Math.abs(tol*ref)); }
values[i] = (Double)folds[i].output.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.output.put(metric,avg_sd); values[i] = (Integer)folds[i].output.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.output.put(metric,avg_sd); values[i] = (Double)folds[i].vals.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.vals.put(metric,avg_sd);
values[i] = (Double)folds[i].output.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.output.put(metric,avg_sd); values[i] = (Integer)folds[i].output.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.output.put(metric,avg_sd); values[i] = (Double)folds[i].vals.get(metric); String avg_sd = Utils.doubleToString(Utils.mean(values),5,3)+" +/- "+Utils.doubleToString(Math.sqrt(Utils.variance(values)),5,3); r.vals.put(metric,avg_sd);
+ Utils.correlation(doubles, doubles, doubles.length)); System.out.println("Mean: " + Utils.mean(doubles)); System.out.println("Variance: " + Utils.variance(doubles)); System.out.println("Sum (doubles): " + Utils.sum(doubles)); System.out.println("Sum (ints): " + Utils.sum(ints));
+ Utils.correlation(doubles, doubles, doubles.length)); System.out.println("Mean: " + Utils.mean(doubles)); System.out.println("Variance: " + Utils.variance(doubles)); System.out.println("Sum (doubles): " + Utils.sum(doubles)); System.out.println("Sum (ints): " + Utils.sum(ints));
result.put(key + m_SuffixMean, Utils.mean(values.toArray())); if (!m_SkipStdDev) result.put(key + m_SuffixStdDev, Math.sqrt(Utils.variance(values.toArray())));
result.put(key + m_SuffixMean, Utils.mean(values.toArray())); if (!m_SkipStdDev) result.put(key + m_SuffixStdDev, Math.sqrt(Utils.variance(values.toArray())));
/** * Tests the accuracy and behavior of the {@link Utils.variance} method. */ public void testVariance() { assertTrue("Incorrect behaviour when count <= 1!", Double.isNaN(Utils.variance(new double[]{}))); assertTrue("Incorrect behaviour when count <= 1!", Double.isNaN(Utils.variance(new double[]{3}))); checkAccuracy(generatedVar1, generatedValues1); checkAccuracy(generatedVar2, generatedValues2, 1e-2); checkAccuracy(generatedVar3, generatedValues3); checkAccuracy(generatedVar4, generatedValues4); checkAccuracy(generatedVar5, generatedValues5); checkAccuracy(generatedVar6, generatedValues6, 2); checkAccuracy(generatedVar7, generatedValues7); checkAccuracy(generatedVar8, generatedValues8, 2); checkAccuracy(generatedVar9, generatedValues9); checkAccuracy(generatedVar10, generatedValues10); }
/** * Tests the accuracy and behavior of the {@link Utils.variance} method. */ public void testVariance() { assertTrue("Incorrect behaviour when count <= 1!", Double.isNaN(Utils.variance(new double[]{}))); assertTrue("Incorrect behaviour when count <= 1!", Double.isNaN(Utils.variance(new double[]{3}))); checkAccuracy(generatedVar1, generatedValues1); checkAccuracy(generatedVar2, generatedValues2, 1e-2); checkAccuracy(generatedVar3, generatedValues3); checkAccuracy(generatedVar4, generatedValues4); checkAccuracy(generatedVar5, generatedValues5); checkAccuracy(generatedVar6, generatedValues6, 2); checkAccuracy(generatedVar7, generatedValues7); checkAccuracy(generatedVar8, generatedValues8, 2); checkAccuracy(generatedVar9, generatedValues9); checkAccuracy(generatedVar10, generatedValues10); }
m_means[i] = m_trainInstances.meanOrMode(i); m_stdDevs[i] = Math.sqrt(Utils.variance(m_trainInstances.attributeToDoubleArray(i)));
m_means[i] = m_trainInstances.meanOrMode(i); m_stdDevs[i] = Math.sqrt(Utils.variance(m_trainInstances.attributeToDoubleArray(i)));