SSJ
3.3.1
Stochastic Simulation in Java
|
Extends the class ContinuousDistribution for the Kolmogorov–Smirnov+ distribution (see [40], [55], [27] ). More...
Public Member Functions | |
KolmogorovSmirnovPlusDist (int n) | |
Constructs an Kolmogorov–Smirnov+ distribution for a sample of size \(n\). | |
double | density (double x) |
double | cdf (double x) |
Returns the distribution function \(F(x)\). More... | |
double | barF (double x) |
Returns \(\bar{F}(x) = 1 - F(x)\). More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ). More... | |
int | getN () |
Returns the parameter \(n\) of this object. | |
void | setN (int n) |
Sets the parameter \(n\) of this object. | |
double [] | getParams () |
Returns 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 ContinuousDistribution | |
abstract double | density (double x) |
Returns \(f(x)\), the density evaluated at \(x\). More... | |
double | barF (double x) |
Returns the complementary distribution function. More... | |
double | inverseBrent (double a, double b, double u, double tol) |
Computes the inverse distribution function \(x = F^{-1}(u)\), using the Brent-Dekker method. More... | |
double | inverseBisection (double u) |
Computes and returns the inverse distribution function \(x = F^{-1}(u)\), using bisection. More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(x = F^{-1}(u)\). More... | |
double | getMean () |
Returns the mean. More... | |
double | getVariance () |
Returns the variance. More... | |
double | getStandardDeviation () |
Returns the standard deviation. More... | |
double | getXinf () |
Returns \(x_a\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
double | getXsup () |
Returns \(x_b\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
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]\). More... | |
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]\). More... | |
Static Public Member Functions | |
static double | density (int n, double x) |
Computes the density of the Kolmogorov–Smirnov+ distribution with parameter \(n\). | |
static double | cdf (int n, double x) |
Computes the Kolmogorov–Smirnov+ distribution function \(F_n(x)\) with parameter \(n\). More... | |
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 the inverse \(x = F^{-1}(u)\) of the distribution with parameter \(n\). | |
Protected Attributes | |
int | n |
Protected Attributes inherited from ContinuousDistribution | |
double | supportA = Double.NEGATIVE_INFINITY |
double | supportB = Double.POSITIVE_INFINITY |
Static Package Functions | |
static double | KSPlusbarUpper (int n, double x) |
Additional Inherited Members | |
Public Attributes inherited from ContinuousDistribution | |
int | decPrec = 15 |
Static Protected Attributes inherited from ContinuousDistribution | |
static final double | XBIG = 100.0 |
static final double | XBIGM = 1000.0 |
static final double [] | EPSARRAY |
Extends the class ContinuousDistribution for the Kolmogorov–Smirnov+ distribution (see [40], [55], [27] ).
Given a sample of \(n\) independent uniforms \(U_i\) over \([0,1]\), the Kolmogorov–Smirnov+ statistic \(D_n^+\) and the Kolmogorov–Smirnov \(-\) statistic \(D_n^-\), are defined by
\begin{align} D_n^+ & = \max_{1\le j\le n} \left(j/n - U_{(j)}\right), \tag{DNp} \\ D_n^- & = \max_{1\le j\le n} \left(U_{(j)} - (j-1)/n\right), \tag{DNm} \end{align}
where the \(U_{(j)}\) are the \(U_i\) sorted in increasing order. Both statistics follows the same distribution function, i.e. \(F_n(x) = P[D_n^+ \le x] = P[D_n^- \le x]\).
double barF | ( | double | x | ) |
Returns \(\bar{F}(x) = 1 - F(x)\).
x | value at which the complementary distribution function is evaluated |
x
Implements Distribution.
double cdf | ( | double | x | ) |
Returns the distribution function \(F(x)\).
x | value at which the distribution function is evaluated |
x
Implements Distribution.
|
static |
Computes the Kolmogorov–Smirnov+ distribution function \(F_n(x)\) with parameter \(n\).
The distribution function can be approximated via the following expressions:
\begin{align} P[D_n^+ \le x] & = 1 - x \sum_{i=0}^{\lfloor n(1-x)\rfloor} \binom{n}{i} \left(\frac{i}{n} + x \right)^{i-1} \left(1 - \frac{i}{n} - x \right)^{n-i} \tag{DistKS1} \\ & = x \sum_{j=0}^{\lfloor nx \rfloor} \binom{n}{j} \left(\frac{j}{n} - x \right)^j \left(1 - \frac{j}{n} + x \right)^{n-j-1} \tag{DistKS2} \\ & \approx 1 - e^{-2 n x^2} \left[1 - \frac{2x}{3} \left( 1 - x\left(1 - \frac{2 n x^2}{3}\right) \right.\right. \nonumber \\ & \left.\left. - \frac{2}{3n} \left(\frac{1}{5} - \frac{19 n x^2}{15} + \frac{2n^2 x^4}{3}\right) \right) + O(n^{-2}) \right]. \tag{DistKS3} \end{align}
Formula ( DistKS1 ) and ( DistKS2 ) can be found in [55] , equations (2.1.12) and (2.1.16), while ( DistKS3 ) can be found in [40] . Formula ( DistKS2 ) becomes numerically unstable as \(nx\) increases. The approximation ( DistKS3 ) is simpler to compute and excellent when \(nx\) is large. The relative error on \(F_n(x) = P[D_n^+ \le x]\) is always less than \(10^{-5}\).
double inverseF | ( | double | u | ) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ).
u | value in the interval \((0,1)\) for which the inverse distribution function is evaluated |
u
Implements Distribution.