List of usage examples for org.apache.commons.math3.distribution RealDistribution inverseCumulativeProbability
double inverseCumulativeProbability(double p) throws OutOfRangeException;
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()); }