AIC and BIC of an R-Vine Copula Model
These functions calculate the Akaike and Bayesian Information criteria of a d-dimensional R-vine copula model for a given copula data set.
RVineAIC(data, RVM, par = RVM$par, par2 = RVM$par2) RVineBIC(data, RVM, par = RVM$par, par2 = RVM$par2)
data |
An N x d data matrix (with uniform margins). |
RVM |
An |
par |
A d x d matrix with the pair-copula parameters (optional;
default: |
par2 |
A d x d matrix with the second parameters of pair-copula
families with two parameters (optional; default: |
If k denotes the number of parameters of an R-vine copula model with log-likelihood l_{RVine} and parameter set θ, then the Akaike Information Criterion (AIC) by Akaike (1973) is defined as
AIC := -2 l_{RVine}(θ|u) + 2 k,
for observations u=(u_1',...,u_N')'.
Similarly, the Bayesian Information Criterion (BIC) by Schwarz (1978) is given by
BIC := -2 l_{RVine}≤ft(\boldsymbol{θ}|\boldsymbol{u}\right) + \log(N) k.
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: |
Eike Brechmann
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.
# 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)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.