vine | R Documentation |
Automated fitting or creation of custom vine copula models
vine( data, margins_controls = list(mult = NULL, xmin = NaN, xmax = NaN, bw = NA, deg = 2), copula_controls = list(family_set = "all", structure = NA, par_method = "mle", nonpar_method = "constant", mult = 1, selcrit = "aic", psi0 = 0.9, presel = TRUE, trunc_lvl = Inf, tree_crit = "tau", threshold = 0, keep_data = FALSE, show_trace = FALSE, cores = 1), weights = numeric(), keep_data = FALSE, cores = 1 ) vine_dist(margins, pair_copulas, structure)
data |
a matrix or data.frame. Discrete variables have to be declared as
|
margins_controls |
a list with arguments to be passed to
|
copula_controls |
a list with arguments to be passed to |
weights |
optional vector of weights for each observation. |
keep_data |
whether the original data should be stored; if you want to
store the pseudo-observations used for fitting the copula, use the
|
cores |
the number of cores to use for parallel computations. |
margins |
A list with with each element containing the specification of a
marginal stats::Distributions. Each marginal specification
should be a list with containing at least the distribution family ( |
pair_copulas |
A nested list of 'bicop_dist' objects, where
|
structure |
an |
vine_dist()
creates a vine copula by specifying the margins, a nested list
of bicop_dist
objects and a quadratic structure matrix.
vine()
provides automated fitting for vine copula models.
margins_controls
is a list with the same parameters as
kde1d::kde1d()
(except for x
). copula_controls
is a list
with the same parameters as vinecop()
(except for data
).
Objects inheriting from vine_dist
for vine_dist()
, and
vine
and vine_dist
for vine()
.
Objects from the vine_dist
class are lists containing:
margins
, a list of marginals (see below).
copula
, an object of the class vinecop_dist
, see vinecop_dist()
.
For objects from the vine
class, copula
is also an object of the class
vine
, see vinecop()
. Additionally, objects from the vine
class contain:
margins_controls
, a list
with the set of fit controls that was passed
to kde1d::kde1d()
when estimating the margins.
copula_controls
, a list
with the set of fit controls that was passed
to vinecop()
when estimating the copula.
data
(optionally, if keep_data = TRUE
was used), the dataset that was
passed to vine()
.
nobs
, an integer
containing the number of observations that was used
to fit the model.
Concerning margins
:
For objects created with vine_dist()
, it simply corresponds to the margins
argument.
For objects created with vine()
, it is a list of objects of class kde1d
,
see kde1d::kde1d()
.
# specify pair-copulas bicop <- bicop_dist("bb1", 90, c(3, 2)) pcs <- list( list(bicop, bicop), # pair-copulas in first tree list(bicop) # pair-copulas in second tree ) # specify R-vine matrix mat <- matrix(c(1, 2, 3, 1, 2, 0, 1, 0, 0), 3, 3) # set up vine copula model with Gaussian margins vc <- vine_dist(list(distr = "norm"), pcs, mat) # show model summary(vc) # simulate some data x <- rvine(50, vc) # estimate a vine copula model fit <- vine(x, copula_controls = list(family_set = "par")) summary(fit) ## model for discrete data x <- as.data.frame(x) x[, 1] <- ordered(round(x[, 1]), levels = seq.int(-5, 5)) fit_disc <- vine(x, copula_controls = list(family_set = "par")) summary(fit_disc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.