Learn R Programming

copulaedas (version 1.2.1)

CEDA-class: Class for Copula EDAs

Description

Extends the EDA class to implement EDAs based on multivariate copulas. Objects are created by calling the CEDA function.

Arguments

code

CEDA

describe

  • copulaMultivariate copula. Supported values are: "indep" (independence or product copula) and "normal" (normal copula). Default value: "normal".
  • 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

Copula EDAs (CEDA) are a class of EDAs that model the search distributions using a multivariate copula. These algorithms estimate separately the univariate marginal distributions and the dependence structure from the selected population. The dependence structure is represented through a multivariate copula. The following instances of CEDA are implemented.

  • If the dependence structure is modeled using a product copula, the resulting algorithm corresponds to the Univariate Marginal Distribution Algorithm (UMDA) for the continuous domain (Larra�aga et al. 1999, 2000).

If the dependence structure is modeled using a normal copula, the resulting algorithm corresponds to the Gaussian Copula Estimation of Distribution Algorithm (GCEDA) (Soto et al. 2007; Arder� 2007). If the marginal distributions are other than normal, the correlation matrix is calculated using the inversion of Kendall's tau for each pair of variables (Demarta and McNeil 2005). If the resulting correlation matrix is not positive-definite, the correction proposed in (Rousseeuw and Molenberghs 1993) is applied. If normal marginal distributions are used, the correlation matrix is estimated directly from the selected population using the cor function.

References

Arder� RJ (2007). Algoritmo con estimaci�n de distribuciones con c�pula gaussiana. Bachelor thesis, University of Havana, Cuba.

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

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]}.

Larra�aga P, Etxeberria R, Lozano JA, Pe�a JM (1999). Optimization by Learning and Simulation of Bayesian and Gaussian Networks. Technical Report EHU-KZAA-IK-4/99, University of the Basque Country.

Larra�aga P, Etxeberria R, Lozano JA, Pe�a JM (2000). Optimization in Continuous Domains by Learning and Simulation of Gaussian Networks. In Proceedings of the Workshop in Optimization by Building and Using Probabilistic Models in the Genetic and Evolutionary Computation Conference (GECCO 2000), pp. 201--204.

Rousseeuw P, Molenberghs G (1993). Transformation of Nonpositive Semidefinite Correlation Matrices. Communications in Statistics: Theory and Methods, 22, 965--984.

Soto M, Ochoa A, Arder� RJ (2007). Gaussian Copula Estimation of Distribution Algorithm. Technical Report ICIMAF 2007-406, Institute of Cybernetics, Mathematics and Physics, Cuba. ISSN 0138-8916.

Examples

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

UMDA <- CEDA(copula = "indep", margin = "norm",
    popSize = 200, fEval = 0, fEvalTol = 1e-03)
UMDA@name <- "Univariate Marginal Distribution Algorithm"

GCEDA <- CEDA(copula = "normal", margin = "norm",
    popSize = 200, fEval = 0, fEvalTol = 1e-03)
GCEDA@name <- "Gaussian Copula Estimation of Distribution Algorithm"

resultsUMDA <- edaRun(UMDA, fSphere, rep(-600, 5), rep(600, 5))
resultsGCEDA <- edaRun(GCEDA, fSphere, rep(-600, 5), rep(600, 5))

show(resultsUMDA)
show(resultsGCEDA)

Run the code above in your browser using DataLab