bd_ML | R Documentation |
This function computes the maximum likelihood estimates of the parameters of a diversity-independent diversification model for a given set of phylogenetic branching times. It also outputs the corresponding loglikelihood that can be used in model comparisons.
bd_ML(
brts,
initparsopt = c(0.1, 0.05 * (tdmodel <= 1) + 10 * (length(brts) + missnumspec) *
(tdmodel > 1)),
idparsopt = c(1, 2 + (tdmodel > 1)),
idparsfix = (1:4)[-idparsopt],
parsfix = rep(0, 4)[idparsfix],
missnumspec = 0,
tdmodel = 0,
cond = 1,
btorph = 1,
soc = 2,
tol = c(0.001, 1e-04, 1e-06),
maxiter = 1000 * round((1.25)^length(idparsopt)),
changeloglikifnoconv = FALSE,
optimmethod = "subplex",
num_cycles = 1,
methode = "odeint::runge_kutta_cash_karp54",
verbose = FALSE
)
brts |
A set of branching times of a phylogeny, all positive |
initparsopt |
The initial values of the parameters that must be optimized |
idparsopt |
The ids of the parameters that must be optimized, e.g. 1:3
for intrinsic speciation rate, extinction rate and carrying capacity. The
ids are defined as follows: |
idparsfix |
The ids of the parameters that should not be optimized, e.g. c(1,3) if lambda0 and lambda1 should not be optimized, but only mu0 and mu1. In that case idparsopt must be c(2,4). The default is to fix all parameters not specified in idparsopt. |
parsfix |
The values of the parameters that should not be optimized |
missnumspec |
The number of species that are in the clade but missing in the phylogeny |
tdmodel |
Sets the model of time-dependence: |
cond |
Conditioning: |
btorph |
Sets whether the likelihood is for the branching times (0) or the phylogeny (1) |
soc |
Sets whether stem or crown age should be used (1 or 2) |
tol |
Sets the tolerances in the optimization. Consists of: |
maxiter |
Sets the maximum number of iterations in the optimization |
changeloglikifnoconv |
if TRUE the loglik will be set to -Inf if ML does not converge |
optimmethod |
Method used in optimization of the likelihood. Current default is 'subplex'. Alternative is 'simplex' (default of previous versions) |
num_cycles |
the number of cycles of opimization. If set at Inf, it will do as many cycles as needed to meet the tolerance set for the target function. |
methode |
The method used to solve the master equation under tdmodel = 4, default is 'odeint::runge_kutta_cash_karp54'. |
verbose |
Show the parameters and loglikelihood for every call to the loglik function |
The output is a dataframe containing estimated parameters and maximum loglikelihood. The computed loglikelihood contains the factor q! m! / (q + m)! where q is the number of species in the phylogeny and m is the number of missing species, as explained in the supplementary material to Etienne et al. 2012.
A dataframe with the following elements:
lambda0 |
gives the maximum likelihood estimate of lambda0 |
mu0 |
gives the maximum likelihood estimate of mu0 |
lambda1 |
gives the maximum likelihood estimate of lambda1 |
mu1 |
gives the maximum likelihood estimate of mu1 |
loglik |
gives the maximum loglikelihood |
df |
gives the number of estimated parameters, i.e. degrees of feedom |
conv |
gives a message on convergence of optimization; conv = 0 means convergence |
Rampal S. Etienne & Bart Haegeman
- Etienne, R.S. et al. 2012, Proc. Roy. Soc. B 279: 1300-1309,
doi: 10.1098/rspb.2011.1439
- Etienne, R.S. & B. Haegeman 2012. Am. Nat.
180: E75-E89, doi: 10.1086/667574
bd_loglik
cat("Estimating parameters for a set of branching times brts with the default settings:")
brts = 1:20
bd_ML(brts = brts, cond = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.