Recent Releases of vinecopulib
vinecopulib - vinecopulib 0.7.3
BREAKING API CHANGES
- The
mst_algorithmoption toFitControlsVinecophas been renamed totree_algorithmto allow for alternative spanning tree algorithms (#637). tree_algorithm's default value is now"mst_prim"instead of"prim", and"mst_kruskal"replaces"kruskal"(#637).- The CMake option
VINECOPULIB_BUILD_SHARED_LIBShas been changed toVINECOPULIB_PRECOMPILEDto better reflect its purpose (#641).
NEW FEATURES
- Allow for random spanning trees as alternatives to the MST-based structure selection using
tree_algorithminFitControlsVinecopwith"random_weighted"or"random_unweighted"(#637).
BUG FIXES
- Decouple edge insertion from criterion computation in
VinecopSelectorto fix randomness issues in structure selection when using multiple threads (#640)
- C++
Published by tvatter about 1 year ago
vinecopulib - vinecopulib 0.7.2
BUG FIXES
more build system updates by @jschueller (#633)
fix deprecation warning in json header (#634)
fix TLL speed issues related to FFT (#635)
- C++
Published by tnagler about 1 year ago
vinecopulib - vinecopulib 0.7.1
NEW FEATURES
add
allow_rotationoption toFitControlsBicopandFitControlsVinecopto allow for the rotation of the pair copulas (#628).add a
FitControlsConfigstruct to create flexible and yet safe constructors forFitControlsBicopandFitControlsVinecop(#629).
BUG FIXES
restrict parameter range for fitting Tawn copulas; fix handling of their shape/argument order (#620).
compute and save loglik/nobs in
Vinecop::fit()(#623)disable unwanted compiler output related to BOOST_CONCEPT checks (#624)
- C++
Published by tnagler over 1 year ago
vinecopulib - vinecopulib 0.7.0
NEW FEATURES
- Use analytical derivatives in discrete pdf/hfuncs (#572)
- Allow for alternative for
"prim"vs"kruskal"in MST-based model selection (#577) - Improve the dependencies install script to use it in other projects (#576)
- Add tawn copula (#579)
- Improve doc (#580, #585, #607)
- Allow for the discrete Rosenblatt transform (#581)
- Add
Vinecop::fit()(#584) - Improve
Bicop::str()(#588) andVinecop::str()(#589) - Properly handle discrete variables for the TLL family (#597)
- Weighted pseudo-observations (#602)
- Cross-platform random numbers and add seeds options to
to_pseudo_obs(#603) - Improve performance by
- aligning with the
Rdefaults (e.g.,BOOST_NO_AUTO_PTR,BOOST_ALLOW_DEPRECATED_HEADERS,BOOST_MATH_PROMOTE_DOUBLE_POLICY=false,std::string nonparametric_method = "constant"for the TLL instead of"quadratic",-O3 -march=nativecompiler flags) and add benchmarking example (#592, #611, #613), - using
Eigenelement-wise operations instead ofboostwhenever possible (#598, #612), - using binary search in the TLL for
get_indices(#613).
- aligning with the
BUG FIXES
- Improve stability in BB7 PDF (#573)
- Revamped CI/CD pipeline, tests discoverable by CTest, boost version on windows (66cf8b0)
- Fix ASAN issues (#583)
- Fix interface includes and other CMake issue (#586, #599, #601, #608, by @jschueller)
- C++
Published by tnagler over 1 year ago
vinecopulib - vinecopulib 0.6.3
BUG FIXES
replace bitwise ops on boolean operands (#563)
handle
NaNs into_pseudo_obs()(#566)Replace calls to
sprintfin boost libraries (#565)
- C++
Published by tnagler over 3 years ago
vinecopulib - vinecopulib 0.6.2
updated cmake setup (#549)
improved documentation (missing data and Rosenblatt transforms)
better parallelization when there is a small number of edges (#555)
- C++
Published by tnagler almost 4 years ago
vinecopulib - vinecopulib 0.6.1
BREAKING API CHANGES
refactored serialization using
nlohmann::jsoninstead ofboost::property_tree(#539):to_jsonandto_ptreemethods of bothBicopandVinecopobjects are respectively renamed asto_fileandto_json- internal structure of the serialized objects is changed (i.e., not possible to read the old files with the new functions)
BUG FIXES
use
num_threadsin recursive calls to the inverse Rosenblatt (#535)force TLL to be nonnegative (#532)
fix number of parameters for TLL (#530)
fix bugs in
Vinecopprint methods (#544)
- C++
Published by tnagler almost 5 years ago
vinecopulib - vinecopulib 0.5.5
BUG FIXES
fix little bug in copula selection based on mBIC (#527)
stabilize BB7 copula pdf (#526)
fix threshold selection for (near-)independent data (#523)
fix
Vinecop::select()for 1-dimensional models with discrete variables (#521)fix user-visible variable types messed up in
Bicop::flip()(#519)
- C++
Published by tnagler over 5 years ago
vinecopulib - vinecopulib 0.5.4
BUG FIXES
fix uninitialized number of parameters for TLL family (#515)
fix Kendall's tau of Frank copula for par <= 3 (#513)
fix
Vinecop::pdf()when discrete variables are present (#514)
- C++
Published by tnagler over 5 years ago
vinecopulib - vinecopulib 0.5.3
NEW FEATURES
allow 1-dimensional models (#499)
make AIC default selection criterion (#502)
BUG FIXES
make Bicop/Vinecop objects indepent of copied-from-objects (#503)
enforce parameters bounds in tautoparameters for Archimedean families (#507)
- C++
Published by tnagler almost 6 years ago
vinecopulib - vinecopulib 0.5.2
NEW FEATURES
str()methods forFitControlsBicopandFitControlsVinecop(#494)
BUG FIXES
fix documentation (#482, #493)
fix bug in
RVineStructure::simulate()(#492)fix tll family with comonotonic data (#491)
fix weights handling in family preselection (#490)
fix archimidean h-functions near independence (#488)
safety net for NA structure weights (#487)
fix code qix quality issues (#486)
fix
Vinecop::str()(#484)
- C++
Published by tnagler about 6 years ago
vinecopulib - vinecopulib 0.5.1
BUG FIX
- fix out of range bug for weighted TLL influence when sample size is small (#479).
- C++
Published by tnagler over 6 years ago
vinecopulib - vinecopulib 0.5.0
NEW FEATURES
modelling discrete variables with bivariate or vine copulas. (#454)
selection of partially specified R-vine structures. (#457)
convenience classes
DVineStructure()/CVineStructure()for D- and C-vine structures. (#464)new criterion for tree selection:
"joe"corresponds to -log(1-r^2), where r is the pairwise partial correlation. (#426)random sampling of R-vine structures. (#429)
(de)serialization methods
to/from_ptree/json()forRVineStructureobjects. (#435)some improvements in memory efficiency. (#460)
BREAKING API CHANGES
Vinecopctors: interchanged order ofstructureandpair_copulas, removed unpopular versions, new argumentvar_types. (#465)removed
tools_stats::simulate_uniform(n, d, seeds)to avoid implicit conversion. (#430)calculate_npars()becomesget_npars(). (#431)by default,
RVineStructure::get_struct_array()andRVineStructure::struct_array()objects return the structure array in the original order (as opposed to natural order). An additional argument is available to ask for the old behavior. (#437, #439)removed
TriangularArray<T>::operator[]to access columns.TriangularArrays are now stored row-major and provide a new constructorTriangularArray<T>(std::vector<std::vector<T>> rows). (#433)
BUG FIXES AND OTHER IMPROVEMENTS
better support for 0-truncated structures. (#462)
prevent 0/0 in normalization of
BicopFamily::tllfits. (#463)use
std::shufle()instead ofstd::random_shuffle()to remain
C+17-compliant. (#451)ensure consistency in manually created
Bicop(BicopFamily::tll, ...), with fitted versions. (#446)fixed order of ranks in
to_pseudo_obs(.., "first"). (#469)safer computation of multivariate normal cdf. (#475)
- C++
Published by tnagler over 6 years ago
vinecopulib - vinecopulib 0.3.2
NEW FEATURES
new
Vinecop::str()method (#420)enhanced extensibility of
RVineStructure,Vinecop, andVinecopSelectorclasses and (#419)
BUG FIXES
fix interval adjustment for Brent parameter optimization (#414)
clean up includes to improve build times (#412)
better printing for tll family (#415)
fix batches when
num_threads = 0(#418)
- C++
Published by tnagler almost 7 years ago
vinecopulib - vinecopulib 0.3.1
NEW FEATURES
refactoring for enhanced extensibility of the class
Vinecop(#407)add an
strmethod toRVineStructure(#406)simplify algorithms by reversing definition of natural order (#387)
improve selection of truncation level (#373)
add truncate methods for
TriangularArray,RVineStructureandVinecop(#372)
DEPRECATED FUNCTIONS
FitControlsVinecopmethods likeget_truncation_level()are now deprecated in favor of the shorterget_trunc_lvl()versions.
BUG FIXES
fix triangular array print method (#405)
fix potential nan when using Kendall's tau inversion to fit (#403)
stabilize clayton pdf close to independence (#402)
fix warning-generating typos in the tests (#391)
fix deprecated warnings from gtest (#390)
initializer list constructor for
VinecopSelector(#384)fix baseline criterion in
Bicop::select()(#382)use the
trunc_lvlofvine_structinselect_families(#380)fix incompatible size (#378)
remove definitions of
pairwise_rhoandpairwise_hoeffd(#375)fix windows warnings (#371)
use
std::log()(#370)
- C++
Published by tnagler about 7 years ago
vinecopulib - vinecopulib 0.3.0
NEW FEATURES
new function
Vinecop::rosenblatt()for computing the Rosenblatt transformation (#367).faster algorithms for nonparametric copulas based on bilinear interpolation (#357).
refactor vine structures and related algorithms with triangular arrays to improve efficiency of truncated models (#347, #354, #365).
improve random number generation: allow for seeds and quasi-random numbers (#342, #356).
improved parallelization for fitting vine copula models (#338, #344).
parallelized versions of many algorithms including pdf, cdf and simulation (#339, #363).
allow weights for observations (#336).
BUG FIXES
fix cdf of StudentBicop (#353).
improve numerical stability (#345, #350).
fix gcc-8 warning (#340).
- C++
Published by tvatter almost 8 years ago
vinecopulib - vinecopulib 0.2.8
NEW FEATURES
new getters for Kendall's tau (#319).
log-likelihood as a new data member for AbstractBicop and Vinecop (
loglik_), initialized as NAN and set by fitting routines likefitandselect(#327).new getters for the log-likelihood (#327).
BUG FIXES
fix truncation of pdf values (#320).
use increased search interval for parameter estimation when initial fit is unreasonable (#322).
ensure that boundaries are respected for Joe's
hinvmethods (#323).improve numerical stability by more restrictive parameter bounds for Joe and BB7 copulas (#324, #325).
bandwidth adjustment for family
"tll"(#326).
- C++
Published by tnagler about 8 years ago
vinecopulib - vinecopulib 0.2.7
NEW FEATURES
- new criterion for tree selection
"mcor"(#309).
BUG FIXES
- fix bandwidth scaling for family
"tll"(#309).
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.6
NEW FEATURES
add checks for data in (0, 1) (#305).
add scaling by mcor to estimate the bandwidth of TllBicop (#302) .
add mBICV to select the truncation level and threshold (#304).
BUG FIXES
improve Windows build (#301, #302).
fix hoeffd in calculate_criterion (#297).
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.5
NEW FEATURES
speed up vine copula algorithms by pre-computing information related to the vine structure (#292).
the selected threshold parameter can be returned from the
Vinecopobject (#290).
BUG FIXES
fix storage order of pair copulas when structure is fixed (#289).
fixed selection algorithm for threshold and truncation level (#290, #294, #295).
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.4
BUG FIXES
adapt Vinecop's
simulate()andpdf()to truncated vines (#279)make bb8 lower bound ensure feasible computations in
parameters_to_tau()(#278 and #280)default initialize Rcout (#277).
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.3
NEW FEATURES
- faster implementation of Archimedean pdfs (#274)
BUG FIXES
add safeguards for bicop/vinecop when not enough data (#273)
fix segfault problem in complete_matrix() (#272)
make getstartparameters() respect the bounds (#271)
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.2
NEW FEATURES
- allow
"loglik"as selection criterion (#267).
BUG FIXES
- make interpolation grid symmetric around (0.5, 0.5) again (#268).
- C++
Published by tnagler over 8 years ago
vinecopulib - vinecopulib 0.2.1
NEW FEATURES
faster vine copula estimation and selection by parallelizing further sub-routines (#259).
enhanced cross-platform compatibility and addition of a
STRICT_COMPILERoption for gcc (#261).increased precision of maximum-likelihood estimators (#264).
BUG FIXES
made arguments of pairwise dependence measures consistent (#258).
fixed
itauestimation method for Frank copulas (only allowed for positive parameters) (#263).
- C++
Published by tvatter over 8 years ago
vinecopulib - vinecopulib 0.2.0
LIBRARY TYPE
- library is now header only by default (#246), with an option to compile it as a shared library (#249).
DEPENDENCIES
- removed dependency on
NLopt(#239).
NEW FEATURES
NA handling (#237, #238).
parallelized selection/estimation of (pair-) copulas (#240).
efficient storage and fitting of truncated vines (#248).
Brent line search for (profile-) maximum-likelihood estimation of one-parameter families (#255).
more restrictive parameter bounds for Archimedean families, ensuring their numerical stability (#256).
BUG FIXES
error thrown whenever
VinecoporBicopconstructors are called with datasets containing a single row (#251).ensure
constcorrectness ofVinecopandBicopmember functions (#225).made order of inverse Rosenblatt consistent for d = 2 and d > 2 (#232).
fixed bug in interpolation near upper right corner (#233).
interpolation grid is now symmetric around (0.5, 0.5) (#234).
stabilized quadratic tll estimator near zero (#235).
stabilized Archimedean pdfs (#256).
- C++
Published by tnagler over 8 years ago
vinecopulib - vinecopulib 0.1.0
NEW FEATURES
read/write
BicopandVinecopobjects (#205) usingboost::property_tree::ptreewithto_ptree(),to_json(), and constructors takingconst char *filenameor aboost::property_tree::ptreefor both classes.sparse selection of vine copulas (#206) using new data members in
FitControlsVinecop: *bool select_truncation_levelwhether the truncation is selected automatically. *bool select_thresholdwhether the threshold parameter is selected automatically. *double thresholdsets a fixed threshold parameter.local likelihood estimators (#216) have been implemented by refactoring the
tll0family into a more generaltllfamily, where approximations of degrees zero, one and two can be fitted by setting the newstd::string nonparametric_methoddata member ofFitControlsBicoprespectively asconstant,linearandquadratic(default).Kendall's tau (#211) and normalization (#215) for kernel estimators.
support for clang compiler on linux (#201, #202, #203).
option to omit R-vine matrix check in
Vinecopconstructors (#198).
BUG FIXES
replacing throw
std::stringwith throwstd::runtime_errorintools_opimization.cpp(#204).ensure valid starting parameters in
Bicop::fit()(#209, #210).fix appveyor and travis problems (#208, #212, #213).
- C++
Published by tnagler almost 9 years ago
vinecopulib - vinecopulib v0.0.3
NEW FEATURES
new functions
Bicop::cdf()andVinecop::cdf()for evaluating the cumulative distribution function of bivariate and vine copulas (#177, #189).the constructor of the
RVineMatrixclass now checks whether it is provided with a valid R-vine matrix (#192).extended documentation to build the library under Windows (#188).
extended continuous integration tests for Windows (#150, #169).
BUG FIXES
vinecopulib.dll is installed to
lib/instead ofbin/(#149).more pleasing and portable formatting of error messages (#147, #156, #159, #165).
fixed bugs in
Bicop::select()caused by0s and1s or unsufficient data (#173, #180).fixed compatibility issue with CMake 3.8 (#167).
fixed uninitialized memory issues on Windows (#169).
- C++
Published by tnagler almost 9 years ago
vinecopulib - vinecopulib 0.0.2
MAJOR CHANGES
all
tools_xxxnamespaces are now sub-namespaces ofvinecopulib(#130).- header files are encapsulate in an addtional
vinecopulib/folder, i.e.,include/vinecopulib/subdir/file.hpp(#126). - removed abitility to extract the git revision (#124).
- new header
misc/tools_interface.hppwhere interface-specific behavior can be defined (for example, a custom version ofstd::cout) (#136).
- header files are encapsulate in an addtional
BUG FIXES
fix
mat.array() = 0error on some compilers (#131).- add missing
<exception>header (caused errors on not fully C++11 compliant compilers, #139).
- add missing
- C++
Published by tnagler about 9 years ago
vinecopulib - Patched first release
- improve test coverage and CI integration.
- use
size_tinstead ofintwhere appropriate.
- C++
Published by tvatter about 9 years ago