SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.probdist.CramerVonMisesDist Class Reference

Extends the class ContinuousDistribution for the Cramér-von Mises distribution (see [54], [215], [216] ). More...

Inheritance diagram for umontreal.ssj.probdist.CramerVonMisesDist:
umontreal.ssj.probdist.ContinuousDistribution umontreal.ssj.probdist.Distribution

Public Member Functions

 CramerVonMisesDist (int n)
 Constructs a Cramér-von Mises distribution for a sample of size \(n\).
double density (double x)
 Returns \(f(x)\), the density evaluated at \(x\).
double cdf (double x)
 Returns the distribution function \(F(x)\).
double barF (double x)
 Returns the complementary distribution function.
double inverseF (double u)
 Returns the inverse distribution function \(x = F^{-1}(u)\).
double getMean ()
 Returns the mean.
double getVariance ()
 Returns the variance.
double getStandardDeviation ()
 Returns the standard deviation.
int getN ()
 Returns the parameter \(n\) of this object.
void setN (int n)
 Sets the parameter \(n\) of this object.
double[] getParams ()
 Return an array containing the parameter \(n\) of this object.
String toString ()
 Returns a String containing information about the current distribution.
Public Member Functions inherited from umontreal.ssj.probdist.ContinuousDistribution
double inverseBrent (double a, double b, double u, double tol)
 Computes the inverse distribution function \(x = F^{-1}(u)\), using the Brent-Dekker method.
double inverseBisection (double u)
 Computes and returns the inverse distribution function \(x = F^{-1}(u)\), using bisection.
double getXinf ()
 Returns \(x_a\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\).
double getXsup ()
 Returns \(x_b\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\).
void setXinf (double xa)
 Sets the value \(x_a=\) xa, such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\).
void setXsup (double xb)
 Sets the value \(x_b=\) xb, such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\).

Static Public Member Functions

static double density (int n, double x)
 Computes the density function for a Cramér-von Mises distribution with parameter \(n\).
static double cdf (int n, double x)
 Computes the Cramér-von Mises distribution function with parameter.
static double barF (int n, double x)
 Computes the complementary distribution function \(\bar{F}_n(x)\) with parameter \(n\).
static double inverseF (int n, double u)
 Computes \(x = F_n^{-1}(u)\), where \(F_n\) is the Cramér-von Mises distribution with parameter \(n\).
static double getMean (int n)
 Returns the mean of the distribution with parameter \(n\).
static double getVariance (int n)
 Returns the variance of the distribution with parameter \(n\).
static double getStandardDeviation (int n)
 Returns the standard deviation of the distribution with parameter.

Detailed Description

Extends the class ContinuousDistribution for the Cramér-von Mises distribution (see [54], [215], [216] ).

Given a sample of \(n\) independent uniforms \(U_i\) over \([0,1]\), the Cramér-von Mises statistic \(W_n^2\) is defined by

\[ W_n^2 = \frac{1}{12n} + \sum_{j=1}^n \left(U_{(j)} - \frac{(j-0.5)}{n}\right)^2, \tag{CraMis} \]

where the \(U_{(j)}\) are the \(U_i\) sorted in increasing order. The distribution function (the cumulative probabilities) is defined as \(F_n(x) = P[W_n^2 \le x]\).

Definition at line 46 of file CramerVonMisesDist.java.

Constructor & Destructor Documentation

◆ CramerVonMisesDist()

umontreal.ssj.probdist.CramerVonMisesDist.CramerVonMisesDist ( int n)

Constructs a Cramér-von Mises distribution for a sample of size \(n\).

Definition at line 67 of file CramerVonMisesDist.java.

Member Function Documentation

◆ barF() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.barF ( double x)

Returns the complementary distribution function.

The default implementation computes \(\bar{F}(x) = 1 - F(x)\).

Parameters
xvalue at which the complementary distribution function is evaluated
Returns
complementary distribution function evaluated at x

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 79 of file CramerVonMisesDist.java.

◆ barF() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.barF ( int n,
double x )
static

Computes the complementary distribution function \(\bar{F}_n(x)\) with parameter \(n\).

Definition at line 220 of file CramerVonMisesDist.java.

◆ cdf() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.cdf ( double x)

Returns the distribution function \(F(x)\).

Parameters
xvalue at which the distribution function is evaluated
Returns
distribution function evaluated at x

Implements umontreal.ssj.probdist.Distribution.

Definition at line 75 of file CramerVonMisesDist.java.

◆ cdf() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.cdf ( int n,
double x )
static

Computes the Cramér-von Mises distribution function with parameter.

