Vine-distribution {vines} | R Documentation |
Vine Distribution Functions
Description
Density evaluation, distribution function evaluation, and random number generation.
Usage
dvine(vine, u)
pvine(vine, u)
rvine(vine, n)
Arguments
vine |
A |
u |
Vector of the same dimension of the vine or a matrix with one column for each variable of the vine. |
n |
Number of observations. |
Details
The implementation of the dvine
function for CVine
and DVine
objects is based on the Algorithms 3 and 4
of (Aas et al. 2009), respectively.
The pvine
function is evaluated through the numerical integration of
the density function (using the cubature
package). This is a
computationally demanding procedure, even for small dimensions.
The implementation of the rvine
function for CVine
and DVine
objects is based on the Algorithms 1 and 2
of (Aas et al. 2009), respectively.
Value
dnorm
returns a vector with the evaluation of the density.
pnorm
returns a vector with the evaluation of the distribution
function. rvine
returns a matrix with one column for each variable
of the vine and one row for each observation.
References
Aas, K. and Czado, C. and Frigessi, A. and Bakken, H. (2009) Pair-copula constructions of multiple dependence. Insurance: Mathematics and Economics 44, 182–198.
Bedford, T. and Cooke, R. M. (2001) Monte Carlo simulation of vine dependent random variables for applications in uncertainty analysis. In 2001 Proceedings of ESREL2001, Turin, Italy.
Bedford, T. and Cooke, R. M. (2001) Probability density decomposition for conditionally dependent random variables modeled by vines. Annals of Mathematics and Artificial Intelligence 32, 245–268.
Kurowicka, D. and Cooke, R. M. (2005) Sampling algorithms for generating joint uniform distributions using the vine-copula method. In 3rd IASC World Conference on Computational Statistics & Data Analysis, Limassol, Cyprus.
Examples
dimension <- 3
copulas <- matrix(list(normalCopula(0.5),
claytonCopula(2.75),
tCopula(0.75, df = 2),
NULL),
ncol = dimension - 1,
nrow = dimension - 1)
vine <- DVine(dimension = dimension, trees = dimension - 1,
copulas = copulas)
dimnames(vine) <- c("A", "B", "C")
data <- rvine(vine, 1)
dvine(vine, data)
pvine(vine, data)