Aula 04 — Modelos de evolução contínua
No mapa dos métodos, esta aula cobre a coluna Como evolui? para atributos contínuos, de um regime a vários. Os exemplos usam o tamanho do corpo dos Anolis e os Centrarchidae.
Slides
As figuras dos slides foram geradas em R; o código está em R/aula04_modelos.R.
Em 3 minutos
Conteúdo
- Verossimilhança: estimando σ² e a raiz
- O modelo Ornstein-Uhlenbeck
- Early burst (ACDC) e tendência, e por que a tendência precisa de fósseis
- Comparando modelos
- Adequação do modelo
- Além dos quatro: BBM, FPK e evolução pulsada
- Paisagens adaptativas e radiação
- Várias taxas e vários regimes
- Cautelas com o OU, e a resposta de Grabowski et al. (2023)
Código R (aula prática)
- Roteiro prático (executado)
A verossimilhança do BM à mão, OU e tendência simulados, BM × OU × EB nos Anolis* com pesos de Akaike e meia-vida, adequação do modelo, Brownie e OU com vários regimes (mvMORPH). O código roda na página.* - Roteiro da edição de 2020 ·
aula-quinta.R
OU multi-regime bayesiano (bayou); o mesmo roteiro tem oevol.vcv(Aula 5), o teste de Pagel e o modelo de limiar (Aula 6). O SURFACE, que abre o roteiro, saiu do curso.
Pacotes: geiger, phytools, mvMORPH.
Dados utilizados
Desafio
Entregue um script .R que rode do zero numa sessão limpa, as figuras pedidas e até uma página de interpretação. Critério: o script roda (30 %); as escolhas estão justificadas (30 %); a interpretação está correta (40 %).
Que modelo para a massa corporal? Com data(mammal.tree, mammal.data, package = "phytools"), use o log da massa corporal (bodyMass). (1) Ajuste BM, OU e EB com geiger::fitContinuous() (fixe a semente). (2) Monte a tabela com log L, número de parâmetros, AICc, ΔAICc e pesos. (3) Se o OU for competitivo, calcule a meia-vida e compare-a com a altura da árvore. (4) Explique por que o modelo de tendência não entra nesta comparação. Avaliação: interpreta os pesos como suporte relativo, lê α pela meia-vida e não confunde OU com seleção estabilizadora.
- A seção 3 do roteiro faz a mesma tabela com o SVL dos Anolis; a seção 2 e os slides explicam por que a tendência não se identifica numa árvore só de espécies atuais.
- Aqui, sim, aplique
log():mammal.data$bodyMassestá em quilogramas. - Fixe a semente antes do
fitContinuous(), que sorteia pontos de partida. - A altura da árvore:
max(nodeHeights(mammal.tree)).
library(ape); library(phytools); library(geiger)
data(mammal.tree, mammal.data, package = "phytools")
massa <- setNames(log(mammal.data$bodyMass), rownames(mammal.data))
set.seed(1)
# ajustes <- lapply(c(BM = "BM", OU = "OU", EB = "EB"), \(m) fitContinuous(mammal.tree, massa, model = m))
# tabela: logL, k, AICc, dAICc, pesos
# meia-vida = log(2) / alfa do OUAs respostas comentadas serão publicadas aqui depois do prazo de entrega.
Leituras recomendadas
- Revell & Harmon (2022), Phylogenetic Comparative Methods in R: seções 4.7–4.8, 5.1–5.2 e 5.4
- Butler & King (2004): o OU com vários regimes
- Ho & Ané (2014) e Cooper et al. (2016): as cautelas
- Grabowski et al. (2023): a resposta às cautelas