Changelog
Source:NEWS.md
rvinecopulib 1.0.0.1.0
CRAN release: 2026-09-20
The first stable release, based on vinecopulib 1.0.0. Highlights include a new marginal-modeling interface, conditional simulation and transforms, analytic derivatives, observation-specific parameters, and faster evaluation and fitting. See the vinecopulib 1.0.0 NEWS for the backend changes.
BREAKING CHANGES
Require R >= 4.3.0, C++17, Boost headers from BH >= 1.75.0-0, and wdm >= 0.3.0. Optional parametric margin fitting requires univariateML >= 1.5.0.
R-vine structures now follow the backend convention with the conditioned variable on the diagonal. Consequently, the matrix, order, structure array, and edge orientation representing a model can differ from earlier releases; densities and log-likelihoods are unchanged.
Marginal fitting now uses explicit margin-family and fitted-margin S3 protocols. Configure KDE options with
kde1d_family()and variable types with the top-levelvar_typesargument. Custommargin_family()fitters now receivex,weights, andtypeon every call.
BEHAVIOR CHANGES
TLL fits, particularly for discrete data, can change after fixes to CDF integration, inversion, and boundary handling.
Kendall’s tau for the BB6, BB7, BB8, and Tawn families incorporates numerical fixes. Maximum-likelihood estimates can also shift slightly because of optimizer improvements.
Compact
d + kand expanded2dlayouts for discrete variables are handled consistently across evaluation, Rosenblatt transforms, and conditional simulation.
NEW FEATURES
Add extensible protocols for fitted margins and margin families, including
margin_dist()andmargin_family(), distribution and quantile generics, and model metadata throughmargin_info().dvinecop()anddvine()gain alogargument returning the log-density, anddvinecop(keep_all = TRUE)reportslogpdfalongsidepdf. A vine density is a product of one factor per edge, so it underflows to0in high dimensions or under strong dependence while its logarithm is still an ordinary double.dvine()accumulates the margins and the copula density in log space and exponentiates once at the end, so it returns a representable density where it previously returned0: the copula factor used to be exponentiated before being multiplied by the marginal densities, discarding a joint density that concentrated margins bring back into range.Add
kde1d_family(),univariateML_family(), andstats_margin()adapters.vine()can select among these and user-defined candidates throughmargins_controls$family_setwhile reporting and skipping failed candidates.Add
zero_inflated()andvar_typesto distinguish continuous, discrete, and zero-inflated variables invine().Fit margins in parallel on non-Windows systems, controlled separately through
margins_controls$cores.Add conditioning-aware structure selection, conditional simulation, and Rosenblatt transforms through
conditioning_set. Conditioning values can be common or observation-specific, and fixed, automatically selected, and zero truncation levels are supported.Add
scores()andhessian()for bivariate and vine copulas, and first- and second-order derivatives todbicop()andhbicop()throughderiv.Add sandwich covariance estimates and Wald confidence intervals for fitted bivariate and vine copulas through
vcov()andconfint().Support observation-specific parameters in bivariate copula functions and
dvinecop(). The latter can also return per-edge densities and h-functions throughkeep_all.Allow custom R functions and symmetrized Chatterjee’s xi (
"cxi") as tree-selection criteria invinecop()andvine().Add
tail_dep()andblomqvist_beta()for bivariate copula models and include these dependence summaries in printed model output.
PERFORMANCE
- Speed up bivariate and vine evaluation, fitting, structure selection, pseudo-observations, integration, derivatives, and TLL interpolation.
BUG FIXES
Ensure weighted Wilson random spanning trees terminate when all candidate edge strengths are zero.
mBICV(object, newdata = )no longer returnsInfwhen the density underflows. It computed the log-likelihood assum(log(dvinecop(newdata))), which collapses as soon as one observation underflows to0; it now uses the backend’s log-space log-likelihood, as the storedobject$loglikalways did.Correctly evaluate and refit zero-truncated models and models whose omitted pair copulas represent implicit independence.
Correct the mBICV sparsity prior and require its prior probability
psi0to lie strictly between zero and one.Preserve rows with missing unordered-factor values and variable names for discrete copula data.
Do not retain transformed copula data unless
keep_data = TRUEis explicitly requested.Return standard
logLikobjects from fitted bivariate copula, vine copula, and vine distribution models.
rvinecopulib 0.7.3.1.0
CRAN release: 2025-06-13
NEW FEATURES
- Allow for random spanning trees as alternatives to the MST-based structure selection using
tree_algorithminvineandvinecop. Options are"mst_prim","mst_kruskal","random_weighted"or"random_unweighted"(#307).
BUG FIXES
- Decouple edge insertion from criterion computation fix randomness issues in structure selection when using multiple threads (#640)
rvinecopulib 0.7.1.1.2
CRAN release: 2025-03-03
BUG FIX
- Fixes “deprecated-literal-operator” warning on clang20.
rvinecopulib 0.7.1.1.1
CRAN release: 2025-02-10
BUG FIX
- fix handling of discrete variables in
vine()models and related functions.
rvinecopulib 0.7.1.1.0
CRAN release: 2025-01-21
Update following a upgrade of the C++ backend vinecopulib to 0.7.1, see https://github.com/vinecopulib/vinecopulib/blob/main/NEWS.md.
The main changes on the R end are:
improved documentation,
support for zero-inflated variables,
added new Tawn copula family,
new argument
allow_rotationsto disable rotations of copula families,added variable names to vinecop summary (#276)
fixed handling of logistic distribution (#275)
fix NA handling in vine() control checks (#266)
allow bicop_dist() with tll (#268)
rvinecopulib 0.6.3.1.1
CRAN release: 2023-02-23
- add
-D_HAS_AUTO_PTR_ETC=0flag to disable deprecated features used in boost.
rvinecopulib 0.6.2.1.2 (October 16, 2022)
CRAN release: 2022-10-17
- fix warning about C++17 attribute extension ‘nodiscard’ (#255)
rvinecopulib 0.6.2.1.1 (August 30, 2022)
CRAN release: 2022-09-04
- replace bitwise operations on Boolean variables.
rvinecopulib 0.6.2.1.0 (August 26, 2022)
CRAN release: 2022-08-26
Release following the updates of vinecopulib to 0.6.2, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
improved documentation (discrete and missing dat, Rosenblatt transforms)
better parallelization when there is a small number of edges (#555)
rvinecopulib 0.6.1.1.3 (March 17, 2022)
CRAN release: 2022-03-18
- avoid bitwise operations on Boolean variables.
rvinecopulib 0.6.1.1.2 (March 14, 2022)
CRAN release: 2022-03-14
- enforce use on recent version of RcppThread for proper handling of linker flags
rvinecopulib 0.6.1.1.0 (July 13, 2021)
Release following the updates of vinecopulib to 0.6.1, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
rvinecopulib 0.5.5.1.1 (December 15, 2020)
CRAN release: 2021-01-06
Maintenance release following the changes to all.equal() in R 4.1.x.
rvinecopulib 0.5.5.1.0 (November 24, 2020)
CRAN release: 2020-11-23
Release following the updates of vinecopulib to 0.5.5, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
rvinecopulib 0.5.4.1.0 (September 30, 2020)
CRAN release: 2020-10-03
Release following the updates of vinecopulib to 0.5.4, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
BUG FIXES
fix uninitialized number of parameters for TLL family
fix Kendall’s tau of Frank copula for par <= 3
fix
dvinecop()when discrete variables are present (#222)
rvinecopulib 0.5.3.1.0 (August 11, 2020)
CRAN release: 2020-08-12
Release following the updates of vinecopulib to 0.5.3, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
BUG FIXES
catch na in ktau_to_par (#214)
make Bicop/Vinecop objects indepent of copied-from-objects
enforce parameters bounds in tau_to_parameters for Archimedean families
rvinecopulib 0.5.2.1.0 (May 7, 2020)
CRAN release: 2020-05-07
Release following the updates of vinecopulib to 0.5.2, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
single-integer constructors for
dvine_structure()/cvine_structure(). (#203)add
var_names = "hide"option inplot.vinecop_dist(). (#203)add function
plot.rvine_matrix(). (#203)
BUG FIXES
fix bug for (negative) tau to parameter conversion for Frank family. (#207)
fix rare error
rvine_structure_sim()/rvine_matrix_sim()safeguard
"tll"family against comonotonic data.stabilize archimedean h-functions near independence.
rvinecopulib 0.5.1.1.0 (November 25, 2019)
CRAN release: 2019-11-26
Release following the updates of vinecopulib to 0.5.1, see https://github.com/vinecopulib/vinecopulib/releases.
BUG FIX
- fix out of range bug for weighted TLL influence when sample size is small.
rvinecopulib 0.5.0.1.0 (November 25, 2019)
CRAN release: 2019-11-25
Release following the updates of vinecopulib to 0.5.0, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
modelling discrete variables with bivariate or vine copulas. (#195)
selection of partially specified R-vine structures. (#195)
convenience classes
dvine_structure()/cvine_structure()for D- and C-vine structures. (#195)new criterion for tree selection:
"joe"corresponds to -log(1-r^2), where r is the pairwise partial correlation. (#195)random sampling of R-vine structures. (#197)
API BREAK
- The new
var_typesargument for discrete models has been placed early inbicop()/vinecop()due to its importance. This might break old code calling these functions with unnamed arguments.
BUG FIXES AND OTHER IMPROVEMENTS
rvinecopulib 0.3.1.1.0 (July 4, 2019)
CRAN release: 2019-04-19
Release following the updates of vinecopulib to 0.3.2, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
improved extensibility for packages including on the C++-headers of vinecopulib (#178)
new EDA function
pairs_copula_data()(#181).
BUG FIXES
ensure that input and output type of
pseudo_obs()match (#182).fix printing of
"tll"family in `summary.vinecop() (#183).
rvinecopulib 0.3.1.1.0 (April 19, 2019)
CRAN release: 2019-04-19
Release following the updates of vinecopulib to 0.3.1, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
import vinecopulib 0.3.1 (#171)
warning message for wrong family in itau method (#169)
refactoring for enhanced extensibility of the class
Vinecop(vinecopulib #407)simplify algorithms by reversing definition of natural order (vinecopulib #387)
improve selection of truncation level (vinecopulib #373)
add truncate methods for
TriangularArray,RVineStructureandVinecop(vinecopulib #372)
BUG FIXES
- don’t strip debug symbols unconditionally on linux (#174)
rvinecopulib 0.3.0.1.0 (August 9, 2018)
CRAN release: 2018-08-09
Release following the updates of vinecopulib to 0.3.0, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
new generic
truncate_model()to truncated vine structures and models (#144).new functions
rosenblatt()andinverse_rosenblatt()for computing the (inverse) Rosenblatt transformation (#142).faster algorithms for nonparametric copulas based on bilinear interpolation.
refactor vine structures and related algorithms with triangular arrays to improve efficiency of truncated models (#136).
new classes
rvine_structureandrvine_matrixfor storing the vine structure includingas_- andis.-generics (#136).allow for generating quasi-random numbers (#126).
improved parallelization: faster of fitting vine copula models and parallelized versions of many algorithms including pdf, cdf and simulation (#339, #363).
allow weights for observations (#118).
faster compilation using only a single wrapper file (#124).
improved print and summary generics (#131).
BUG FIXES
fix cdf of StudentBicop
improved numerical stability.
fix gcc-8 warning.
fix missing variable names for class
vine.
rvinecopulib 0.2.8.1.0 (May 8, 2018)
CRAN release: 2018-05-09
Release following the updates of vinecopulib to 0.2.8, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
new
vine_distandvineclasses for data with non-uniform margins (#97).new function
truncate_model()forvinecop_distandvine_distobjects (#95, #97).new convenience functions
get_pair_copula(),get_parameters(),get_ktau(),get_family()forbicop_dist,vinecop_distandvine_distobjects (#95, #107, #109).new convenience functions
get_matrix(),get_all_pair_copulas(),get_all_parameters(),get_all_ktaus(),get_all_families()forvinecop_distandvine_distobjects (#95, #107, #109).new (
dim) and improved (print,summaryandlogLik) generic methods forvinecop_distandvine_distobjects (#104, #109, #110).new function
pseudo_obsto compute pseudo-observations (#108).
BUG FIXES
make mcor correction less aggressive (#103).
fix truncation of pdf values (#103).
use increased search interval for parameter estimation when initial fit is unreasonable (#103).
ensure that boundaries are respected for Joe’s
hinvmethods (#103).improve numerical stability by more restrictive parameter bounds for Joe and BB7 copulas (#103).
rvinecopulib 0.2.7.1.0 (March 1, 2018)
CRAN release: 2018-03-02
Release following the updates of vinecopulib to 0.2.7, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
- new criterion for tree selection
"mcor".
BUG FIXES
- fix bandwidth scaling for family
"tll".
rvinecopulib 0.2.6.1.1 (February 24, 2018)
CRAN release: 2018-02-25
Patch of rvinecopulib 0.2.6.1.0.
BUG FIXES
- corrected documentation items.
rvinecopulib 0.2.6.1.0 (February 23, 2018)
Release following the updates of vinecopulib to 0.2.6, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
add checks for data in (0, 1).
improved bandwidth selection for method
"tll"by scaling with maximum-correlation coefficient.add mBICV criterion to select the truncation level and threshold along with new function
mBICV().
BUG FIXES
- fix calculation of Hoeffding’s D.
rvinecopulib 0.2.5.1.0 (January 14, 2017)
CRAN release: 2018-01-14
Release following the updates of vinecopulib to 0.2.4 and 0.2.5, see https://github.com/vinecopulib/vinecopulib/releases. The most relevant changes are summarized below.
NEW FEATURES
faster simulation and pdf functions for truncated vines.
speed up vine copula algorithms by pre-computing information related to the vine structure.
the selected threshold parameter can be returned from an
vinecopobject.
BUG FIXES
make bb8 lower bound ensure feasible computations in
par_to_tau().default initialize
Rcout(#277).fix storage order of pair copulas when structure is fixed.
fixed selection algorithm for threshold and truncation level.
rvinecopulib 0.2.3.1.0 (November 18, 2017)
CRAN release: 2017-11-18
Release following the update of vinecopulib to 0.2.3, see https://github.com/vinecopulib/vinecopulib/releases/tag/v0.2.3. The most relevant changes are summarized below.
NEW FEATURES
- faster implementation of Archimedean pdfs.
BUG FIXES
rvinecopulib 0.2.2.1.0 (November 9, 2017)
Release following the updates of vinecopulib to 0.2.1 and 0.2.2, see https://github.com/vinecopulib/vinecopulib/releases/tag/v0.2.1 and https://github.com/vinecopulib/vinecopulib/releases/tag/v0.2.2. The most relevant changes are summarized below.
NEW FEATURES
faster vine copula estimation and selection by parallelizing further sub-routines.
enhanced cross-platform compatibility.
increased precision of maximum-likelihood estimators.
allow
"loglik"as selection criterion.
BUG FIXES
fixed
itauestimation method for Frank copulas (only allowed for positive parameters).make interpolation grid symmetric around (0.5, 0.5) again (for
"tll"estimator).
rvinecopulib 0.2.0.1.0 (October 30, 2017)
CRAN release: 2017-10-30
Release following the update of vinecopulib to 0.2.0, see https://github.com/vinecopulib/vinecopulib/releases/tag/v0.2.0. The most relevant changes are summarized below.
PACKAGING/DEPENDECY
the C++ core of the library (besides wrappers) is now header only, so other R packages can access its functionality easily via LinkingTo.
removed dependency on
NLopt.
NEW FEATURES
NA handling.
parallelized selection/estimation of (pair-) copulas, see the
coresargument inbicop()andvinecop().efficient storage and fitting of truncated vines.
Brent line search for (profile-) maximum-likelihood estimation of one-parameter families.
more restrictive parameter bounds for Archimedean families, ensuring their numerical stability.
BUG FIXES
error thrown whenever
vinecop()orbicop()are called with data sets containing a single row.made order of
rvinecop(..., U)consistent for d = 2 and d > 2.fixed bug in interpolation of kernel estimators near upper right corner.
interpolation grid is now symmetric around (0.5, 0.5).
stabilized quadratic tll estimator near zero.
stabilized Archimedean pdfs.