Clarke Test Comparing Two R-Vine Copula Models
This function performs a Clarke test between two d-dimensional R-vine copula
models as specified by their RVineMatrix()
objects.
RVineClarkeTest(data, RVM1, RVM2)
data |
An N x d data matrix (with uniform margins). |
RVM1, RVM2 |
|
The test proposed by Clarke (2007) allows to compare 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 θ_1 and θ_2. The null hypothesis of statistical indistinguishability of the two models is
H_0: P(m_i > 0) = 0.5 forall i=1,..,N,
H_0: P(m_i > 0) = 0.5 forall i=1,..,N,
where m_i:=log[ c_1(u_i|θ_1) / c_2(u_i|θ_2) ] for observations u_i, i=1,...,N.
Since under statistical equivalence of the two models the log likelihood ratios of the single observations are uniformly distributed around zero and in expectation 50\% of the log likelihood ratios greater than zero, the test statistic
statistic := B = ∑_{i=1}^N 1_{(0,∞)}(m_i),
statistic := B = ∑_{i=1}^N 1_{(0,∞)}(m_i),
where 1 is the indicator function, is distributed Binomial with parameters N and p=0.5, and critical values can easily be obtained. Model 1 is interpreted as statistically equivalent to model 2 if B is not significantly different from the expected value np=N/2.
Like AIC and BIC, the Clarke 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.
statistic, statistic.Akaike, statistic.Schwarz |
Test statistics without correction, with Akaike correction and with Schwarz correction. |
p.value, p.value.Akaike, p.value.Schwarz |
P-values of tests without correction, with Akaike correction and with Schwarz correction. |
Jeffrey Dissmann, Eike Brechmann
Clarke, K. A. (2007). A Simple Distribution-Free Test for Nonnested Model Selection. Political Analysis, 15, 347-363.
# vine structure selection time-consuming (~ 20 sec) # load data set data(daxreturns) # select the R-vine structure, families and parameters RVM <- RVineStructureSelect(daxreturns[,1:5], c(1:6)) RVM$Matrix RVM$par RVM$par2 # select the C-vine structure, families and parameters CVM <- RVineStructureSelect(daxreturns[,1:5], c(1:6), type = "CVine") CVM$Matrix CVM$par CVM$par2 # compare the two models based on the data clarke <- RVineClarkeTest(daxreturns[,1:5], RVM, CVM) clarke$statistic clarke$statistic.Schwarz clarke$p.value clarke$p.value.Schwarz
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.