gofTstat {copula}R Documentation

Goodness-of-fit Test Statistics

Description

gofTstat() computes various goodness-of-fit test statistics typically used in gofCopula(*, simulation = "pb"). gofT2stat() computes the two-sample goodness of fit test statistic of Rémillard and Scaillet (2009).

Usage

gofTstat(u, method = c("Sn", "SnB", "SnC", "AnChisq", "AnGamma"),
         useR = FALSE, ...)
gofT2stat(u1, u2, useR = FALSE)

Arguments

u

n×dn\times d-matrix of values in [0,1][0,1], supposedly independent uniform observations in the hypercube, that is, UiU[0,1]dU_i \sim U[0,1]^d, i.i.d., for i{1,,n}i \in \{1,\dots,n\}.

u1, u2

n×dn\times d-matrices of copula samples to be compare against. The two matrices must have an equal number of columns dd but can differ in nn (number of rows).

method

a character string specifying the goodness-of-fit test statistic to be used, which has to be one (or a unique abbreviation) of

"Sn"

for computing the test statistic SnS_n from Genest, Rémillard, Beaudoin (2009).

"SnB"

for computing the test statistic Sn(B)S_n^{(B)} from Genest, Rémillard, Beaudoin (2009).

"SnC"

for computing the test statistic Sn(C)S_n^{(C)} from Genest et al. (2009).

"AnChisq"

Anderson-Darling test statistic for computing (supposedly) U[0,1]\mathrm{U}[0,1]-distributed (under H0H_0) random variates via the distribution function of the chi-square distribution with dd degrees of freedom. To be more precise, the Anderson-Darling test statistc of the variates

χd2(j=1d(Φ1(uij))2)\chi_d^2\Bigl(\sum_{j=1}^d(\Phi^{-1}(u_{ij}))^2\Bigr)

is computed (via ADGofTest::ad.test), where Φ1\Phi^{-1} denotes the quantile function of the standard normal distribution function, χd2\chi_d^2 denotes the distribution function of the chi-square distribution with dd degrees of freedom, and uiju_{ij} is the jjth component in the iith row of u.

"AnGamma"

similar to method="AnChisq" but based on the variates

Γd(j=1d(loguij)),\Gamma_d\Bigl(\sum_{j=1}^d(-\log u_{ij})\Bigr),

where Γd\Gamma_d denotes the distribution function of the gamma distribution with shape parameter dd and shape parameter one (being equal to an Erlang(dd) distribution function).

useR

logical indicating whether an R or C implementation is used.

...

additional arguments passed for computing the different test statistics.

Details

These functions should be used with care. The different test statistics were implemented (partly) for different purposes and goodness-of-fit tests and should be used only with knowledge about such tests (see the references for more details).

Value

The value of the test statistic, a numeric.

References

Genest, C., Rémillard, B., and Beaudoin, D. (2009), Goodness-of-fit tests for copulas: A review and a power study Insurance: Mathematics and Economics 44, 199–213.

Rosenblatt, M. (1952), Remarks on a Multivariate Transformation, The Annals of Mathematical Statistics 23, 3, 470–472.

Hering, C. and Hofert, M. (2014), Goodness-of-fit tests for Archimedean copulas in high dimensions, Innovations in Quantitative Risk Management.

Hofert, M., Mächler, M., and McNeil, A. J. (2012). Likelihood inference for Archimedean copulas in high dimensions under known margins. Journal of Multivariate Analysis 110, 133–150.

Rémillard, B. and Scaillet, O. (2009). Testing for equality between two copulas. Journal of Multivariate Analysis 100, 377–386.

See Also

gofCopula() for goodness-of-fit tests where (some of) the test statistics of gofTstat() are used.

Examples

## generate data
cop <- archmCopula("Gumbel", param=iTau(gumbelCopula(), 0.5), dim=5)
set.seed(1)
U <- rCopula(1000, cop)

## compute Sn (as is done in a parametric bootstrap, for example)
Uhat <- pobs(U) # pseudo-observations
u <- cCopula(Uhat, copula = cop) # Rosenblatt transformed data (with correct copula)
gofTstat(u, method = "Sn", copula = cop) # compute test statistic Sn; requires copula argument

[Package copula version 1.1-3 Index]