|
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.
1.8.14