Description Details Slots Methods References Examples
Extends the EDA
class to implement EDAs based on
multivariate copulas. Objects are created by calling the CEDA
function.
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 non-normal marginal distributions are used, the correlation
matrix is calculated using the inversion of Kendall's tau for each pair
of variables (Demarta and McNeil 2005). The correction proposed in
(Rousseeuw and Molenberghs 1993) is applied if the resulting correlation
matrix is not positive-definite. If normal marginal distributions are
used, the correlation matrix is estimated directly from the
selected population using the cor
function.
The following parameters are recognized by the functions that implement the
edaLearn
and edaSample
methods for the
CEDA
class.
copula
Multivariate copula. Supported values are:
"indep"
(independence or product copula) and "normal"
(normal copula). Default value: "normal"
.
margin
Marginal 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"
.
popSize
Population size. Default value: 100
.
name
:See the documentation of the slot in the
EDA
class.
parameters
:See the documentation of the slot in the
EDA
class.
signature(eda = "CEDA")
: The edaLearnCEDA
function.
signature(eda = "CEDA")
: The edaSampleCEDA
function.
Arderí RJ (2007). Algoritmo con estimación de distribuciones con cópula gaussiana. Bachelor's thesis, University of Havana, Cuba.
Demarta S, McNeil AJ (2005). The t Copula and Related Copulas. International Statistical Review, 73(1), 111–129.
Gonzalez-Fernandez Y, Soto M (2014). copulaedas: An R Package for Estimation of Distribution Algorithms Based on Copulas. Journal of Statistical Software, 58(9), 1-34. http://www.jstatsoft.org/v58/i09/.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.