pyvine: The Python Package for Regular Vine Copula Modeling, Sampling and Testing

Zhenfei Yuan , Taizhong Hu

Communications in Mathematics and Statistics ›› 2021, Vol. 9 ›› Issue (1) : 53 -86.

PDF
Communications in Mathematics and Statistics ›› 2021, Vol. 9 ›› Issue (1) : 53 -86. DOI: 10.1007/s40304-019-00195-2
Article

pyvine: The Python Package for Regular Vine Copula Modeling, Sampling and Testing

Author information +
History +
PDF

Abstract

Regular vine copula provides rich models for dependence structure modeling. It combines vine structures and families of bivariate copulas to construct a number of multivariate distributions that can model a wide range dependence patterns with different tail dependence for different pairs. Two special cases of regular vine copulas, C-vine and D-vine copulas, have been extensively investigated in the literature. We propose the Python package, pyvine, for modeling, sampling and testing a more generalized regular vine copula (R-vine for short). R-vine modeling algorithm searches for the R-vine structure which maximizes the vine tree dependence in a sequential way. The maximum likelihood estimation algorithm takes the sequential estimations as initial values and uses L-BFGS-B algorithm for the likelihood value optimization. R-vine sampling algorithm traverses all edges of the vine structure from the last tree in a recursive way and generates the marginal samples on each edge according to some nested conditions. Goodness-of-fit testing algorithm first generates Rosenblatt’s transformed data ${\varvec{E}}$ and then tests the hypothesis $H_0^*: {\varvec{E}} \sim C_{\perp }$ by using Anderson–Darling statistic, where $C_{\perp }$ is the independence copula. Bootstrap method is used to compute an adjusted p-value of the empirical distribution of replications of Anderson–Darling statistic. The computing of related functions of copulas such as cumulative distribution functions, H-functions and inverse H-functions often meets with the problem of overflow. We solve this problem by reinvestigating the following six families of bivariate copulas: Normal, Student t, Clayton, Gumbel, Frank and Joe’s copulas. Approximations of the above related functions of copulas are given when the overflow occurs in the computation. All these are implemented in a subpackage bvcopula, in which subroutines are written in Fortran and wrapped into Python and, hence, good performance is guaranteed.

Keywords

Regular vine copula / Dependence structure / Multivariate modeling / Multivariate sampling / Rosenblatt’s transformation / Anderson–Darling test / Bivariate copula / Python

Cite this article

Download citation ▾
Zhenfei Yuan,Taizhong Hu. pyvine: The Python Package for Regular Vine Copula Modeling, Sampling and Testing. Communications in Mathematics and Statistics, 2021, 9(1): 53-86 DOI:10.1007/s40304-019-00195-2

登录浏览全文

4963

注册一个新账户 忘记密码

References

Funding

National Natural Science Foundation of China(11371340)

AI Summary AI Mindmap
PDF

207

Accesses

0

Citation

Detail

Sections
Recommended

AI思维导图

/