Learn R Programming

CDVine (version 1.1-5)

CDVineVuongTest: Vuong test comparing two vine copula models

Description

This function performs a Vuong test between two d-dimensional C- or D-vine copula models, respectively.

Usage

CDVineVuongTest(data, Model1.order=1:dim(data)[2],
                Model2.order=1:dim(data)[2], Model1.family,
                Model2.family, Model1.par, Model2.par,
                Model1.par2=rep(0,dim(data)[2]*(dim(data)[2]-1)/2),
                Model2.par2=rep(0,dim(data)[2]*(dim(data)[2]-1)/2),
                Model1.type, Model2.type)

Arguments

data
An N x d data matrix (with uniform margins).
Model1.order, Model2.order
Two numeric vectors giving the order of the variables in the first D-vine trees or of the C-vine root nodes in models 1 and 2 (default: Model1.order and Model2.order = 1:dim(data)[2], i.e., standard order).
Model1.family, Model2.family
Two d*(d-1)/2 numeric vectors of the pair-copula families of models 1 and 2, respectively, with values 0 = independence copula 1 = Gaussian copula 2 = Student t copula (t-copula) 3 = Clayton copula <
Model1.par, Model2.par
Two d*(d-1)/2 numeric vectors of the (first) copula parameters of models 1 and 2, respectively.
Model1.par2, Model2.par2
Two d*(d-1)/2 numeric vectors of the second copula parameters of models 1 and 2, respectively; necessary for t, BB1, BB6, BB7 and BB8 copulas. If no such families are included in Model1.family/Model2.family, these argum
Model1.type, Model2.type
Type of the respective vine model: 1 or "CVine" = C-vine 2 or "DVine" = D-vine

Value

  • statistic, statistic.Akaike, statistic.SchwarzTest statistics without correction, with Akaike correction and with Schwarz correction.
  • p.value, p.value.Akaike, p.value.SchwarzP-values of tests without correction, with Akaike correction and with Schwarz correction.

Details

The likelihood-ratio based test proposed by Vuong (1989) can be used for comparing non-nested models. For this let $c_1$ and $c_2$ be two competing vine copulas in terms of their densities and with estimated parameter sets $\hat{\boldsymbol{\theta}}_1$ and $\hat{\boldsymbol{\theta}}_2$. We then compute the standardized sum, $\nu$, of the log differences of their pointwise likelihoods $m_i:=\log\left[\frac{c_1(\boldsymbol{u}_i|\hat{\boldsymbol{\theta}}_1)}{c_2(\boldsymbol{u}_i|\hat{\boldsymbol{\theta}}_2)}\right]$ for observations $\boldsymbol{u}_i\in[0,1],\ i=1,...,N$ , i.e., $$\texttt{statistic} := \nu = \frac{\frac{1}{n}\sum_{i=1}^N m_i}{\sqrt{\sum_{i=1}^N\left(m_i - \bar{m} \right)^2}}.$$ Vuong (1989) shows that $\nu$ is asymptotically standard normal. According to the null-hypothesis $$H_0: E[m_i] = 0\ \forall i=1,...,N,$$ we hence prefer vine model 1 to vine model 2 at level $\alpha$ if $$\nu>\Phi^{-1}\left(1-\frac{\alpha}{2}\right),$$ where $\Phi^{-1}$ denotes the inverse of the standard normal distribution function. If $\nu<-\Phi^{-1}\left(1-\frac{\alpha}{2}\right)$ we choose model 2. If, however, $|\nu|\leq\Phi^{-1}\left(1-\frac{\alpha}{2}\right)$, no decision among the models is possible. Like AIC and BIC, the Vuong test statistic may be corrected for the number of parameters used in the models. There are two possible corrections; the Akaike and the Schwarz corrections, which correspond to the penalty terms in the AIC and the BIC, respectively.

References

Vuong, Q. H. (1989). Ratio tests for model selection and non-nested hypotheses. Econometrica 57 (2), 307-333.

See Also

CDVineClarkeTest, CDVineAIC, CDVineBIC

Examples

Run this code
# compare 6-dimensional C-vine copula models
# with Gaussian and with Student t pair-copulas
d = 6
dd = d*(d-1)/2
fam1 = rep(1,dd)
par1 = c(0.2,0.69,0.73,0.22,-0.09,0.51,0.32,0.01,0.82,0.01,
         -0.2,-0.32,-0.19,-0.17,-0.06)

fam2 = rep(2,dd)
par2 = par1
nu2 = rep(4,dd)

# simulate a sample of size 300 from the first C-vine copula model
simdata = CDVineSim(300,fam1,par1,type=1)

# compare the two models based on this sample
vuong = CDVineVuongTest(simdata,1:d,1:d,fam1,fam2,par1,par2,
                        Model2.par2=nu2,Model1.type=1,Model2.type=1)
vuong$statistic
vuong$statistic.Schwarz
vuong$p.value
vuong$p.value.Schwarz

Run the code above in your browser using DataLab