Vine-Copula package for the analysis of non-Gaussian processes

The literature on vine-copula constructions provides applied statisticians with tools for the exact inference on non-Gaussian distributions.

The few existing R packages that provide copula-related functionality are suited for the analysis of i.i.d. multivariate specifications but not the dynamic stochastic processes. 

My package Copulas provides a sparse implementation for R-vine arrays, which scales up very well in typical parsimonious specifications, such as 1st order Markov processes.


The main algorithmic challenge is that R-vine arrays, which encode pairwise decompositions of the joint likelihood function into bivariate copula functions, are order N^2 in the cardinality of the dataset. For even modest-sized datasets therefore, implementing the R-vine arrays as dense collections requires traversing a huge amount of individual copula instances, even when most of them are expected to be trivial. This results in large memory footprint and enormous computing times for the basic inference operations, such as likelihood evaluation and sampling.

My package uses sparse data structures to reduce the memory required for object storage and to significantly speed up likelihood evaluations and sampling.