BiCopGofTest | R Documentation |
This function performs a goodness-of-fit test for bivariate copulas, either based on White's information matrix equality (White, 1982) as introduced by Huang and Prokhorov (2011) or based on Kendall's process (Wang and Wells, 2000; Genest et al., 2006). It computes the test statistics and p-values.
BiCopGofTest(
u1,
u2,
family,
par = 0,
par2 = 0,
method = "white",
max.df = 30,
B = 100,
obj = NULL
)
u1 , u2 |
Numeric vectors of equal length with values in |
family |
An integer defining the bivariate copula family: |
par |
Copula parameter (optional). |
par2 |
Second parameter for bivariate t-copula (optional); default:
|
method |
A string indicating the goodness-of-fit method: |
max.df |
Numeric; upper bound for the estimation of the degrees of
freedom parameter of the t-copula (default: |
B |
Integer; number of bootstrap samples (default: |
obj |
|
method = "white"
:
This goodness-of fit test uses the information
matrix equality of White (1982) and was investigated by Huang and Prokhorov
(2011). The main contribution is that under correct model specification the
Fisher Information can be equivalently calculated as minus the expected
Hessian matrix or as the expected outer product of the score function. The
null hypothesis is
H_0: \boldsymbol{H}(\theta) +
\boldsymbol{C}(\theta) = 0
against the alternative
H_0:
\boldsymbol{H}(\theta) + \boldsymbol{C}(\theta) \neq 0 ,
where
\boldsymbol{H}(\theta)
is the expected Hessian matrix and
\boldsymbol{C}(\theta)
is the expected outer product of the score
function. For the calculation of the test statistic we use the consistent
maximum likelihood estimator \hat{\theta}
and the sample counter parts
of \boldsymbol{H}(\theta)
and \boldsymbol{C}(\theta)
. The
correction of the covariance-matrix in the test statistic for the
uncertainty in the margins is skipped. The implemented tests assumes that
where is no uncertainty in the margins. The correction can be found in Huang
and Prokhorov (2011). It involves two-dimensional integrals.
WARNING: For
the t-copula the test may be unstable. The results for the t-copula
therefore have to be treated carefully.
method = "kendall"
:
This copula goodness-of-fit test is based on Kendall's process as
proposed by Wang and Wells (2000). For computation of p-values, the
parametric bootstrap described by Genest et al. (2006) is used. For
rotated copulas the input arguments are transformed and the goodness-of-fit
procedure for the corresponding non-rotated copula is used.
For method = "white"
:
p.value |
Asymptotic p-value. |
statistic |
The observed test statistic. |
For method ="kendall"
p.value.CvM |
Bootstrapped p-value of the goodness-of-fit
test using the Cramer-von Mises statistic (if |
p.value.KS |
Bootstrapped p-value of the goodness-of-fit test using the
Kolmogorov-Smirnov statistic (if |
statistic.CvM |
The observed Cramer-von Mises test statistic. |
statistic.KS |
The observed Kolmogorov-Smirnov test statistic. |
Ulf Schepsmeier, Wanling Huang, Jiying Luo, Eike Brechmann
Huang, W. and A. Prokhorov (2014). A goodness-of-fit test for copulas. Econometric Reviews, 33 (7), 751-771.
Wang, W. and M. T. Wells (2000). Model selection and semiparametric inference for bivariate failure-time data. Journal of the American Statistical Association, 95 (449), 62-72.
Genest, C., Quessy, J. F., and Remillard, B. (2006). Goodness-of-fit
Procedures for Copula Models Based on the Probability Integral Transformation.
Scandinavian Journal of Statistics, 33(2), 337-366.
Luo J. (2011). Stepwise estimation of D-vines with arbitrary specified
copula pairs and EDA tools. Diploma thesis, Technische Universitaet
Muenchen.
https://mediatum.ub.tum.de/?id=1079291.
White, H. (1982) Maximum likelihood estimation of misspecified models, Econometrica, 50, 1-26.
BiCopDeriv2()
, BiCopDeriv()
,
BiCopIndTest()
, BiCopVuongClarke()
# simulate from a bivariate Clayton copula
simdata <- BiCopSim(100, 3, 2)
u1 <- simdata[,1]
u2 <- simdata[,2]
# perform White's goodness-of-fit test for the true copula
BiCopGofTest(u1, u2, family = 3)
# perform White's goodness-of-fit test for the Frank copula
BiCopGofTest(u1, u2, family = 5)
# perform Kendall's goodness-of-fit test for the true copula
BiCopGofTest(u1, u2, family = 3, method = "kendall", B=50)
# perform Kendall's goodness-of-fit test for the Frank copula
BiCopGofTest(u1, u2, family = 5, method = "kendall", B=50)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.