R: Goodness-of-fit Testing for (Nested) Archimedean Copulas

gnacopula {copula} | R Documentation

## Goodness-of-fit Testing for (Nested) Archimedean Copulas

### Description

`gnacopula()` conducts a goodness-of-fit test for the given (H_0-)copula `cop` based on the (copula-)data `u`.

NOTE: `gnacopula()` is deprecated, call `gofCopula()` instead.

### Usage

    gnacopula(u, cop, n.bootstrap,
              estim.method = eval(formals(enacopula)$method),
              include.K=TRUE, n.MC=0, trafo=c("Hering.Hofert", "Rosenblatt"),
              method=eval(formals(gofTstat)$method), verbose=TRUE, ...)

### Arguments

`u` | n x d-matrix of values in [0,1]; should be (pseudo-/copula-)observations from the copula to be tested. Consider applying the function `pobs()` first in order to obtain `u`.
`cop` | H_0-`"outer_nacopula"` with specified parameters to be tested for (currently only Archimedean copulas are provided).
`n.bootstrap` | positive integer specifying the number of bootstrap replicates.
`estim.method` | `character` string determining the estimation method; see `enacopula()`. We currently only recommend the default `"mle"` (or maybe `"smle"`).
`include.K` | logical indicating whether the last component, involving the Kendall distribution function `K()`, is used in the transformation `htrafo()` of Hering and Hofert (2011). Note that this only applies to `trafo="Hering.Hofert"`.
`n.MC` | parameter `n.MC` for `htrafo()` (and thus for `K()`) if `trafo="Hering.Hofert"` and for `cCopula()` if `trafo="Rosenblatt"`.
`trafo` | a `character` string specifying the multivariate transformation performed for goodness-of-fit testing, which has to be one (or a unique abbreviation) of `"Hering.Hofert"` for the multivariate transformation of Hering and Hofert (2011); see `htrafo()`. `"Rosenblatt"` for the multivariate transformation of Rosenblatt (1952); see `cCopula()`.
`method` | a `character` string specifying the goodness-of-fit test statistic to be used; see `gofTstat()`.
`verbose` | if `TRUE`, the progress of the bootstrap is displayed via `txtProgressBar`.
`...` | additional arguments passed to `enacopula()`.

### Details

The function `gnacopula()` performs a parametric bootstrap for the goodness-of-fit test specified by `trafo` and `method`. The transformation given by `trafo` specifies the multivariate transformation which is first applied to the (copula-) data `u` (typically, the pseudo-observations are used); see `htrafo()` or `cCopula()` for more details. The argument `method` specifies the particular goodness-of-fit test carried out, which is either the Anderson-Darling test for the univariate standard uniform distribution (for `method="AnChisq"` or `method="AnGamma"`) in a one-dimensional setup or the tests described in Genest et al. (2009) for the multivariate standard uniform distribution directly in a multivariate setup. As estimation method, the method provided by `estim.method` is used.

Note that a finite-sample correction is made when computing p-values; see `gofCopula()` for details.

A word of warning: Do work carefully with the variety of different goodness-of-fit tests that can be performed with `gnacopula()`. For example, among the possible estimation methods at hand, only MLE is known to be consistent (under conditions to be verified). Furthermore, for the tests based on the Anderson-Darling test statistic, it is theoretically not clear whether the parametric bootstrap converges. Consequently, the results obtained should be treated with care. Moreover, several estimation methods are known to be prone to numerical errors (see Hofert et al. (2013)) and are thus not recommended to be used in the parametric bootstrap. A warning is given if `gnacopula()` is called with a method not being MLE.

### Value

`gnacopula` returns an R object of class `"htest"`. This object contains a list with the bootstrap results including the components

`p.value`:

  the bootstrapped p-value;

`statistic`:

  the value of the test statistic computed for the data `u`;

`data.name`:

  the name of `u`;

`method`:

  a `character` describing the goodness-of-fit test applied;

`estimator`:

  the estimator computed for the data `u`;

`bootStats`:

  a list with component `estimator` containing the estimators for all bootstrap replications and component `statistic` containing the values of the test statistic for each bootstrap replication.

### 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. (2011), Goodness-of-fit tests for Archimedean copulas in large dimensions, submitted.

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.

### See Also

`gofTstat()` for the implemented test statistis, `htrafo()` and `cCopula()` involved and `K()` for the Kendall distribution function.

`gofCopula()` for other (parametric bootstrap) based goodness-of-fit tests.

[Package copula version 1.0-1 Index]