Esempio n. 1
0
  /**
   * Returns the pace6 estimate of a single value.
   *
   * @param x the value
   * @return the pace6 estimate
   */
  public double pace6(double x) {

    if (x > 100) return x; // pratical consideration. will modify later
    DoubleVector points = mixingDistribution.getPointValues();
    DoubleVector values = mixingDistribution.getFunctionValues();
    DoubleVector mean = points.sqrt();

    DoubleVector d = Maths.dchisqLog(x, points);
    d.minusEquals(d.max());
    d = d.map("java.lang.Math", "exp").timesEquals(values);
    double atilde = mean.innerProduct(d) / d.sum();
    return atilde * atilde;
  }