An R package performing gradient-boosting estimation of generalized linear models (GLMs) for conditional vine copulas as described in the references.
You can install the development version from GitHub with:
# install.packages("remotes") remotes::install_github("jobstdavid/boostCopula")
boostBiCopEst
: This function estimates a GLM for a conditional bivariate copula via gradient-boosting. It returns an object of classboostBiCop
.boostBiCopSelect
: This function performs a gradient-boosted estimation of a GLM for conditional bivariate copulas including copula family selection. It returns an object of classboostBiCop
.boostBiCopPDF
,boostBiCopCDF
: These function calculate the probability density function (PDF) or cumulative distribution function (CDF) of anboostBiCop
object, respectively.boostBiCopSim
: This function simulates samples from anboostBiCop
object.boostRVineSeqEst
: This function sequentially estimates the GLMs for conditional bivariate copulas of a d-dimensional conditional R-vine copula model via gradient-boosting. It returns an object of classboostRVineCopula
.boostRVineCopSelect
: This function sequentially estimates the GLMs for conditional bivariate copulas of a d-dimensional conditional R-vine copula model via gradient-boosting. Additionally, it selects the best fitting copula family. It returns an object of classboostRVineCopula
.boostRVineStructureSelect
: This function sequentially selects the regular vine tree structure as well as the conditional bivariate copulas via a gradient-boosted estimation of GLMs for a d-dimensional conditional R-vine copula model. It returns an object of classboostRVineCopula
.boostRVinePDF
: This function calculates the probability density function (PDF) of anboostRVineCopula
object.boostRVineSim
: This function simulates samples from anboostRVineCopula
object.
Copula family | family |
---|---|
Gaussian | 1 |
Double Clayton I copula (0 and 90 degrees) | 301 |
Double Clayton II copula (0 and 270 degrees) | 302 |
Double Clayton III copula (180 and 90 degrees) | 303 |
Double Clayton IV copula (180 and 270 degrees) | 304 |
Double Gumbel I copula (0 and 90 degrees) | 401 |
Double Gumbel II copula (0 and 270 degrees) | 402 |
Double Gumbel III copula (180 and 90 degrees) | 403 |
Double Gumbel IV copula (180 and 270 degrees) | 404 |
# load package library(boostCopula) # load simulated data data(data_bicop) data(data_vinecop)
# fit object object <- boostBiCopEst(formula = ~., U = data_bicop[, 1:2], X = data_bicop[, -c(1:2)], family = 301, control = boost_control(deselection = "attributable")) summary(object) #> Conditional bivariate copula: double Clayton I (301) #> Non-zero coefficients: #> (Intercept) X1 X2 X3 X4 X5 #> 0.0925 -0.1565 0.2675 0.2124 0.4953 -0.3883 #> #> logLik: 499.804, AIC: -987.608, degrees of freedom: 6 #> Iterations: 65 plot(object)
Gradient-boosted estimation of a GLM for conditional bivariate copulas including copula family selection
# fit object object <- boostBiCopSelect(formula = ~., U = data_bicop[, 1:2], X = data_bicop[, -c(1:2)], familyset = NA, control = boost_control(deselection = "attributable")) summary(object) #> Conditional bivariate copula: double Clayton I (301) #> Non-zero coefficients: #> (Intercept) X1 X2 X3 X4 X5 #> 0.0925 -0.1565 0.2675 0.2124 0.4953 -0.3883 #> #> logLik: 499.804, AIC: -987.608, degrees of freedom: 6 #> Iterations: 65
# create boostRVineMatrix Matrix <- c(5, 0, 0, 0, 0, 2, 2, 0, 0, 0, 3, 3, 3, 0, 0, 1, 4, 4, 4, 0, 4, 1, 1, 1, 1) Family <- c(0, 0, 0, 0, 0, 404, 0, 0, 0, 0, 1, 404, 0, 0, 0, 401, 301, 304, 0, 0, 1, 401, 304, 301, 0) Matrix <- matrix(Matrix, 5, 5, byrow = TRUE) Family <- matrix(Family, nrow = 5, ncol = 5, byrow = TRUE) Formula <- matrix("~ .", 5, 5, byrow = TRUE) boostRVM <- boostRVineMatrix(Matrix = Matrix, family = Family, formula = Formula) # fit object object <- boostRVineSeqEst(U = data_vinecop[, 1:5], X = data_vinecop[, -c(1:5)], boostRVM = boostRVM, control = boost_control(deselection = "attributable"))
Feel free to contact jobstd@uni-hildesheim.de if you have any questions or suggestions.
Jobst, D., Möller, A., and Groß, J. (2024). Gradient-Boosted Generalized Linear Models for Conditional Vine Copulas. doi: 10.48550/arXiv.2406.13500.