This function implements a test of the random number generator and distribution function based on an inequality due to Massart (1990).
distIneqMassart(densFn ="norm", n =10000, probBound =0.001,...)
Arguments
densFn: Character. The root name of the distribution to be tested.
n: Numeric. The size of the sample to be used.
probBound: Numeric. The value of the bound on the right hand side of the Massart inequality. See Details .
...: Additional arguments to allow specification of the parameters of the distribution.
Details
Massart (1990) gave a version of the Dvoretsky-Kiefer-Wolfowitz inequality with the best possible constant:
P(xsup∣F^n(x)−F(x)∣>t)≤
where Fn is the empirical distribution function for a sample of n independent and identically distributed random variables with distribution function F. This inequality is true for all distribution functions, for all n and t.
This test is used in base R to check the standard distribution functions. The code may be found in the file p-r-random.tests.R
in the tests directory.
Returns
sup: Numeric. The supremum of the absolute difference between the empirical distribution and the true distribution function.
probBound: Numeric. The value of the bound on the right hand side of the Massart inequality.
t: Numeric. The lower bound which the supremum of the absolute difference between the empirical distribution and the true distribution function must exceed.
pVal: Numeric. The probability that the absolute difference between the empirical distribution and the true distribution function exceeds t.
check: Logical. Indicates whether the inequality is satisfied or not.
References
Massart P. (1990) The tight constant in the Dvoretsky-Kiefer-Wolfovitz inequality. Ann. Probab., 18 , 1269--1283.
## Normal distribution is the defaultdistIneqMassart()## Specify parameter valuesdistIneqMassart(mean =1, sd =2)## Gamma distribution has no default value for shapedistIneqMassart("gamma", shape =1)