test_functions | R Documentation |
Functions for testing low-discrepancy sequences.
sum_of_squares(u)
sobol_g(u, copula = 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 |
|
copula |
|
alpha |
vector of parameters of Sobol's g test function. |
... |
additional arguments passed to the underlying
|
x |
|
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'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.