@Override protected void prepareComplete() { StringBuilder buf = LOG.isVerbose() ? new StringBuilder(300) : null; final int dimensionality = mvs.length; mean = new double[dimensionality]; stddev = new double[dimensionality]; if(buf != null) { buf.append("Normalization parameters: "); } for(int d = 0; d < dimensionality; d++) { mean[d] = mvs[d].getMean(); stddev[d] = mvs[d].getNaiveStddev(); stddev[d] = stddev[d] > Double.MIN_NORMAL ? stddev[d] : 1.; if(buf != null) { buf.append(" m: ").append(mean[d]).append(" v: ").append(stddev[d]); } } mvs = null; if(buf != null) { LOG.debugFine(buf.toString()); } }
@Override protected void prepareComplete() { StringBuilder buf = LOG.isVerbose() ? new StringBuilder(300) : null; final int dimensionality = mvs.length; mean = new double[dimensionality]; stddev = new double[dimensionality]; if(buf != null) { buf.append("Normalization parameters: "); } for(int d = 0; d < dimensionality; d++) { mean[d] = mvs[d].getMean(); stddev[d] = mvs[d].getNaiveStddev(); stddev[d] = stddev[d] > Double.MIN_NORMAL ? stddev[d] : 1.; if(buf != null) { buf.append(" m: ").append(mean[d]).append(" v: ").append(stddev[d]); } } mvs = null; if(buf != null) { LOG.debugFine(buf.toString()); } }
mv.put(i, forward.getValue()); mu1[i] = mv.getMean(); sigma1[i] = mv.getNaiveStddev(); mv.put(j, backwards.getValue()); mu2[j] = mv.getMean(); sigma2[j] = mv.getNaiveStddev();
if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev());
if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev());
final double globalZ = (relation.get(iditer).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev(); continue; localm.put((relation.get(iter).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev());
final double globalZ = (relation.get(iditer).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev(); continue; localm.put((relation.get(iter).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev());
final double globalZ = (relation.get(iditer).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev(); continue; localm.put((relation.get(iter).doubleValue(0) - globalmv.getMean()) / globalmv.getNaiveStddev());
if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev()); if(mvdist.getCount() > 0) { LOG.statistics("Mean k-distance: " + mvdist.getMean() + " +- " + mvdist.getNaiveStddev()); if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev()); if(mvdist.getCount() > 0) { LOG.statistics("Mean k-distance: " + mvdist.getMean() + " +- " + mvdist.getNaiveStddev());
@Test public void combine() { MeanVariance m1 = new MeanVariance(), m2 = new MeanVariance(); m1.put(new double[] { 1, 2, 3 }); m2.put(new double[] { 4, 5, 6, 7 }); MeanVariance m3 = new MeanVariance(m1); m3.put(m2); assertEquals("First mean", 2, m1.getMean(), 0.); assertEquals("First std", 1, m1.getSampleStddev(), 0.); assertEquals("Second mean", 5.5, m2.getMean(), 0.); assertEquals("Second std", Math.sqrt(1.25), m2.getNaiveStddev(), 0.); assertEquals("Third mean", 4, m3.getMean(), 0.); assertEquals("Third std", 4., m3.getNaiveVariance(), 0.); m2.put(new double[] { 1, 2, 3 }, new double[] { 4, 2, 1 }); assertEquals("Fourth mean", 3.0, m2.getMean(), 0); assertEquals("Fourth weight", 11, m2.getCount(), 0); assertEquals("Fourth stddev", 4.8, m2.getSampleVariance(), 0); }
final double stddev = mv.getNaiveStddev(); DoubleMinMax minmax = new DoubleMinMax(); for(DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) {
if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev());
final double stddev = mv.getNaiveStddev(); DoubleMinMax minmax = new DoubleMinMax(); for(DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) {
if(LOG.isStatistics()) { LOG.statistics("Result hashcode: " + hash); LOG.statistics("Mean number of results: " + mv.getMean() + " +- " + mv.getNaiveStddev());
final double stddev = mv.getNaiveStddev(); DoubleMinMax minmax = new DoubleMinMax(); for (DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) {
final double variance = mv.getNaiveStddev(); for(DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) { double score = Math.abs((scores.doubleValue(iditer) - mean) / variance);
final double variance = mv.getNaiveStddev(); for(DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) { double score = Math.abs((scores.doubleValue(iditer) - mean) / variance);
final double variance = mv.getNaiveStddev(); for(DBIDIter iditer = relation.iterDBIDs(); iditer.valid(); iditer.advance()) { double score = Math.abs((scores.doubleValue(iditer) - mean) / variance);
final double sigma_nhat_r_alpha = mv_n_r_alpha.getNaiveStddev();
final double sigma_nhat_r_alpha = mv_n_r_alpha.getNaiveStddev();