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:
para vector of estimates with names taken from the parameters in the specified functions.
SSthe minimized sum of squares.
convergenceoutput convergence criterion from
nlminb
.messageid.
iterationsid.
evaluationsid.
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)