test_functions {qrng} | R Documentation |
Functions for testing low-discrepancy sequences.
sum_of_squares(u) sobol_g(u, copula = indepCopula(dim = ncol(u)), alpha = 1:ncol(u), ...) exceedance(x, q, p = 0.99, method = c("indicator", "individual.given.sum.exceeds", "sum.given.sum.exceeds"))
u |
(n, d)-matrix containing n
d-dimensional realizations (of a potential quasi-random number
generator). For |
copula |
|
alpha |
vector of parameters of Sobol's g test function. |
... |
additional arguments passed to the underlying
|
x |
(n, d)-matrix containing n d-dimensional realizations. |
q |
|
p |
If
|
method |
|
For examples see the demo man_test_functions
.
See ES_np(<matrix>)
from qrmtools for another test function.
sum_of_squares()
returns an n-vector
(numeric(n)
) with the rowwise computed scaled sum
of squares (theoretically integrating to 1).
sobol_g()
returns an n-vector (numeric(n)
)
with the rowwise computed Sobol' g functions.
exceedance()
's return value depends on method
:
returns indicators whether,
componentwise, x
exceeds the threshold determined by q
.
returns all rows of x
whose sum exceeds the threshold determined by q
.
returns the row sums of those
rows of x
whose sum exceeds the threshold determined by q
.
Marius Hofert and Christiane Lemieux
Radovic, I., Sobol', I. M. and Tichy, R. F. (1996). Quasi-Monte Carlo methods for numerical integration: Comparison of different low discrepancy sequences. Monte Carlo Methods and Applications 2(1), 1–14.
Faure, H., Lemieux, C. (2009). Generalized Halton Sequences in 2008: A Comparative Study. ACM-TOMACS 19(4), Article 15.
Owen, A. B. (2003). The dimension distribution and quadrature test functions. Stat. Sinica 13, 1-–17.
Sobol', I. M. and Asotsky, D. I. (2003). One more experiment on estimating high-dimensional integrals by quasi-Monte Carlo methods. Math. Comput. Simul. 62, 255–-263.
## Generate some (here: copula, pseudo-random) data library(copula) set.seed(271) cop <- claytonCopula(iTau(claytonCopula(), tau = 0.5)) # Clayton copula U <- rCopula(1000, copula = cop) ## Compute sum of squares test function mean(sum_of_squares(U)) # estimate of E(3(sum_{j=1}^d U_j^2)/d) ## Compute the Sobol' g test function if(packageVersion("copula") >= "0.999-20") mean(sobol_g(U)) # estimate of E(<Sobol's g function>) ## Compute an exceedance probability X <- qnorm(U) mean(exceedance(X, q = qnorm(0.99))) # fixed threshold q mean(exceedance(X, p = 0.99)) # empirically estimated marginal p-quantiles as thresholds ## Compute 99% expected shortfall for the sum mean(exceedance(X, p = 0.99, method = "sum.given.sum.exceeds")) ## Or use ES_np(X, level = 0.99) from 'qrmtools'