Learn R Programming

copula (version 0.999-19.1)

gofTstat: Goodness-of-fit Test Statistics

Description

gofTstat() computes various goodness-of-fit test statistics typically used in gofCopula(*, simulation = "pb").

Usage

gofTstat(u, method = c("Sn", "SnB", "SnC", "AnChisq", "AnGamma"),
         useR = FALSE, …)

Arguments

u

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

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 \(S_n\) from Genest, R<U+00E9>millard, Beaudoin (2009).

"SnB"

for computing the test statistic \(S_n^{(B)}\) from Genest, R<U+00E9>millard, Beaudoin (2009).

"SnC"

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

"AnChisq"

Anderson-Darling test statistic for computing (supposedly) \(\mathrm{U}[0,1]\)-distributed (under \(H_0\)) random variates via the distribution function of the chi-square distribution with \(d\) degrees of freedom. To be more precise, the Anderson-Darling test statistc of the variates $$\chi_d^2\Bigl(\sum_{j=1}^d(\Phi^{-1}(u_{ij}))^2\Bigr)$$ is computed (via ADGofTest::ad.test), where \(\Phi^{-1}\) denotes the quantile function of the standard normal distribution function, \(\chi_d^2\) denotes the distribution function of the chi-square distribution with \(d\) degrees of freedom, and \(u_{ij}\) is the \(j\)th component in the \(i\)th row of u.

"AnGamma"

similar to method="AnChisq" but based on the variates $$\Gamma_d\Bigl(\sum_{j=1}^d(-\log u_{ij})\Bigr),$$ where \(\Gamma_d\) denotes the distribution function of the gamma distribution with shape parameter \(d\) and shape parameter one (being equal to an Erlang(\(d\)) distribution function).

useR

logical indicating whether an R or C implementation is used.

additional arguments passed for computing the different test statistics.

Value

The value of the test statistic, a numeric.

Details

This function 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 (see the references for more details).

References

Genest, C., R<U+00E9>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<U+00E4>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.

See Also

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

Examples

Run this code
# NOT RUN {
## 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
# }

Run the code above in your browser using DataLab