\(n\). Returns an approximation of \(P[W_n^2 \le x]\), where \(W_n^2\) is the Cramér von Mises statistic (see [215], [216], [6], [106] ). The approximation is based on the distribution function of \(W^2 = \lim_{n\to\infty} W_n^2\), which has the following series expansion derived by Anderson and Darling [6] :

\[ \qquad P(W^2 \le x) = \frac{1}{\pi\sqrt{x}} \sum_{j=0}^{\infty}(-1)^j \binom{-1/2}{j} \sqrt{4j+1}\;\; {exp}\left\{-\frac{(4j+1)^2}{16 x}\right\} K_{1/4}\left(\frac{(4j+1)^2}{16 x}\right), \]

where \(K_{\nu}\) is the modified Bessel function of the second kind. To correct for the deviation between \(P(W_n^2\le x)\) and \(P(W^2\le x)\), we add a correction in \(1/n\), obtained empirically by simulation. For \(n = 10\), 20, 40, the error is less than 0.002, 0.001, and 0.0005, respectively, while for \(n \ge100\) it is less than 0.0005. For \(n \to\infty\), we estimate that the method returns at least 6 decimal digits of precision. For \(n = 1\), the method uses the exact distribution: \(P(W_1^2 \le x) = 2 \sqrt{x - 1/12}\) for \(1/12 \le x \le1/3\).

Definition at line 142 of file CramerVonMisesDist.java.

◆ density() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.density ( double x)

Returns \(f(x)\), the density evaluated at \(x\).

Parameters
xvalue at which the density is evaluated
Returns
density function evaluated at x

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 71 of file CramerVonMisesDist.java.

◆ density() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.density ( int n,
double x )
static

Computes the density function for a Cramér-von Mises distribution with parameter \(n\).

Definition at line 103 of file CramerVonMisesDist.java.

◆ getMean() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getMean ( )

Returns the mean.

Returns
the mean

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 87 of file CramerVonMisesDist.java.

◆ getMean() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getMean ( int n)
static

Returns the mean of the distribution with parameter \(n\).

Returns
the mean

Definition at line 251 of file CramerVonMisesDist.java.

◆ getN()

int umontreal.ssj.probdist.CramerVonMisesDist.getN ( )

Returns the parameter \(n\) of this object.

Definition at line 276 of file CramerVonMisesDist.java.

◆ getParams()

double[] umontreal.ssj.probdist.CramerVonMisesDist.getParams ( )

Return an array containing the parameter \(n\) of this object.

Implements umontreal.ssj.probdist.Distribution.

Definition at line 294 of file CramerVonMisesDist.java.

◆ getStandardDeviation() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getStandardDeviation ( )

Returns the standard deviation.

Returns
the standard deviation

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 95 of file CramerVonMisesDist.java.

◆ getStandardDeviation() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getStandardDeviation ( int n)
static

Returns the standard deviation of the distribution with parameter.

\(n\).

Returns
the standard deviation

Definition at line 269 of file CramerVonMisesDist.java.

◆ getVariance() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getVariance ( )

Returns the variance.

Returns
the variance

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 91 of file CramerVonMisesDist.java.

◆ getVariance() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.getVariance ( int n)
static

Returns the variance of the distribution with parameter \(n\).

Returns
variance

Definition at line 260 of file CramerVonMisesDist.java.

◆ inverseF() [1/2]

double umontreal.ssj.probdist.CramerVonMisesDist.inverseF ( double u)

Returns the inverse distribution function \(x = F^{-1}(u)\).

Restrictions: \(u \in[0,1]\).

Parameters
uvalue at which the inverse distribution function is evaluated
Returns
the inverse distribution function evaluated at u
Exceptions
IllegalArgumentExceptionif \(u\) is not in the interval \([0,1]\)

Reimplemented from umontreal.ssj.probdist.ContinuousDistribution.

Definition at line 83 of file CramerVonMisesDist.java.

◆ inverseF() [2/2]

double umontreal.ssj.probdist.CramerVonMisesDist.inverseF ( int n,
double u )
static

Computes \(x = F_n^{-1}(u)\), where \(F_n\) is the Cramér-von Mises distribution with parameter \(n\).

Definition at line 228 of file CramerVonMisesDist.java.

◆ setN()

void umontreal.ssj.probdist.CramerVonMisesDist.setN ( int n)

Sets the parameter \(n\) of this object.

Definition at line 283 of file CramerVonMisesDist.java.

◆ toString()

String umontreal.ssj.probdist.CramerVonMisesDist.toString ( )

Returns a String containing information about the current distribution.

Definition at line 302 of file CramerVonMisesDist.java.


The documentation for this class was generated from the following file: