Multivariate Kernel Density Estimation with Vine Copulas

Implements the vine copula based kernel density estimator of Nagler and Czado (2016) . The estimator does not suffer from the curse of dimensionality and is therefore well suited for high-dimensional applications.

Build status Linux Build status Windows CRAN version License: GPL v3

This package implements a vine copula based kernel density estimator. The estimator does not suffer from the curse of dimensionality and is therefore well suited for high-dimensional applications (see, Nagler and Czado, 2016). The package is built on top of the copula density estimators in kdecopula and let's you choose from all its implemented methods. The package can handle discrete and categorical data via continuous convolution.

How to install

You can install:

  • the stable release on CRAN:

  • the latest development version:



A detailed description of of all functions and options can be found in the API documentaion. In short, the package provides the following functionality:

  • Class kdevine and its methods:

    • kdevine(): Multivariate kernel density estimation based on vine copulas. Implements the estimator of (see, Nagler and Czado, 2016).

    • dkdevine(), rkdevine(): Density and simulation functions.

  • Class kdevinecop and its methods:

    • kdevinecop(): Kernel estimator for the vine copula density (see, Nagler and Czado, 2016).

    • dkdevinecop(), rkdevinecop(): Density and simulation functions.

    • contour.kdevinecop(): Matrix of contour plots of all pair-copulas.

  • Class kde1d and its methods:

    • kde1d(): Univariate kernel density estimation for bounded and unbounded support.

    • dke1d(), pkde1d(), rkde1d(): Density, cdf, and simulation functions.

    • plot.kde1d(), lines.kde1d(): Plots the estimated density.


Nagler, T., Czado, C. (2016) Evading the curse of dimensionality in nonparametric density estimation with simplified vine copulas Journal of Multivariate Analysis 151, 69-89 (doi:10.1016/j.jmva.2016.07.003, preprint)

Nagler, T., Schellhase, C. and Czado, C. (2017) Nonparametric estimation of simplified vine copula models: comparison of methods arXiv:1701.00845

Nagler, T. (2017) A generic approach to nonparametric function estimation with mixed data arXiv:1704.07457


kdevine 0.4.1


  • Removed dependency on ks package (and thereby its dependencies like rgl) by calling KernSmooth::dpik() directly instead of ks::hpi().


  • fixed plot.kde1d type for continuous data (was shown as histogram).

kdevine 0.4.0


  • support for discrete variables based on continuous convolution (using R package cctools).

  • new bandwidth default mult_1d = log(1 + d) in kdevine().

kdevine 0.3.0

First release on CRAN.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.2 by Thomas Nagler, 2 months ago

Report a bug at

Browse source code at

Authors: Thomas Nagler [aut, cre]

Documentation:   PDF Manual  

GPL-3 license

Imports graphics, stats, utils, MASS, Rcpp, qrng, KernSmooth, cctools, kdecopula, VineCopula, doParallel, parallel, foreach

Suggests testthat

Linking to Rcpp

See at CRAN