|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.omegahat.Probability.Distributions.DistributionFunctions
(C) Copyright B. Narasimhan (naras@stat.stanford.edu) $Revision: 1.1.1.1 $ of $Date: 2001/04/04 17:16:51 $
Field Summary | |
private static double |
a0
|
private static double |
a1
|
private static double |
a2
|
private static double |
a3
|
private static double |
aa
|
private static double |
b1
|
private static double |
b2
|
private static double |
b3
|
private static double |
b4
|
private static double |
c1
|
private static double |
c10
|
private static double |
c11
|
private static double |
c12
|
private static double |
c13
|
private static double |
c14
|
private static double |
c15
|
private static double |
c16
|
private static double |
c17
|
private static double |
c18
|
private static double |
c19
|
private static double |
c2
|
private static double |
c20
|
private static double |
c21
|
private static double |
c22
|
private static double |
c23
|
private static double |
c24
|
private static double |
c25
|
private static double |
c26
|
private static double |
c27
|
private static double |
c28
|
private static double |
c29
|
private static double |
c3
|
private static double |
c30
|
private static double |
c31
|
private static double |
c32
|
private static double |
c33
|
private static double |
c34
|
private static double |
c35
|
private static double |
c36
|
private static double |
c37
|
private static double |
c38
|
private static double |
c4
|
private static double |
c5
|
private static double |
c6
|
private static double |
c7
|
private static double |
c8
|
private static double |
c9
|
private static double |
cc0
|
private static double |
cc1
|
private static double |
cc2
|
private static double |
cc3
|
private static double |
COF1
|
private static double |
COF2
|
private static double |
COF3
|
private static double |
COF4
|
private static double |
COF5
|
private static double |
COF6
|
private static double |
d1
|
private static double |
d2
|
private static double |
e
|
private static double |
EPSILON
|
private static double |
five
|
private static double |
four
|
protected double |
geometricRand_beta
|
protected double |
geometricRand_last_p
|
private static double |
half
|
private static double |
HALF_PI
|
private static int |
ITMAX
|
private static double |
LARGE_A
|
private static long |
MASK
|
private static double |
one
|
private static double |
pmax
|
private static double |
pmin
|
private static double |
sae
|
private static long |
seedi
|
private static long |
seedj
|
private static double |
six
|
private static double |
split
|
private static double |
three
|
private static double |
TOL
|
private static double |
two
|
private static double |
TWOVRPI
|
private static double |
vm_epsilon
|
private static double |
zero
|
Constructor Summary | |
DistributionFunctions()
|
Method Summary | |
int |
bernoulliRand(double p)
|
double |
betaCDF(double x,
double pin,
double qin)
Incomplete Beta function. |
double |
betaPDF(double x,
double a,
double b)
|
double |
betaQuantile(double alpha,
double p,
double q)
xinbta.f -- translated by f2c and modified |
double |
betaRand(double a,
double b)
|
double |
binomialCDF(int k,
int n,
double p)
|
double |
binomialPMF(int k,
int n,
double p)
|
int |
binomialQuantile(double x,
int n,
double p)
|
int |
binomialRand(int n,
double pp)
Binomial random generator from Numerical Recipes |
double |
cauchyCDF(double x)
|
double |
cauchyPDF(double x)
|
double |
cauchyQuantile(double x)
|
double |
cauchyRand()
|
double |
chisqCDF(double x,
double df)
|
double |
chisqPDF(double x,
double v)
|
double |
chisqQuantile(double p,
double v)
ppchi2.f -- translated by f2c and modified |
double |
chisqRand(double df)
|
private double |
chyper(boolean point,
int kk,
int ll,
int mm,
int nn)
This routine has problems. |
double |
dirichletPDF(double[] x,
double[] a)
|
double[] |
dirichletRand(double[] a)
|
double |
exponentialRand()
Inverse CDF method for generating exponential( 1 ) random number. |
double |
exponentialRand(double beta)
Inverse CDF method for generating exponential( beta ) random number. |
double |
fCDF(double x,
double df1,
double df2)
|
double |
fPDF(double x,
double a,
double b)
|
double |
fQuantile(double p,
double df1,
double df2)
|
double |
fRand(double ndf,
double ddf)
|
double |
gammaCDF(double a,
double x)
|
double |
gammaPDF(double x,
double a)
|
double |
gammaQuantile(double a,
double p)
|
double |
gammaRand(double a)
|
private double |
gcf(double a,
double x,
double gln)
compute complementary gamma cdf by its continued fraction expansion |
double |
geometricCDF(int x,
double p)
|
double |
geometricPMF(int x,
double p)
|
int |
geometricQuantile(double x,
double p)
|
int |
geometricRand(double p)
Generate a geometric random value with trial probability p. |
private double |
gnorm(double a,
double x)
Compute gamma cdf by a normal approximation |
private double |
gser(double a,
double x,
double gln)
compute gamma cdf by its series representation |
double |
hypergeometricCDF(int numberOfMarkedSampleItems,
int sampleSize,
int numberOfMarkedPopulationItems,
int populationSize)
|
double |
hypergeometricPMF(int numberOfMarkedSampleItems,
int sampleSize,
int numberOfMarkedPopulationItems,
int populationSize)
|
double |
lngamma(double xx)
Log gamma function from Numerical Recipes |
double |
logbeta(double p,
double q)
Log Beta function. |
double |
macheps()
Virtual Machine Epsilon. |
static double |
normalCDF(double y)
Normal Distribution Cumulative Distribution function. |
double |
normalPDF(double x)
|
double |
normalQuantile(double p)
Standard-Normal Quantile Function |
double |
normalRand()
Normal Random Generator |
double |
poissonCDF(int k,
double y)
|
double |
poissonPMF(int k,
double lambda)
|
int |
poissonQuantile(double x,
double l)
|
int |
poissonRand(double xm)
Poisson random generator from Numerical Recipes |
double |
tCDF(double x,
double df)
CACM Algorithm 395, by G. |
double |
tPDF(double x,
double a)
|
double |
tQuantile(double pp,
double n)
CACM Algorithm 396, by G. |
double |
tRand(double df)
|
double |
uniformRand()
|
void |
uniformSeeds(long a,
long b)
|
Methods inherited from class java.lang.Object |
|
Field Detail |
private static double vm_epsilon
private static final double COF1
private static final double COF2
private static final double COF3
private static final double COF4
private static final double COF5
private static final double COF6
private static final double EPSILON
private static final double LARGE_A
private static final int ITMAX
private static final double TWOVRPI
private static final double HALF_PI
private static final double TOL
private static final double sae
private static final double zero
private static final double one
private static final double two
private static final double three
private static final double four
private static final double five
private static final double six
private static final double aa
private static final double c1
private static final double c2
private static final double c3
private static final double c4
private static final double c5
private static final double c6
private static final double c7
private static final double c8
private static final double c9
private static final double e
private static final double c10
private static final double c11
private static final double c12
private static final double c13
private static final double c14
private static final double c15
private static final double c16
private static final double c17
private static final double c18
private static final double c19
private static final double c20
private static final double c21
private static final double c22
private static final double c23
private static final double c24
private static final double c25
private static final double c26
private static final double c27
private static final double c28
private static final double c29
private static final double c30
private static final double c31
private static final double c32
private static final double c33
private static final double c34
private static final double c35
private static final double c36
private static final double c37
private static final double c38
private static final double half
private static final double pmin
private static final double pmax
private static final double split
private static final double a0
private static final double a1
private static final double a2
private static final double a3
private static final double b1
private static final double b2
private static final double b3
private static final double b4
private static final double cc0
private static final double cc1
private static final double cc2
private static final double cc3
private static final double d1
private static final double d2
private static final long MASK
private static long seedi
private static long seedj
protected double geometricRand_last_p
protected double geometricRand_beta
Constructor Detail |
public DistributionFunctions()
Method Detail |
public static double normalCDF(double y)
public double macheps()
public double lngamma(double xx)
public double logbeta(double p, double q)
public double betaCDF(double x, double pin, double qin)
Translated from FORTRAN
july 1977 edition. w. fullerton, c3, los alamos scientific lab. based on bosten and battiste, remark on algorithm 179, comm. acm, v 17, p 153, (1974).
x
- upper limit of integration. x must be in (0,1) inclusive.p
- first beta distribution parameter. p must be gt 0.0.q
- second beta distribution parameter. q must be gt 0.0.public double binomialCDF(int k, int n, double p)
public double cauchyCDF(double x)
public double fCDF(double x, double df1, double df2)
private double gnorm(double a, double x)
From Numerical Recipes, with normal approximation from Appl. Stat. 239
private double gser(double a, double x, double gln)
private double gcf(double a, double x, double gln)
public double gammaCDF(double a, double x)
public double chisqCDF(double x, double df)
public double poissonCDF(int k, double y)
public double tCDF(double x, double df)
public double betaQuantile(double alpha, double p, double q)
algorithm as 109 appl. statist. (1977), vol.26, no.1 (replacing algorithm as 64 appl. statist. (1973), vol.22, no.3)
Remark AS R83 has been incorporated in this version.
Computes inverse of the incomplete beta function ratio for given positive values of the arguments p and q, alpha between zero and one. log of complete beta function, beta, is assumed to be known.
Auxiliary function required: binc
SAE below is the most negative decimal exponent which does not cause an underflow; a value of -308 or thereabouts will often be
public int binomialQuantile(double x, int n, double p)
public double cauchyQuantile(double x)
public double chisqQuantile(double p, double v)
Algorithm AS 91 Appl. Statist. (1975) Vol.24, P.35 To evaluate the percentage points of the chi-squared probability distribution function.
p
- must lie in the range 0.000002 to 0.999998,
(but I am using it for 0 < p < 1 - seems to work)v
- must be positive,g
- must be supplied and should be equal to ln(gamma(v/2.0))
Auxiliary routines required: ppnd = AS 111 (or AS 241) and gammad.public double fQuantile(double p, double df1, double df2)
public double gammaQuantile(double a, double p)
public double normalQuantile(double p)
Algorithm as 111 Applied statistics (1977), vol 26 no 1 page 121 Produces normal deviate corresponding to lower tail area of p the hash sums are the sums of the moduli of the coefficients they nave no inherent meanings but are incuded for use in checking transcriptions. Functions abs,alog and sqrt are used.
public int poissonQuantile(double x, double l)
public double tQuantile(double pp, double n)
public double betaPDF(double x, double a, double b)
public double binomialPMF(int k, int n, double p)
public double cauchyPDF(double x)
public double chisqPDF(double x, double v)
public double fPDF(double x, double a, double b)
public double dirichletPDF(double[] x, double[] a)
public double gammaPDF(double x, double a)
public double normalPDF(double x)
public double poissonPMF(int k, double lambda)
public double tPDF(double x, double a)
public void uniformSeeds(long a, long b)
public double uniformRand()
public int bernoulliRand(double p)
public int poissonRand(double xm)
public int binomialRand(int n, double pp)
public double normalRand()
public double cauchyRand()
public double[] dirichletRand(double[] a)
public double gammaRand(double a)
public double chisqRand(double df)
public double tRand(double df)
public double betaRand(double a, double b)
public double fRand(double ndf, double ddf)
public double hypergeometricCDF(int numberOfMarkedSampleItems, int sampleSize, int numberOfMarkedPopulationItems, int populationSize)
public double hypergeometricPMF(int numberOfMarkedSampleItems, int sampleSize, int numberOfMarkedPopulationItems, int populationSize)
private double chyper(boolean point, int kk, int ll, int mm, int nn)
kk
- sample size. (corresponds to kk).ll
- number of marked items in the sample (corresponds to l).mm
- population size.nn
- number of marked items in the population.public double geometricCDF(int x, double p)
public double geometricPMF(int x, double p)
public int geometricQuantile(double x, double p)
public int geometricRand(double p)
Algorithm GEO from "Monte Carlo: Concepts, Alogrithms, and Applications" George F. Fishman 1996 with one enhancement. The last value of p and the corresponding beta are cached to avoid computation when repeated calls are made with the same value of p.
public double exponentialRand()
public double exponentialRand(double beta)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |