vinereg: D-vine regression models In vinereg: D-Vine Quantile Regression

Description

Sequential estimation of a regression D-vine for the purpose of quantile prediction as described in Kraus and Czado (2017).

Usage

 1 2 3 4 5 6 7 8 9 10 11 12 vinereg( formula, data, family_set = "parametric", selcrit = "aic", order = NA, par_1d = list(), weights = numeric(), cores = 1, ..., uscale = FALSE )

Arguments

 formula an object of class "formula"; same as lm(). data data frame (or object coercible by as.data.frame()) containing the variables in the model. family_set see family_set argument of rvinecopulib::bicop(). selcrit selection criterion based on conditional log-likelihood. "loglik" (default) imposes no correction; other choices are "aic" and "bic". order the order of covariates in the D-vine, provided as vector of variable names (after calling vinereg:::expand_factors(model.frame(formula, data))); selected automatically if order = NA (default). par_1d list of options passed to kde1d::kde1d(), must be one value for each margin, e.g. list(xmin = c(0, 0, NaN)) if the response and first covariate have non-negative support. weights optional vector of weights for each observation. cores integer; the number of cores to use for computations. ... further arguments passed to rvinecopulib::bicop(). uscale if TRUE, vinereg assumes that marginal distributions have been taken care of in a preliminary step.

Details

If discrete variables are declared as ordered() or factor(), they are handled as described in Panagiotelis et al. (2012). This is different from previous version where the data was jittered before fitting.

Value

An object of class vinereg. It is a list containing the elements

formula

the formula used for the fit.

selcrit

criterion used for variable selection.

model_frame

the data used to fit the regression model.

margins

list of marginal models fitted by kde1d::kde1d().

vine

an rvinecopulib::vinecop_dist() object containing the fitted D-vine.

stats

fit statistics such as conditional log-likelihood/AIC/BIC and p-values for each variable's contribution.

order

order of the covariates chosen by the variable selection algorithm.

selected_vars

indices of selected variables.

Use predict.vinereg() to predict conditional quantiles. summary.vinereg() shows the contribution of each selected variable with the associated p-value derived from a likelihood ratio test.

References

Kraus and Czado (2017), D-vine copula based quantile regression, Computational Statistics and Data Analysis, 110, 1-18

Panagiotelis, A., Czado, C., & Joe, H. (2012). Pair copula constructions for multivariate discrete data. Journal of the American Statistical Association, 107(499), 1063-1072.

Examples

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # simulate data x <- matrix(rnorm(200), 100, 2) y <- x %*% c(1, -2) dat <- data.frame(y = y, x = x, z = as.factor(rbinom(100, 2, 0.5))) # fit vine regression model (fit <- vinereg(y ~ ., dat)) # inspect model summary(fit) plot_effects(fit) # model predictions mu_hat <- predict(fit, newdata = dat, alpha = NA) # mean med_hat <- predict(fit, newdata = dat, alpha = 0.5) # median # observed vs predicted plot(cbind(y, mu_hat)) ## fixed variable order (no selection) (fit <- vinereg(y ~ ., dat, order = c("x.2", "x.1", "z.1")))

Example output  D-vine regression model: y | x.2, x.1
nobs = 100, edf = 2, cll = 82.91, caic = -161.82, cbic = -156.61
var edf        cll      caic      cbic      p_value
1   y   0 -218.26300  436.5260  436.5260           NA
2 x.2   1   83.39339 -164.7868 -162.1816 3.723935e-38
3 x.1   1  217.78132 -433.5626 -430.9575 1.000452e-96
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
D-vine regression model: y | x.2, x.1, z.1
nobs = 100, edf = 2, cll = 82.91, caic = -161.82, cbic = -156.61

vinereg documentation built on Nov. 24, 2021, 1:08 a.m.