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).
gofTstat(u, method = c("Sn", "SnB", "SnC", "AnChisq", "AnGamma"),
useR = FALSE, ...)
gofT2stat(u1, u2, useR = FALSE)
The value of the test statistic, a numeric
.
\(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\}\).
\(n\times d\)-matrices of copula samples to be compare against. The two matrices must have an equal number of columns \(d\) but can differ in \(n\) (number of rows).
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émillard, Beaudoin (2009).
"SnB"
for computing the test statistic \(S_n^{(B)}\) from Genest, Ré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).
logical indicating whether an R or C implementation is used.
additional arguments passed for computing the different test statistics.
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).
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.
gofCopula()
for goodness-of-fit tests where (some of)
the test statistics of gofTstat()
are used.
## 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