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 method-specific 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 |
Bias-corrected 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), 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
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)) # pseudo-random
plot(rkdecop(500, fit, quasi = TRUE)) # quasi-random
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.