Description Usage Arguments Details Value Note Author(s) References See Also Examples
Based on samples from a bivariate copula, the copula density is estimated. The user can choose between different methods. If no bandwidth is provided by the user, it will be set by a methodspecific automatic selection procedure. The related (d/p/r)kdecop functions evaluate the density and cdf or simulate synthetic data, respectively.
1 2 
udata 

bw 
bandwidth specification; if 
mult 
bandwidth multiplier, has to be positive; useful for making estimates more/less smooth manually. 
method 

knots 
integer; number of knots in each dimension for the spline approximation. 
renorm.iter 
integer; number of iterations for the renormalization procedure (see Details). 
info 
logical; if 
We use a Gaussian product kernel function for all methods
except the beta kernel and Bernstein estimators. For details on bandwidth
selection for a specific method, see: bw_t
,
bw_tll
, bw_tll_nn
, bw_tt_pi
,
bw_tt_cv
, bw_mr
, bw_beta
,
bw_bern
.
Kernel estimates are usually no proper copula densities. In particular, the
estimated marginal densities are not uniform. We mitigate this issue by
a renormalization procedure. The number of iterations of the
renormalization algorithm can be specified with the renorm.iter
argument. Typically, a very small number of iterations is sufficient.
The function kdecop
returns an
object of class kdecopula
that contains all information necessary for
evaluation of the estimator. If no bandwidth was provided in the function
call, the automatically selected value can be found in the variable
object$bw
. If info=TRUE
, also the following will be available
under object$info
:
likvalues 
Estimator evaluated in sample points 
loglik 
Log likelihood 
effp 
Effective number of parameters 
AIC 
Akaike information criterion 
cAIC 
Biascorrected version of Akaike information criterion 
BIC 
Bayesian information criterion. 
The density estimate can be evaluated on arbitrary points with
dkdecop
; the cdf with
pkdecop
. Furthermore, synthetic data can be
simulated with rkdecop
, and several plotting
options are available with plot
and contour
.
The implementation of the tapered transformation estimator ("TTPI"/"TTCV") was kindly provided by Kuangyu Wen.
Thomas Nagler
Nagler, T. (2018)
kdecopula: An R Package for the Kernel Estimation of Bivariate Copula
Densities.
Journal of Statistical Software 84(7), 122
Geenens, G., Charpentier, A., and Paindaveine, D. (2017).
Probit transformation for nonparametric kernel estimation of the copula
density.
Bernoulli, 23(3), 18481873.
Wen, K. and Wu, X. (2015).
TransformationKernel Estimation of the Copula Density,
Working paper,
http://agecon2.tamu.edu/people/faculty/wuximing/agecon2/public/copula.pdf
Gijbels, I. and Mielniczuk, J. (1990).
Estimating the density of a copula function.
Communications in Statistics  Theory and Methods, 19(2):445464.
Charpentier, A., Fermanian, J.D., and Scaillet, O. (2006).
The estimation of copulas: Theory and practice.
In Rank, J., editor, Copulas: From theory to application in finance. Risk Books.
Weiss, G. and Scheffer, M. (2012).
Smooth Nonparametric Bernstein Vine Copulas.
arXiv:1210.2043
Nagler, T. (2014).
Kernel Methods for Vine Copula Estimation.
Master's Thesis, Technische Universitaet Muenchen,
https://mediatum.ub.tum.de/node?id=1231221
kdecopula
,
plot.kdecopula
,
predict.kdecopula
,
fitted.kdecopula
,
simulate.kdecopula
,
dkdecop
,
pkdecop
,
rkdecop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  ## load data and transform with empirical cdf
data(wdbc)
udat < apply(wdbc[, 1], 2, function(x) rank(x) / (length(x) + 1))
## estimation of copula density of variables 5 and 6
fit < kdecop(udat[, 5:6])
summary(fit)
plot(fit)
contour(fit)
## evaluate density estimate at (u1,u2)=(0.123,0.321)
dkdecop(c(0.123, 0.321), fit)
## evaluate cdf estimate at (u1,u2)=(0.123,0.321)
pkdecop(c(0.123, 0.321), fit)
## simulate 500 samples from density estimate
plot(rkdecop(500, fit)) # pseudorandom
plot(rkdecop(500, fit, quasi = TRUE)) # quasirandom

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.