Learn R Programming

VineCopula (version 1.6-1)

RVineSeqEst: Sequential Estimation of an R-Vine Copula Model

Description

This function sequentially estimates the pair-copula parameters of a d-dimensional R-vine copula model as specified by the corresponding RVineMatrix object.

Usage

RVineSeqEst(data, RVM, method = "mle", se = FALSE, max.df = 30,
            max.BB = list(BB1=c(5,6),BB6=c(6,6),BB7=c(5,6),BB8=c(6,1)), 
            progress = FALSE, weights = NA)

Arguments

data
An N x d data matrix (with uniform margins).
RVM
An RVineMatrix object including the structure, the pair-copula families and the pair-copula parameters (if they are known).
method
Character indicating the estimation method: either pairwise maximum likelihood estimation (method = "mle"; default) or inversion of Kendall's tau (method = "itau"; see BiCopEst
se
Logical; whether standard errors are estimated (default: se = FALSE).
max.df
Numeric; upper bound for the estimation of the degrees of freedom parameter of the t-copula (default: max.df = 30; for more details see BiCopEst).
max.BB
List; upper bounds for the estimation of the two parameters (in absolute values) of the BB1, BB6, BB7 and BB8 copulas (default: max.BB = list(BB1=c(5,6),BB6=c(6,6),BB7=c(5,6),BB8=c(6,1))).
progress
Logical; whether the pairwise estimation progress is printed (default: progress = FALSE).
weights
Numerical; weights for each observation (opitional).

Value

  • RVMRVineMatrix object with the sequentially estimated parameters stored in RVM$par and RVM$par2.
  • seLower triangular d x d matrix with estimated standard errors of the (first) pair-copula parameters for each (conditional) pair defined in the RVineMatrix object (if se = TRUE).
  • se2Lower triangular d x d matrix with estimated standard errors of the second parameters for pair-copula families with two parameters for each (conditional) pair defined in the RVineMatrix object (if se = TRUE).

Details

The pair-copula parameter estimation is performed tree-wise, i.e., for each R-vine tree the results from the previous tree(s) are used to calculate the new copula parameters using BiCopEst.

See Also

BiCopEst, BiCopHfunc, RVineLogLik, RVineMLE, RVineMatrix

Examples

Run this code
# define 5-dimensional R-vine tree structure matrix
Matrix <- c(5, 2, 3, 1, 4,
            0, 2, 3, 4, 1,
            0, 0, 3, 4, 1,
            0, 0, 0, 4, 1,
            0, 0, 0, 0, 1)
Matrix <- matrix(Matrix, 5, 5)

# define R-vine pair-copula family matrix
family <- c(0, 1, 3, 4, 4,
            0, 0, 3, 4, 1,
            0, 0, 0, 4, 1,
            0, 0, 0, 0, 3,
            0, 0, 0, 0, 0)
family <- matrix(family, 5, 5)

# define R-vine pair-copula parameter matrix
par <- c(0, 0.2, 0.9, 1.5, 3.9,
         0, 0, 1.1, 1.6, 0.9,
         0, 0, 0, 1.9, 0.5,
         0, 0, 0, 0, 4.8,
         0, 0, 0, 0, 0)
par <- matrix(par, 5, 5)

# define second R-vine pair-copula parameter matrix
par2 <- matrix(0, 5, 5)

# define RVineMatrix object
RVM <- RVineMatrix(Matrix = Matrix, family = family,
                   par = par, par2 = par2,
                   names = c("V1", "V2", "V3", "V4", "V5"))

# simulate a sample of size 300 from the R-vine copula model
set.seed(123)
simdata <- RVineSim(300, RVM)

# sequential estimation
RVineSeqEst(simdata, RVM, method = "itau", se = TRUE)
RVineSeqEst(simdata, RVM, method = "mle", se = TRUE)

Run the code above in your browser using DataLab