Learn R Programming

VineCopula (version 1.6-1)

BiCopVuongClarke: Scoring Goodness-of-Fit Test based on Vuong And Clarke Tests for Bivariate Copula Data

Description

Based on the Vuong and Clarke tests this function computes a goodness-of-fit score for each bivariate copula family under consideration. For each possible pair of copula families the Vuong and the Clarke tests decides which of the two families fits the given data best and assigns a score---pro or contra a copula family---according to this decision.

Usage

BiCopVuongClarke(u1, u2, familyset = NA,
                 correction = FALSE, level = 0.05)

Arguments

u1, u2
Data vectors of equal length with values in [0,1].
familyset
An integer vector of bivariate copula families under consideration, i.e., which are compared in the goodness-of-fit test. If familyset = NA (default), all possible families are compared. Possible families are: 0 = inde
correction
Correction for the number of parameters. Possible choices: correction = FALSE (no correction; default), "Akaike" and "Schwarz".
level
Numerical; significance level of the tests (default: level = 0.05).

Value

  • A matrix with Vuong test scores in the first and Clarke test scores in the second row. Column names correspond to bivariate copula families (see above).

Details

The Vuong as well as the Clarke test compare two models against each other and based on their null hypothesis, allow for a statistically significant decision among the two models (see the documentations of RVineVuongTest and RVineClarkeTest for descriptions of the two tests). In the goodness-of-fit test proposed by Belgorodski (2010) this is used for bivariate copula selection. It compares a model 0 to all other possible models under consideration. If model 0 is favored over another model, a score of "+1" is assigned and similarly a score of "-1" if the other model is determined to be superior. No score is assigned, if the respective test cannot discriminate between two models. Both tests can be corrected for the numbers of parameters used in the copulas. Either no correction (correction = FALSE), the Akaike correction (correction = "Akaike") or the parsimonious Schwarz correction (correction = "Schwarz") can be used. The models compared here are bivariate parametric copulas and we would like to determine which family fits the data better than the other families. E.g., if we would like to test the hypothesis that the bivariate Gaussian copula fits the data best, then we compare the Gaussian copula against all other copulas under consideration. In doing so, we investigate the null hypothesis "The Gaussian copula fits the data better than all other copulas under consideration", which corresponds to $k-1$ times the hypothesis "The Gaussian copula $C_j$ fits the data better than copula $C_i$" for all $i=1,...,k, i\neq j$, where $k$ is the number of bivariate copula families under consideration (length of familyset). This procedure is done not only for one family but for all families under consideration, i.e., two scores, one based on the Vuong and one based on the Clarke test, are returned for each bivariate copula family. If used as a goodness-of-fit procedure, the family with the highest score should be selected. For more and detailed information about the goodness-of-fit test see Belgorodski (2010).

References

Belgorodski, N. (2010) Selecting pair-copula families for regular vines with application to the multivariate analysis of European stock market indices Diploma thesis, Technische Universitaet Muenchen. http://mediatum.ub.tum.de/?id=1079284. Clarke, K. A. (2007). A Simple Distribution-Free Test for Nonnested Model Selection. Political Analysis, 15, 347-363. Vuong, Q. H. (1989). Ratio tests for model selection and non-nested hypotheses. Econometrica 57 (2), 307-333.

See Also

BiCopGofTest, RVineVuongTest, RVineClarkeTest, BiCopSelect

Examples

Run this code
# simulate from a t-copula
set.seed(123)
dat <- BiCopSim(500, 2, 0.7, 5)

# apply the test for families 1-10
vcgof <- BiCopVuongClarke(dat[,1], dat[,2], familyset = 1:6)

# display the Vuong test scores
vcgof[1,]

# display the Clarke test scores
vcgof[2,]

Run the code above in your browser using DataLab