bd.time {ape} | R Documentation |
Time-Dependent Birth-Death Models
Description
This function fits a used-defined time-dependent birth-death model.
Usage
bd.time(phy, birth, death, BIRTH = NULL, DEATH = NULL,
ip, lower, upper, fast = FALSE, boot = 0, trace = 0)
Arguments
phy |
an object of class |
birth |
either a numeric (if speciation rate is assumed constant), or a (vectorized) function specifying how the birth (speciation) probability changes through time (see details). |
death |
id. for extinction probability. |
BIRTH |
(optional) a vectorized function giving the primitive
of |
DEATH |
id. for |
ip |
a numeric vector used as initial values for the estimation procedure. If missing, these values are guessed. |
lower , upper |
the lower and upper bounds of the parameters. If missing, these values are guessed too. |
fast |
a logical value specifying whether to use faster integration (see details). |
boot |
the number of bootstrap replicates to assess the confidence intervals of the parameters. Not run by default. |
trace |
an integer value. If non-zero, the fitting procedure is
printed every |
Details
Details on how to specify the birth and death functions and their
primitives can be found in the help page of yule.time
.
The model is fitted by minimizing the least squares deviation between
the observed and the predicted distributions of branching times. These
computations rely heavily on numerical integrations. If fast =
FALSE
, integrations are done with R's integrate
function. If fast = TRUE
, a faster but less accurate function
provided in ape is used. If fitting a complex model to a large
phylogeny, a strategy might be to first use the latter option, and
then to use the estimates as starting values with fast = FALSE
.
Value
A list with the following components:
par: a vector of estimates with names taken from the parameters in the specified functions.
SS: the minimized sum of squares.
convergence: output convergence criterion from
nlminb
.message: id.
iterations: id.
evaluations: id.
Author(s)
Emmanuel Paradis
References
Paradis, E. (2011) Time-dependent speciation and extinction from phylogenies: a least squares approach. Evolution, 65, 661–672.
See Also
ltt.plot
, birthdeath
,
yule.time
, LTT
Examples
set.seed(3)
tr <- rbdtree(0.1, 0.02)
bd.time(tr, 0, 0) # fits a simple BD model
bd.time(tr, 0, 0, ip = c(.1, .01)) # 'ip' is useful here
## the classic logistic:
birth.logis <- function(a, b) 1/(1 + exp(-a*t - b))
## Not run:
bd.time(tr, birth.logis, 0, ip = c(0, -2, 0.01))
## slow to get:
## $par
## a b death
## -0.003486961 -1.995983179 0.016496454
##
## $SS
## [1] 20.73023
## End(Not run)