Example usage for org.apache.commons.math3.distribution RealDistribution inverseCumulativeProbability

List of usage examples for org.apache.commons.math3.distribution RealDistribution inverseCumulativeProbability

Introduction

In this page you can find the example usage for org.apache.commons.math3.distribution RealDistribution inverseCumulativeProbability.

Prototype

double inverseCumulativeProbability(double p) throws OutOfRangeException;

Source Link

Document

Computes the quantile function of this distribution.

Usage

From source file:lirmm.inria.fr.math.TestUtils.java

/**
 * Computes the 25th, 50th and 75th percentiles of the given distribution and returns
 * these values in an array.//from  ww w  .  j a  v a  2  s  .co  m
 */
public static double[] getDistributionQuartiles(RealDistribution distribution) {
    double[] quantiles = new double[3];
    quantiles[0] = distribution.inverseCumulativeProbability(0.25d);
    quantiles[1] = distribution.inverseCumulativeProbability(0.5d);
    quantiles[2] = distribution.inverseCumulativeProbability(0.75d);
    return quantiles;
}

From source file:it.cnr.jatecs.indexing.tsr.ConfWeight.java

private ConfidenceInterval p(int xt, int n) {
    //this Z value is the result of phi.inverseCumulativeProbability(0.5+0.95/2.0);
    //on a normally distributed prob. mass function N(0,1)
    double Z2 = 3.84;
    RealDistribution phi = null;
    if (n < 30) {
        //the # degrees of freedom of a t-student is n-1
        //in the article is not specified what happens if n=1
        //I will here assume it becomes 1
        int degrees_freedom = Math.max(n - 1, 1);
        phi = new TDistribution(degrees_freedom);

        //Z for confindence interval of 0.95
        double Z = phi.inverseCumulativeProbability(0.5 + 0.95 / 2.0);
        Z2 = Z * Z;//from  www .  j  ava2  s  . c om
    }

    double p = (xt + 0.5 * Z2) / (n + Z2);

    double amplitude = 0.5 * Z2 * Math.sqrt((p * (1.0 - p)) / (n + Z2));

    ConfidenceInterval interval = new ConfidenceInterval();
    interval.center = p;
    interval.amplitude = amplitude;
    interval.range_min = p - amplitude;
    interval.range_max = p + amplitude;

    return interval;
}

From source file:prm4jeval.dataanalysis.ConfidenceInterval.java

public static double getConfidenceIntervalWidth(StatisticalSummary summaryStatistics, double significance) {
    RealDistribution tDist = new TDistribution(summaryStatistics.getN() - 1);
    double t = tDist.inverseCumulativeProbability(1.0 - significance / 2);
    return 2 * t * summaryStatistics.getStandardDeviation() / Math.sqrt(summaryStatistics.getN());
}