List of usage examples for org.apache.commons.math.distribution IntegerDistribution inverseCumulativeProbability
int inverseCumulativeProbability(double p) throws MathException;
From source file:org.apache.mahout.clustering.lda.TestLDAInference.java
/** * Generate random document vector/*from w ww .java2 s .c om*/ * * @param numWords * int number of words in the vocabulary * @param numWords * E[count] for each word */ private Vector generateRandomDoc(int numWords, double sparsity) throws MathException { Vector v = new DenseVector(numWords); IntegerDistribution dist = new PoissonDistributionImpl(sparsity); for (int i = 0; i < numWords; i++) { // random integer v.setQuick(i, dist.inverseCumulativeProbability(random.nextDouble()) + 1); } return v; }
From source file:org.apache.mahout.clustering.lda.TestMapReduce.java
/** * Generate random document vector/*from w w w . j a v a 2 s . c o m*/ * @param numWords int number of words in the vocabulary * @param numWords E[count] for each word */ private RandomAccessSparseVector generateRandomDoc(int numWords, double sparsity) throws MathException { RandomAccessSparseVector v = new RandomAccessSparseVector(numWords, (int) (numWords * sparsity)); IntegerDistribution dist = new PoissonDistributionImpl(sparsity); for (int i = 0; i < numWords; i++) { // random integer v.set(i, dist.inverseCumulativeProbability(random.nextDouble()) + 1); } return v; }
From source file:org.renjin.Distributions.java
private static double q(IntegerDistribution dist, double p, boolean lowerTail, boolean logP) { if (logP) {//from w w w . j a v a2 s . c o m p = Math.exp(p); } double q = 0; try { q = dist.inverseCumulativeProbability(p); } catch (IllegalArgumentException e) { return Double.NaN; } catch (MathException e) { return Double.NaN; } catch (MathRuntimeException e) { return Double.NaN; } if (!lowerTail) { q = -q; } return q; }