Y: A matrix of phenotypic traits values (the variables are represented as columns)
tree: An object of class 'phylo' (see ape documentation)
model: The evolutionary model, "BM" is Brownian Motion, "OU" is Ornstein-Uhlenbeck, "EB" is Early Burst, and "lambda" is Pagel's lambda transformation.
method: The penalty method. "RidgeArch": Archetype (linear) Ridge penalty, "RidgeAlt": Quadratic Ridge penalty, "LASSO": Least Absolute Selection and Shrinkage Operator, "ML": Maximum Likelihood.
targM: The target matrix used for the Ridge regularizations. "null" is a null target, "Variance" for a diagonal unequal variance target, "unitVariance" for an equal diagonal target. Only works with "RidgeArch","RidgeAlt" methods.
param: Parameter for the evolutionary model (see "model" above).
tuning: The tuning/regularization parameter.
REML: Use REML (default) or ML for estimating the parameters.
...: Additional options. Not used yet.
Returns
a list with the following components
LogLikelihood: the log-likelihood estimated for the model with estimated parameters
GIC: the GIC criterion
bias: the value of the bias term estimated to compute the GIC
Details
gic_criterion allows comparing the fit of various models estimated by Penalized Likelihood (see ?fit_t_pl). Use the wrapper GIC instead for models fit with fit_t_pl.
Note
The tuning parameter is assumed to be zero when using the "ML" method.
References
Konishi S., Kitagawa G. 1996. Generalised information criteria in model selection. Biometrika. 83:875-890.
Clavel, J., Aristide, L., Morlon, H., 2019. A Penalized Likelihood framework for high-dimensional phylogenetic comparative methods and an application to new-world monkeys brain evolution. Syst. Biol. 68: 93-116.
Author(s)
J. Clavel
See Also
GIC.fit_pl.rpanda, fit_t_pl
Examples
if(test){if(require(mvMORPH)){set.seed(123)n <-32# number of speciesp <-2# number of traitstree <- pbtree(n=n)# phylogenetic treeR <- Posdef(p)# a random symmetric matrix (covariance)# simulate a datasetY <- mvSIM(tree, model="BM1", nsim=1, param=list(sigma=R))# Compute the GIC for MLgic_criterion(Y, tree, model="BM", method="ML", tuning=0)# ML# Compare with PL?#test <- fit_t_pl(Y, tree, model="BM", method="RidgeAlt")#GIC(test)}}