We might consider using a linear model to investigate: Z=Xβ+ϵ
But what potential problem do we face?
We might consider using a linear model to investigate: Z=Xβ+ϵ
But what potential problem do we face?
To study adaptation, biologists look comparatively across taxa, and examine trait correlations
Species values commonly utilized
To study adaptation, biologists look comparatively across taxa, and examine trait correlations
Species values commonly utilized
But this has the same problem: the observations are not independent!
To resolve this, Phylogenetic Comparative Methods are required
PCMs condition the data on the phylogeny under an evolutionary model (i.e., account for the phylogeny during the analysis)
Empirical Goal: Evaluate evolutionary hypotheses while accounting for (phylogenetic) non-independence
PCMs condition the data on the phylogeny under an evolutionary model (i.e., account for the phylogeny during the analysis)
Empirical Goal: Evaluate evolutionary hypotheses while accounting for (phylogenetic) non-independence
This requires a phylogeny, and an evolutionary model of how trait variation is expected to accumulate
But to understand PCMs more deeply, let's first go back to something familiar: linear models
1: For a refreshing perspective on correlated errors in biology see Ives (2022). Methods Ecol. Evol.
1: For a refreshing perspective on correlated errors in biology see Ives (2022). Methods Ecol. Evol.
Xβ describes the predicted values (ˆZ) given the independent variables (X)
ϵ captures the stochastic error in the processes generating Z
1: For a refreshing perspective on correlated errors in biology see Ives (2022). Methods Ecol. Evol.
Xβ describes the predicted values (ˆZ) given the independent variables (X)
ϵ captures the stochastic error in the processes generating Z
1: For a refreshing perspective on correlated errors in biology see Ives (2022). Methods Ecol. Evol.
Xβ describes the predicted values (ˆZ) given the independent variables (X)
ϵ captures the stochastic error in the processes generating Z
When fitting linear models, we describe ϵ as the 'error'
Statistically, ϵ follows a distribution which describes how we expect the error to be distributed
For the linear models used thus far, ϵ is modeled as (assumed to be) iid 1. These are ordinary least squares (OLS) models
1: iid: independent, identically distributed error. This is where the common 'assumptions' of the OLS linear model are embodied.
When fitting linear models, we describe ϵ as the 'error'
Statistically, ϵ follows a distribution which describes how we expect the error to be distributed
For the linear models used thus far, ϵ is modeled as (assumed to be) iid 1. These are ordinary least squares (OLS) models
1: iid: independent, identically distributed error. This is where the common 'assumptions' of the OLS linear model are embodied.
1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
The off-diagonal elements of Ω describe expected covariation (correlation) between pairs of observations. Here they are '0', signifying independent observations
However, we can make the situation (and thus Ω) more complex
Imagine taking repeated caliper measurements of body size on 4 specimens
Imagine taking repeated caliper measurements of body size on 4 specimens
This means the expected variance differs among observations
smallest | next | next | largest | |
---|---|---|---|---|
smallest | 2.7 | 0.0 | 0.0 | 0.0 |
next | 0.0 | 2.1 | 0.0 | 0.0 |
next | 0.0 | 0.0 | 1.8 | 0.0 |
largest | 0.0 | 0.0 | 0.0 | 1.2 |
Now imagine we measure 2 species from each of two genera
This means the expected covariance is not always zero
Now imagine we measure 2 species from each of two genera
This means the expected covariance is not always zero
t1 | t2 | t3 | t4 | |
---|---|---|---|---|
t1 | 1.0 | 0.7 | 0.0 | 0.0 |
t2 | 0.7 | 1.0 | 0.0 | 0.0 |
t3 | 0.0 | 0.0 | 1.0 | 0.7 |
t4 | 0.0 | 0.0 | 0.7 | 1.0 |
Now imagine we measure 2 species from each of two genera
This means the expected covariance is not always zero
t1 | t2 | t3 | t4 | |
---|---|---|---|---|
t1 | 1.0 | 0.7 | 0.0 | 0.0 |
t2 | 0.7 | 1.0 | 0.0 | 0.0 |
t3 | 0.0 | 0.0 | 1.0 | 0.7 |
t4 | 0.0 | 0.0 | 0.7 | 1.0 |
Now Ω models random variation in non-independent observations
For actual data, two questions remain:
Ω is an N×N matrix describing the expected covariation of the random errors among observations
Biology informs us of what that something is (phylogeny, space, time)
Ω is an N×N matrix describing the expected covariation of the random errors among observations
Biology informs us of what that something is (phylogeny, space, time)
In this case, generating Ω requires knowledge of the relationships among observations, and a model of how trait variation is expected to accumulate
Let's look at this for the case of a phylogeny, and what are termed phylogenetic comparative methods (PCMs)
Under Brownian motion, the expected amount of change in trait values is proportional to time
This gives us the expected object covariance (Ω) under Brownian motion 1
1: Other evolutionary models, such as OU, could also be used.
t4 | t5 | t1 | t2 | t3 | |
---|---|---|---|---|---|
t4 | 1.00 | 0.40 | 0.21 | 0.00 | 0.00 |
t5 | 0.40 | 1.00 | 0.21 | 0.00 | 0.00 |
t1 | 0.21 | 0.21 | 1.00 | 0.00 | 0.00 |
t2 | 0.00 | 0.00 | 0.00 | 1.00 | 0.24 |
t3 | 0.00 | 0.00 | 0.00 | 0.24 | 1.00 |
Now we have Ω for our species
The next question is, what do we do with it?
Linear models with iid error: ϵ∼N(0,σ2), are called Ordinary Least Squares methods
Linear models with iid error: ϵ∼N(0,σ2), are called Ordinary Least Squares methods
With Ω we move from iid to correlated error
Linear models with correlated error: ϵ∼N(0,σ2Ω), are called Generalized Least Squares methods
Phylogenetic Comparative Methods (PCMs) are GLS approaches
Most PCMs use GLS model: Z=Xβ+ϵ
Model design (X) describes the type of analysis 1
1: reviewed in: Adams and Collyer (2018;2019)
Evaluate Z=Xβ+ϵ in a phylogenetic context
The workhorse of PCMs
Z=Xβ+ϵ, where ϵ∼N(0,σ2Ω)
Parameter estimation: 1 ˆβ=(XTΩ−1X)−1(XTΩ−1Z).
Also expressed as: ˆβ=(˜XT˜X)−1(˜XT˜Z)
1: Using Dean's favorite equation!
2: Grafen (1989). Phil. Trans. Roy. Soc.
Z=Xβ+ϵ, where ϵ∼N(0,σ2Ω)
Parameter estimation: 1 ˆβ=(XTΩ−1X)−1(XTΩ−1Z).
Also expressed as: ˆβ=(˜XT˜X)−1(˜XT˜Z)
1: Using Dean's favorite equation!
2: Grafen (1989). Phil. Trans. Roy. Soc.
ˆβ | ˆZ | Residuals | Transformed Residuals | RSS |
---|---|---|---|---|
ˆβF | XFˆβF | (Z−ˆZF) | \small(\tilde{\mathbf{Z}} - \tilde{\mathbf{X}}_F\boldsymbol{\hat{\beta}}_F) | \tilde{\mathbf{E}}_F^T \tilde{\mathbf{E}}_F |
\small\hat{\mathbf{\beta}}_R | \small\mathbf{X}_R\hat{\mathbf\beta}_R | \small(\mathbf{Z}-\hat{\mathbf{Z}}_R) | \small(\tilde{\mathbf{Z}} - \tilde{\mathbf{X}}_R\boldsymbol{\hat{\beta}}_R) | \tilde{\mathbf{E}}_R^T \tilde{\mathbf{E}}_R |
## ## No curves detected; all points appear to be fixed landmarks.
pgls.reg <- procD.pgls(f1 = shape~svl, phy=plethtree, data=gdf, print.progress = FALSE)summary(pgls.reg)
## ## Analysis of Variance, using Residual Randomization## Permutation procedure: Randomization of null model residuals ## Number of permutations: 1000 ## Estimation method: Generalized Least-Squares (via OLS projection) ## Sums of Squares and Cross-products: Type I ## Effect sizes (Z) based on F distributions## ## Df SS MS Rsq F Z Pr(>F) ## svl 1 0.0006581 0.00065811 0.07046 3.0323 1.9503 0.028 *## Residuals 40 0.0086814 0.00021704 0.92954 ## Total 41 0.0093395 ## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## Call: procD.lm(f1 = shape ~ svl, iter = iter, seed = seed, RRPP = TRUE, ## SS.type = SS.type, effect.type = effect.type, int.first = int.first, ## Cov = Cov, data = data, print.progress = print.progress)
plot.out <- plot(pgls.reg, type = "regression", predictor = svl, reg.type = "RegScore", pch=19, col = "black")abline(lm(plot.out$RegScore~svl))
preds <- shape.predictor(pgls.reg$GM$pgls.fitted, x= svl, Intercept = TRUE, predmin = min(svl), predmax = max(svl))
pgls.aov <- procD.pgls(f1 = shape~elev, phy=plethtree, data=gdf, print.progress = FALSE)summary(pgls.aov)
## ## Analysis of Variance, using Residual Randomization## Permutation procedure: Randomization of null model residuals ## Number of permutations: 1000 ## Estimation method: Generalized Least-Squares (via OLS projection) ## Sums of Squares and Cross-products: Type I ## Effect sizes (Z) based on F distributions## ## Df SS MS Rsq F Z Pr(>F)## elev 1 0.0004220 0.00042201 0.04519 1.893 1.3479 0.1## Residuals 40 0.0089175 0.00022294 0.95481 ## Total 41 0.0093395 ## ## Call: procD.lm(f1 = shape ~ elev, iter = iter, seed = seed, RRPP = TRUE, ## SS.type = SS.type, effect.type = effect.type, int.first = int.first, ## Cov = Cov, data = data, print.progress = print.progress)
plot.res <- gm.prcomp(shape,phy=plethtree)plot(plot.res,phylo = FALSE, pch=21, bg=gdf$elev, cex=2)legend("topleft", pch=21, pt.bg = unique(gdf$elev), legend = levels(gdf$elev))
preds <- shape.predictor(arrayspecs(pgls.aov$pgls.fitted, 11,2), x= pgls.aov$X[,-1], Intercept = TRUE, Low = Low, High = High)
1: Adams and Felice. PLoS One (2014); Adams and Collyer. Syst. Biol. (2018)
2: Use of PICs yields same r_{PLS} (Klingenberg and Marugan-Loban. Syst. Biol. 2013); but significance tests based on permuting PICs is incorrect (see Adams and Collyer 2015. Evolution).
1: Adams and Felice. PLoS One (2014); Adams and Collyer. Syst. Biol. (2018)
2: Use of PICs yields same r_{PLS} (Klingenberg and Marugan-Loban. Syst. Biol. 2013); but significance tests based on permuting PICs is incorrect (see Adams and Collyer 2015. Evolution).
land.gps<-c("A","A","A","A","A","B","B","B","B","B","B")PLS.Y <- phylo.integration(A = gdf$shape, partition.gp = land.gps, phy= plethtree, print.progress = FALSE)summary(PLS.Y)
## ## Call:## phylo.integration(A = gdf$shape, phy = plethtree, partition.gp = land.gps, ## print.progress = FALSE) ## ## ## ## r-PLS: 0.843## ## Effect Size (Z): 4.7366## ## P-value: 0.001## ## Based on 1000 random permutations
plot(PLS.Y)
\small{K=\frac{(\mathbf{Z}-E(\mathbf{Z}))^T(\mathbf{Z}-E(\mathbf{Z}))}{(\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^T\mathbf{\Omega1})^{-1}}{N-1}}
\small{K=\frac{(\mathbf{Z}-E(\mathbf{Z}))^T(\mathbf{Z}-E(\mathbf{Z}))}{(\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^T\mathbf{\Omega1})^{-1}}{N-1}}
\small{logL=log(\frac{(\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^\lambda{^{-1}}(\mathbf{Z}-E(\mathbf{Z})))}{\sqrt{(2\pi)^{Np}\times|\mathbf\Omega^\lambda|}}}
\small{K=\frac{(\mathbf{Z}-E(\mathbf{Z}))^T(\mathbf{Z}-E(\mathbf{Z}))}{(\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^T\mathbf{\Omega1})^{-1}}{N-1}}
\small{logL=log(\frac{(\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^\lambda{^{-1}}(\mathbf{Z}-E(\mathbf{Z})))}{\sqrt{(2\pi)^{Np}\times|\mathbf\Omega^\lambda|}}}
K_{mult}=\frac{\mathbf{D}_{\mathbf{Z},E(\mathbf{Z})}^{T}\mathbf{D}_{\mathbf{Z},E(\mathbf{Z})}}{\mathbf{PD}_{\tilde{\mathbf{Z}},0}^{T}\mathbf{PD}_{\tilde{\mathbf{Z}},0}}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^{T}\mathbf{\Omega1})^{-1}}{N-1}
K_{mult}=\frac{\mathbf{D}_{\mathbf{Z},E(\mathbf{Z})}^{T}\mathbf{D}_{\mathbf{Z},E(\mathbf{Z})}}{\mathbf{PD}_{\tilde{\mathbf{Z}},0}^{T}\mathbf{PD}_{\tilde{\mathbf{Z}},0}}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^{T}\mathbf{\Omega1})^{-1}}{N-1}
This is the same as:
K_{mult}=\frac{tr\left((\mathbf{Z}-E(\mathbf{Z}))^T(\mathbf{Z}-E(\mathbf{Z})\right)}{tr\left((\mathbf{Z}-E(\mathbf{Z}))^T\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))\right)}/\frac{tr(\mathbf\Omega)-N(\mathbf{1}^T\mathbf{\Omega1})^{-1}}{N-1}
1: Adams (2014). Syst. Biol.
Does head shape in in Plethodon display phylogenetic signal?
PS.shape <- physignal(A=shape,phy=plethtree,iter=999, print.progress = FALSE)summary(PS.shape)
## ## Call:## physignal(A = shape, phy = plethtree, iter = 999, print.progress = FALSE) ## ## ## ## Observed Phylogenetic Signal (K): 0.392## ## P-value: 0.001## ## Based on 1000 random permutations## ## Use physignal.z to estimate effect size.
plot(PS.shape)
This formulation lends itself nicely to evaluation via RRPP
RRPP many times, obtaining logL
Calculate Effect size as:
\small{Z=\frac{\theta_{obs}-\mu_\theta}{\sigma_\theta}} where \theta_{obs}=f(logL_\Omega)
1: See Collyer et al. (2022) Methods Ecol. Evol.
2: Blomberg et al. (2003) Evol.
This formulation lends itself nicely to evaluation via RRPP
RRPP many times, obtaining logL
Calculate Effect size as:
\small{Z=\frac{\theta_{obs}-\mu_\theta}{\sigma_\theta}} where \theta_{obs}=f(logL_\Omega)
1: See Collyer et al. (2022) Methods Ecol. Evol.
2: Blomberg et al. (2003) Evol.
\small{Z_{12}=\frac{(\theta_{obs_1}-\mu_{\theta_1})-(\theta_{obs_2}-\mu_{\theta_2})}{\sqrt{\sigma^2_{\theta_1}+\sigma^2_{\theta_2}}}}
Greater phylogenetic signal in SA:V ratios!
Ordinations that incorporate phylogenetic relatedness
Intent is to provide visual insights into macroevolutionary patterns
Three approaches:
Ordinations that incorporate phylogenetic relatedness
Intent is to provide visual insights into macroevolutionary patterns
Three approaches:
Phylomorphospace: project phylogeny into PCA space (using ancestral states)
Phylogenetic PCA (pPCA): account for phylogeny in PCA computations
Phylogenetically-Aligned Components Analysis (PACA)
\mathbf{I}^T_{n \times n} \mathbf{Z}=\mathbf{UDV}^T
where: \mathbf{A} = \mathbf{I}_{n \times n}. This is PCA, and finds the principal directions of variation in the data independent of any other association.
1: See Collyer and Adams (2021). Methods Ecol. Evol.
\mathbf{I}^T_{n \times n} \mathbf{Z}=\mathbf{UDV}^T
where: \mathbf{A} = \mathbf{I}_{n \times n}. This is PCA, and finds the principal directions of variation in the data independent of any other association.
1: See Collyer and Adams (2021). Methods Ecol. Evol.
But what if we do:
\mathbf{T^T_\Omega}\mathbf{Z} =\mathbf{UDV}^T
where: \mathbf{A}=\mathbf{T_\Omega} and \mathbf\Omega^{-1}=\mathbf{TT^T}. Data is aligned to directions independent of phylogenetic signal (the least phylogenetic signal in the first component).
\mathbf{I}^T_{n \times n} \mathbf{Z}=\mathbf{UDV}^T
where: \mathbf{A} = \mathbf{I}_{n \times n}. This is PCA, and finds the principal directions of variation in the data independent of any other association.
1: See Collyer and Adams (2021). Methods Ecol. Evol.
But what if we do:
\mathbf{T^T_\Omega}\mathbf{Z} =\mathbf{UDV}^T
where: \mathbf{A}=\mathbf{T_\Omega} and \mathbf\Omega^{-1}=\mathbf{TT^T}. Data is aligned to directions independent of phylogenetic signal (the least phylogenetic signal in the first component).
Or if instead we perform:
\mathbf{\Omega}^T\mathbf{Z} = \mathbf{UDV}^T
where \mathbf{A}=\mathbf{\Omega}. Data is aligned to directions that maximize phylogenetic signal (most phylogenetic signal in the first few components).
\mathbf{I}^T_{n \times n} \mathbf{Z}=\mathbf{UDV}^T
where: \mathbf{A} = \mathbf{I}_{n \times n}. This is PCA, and finds the principal directions of variation in the data independent of any other association.
1: See Collyer and Adams (2021). Methods Ecol. Evol.
But what if we do:
\mathbf{T^T_\Omega}\mathbf{Z} =\mathbf{UDV}^T
where: \mathbf{A}=\mathbf{T_\Omega} and \mathbf\Omega^{-1}=\mathbf{TT^T}. Data is aligned to directions independent of phylogenetic signal (the least phylogenetic signal in the first component).
Or if instead we perform:
\mathbf{\Omega}^T\mathbf{Z} = \mathbf{UDV}^T
where \mathbf{A}=\mathbf{\Omega}. Data is aligned to directions that maximize phylogenetic signal (most phylogenetic signal in the first few components).
Mathematically the difference between these phylogenetic ordination procedures is that they align the data relative to different matrices in \mathbf{A}.
\mathbf{I}^T_{n \times n} \mathbf{Z}=\mathbf{UDV}^T
plot.pca <- gm.prcomp(shape,phy=plethtree)plot(plot.pca,phylo = TRUE, pch=21, bg=gdf$elev, cex=2, phylo.par = list(tip.labels = FALSE, node.labels = FALSE) )legend("topleft", pch=21, pt.bg = unique(gdf$elev), legend = levels(gdf$elev))
\mathbf{T^T_\Omega}\mathbf{Z} =\mathbf{UDV}^T
plot.ppca <- gm.prcomp(shape,phy=plethtree, GLS = TRUE, transform = FALSE)plot(plot.ppca,phylo = TRUE, pch=21, bg=gdf$elev, cex=2, phylo.par = list(tip.labels = FALSE, node.labels = FALSE) )legend("topleft", pch=21, pt.bg = unique(gdf$elev), legend = levels(gdf$elev))
\mathbf{\Omega^T}\mathbf{Z} =\mathbf{UDV}^T
plot.paca <- gm.prcomp(shape,phy=plethtree, align.to.phy = TRUE)plot(plot.paca,phylo = TRUE, pch=21, bg=gdf$elev, cex=2, phylo.par = list(tip.labels = FALSE, node.labels = FALSE) )legend("topleft", pch=21, pt.bg = unique(gdf$elev), legend = levels(gdf$elev))
Models fit as: \mathbf{Z=1\beta+\epsilon}, where \epsilon\small\sim\mathcal{N}(0,\sigma^2\mathbf\Omega)
Models fit as: \mathbf{Z=1\beta+\epsilon}, where \epsilon\small\sim\mathcal{N}(0,\sigma^2\mathbf\Omega)
Is there evidence for multiple evolutionary rates on the phylogeny?
Does head shape in high-elevation Plethodon species evolve more rapidly than in low-elevation species?
ER<-compare.evol.rates(A=gdf$shape, phy=plethtree,gp=gdf$elev,iter=999, method = 'permutation',print.progress = FALSE)summary(ER)
## ## Call:## ## ## Observed Rate Ratio: 1.0133## ## P-value: 0.9645## ## Effect Size: -1.5892## ## Based on 1000 random permutations## ## The rate for group High is 1.00093880316058e-05 ## ## The rate for group Low is 1.01425751777744e-05
\small{\mathbf{R}=\frac{(\mathbf{Z}-E(\mathbf{Z}))^{T}\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))}{N-1}=\left( \begin{array}{ccc} \sigma^2_{1} & \sigma^2_{1,2} & \sigma^2_{1,3} \\ \sigma^2_{2,1} & \sigma^2_{2} & \sigma^2_{2,3} \\ \sigma^2_{3,1} & \sigma^2_{3,2} & \sigma^2_{3} \end{array} \right)}
1: Adams (2013). Syst. Biol.; Denton and Adams (2015). Evol.
\small{\mathbf{R}=\frac{(\mathbf{Z}-E(\mathbf{Z}))^{T}\mathbf\Omega^{-1}(\mathbf{Z}-E(\mathbf{Z}))}{N-1}=\left( \begin{array}{ccc} \sigma^2_{1} & \sigma^2_{1,2} & \sigma^2_{1,3} \\ \sigma^2_{2,1} & \sigma^2_{2} & \sigma^2_{2,3} \\ \sigma^2_{3,1} & \sigma^2_{3,2} & \sigma^2_{3} \end{array} \right)}
1: Adams (2013). Syst. Biol.; Denton and Adams (2015). Evol.
\small\mathbf{R}_C=\left( \begin{array}{ccc} \sigma^2_{p} & & \\ \sigma^2_{2,1} & \sigma^2_{p} & \\ \sigma^2_{3,1} & \sigma^2_{3,2} & \sigma^2_{p} \end{array} \right)
EMR <- compare.multi.evol.rates(A=gdf$shape, phy=plethtree, gp=c(rep(1,5),rep(2,6)), print.progress = FALSE)summary(EMR)
## ## Call:## ## ## Observed Rate Ratio: 1.0826## ## P-value: 0.975## ## Effect Size: -1.943## ## Based on 1000 random permutations## ## The rate for group 1 is 9.67170500545254e-06 ## ## The rate for group 2 is 1.04710160170648e-05
Likelihood-based model comparisons comparing rates for multivariate data have also been proposed
logL (various authors): Methods work so long as N>>p.
1: see Adams and Collyer (2018;2019)
Likelihood-based model comparisons comparing rates for multivariate data have also been proposed
logL (various authors): Methods work so long as N>>p.
1: see Adams and Collyer (2018;2019)
PCL (Pairwise Composite Likelihood: Goolsby 2016)
Method obtains set of logL for pairs of traits and sums them
Method has high type I error rate which differs by the rotation of the data!
Compare models that describe the manner in which trait variation accumulates over evolutionary time
BM1, BMM, OU (Ornstein-Uhlenbeck), Early Burst (EB), ACDC, etc.
Fit data to phylogeny under differing evolutionary models and compare fit (LRT, AIC, simulation, RRPP, etc.)
Several methods proposed for comparing multivariate evolutionary models: logL_{mult}, PCL, \sum{logL_{indiv}}
Unfortunately, nearly all current implementations for multivariate OU models display high misspecification rates
Misspecification levels now appropriate, and method rotation invariant
Provides a path forward for multivariate OU models (though still requires n>p and no redundant dimensions)
1: took our suggestions to heart!
Phylogenetic comparative methods provide useful tools to account for phylogenetic non-independence among observations
Hypotheses one can evaluate with shape data include:
phylogenetic ANOVA
Phylogenetic regression
Phylogenetic covariation (PLS)
Phylogenetic ordination (PCA, pPCA, PACA)
Phylogenetic signal (development regarding \lambda_{mult} ongoing)
Comparing evolutionary rates
Comparing evolutionary modes (some advance: requires more analytical development)
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |