Aula 02 — O movimento browniano e a matriz C

Do processo ao padrão: o movimento browniano no tempo e na árvore, a matriz de covariância filogenética C montada passo a passo e os contrastes independentes de Felsenstein.

Aula 2 · O BM e a matriz C · Métodos Filogenéticos Comparativos (PPGBA/UFMS)

No mapa dos métodos, esta aula é a segunda faixa de base: o movimento browniano e a matriz C sustentam todas as colunas. Os exemplos usam a árvore-guia do curso, de 7 espécies (Freckleton et al. 2002).

Slides

Abrir slides

As figuras dos slides foram geradas em R; o código está em R/aula02_*.R.

Em 3 minutos

  1. Sob o movimento browniano, a variância entre linhagens cresce linearmente com o tempo (σ²t), e a média não muda.
  2. Numa árvore, a covariância entre duas espécies é proporcional ao tempo que elas compartilham desde a raiz: é a matriz C.
  3. Os contrastes independentes transformam n espécies aparentadas em n − 1 contrastes independentes; a regressão deles passa pela origem.

Erro comum: chamar de θ o valor inicial do BM; θ é o ótimo do OU, o valor inicial é z0.

Conteúdo

  1. Do processo ao padrão: processos estocásticos e a lógica dos modelos
  2. O movimento browniano: o processo de Wiener, σ² e o tempo
  3. A matriz C, montada passo a passo na árvore-guia
  4. O BM numa árvore: linhagens que se separam, fenograma
  5. Contrastes independentes, nó a nó, e a regressão pela origem

Código R (aula prática)

  • Roteiro prático (executado)
    BM no tempo e numa árvore, distância patrística e matriz C, a covariância das réplicas, contrastes independentes passo a passo e a regressão pela origem. O código roda na página.
  • Roteiro da edição de 2020 · aula-2-terca.R
    BM simulado; o mesmo roteiro segue com OU e tendência (Aula 4), o Mk nos Squamata (Aula 6) e PGLS (Aula 5).
  • A simulação do efeito da correlação filogenética está no roteiro da Aula 1.

Pacotes: ape, phytools, geiger, nlme.

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 %).

A matriz C à mão. Com a árvore-guia (((sp1:0.18,sp2:0.18):1.06,(sp3:0.02,sp4:0.02):1.22):0.20,(sp5:1.37,(sp6:0.23,sp7:0.23):1.14):0.07); (1) monte C sem usar ape::vcv(), somando os ramos que cada par de espécies compartilha, e compare com ape::vcv(). (2) Simule 10 000 conjuntos de dados por BM (σ² = 1) e mostre que a covariância empírica entre as pontas se aproxima de C. (3) Calcule os contrastes independentes do atributo A dos slides (sp1 a sp7: 2,51; 2,80; 2,23; 2,32; 1,64; 1,18; 0,58) com ape::pic() e a estimativa da raiz. Avaliação: explica por que sp3 e sp4 têm covariância tão alta e o que isso significa para uma análise que as trate como independentes.

  • As seções 3 a 5 do roteiro fazem cada passo numa árvore menor ou com o atributo B.
  • Para somar os ramos compartilhados: nodepath(arvore, i, j) ou mrca() com node.depth.edgelength().
  • fastBM(arvore, nsim = 10000) devolve uma matriz com uma coluna por réplica; a covariância entre as espécies é cov(t(...)).
  • A estimativa da raiz pelos contrastes: ace(A, arvore, method = "pic").
library(ape); library(phytools)
guia <- read.tree(text = "...")   # a árvore-guia do enunciado
A <- setNames(c(2.51, 2.80, 2.23, 2.32, 1.64, 1.18, 0.58), paste0("sp", 1:7))
C_mao <- matrix(NA, 7, 7, dimnames = list(guia$tip.label, guia$tip.label))
# 1. preencha C_mao e compare: all.equal(C_mao, vcv(guia))
# 2. reps <- fastBM(guia, nsim = 10000); round(cov(t(reps)) - vcv(guia), 2)
# 3. pic(A, guia) e a raiz

As respostas comentadas serão publicadas aqui depois do prazo de entrega.

Leituras recomendadas