Provides a ranking of the C- and D- vines which allow for conditional
sampling, under the condition discussed in the descriprion of CDVineCondFit
.
CDVineCondRank(data, Nx, treecrit = "AIC", selectioncrit = "AIC",
familyset = NA, type = "CVine-DVine", indeptest = FALSE, level = 0.05,
se = FALSE, rotations = TRUE, method = "mle")
An N x d
data matrix (with uniform margins).
Data of the conditioning variable(s) have to occupy the last column(s) of this matrix.
Number of conditioning variables.
Character indicating the criteria used to select the vine. All possible vines are fitted trough
the function RVineCopSelect
of the package VineCopula
. Then the vines are ranked with respect
the Akaike information criterion (treecrit = "AIC"
, default) or Bayesian information criterion (treecrit = "BIC"
).
This need the estimation and model selection for all the pairs of all the possible vines, therefore could
require long time in case of large datasets, i.e. large N x d
.
Character indicating the criterion for pair-copula selection.
Possible choices are selectioncrit = "AIC"
(default) and "BIC"
.
"Integer vector of pair-copula families to select from. The vector has to include at least one
pair-copula family that allows for positive and one that allows for negative
dependence. Not listed copula families might be included to better handle
limit cases. If familyset = NA
(default), selection among all
possible families is performed. If a vector of negative numbers is provided,
selection among all but abs(familyset)
is performed. Coding of bivariate copula families:
0
= independence copula
1
= Gaussian copula
2
= Student t copula (t-copula)
3
= Clayton copula
4
= Gumbel copula
5
= Frank copula
6
= Joe copula
7
= BB1 copula
8
= BB6 copula
9
= BB7 copula
10
= BB8 copula
13
= rotated Clayton copula (180 degrees; ``survival Clayton'')
14
= rotated Gumbel copula (180 degrees; ``survival Gumbel'')
16
= rotated Joe copula (180 degrees; ``survival Joe'')
17
= rotated BB1 copula (180 degrees; ``survival BB1'')
18
= rotated BB6 copula (180 degrees; ``survival BB6'')
19
= rotated BB7 copula (180 degrees; ``survival BB7'')
20
= rotated BB8 copula (180 degrees; ``survival BB8'')
23
= rotated Clayton copula (90 degrees)
24
= rotated Gumbel copula (90 degrees)
26
= rotated Joe copula (90 degrees)
27
= rotated BB1 copula (90 degrees)
28
= rotated BB6 copula (90 degrees)
29
= rotated BB7 copula (90 degrees)
30
= rotated BB8 copula (90 degrees)
33
= rotated Clayton copula (270 degrees)
34
= rotated Gumbel copula (270 degrees)
36
= rotated Joe copula (270 degrees)
37
= rotated BB1 copula (270 degrees)
38
= rotated BB6 copula (270 degrees)
39
= rotated BB7 copula (270 degrees)
40
= rotated BB8 copula (270 degrees)
104
= Tawn type 1 copula
114
= rotated Tawn type 1 copula (180 degrees)
124
= rotated Tawn type 1 copula (90 degrees)
134
= rotated Tawn type 1 copula (270 degrees)
204
= Tawn type 2 copula
214
= rotated Tawn type 2 copula (180 degrees)
224
= rotated Tawn type 2 copula (90 degrees)
234
= rotated Tawn type 2 copula (270 degrees)" (VineCopula Documentation, version 2.1.1, pp. 73-74)
Type of vine to be fitted: C-Vine: "CVine" or 1; D-Vine: "DVine" or 2; Both C and D-Vine: "CVine-DVine" or "1-2" (default).
"Logical; whether a hypothesis test for the independence of
u1
and u2
is performed before bivariate copula selection
(default: indeptest = FALSE
; see BiCopIndTest
). The
independence copula is chosen for a (conditional) pair if the null
hypothesis of independence cannot be rejected.
numeric; significance level of the independence test (default:
level = 0.05
).
Logical; whether standard errors are estimated (default: se
= FALSE
).
logical; if TRUE
, all rotations of the families in
familyset
are included.
indicates the estimation method: either maximum
likelihood estimation (method = "mle"
; default) or inversion of
Kendall's tau (method = "itau"
). For method = "itau"
only
one parameter families and the Student t copula can be used (family =
1,2,3,4,5,6,13,14,16,23,24,26,33,34
or 36
). For the t-copula,
par2
is found by a crude profile likelihood optimization over the
interval (2, 10]." (VineCopula Documentation, version 2.1.1, pp. 74-75)
table
A table with the ranking of the vines, with vine index i
,
values of the selected treecrit
and vine type
(1 for "CVine" and 2 for D-Vine).
vines
A list where the element [[i]]
is an RVineMatrix
object corresponding to
the i
-th vine in the ranking shown in table
.
Each RVineMatrix
object containes the selected families ($family
) as well as sequentially
estimated parameters stored in $par
and $par2
. Details about RVineMatrix
objects are given in
the documentation file of the VineCopula
package).
The fit of each model is performed via the function RVineCopSelect
of the package VineCopula
.
"The object is augmented by the following information about the fit:
se, se2
standard errors for the parameter estimates (if se = TRUE
; note that these are only
approximate since they do not account for the sequential nature of the estimation
nobs
number of observations
logLik, pair.logLik
log likelihood (overall and pairwise)
AIC, pair.AIC
Aikaike's Informaton Criterion (overall and pairwise)
BIC, pair.BIC
Bayesian's Informaton Criterion (overall and pairwise)
emptau
matrix of empirical values of Kendall's tau
p.value.indeptest
matrix of p-values of the independence test.
Bevacqua, E., Maraun, D., Hobaek Haff, I., Widmann, M., and Vrac, M.: Multivariate statistical modelling of compound events via pair-copula constructions: analysis of floods in Ravenna (Italy), Hydrol. Earth Syst. Sci., 21, 2701-2723, https://doi.org/10.5194/hess-21-2701-2017, 2017. [link] [link]
Aas, K., Czado, C., Frigessi, A. and Bakken, H.: Pair-copula constructions of multiple dependence, Insurance: Mathematics and Economics, 44(2), 182-198, <doi:10.1016/j.insmatheco.2007.02.001>, 2009. [link]
Ulf Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler, Thomas Nagler and Tobias Erhardt (2017). VineCopula: Statistical Inference of Vine Copulas. R package version 2.1.1. [link]
# NOT RUN {
# Read data
data(dataset)
data <- dataset$data[1:100,1:5]
# Define the variables Y and X. X are the conditioning variables,
# which have to be positioned in the last columns of the data.frame
colnames(data) <- c("Y1","Y2","X3","X4","X5")
# Rank the possible D-Vines according to the AIC
# }
# NOT RUN {
Ranking <- CDVineCondRank(data,Nx=3,"AIC",type="DVine")
Ranking$table
# tree AIC type
# 1 1 -292.8720 2
# 2 2 -290.2941 2
# 3 3 -288.5719 2
# 4 4 -288.2496 2
# 5 5 -287.8006 2
# 6 6 -285.8503 2
# 7 7 -282.2867 2
# 8 8 -278.9371 2
# 9 9 -275.8339 2
# 10 10 -272.9459 2
# 11 11 -271.1526 2
# 12 12 -270.5269 2
Ranking$vines[[1]]$AIC
# [1] -292.8720
summary(Ranking$vines[[1]])
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab