A kernel density estimate of the copula density is visualized. The function
provides the same options as plot.BiCop()
. Further arguments can
be passed to kdecopula::kdecop()
to modify the estimate. The
kdecopula::kdecopula-package()
must be installed to use
this function.
BiCopKDE(u1, u2, type = "contour", margins, size, kde.pars = list(), ...)
numeric vectors of equal length with values in \([0,1]\).
plot type; either "contour"
or "surface"
(partial
matching is activated) for a contour or perspective/surface plot
respectively.
only relevant for types "contour"
and
"surface"
; options are: "unif"
for the original copula density,
"norm"
for the transformed density with standard normal margins,
"exp"
with standard exponential margins, and "flexp"
with
flipped exponential margins. Default is "norm"
for type = "contour"
, and "unif"
for type = "surface"
.
"norm"
for the transformed density with standard normal margins
(partial matching is activated). Default is "norm"
for type = "contour"
, and "unif"
for type = "surface"
.
integer; the plot is based on values on a size x size
grid; default is 100 for type = "contour"
, and 25 for type = "surface"
.
list of arguments passed to
kdecopula::kdecop()
.
optional arguments passed to contour()
or
lattice::wireframe()
.
For further details on estimation see kdecopula::kdecop()
.
# simulate data from Joe copula
cop <- BiCop(3, tau = 0.3)
u <- BiCopSim(1000, cop)
contour(cop) # true contours
# kernel contours with standard normal margins
BiCopKDE(u[, 1], u[, 2])
BiCopKDE(u[, 1], u[, 2], kde.pars = list(mult = 0.5)) # undersmooth
BiCopKDE(u[, 1], u[, 2], kde.pars = list(mult = 2)) # oversmooth
# kernel density with uniform margins
BiCopKDE(u[, 1], u[, 2], type = "surface", zlim = c(0, 4))
plot(cop, zlim = c(0, 4)) # true density
# kernel contours are also used in pairs.copuladata
data(daxreturns)
data <- as.copuladata(daxreturns)
pairs(data[c(4, 5, 14, 15)])