Learn R Programming

VineCopula (version 2.5.1)

RVineAIC: AIC and BIC of an R-Vine Copula Model

Description

These functions calculate the Akaike and Bayesian Information criteria of a d-dimensional R-vine copula model for a given copula data set.

Usage

RVineAIC(data, RVM, par = RVM$par, par2 = RVM$par2)

RVineBIC(data, RVM, par = RVM$par, par2 = RVM$par2)

Value

AIC, BIC

The computed AIC or BIC value, respectively.

pair.AIC, pair.BIC

A d x d matrix of individual contributions to the AIC or BIC value for each pair-copula, respectively. Note: AIC = sum(pair.AIC) and similarly BIC = sum(pair.BIC).

Arguments

data

An N x d data matrix (with uniform margins).

RVM

An RVineMatrix() object including the structure and the pair-copula families and parameters.

par

A d x d matrix with the pair-copula parameters (optional; default: par = RVM$par).

par2

A d x d matrix with the second parameters of pair-copula families with two parameters (optional; default: par2 = RVM$par2).

Author

Eike Brechmann

Details

If \(k\) denotes the number of parameters of an R-vine copula model with log-likelihood \(l_{RVine}\) and parameter set \(\boldsymbol{\theta}\), then the Akaike Information Criterion (AIC) by Akaike (1973) is defined as $$AIC := -2 l_{RVine}\left(\boldsymbol{\theta}|\boldsymbol{u}\right) + 2 k,$$ for observations \(\boldsymbol{u}=(\boldsymbol{u}_1^\prime,..., \boldsymbol{u}_N^\prime)^\prime\).

Similarly, the Bayesian Information Criterion (BIC) by Schwarz (1978) is given by $$ BIC := -2 l_{RVine}\left(\boldsymbol{\theta}|\boldsymbol{u}\right) + \log(N) k. $$

References

Akaike, H. (1973). Information theory and an extension of the maximum likelihood principle. In B. N. Petrov and F. Csaki (Eds.), Proceedings of the Second International Symposium on Information Theory Budapest, Akademiai Kiado, pp. 267-281.

Schwarz, G. E. (1978). Estimating the dimension of a model. Annals of Statistics 6 (2), 461-464.

See Also

RVineLogLik(), RVineVuongTest(), RVineClarkeTest()

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)

# compute AIC and BIC
RVineAIC(simdata, RVM)
RVineBIC(simdata, RVM)

Run the code above in your browser using DataLab