Bivariate kernel copula density estimation
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 method-specific automatic selection procedure. The related (d/p/r)kdecop functions evaluate the density and cdf or simulate synthetic data, respectively.
kdecop(udata, bw = NA, mult = 1, method = "TLL2nn", knots = 30, renorm.iter = 3L, info = TRUE)
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 |
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 |
Bias-corrected version of Akaike information criterion |
BIC |
Bayesian information criterion. |
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), 1-22
Geenens, G., Charpentier, A., and Paindaveine, D. (2017).
Probit transformation for nonparametric kernel estimation of the copula
density.
Bernoulli, 23(3), 1848-1873.
Wen, K. and Wu, X. (2015).
Transformation-Kernel Estimation of the Copula Density,
Working paper,
http://agecon2.tamu.edu/people/faculty/wu-ximing/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):445-464.
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
## 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)) # pseudo-random plot(rkdecop(500, fit, quasi = TRUE)) # quasi-random
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.