This function selects an appropriate bivariate copula family for given bivariate copula data using one of a range of methods. The corresponding parameter estimates are obtained by maximum likelihood estimation.
BiCopSelect(u1, u2, familyset = NA, selectioncrit = "AIC",
indeptest = FALSE, level = 0.05, weights = NA, rotations = TRUE,
se = FALSE, presel = TRUE, method = "mle")
Data vectors of equal length with values in [0,1].
Vector of bivariate copula families to select from.
The vector has to include at least one bivariate copula
family that allows for positive and one that allows for negative dependence.
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)
families 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)
Character indicating the criterion for bivariate copula
selection. Possible choices: selectioncrit = "AIC"
(default),
"BIC"
, or "logLik"
.
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 if the null hypothesis of independence cannot
be rejected.
Numeric; significance level of the independence test (default:
level = 0.05
).
Numerical; weights for each observation (optional).
If TRUE
, all rotations of the families in
familyset
are included (or substracted).
Logical; whether standard error(s) of parameter estimates is/are
estimated (default: se = FALSE
).
Logical; whether to exclude families before fitting based on symmetry properties of the data. Makes the selection about 30 (on average), but may yield slightly worse results in few special cases.
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].
An object of class BiCop
, augmented with the following
entries:
standard errors for the parameter estimates (if
se = TRUE
,
number of observations,
log likelihood
Aikaike's Informaton Criterion,
Bayesian's Informaton Criterion,
empirical value of Kendall's tau,
p-value of the independence test.
Copulas can be selected according to the Akaike and Bayesian Information
Criteria (AIC and BIC, respectively). First all available copulas are fitted
using maximum likelihood estimation. Then the criteria are computed for all
available copula families (e.g., if u1
and u2
are negatively
dependent, Clayton, Gumbel, Joe, BB1, BB6, BB7 and BB8 and their survival
copulas are not considered) and the family with the minimum value is chosen.
For observations
Additionally a test for independence can be performed beforehand.
Akaike, H. (1973). Information theory and an extension of the maximum likelihood principle. In B. N. Petrov and F. Csaki (Eds.), Proceedings of the Second International Symposium on Information Theory Budapest, Akademiai Kiado, pp. 267-281.
Brechmann, E. C. (2010). Truncated and simplified regular vines and their applications. Diploma thesis, Technische Universitaet Muenchen. http://mediatum.ub.tum.de/?id=1079285.
Manner, H. (2007). Estimation and model selection of copulas with an application to exchange rates. METEOR research memorandum 07/056, Maastricht University.
Schwarz, G. E. (1978). Estimating the dimension of a model. Annals of Statistics 6 (2), 461-464.
BiCop
,
BiCopEst
,
RVineStructureSelect
,
RVineCopSelect
,
BiCopIndTest
,
# NOT RUN {
## Example 1: Gaussian copula with large dependence parameter
par <- 0.7
fam <- 1
dat1 <- BiCopSim(500, fam, par)
# select the bivariate copula family and estimate the parameter(s)
cop1 <- BiCopSelect(dat1[, 1], dat1[, 2], familyset = 1:10,
indeptest = FALSE, level = 0.05)
cop1 # short overview
summary(cop1) # comprehensive overview
str(cop1) # see all contents of the object
## Example 2: Gaussian copula with small dependence parameter
par <- 0.01
fam <- 1
dat2 <- BiCopSim(500, fam, par)
# select the bivariate copula family and estimate the parameter(s)
cop2 <- BiCopSelect(dat2[, 1], dat2[, 2], familyset = 0:10,
indeptest = TRUE, level = 0.05)
summary(cop2)
## Example 3: empirical data
data(daxreturns)
cop3 <- BiCopSelect(daxreturns[, 1], daxreturns[, 4], familyset = 0:10)
summary(cop3)
# }
Run the code above in your browser using DataLab