fit3models {paleoTS} | R Documentation |
Functions fits three models to an evolutionary time series: (1) general random walk (=directional evolution), (2) unbiased random walk, and (3) stasis.
fit3models(y, pool = TRUE, silent = FALSE, wts = "AICc") fit3models.joint(y, pool = TRUE, silent = FALSE, wts = "AICc")
y |
a paleoTS object |
pool |
logical, if TRUE, variances are pooled across samples |
silent |
logical, if TRUE, results are not printed |
wts |
what version of AIC to use for calculation of Akaike weights; either AIC or AICc |
The two versions refer to different parameterizations of the model. The plain version, fit3models
, works from evolutionary differences between
adjacent samples, and calls the functions opt.GRW
, opt.URW
and opt.Stasis
. The joint version, fit3models.joint
, considers all samples jointly rather than
working with the differences between samples, and calls the functions opt.joint.GRW
, opt.joint.URW
and opt.joint.Stasis
.
See the documentation under opt.joint.GRW
for more information about the differences between these parameterizations.
If silent=FALSE
, function fit3models
returns a vector of parameter estimates; if silent=TRUE
, a list with the following components is returned, with models listed in the order of general random walk, unbiased random walk, and stasis:
aic |
Akaike information criterion |
aicc |
AIC modified for low sample sizes |
logl |
log-likelihoods of the three models |
hats |
parameter estimates for general random walk (mstep, vstep), unbiased random walk (vstep) and stasis (theta, omega) models |
ak.wts |
vector of Akaike weights |
Gene Hunt
Hunt, G. 2006. Fitting and comparing models of phyletic evolution: random walks and beyond. Paleobiology32:578–601.
Hunt, G., M. Bell & M. Travis. 2008. Evolution towards a new adaptive optimum: phenotypic evolution in a fossil stickleback lineage. Evolution 62:700–710.
## show difference in parameterizations ### example 1, sequence with a strong trend ### # two parameterizations usually yield similar Akaike weights under these conditions x1<- sim.GRW(ns=10, ms=1, vs=0.5) plot(x1, nse=2) res1<- fit3models(x1, silent=TRUE) res1a<- fit3models.joint(x1, silent=TRUE) res1.tab<- rbind(res1$ak.wts, res1a$ak.wts) row.names(res1.tab)<- c("fit3models", "fit3models.joint") cat ("\n-- Akaike Weights from different parameterizations --\n") print (res1.tab) ## example 2, longer & noisy random walk ## joint parameterization often is better at correctly favoring URW under these conditions x2<- sim.GRW(ns=20, ms=0, vs=0.1) # step variance relatively low compared to sampling error == Noisy plot(x2, nse=2) res2<- fit3models(x2, silent=TRUE) res2a<- fit3models.joint(x2, silent=TRUE) res2.tab<- rbind(res2$ak.wts, res2a$ak.wts) row.names(res2.tab)<- c("fit3models", "fit3models.joint") cat ("\n-- Akaike Weights from different parameterizations --\n") print (res2.tab)