Learn R Programming

copulaedas (version 1.2.1)

VEDA-class: Class for Vine EDAs

Description

Extends the EDA class to implement EDAs based on vines. Objects are created by calling the VEDA function.

Arguments

code

VEDA

describe

  • vineVine type. Supported values are: "CVine" (Canonical vine) and "DVine" (D-vine). Default value: "DVine".
  • copulasA character vector specifying the candidate copulas. Supported values are: "normal" (normal copula), "t" (t copula), "clayton" (Clayton copula), "frank" (Frank copula), and "gumbel" (Gumbel copula). Default value: c("normal").
  • indepTestSigLevelSignificance level of the independence test. Default value: 0.01.
  • marginMarginal distributions. If this argument is "xxx", the algorithm will search for three functions named fxxx. pxxx and qxxx to fit each marginal distribution and evaluate the cumulative distribution function and its inverse, respectively. Default value: "norm".
  • popSizePopulation size. Default value: 100.

Details

Vine EDAs (VEDAs) are a class of EDAs (Soto and Gonz�lez-Fern�ndez 2010; Gonz�lez-Fern�ndez 2011) that model the search distributions using vines. Vines are graphical models that represent high-dimensional distributions by decomposing the multivariate density into bivariate copulas and one-dimensional densities (Joe 1996; Bedford and Cooke 2001; Aas et al. 2009; Kurowicka and Cooke 2006). Similarly to Copula EDAs, these algorithms estimate separately the univariate marginal distributions and the dependence structure from the selected population. Instead of representing the dependence structure using a single multivariate copula, VEDAs can model a rich variety of dependencies by combining bivariate copulas that belong to different families. The following instances of VEDA are implemented.

  • C-vine EDA (CVEDA), that models the search distributions using C-vines (Soto and Gonz�lez-Fern�ndez 2010; Gonz�lez-Fern�ndez 2011).
D-vine EDA (DVEDA), that models the search distributions using D-vines (Soto and Gonz�lez-Fern�ndez 2010; Gonz�lez-Fern�ndez 2011).

References

Aas K, Czado C, Frigessi A, Bakken H (2009). Pair-Copula Constructions of Multiple Dependence. Insurance: Mathematics and Economics, 44(2), 182--198.

Bedford T, Cooke RM (2001). Probability Density Decomposition for Conditionally Dependent Random Variables Modeled by Vines. Annals of Mathematics and Artificial Intelligence, 32(1), 245--268.

Brechmann EC (2010). Truncated and Simplified Regular Vines and Their Applications. Diploma thesis, University of Technology, Munich, Germany.

Demarta S, McNeil AJ (2005). The t Copula and Related Copulas. International Statistical Review, 73(1), 111--129.

Genest C, R�millard B (2004). Tests of Independence or Randomness Based on the Empirical Copula Process. Test, 13(2), 335--369.

Genest C, Quessy JF, R�millard B (2007). Asymptotic Local Efficiency of Cram�r-von mises Tests for Multivariate Independence. The Annals of Statistics, 35, 166--191.

Genest C, R�millard B (2008). Validity of the Parametric Bootstrap for Goodness-of-Fit Testing in Semiparametric Models. Annales de l'Institut Henri Poincar�: Probabilit�s et Statistiques, 44, 1096--1127.

Gonz�lez-Fern�ndez Y (2011). Algoritmos con estimaci�n de distribuciones basados en c�pulas y vines. Bachelor thesis, University of Havana, Cuba.

Gonz�lez-Fern�ndez Y and Soto M (2012). copulaedas: An R Package for Estimation of Distribution Algorithms Based on Copulas. Preprint http://arxiv.org/abs/1209.5429{arXiv:1209.5429 [cs.NE]}.

Joe H (1996). Families of $m$-variate Distributions with Given Margins and $m(m-1)/2$ Bivariate Dependence Parameters. In L R�schendorf, B Schweizer, MD Taylor (eds.), Distributions with fixed marginals and related topics, pp. 120--141.

Soto M, Gonz�lez-Fern�ndez Y (2010). Vine Estimation of Distribution Algorithms. Technical Report ICIMAF 2010-561, Institute of Cybernetics, Mathematics and Physics, Cuba. ISSN 0138-8916.

Examples

Run this code
setMethod("edaTerminate", "EDA", edaTerminateEval)
setMethod("edaReport", "EDA", edaReportSimple)

CVEDA <- VEDA(vine = "CVine",
    copulas = c("normal", "clayton", "frank", "gumbel"),
    indepTestSigLevel = 0.01, margin = "norm",
    popSize = 200, fEval = 0, fEvalTol = 1e-03)
CVEDA@name <- "C-vine Estimation of Distribution Algorithm"

DVEDA <- VEDA(vine = "DVine",
    copulas = c("normal", "clayton", "frank", "gumbel"),
    indepTestSigLevel = 0.01, margin = "norm",
    popSize = 200, fEval = 0, fEvalTol = 1e-03)
DVEDA@name <- "D-vine Estimation of Distribution Algorithm"

resultsCVEDA <- edaRun(CVEDA, fSphere, rep(-600, 5), rep(600, 5))
resultsDVEDA <- edaRun(DVEDA, fSphere, rep(-600, 5), rep(600, 5))

show(resultsCVEDA)
show(resultsDVEDA)

Run the code above in your browser using DataLab