Ferramentas do usuário

Ferramentas do site


ecovirt:roteiro:pop_str:pstr_mtr

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
ecovirt:roteiro:pop_str:pstr_mtr [2014/08/25 10:41]
adalardo
ecovirt:roteiro:pop_str:pstr_mtr [2021/08/06 18:35]
adalardo
Linha 1: Linha 1:
 +<WRAP tabs>
 +  * [[ecovirt:​roteiro:​pop_str:​pstr_mtexcel|{{:​ecovirt:​logcalc.jpg?​20|}}]]
 +  * [[ecovirt:​roteiro:​pop_str:​pstr_mtr|{{:​ecovirt:​rlogo.png?​direct&​35|}}]]
 +  * [[ecovirt:​roteiro:​pop_str:​pstr_mtrgoogle|{{:​ecovirt:​roteiro:​pop_str:​googleLogoPq.png?​30|}}]]
  
 +</​WRAP>​
 +
 +====== Modelos populacionais matriciais - Roteiro em R ======
 +
 +===== Matriz de Leslie/​Leftkovicth =====
 +
 +{{:​ecovirt:​matrix.gif?​150 |}}
 +
 +O crescimento de uma população com estrutura etária pode ser projetado utilizando-se álgebra matricial. As matrizes de Leslie contêm informação sobre as taxas de natalidade e mortalidade de diferentes classes etárias de uma população e são uma forma robusta de calcular o crescimento populacional e fazer projeções da população para diferentes cenários. Uma generalização da matriz de Leslie ocorre quando a população é classificada por estádios de desenvolvimento(matriz de Leftkovicth),​ e não por idade . Neste caso, um indivíduo de uma dada classe pode, além de morrer, crescer e reproduzir, ​ permanecer no mesmo estádio a cada intervalo de tempo. Nessa generalização,​ as taxas vitais básicas (crescimento,​ sobrevivência e reprodução) estão embutidas nos valores das matrizes de transição,​ onde computamos o efeito que o número de indivíduos em cada classe estado exerce nas outras no intervalo de tempo seguinte.
 +
 +===== Objetivo =====
 +
 +O objetivo desse exercício ​ é entender como podemos tratar populações estruturadas com estes modelos matriciais. ​
 +Vamos começar com multiplicação de matrizes e análises de autovalor e autovetor!
 +
 +===== Entrando na matriz... ===== 
 +
 +{{:​ecovirt:​roteiro:​pop_str:​figurapill.jpg?​200 |}}
 +
 +Vamos imaginar que coletamos em campo dados de uma população de palmeiras. Encontramos que a população é estruturada nos estágios: semente (F1), juvenil (F2) e adulto (F3). Imagine que 50% dos jovens sobreviveram e tornaram-se adultos, 90% dos adultos sobreviveram e que a cada 100 sementes encontradas,​ foram encontrados 30 juvenis. Ainda, estimamos a produção de sementes por indivíduos juvenis em 0,5 e por adultos em 20. Ou seja: 
 +
 +{{ :​ecovirt:​roteiro:​pop_str:​matrizestruturada.jpeg?​400 |}}
 +
 +
 +A partir dos dados obtidos podemos construir a nossa matriz de Leslie para a população em questão. ​
 +
 +{{ :​ecovirt:​roteiro:​pop_str:​matrizestruturada2.jpeg?​300 |}}
 +
 +Num censo de número de indivíduos do sistema de estudo encontramos:​ 100 sementes, 250 juvenis e 50 adultos. O que nos dá um vetor de N(t) na condição inicial. ​
 +
 +Vamos então fazer as projeções para esta população. No R, quando queremos fazer operações matriciais temos uma notação específica,​ para multiplicação de matriz, por exemplo usamos a notação %*%. E pronto! Ele faz a operação conforme as regrinhas matemáticas para isso.
 +
 +<​code>​
 +# matriz de leslie
 +A <- matrix(c(0, 0.5, 20, 0.3, 0, 0, 0, 0.5, 0.9), nr = 3, byrow = TRUE)
 +A
 +# vetor de N iniciais da populacao ​
 +N0 <- matrix(c(100,​ 250, 50), ncol = 1)
 +</​code>​
 +
 +Para fazermos a projeção da população para o tempo (em anos) seguinte: ​
 +$ N(t+1) = An(t) $
 +
 +<​code>​
 +N1 <- A %*% N0
 +N1
 +</​code>​
 +
 +Agora podemos projetar para um intervalo de tempo maior e ver o que acontece. ​
 +
 +<​code>​
 +
 +anos <- 10
 +N.projecoes <- matrix(0, nrow = nrow(A), ncol = anos+1)
 +N.projecoes[,​ 1] <- N0
 +
 +for (i in 1:anos)
 +  {
 +    N.projecoes[,​ i + 1] <- A %*% N.projecoes[,​i]
 +  }
 +
 +par(mfrow=c(1,​2))
 +matplot(0:​anos,​ t(N.projecoes),​ type = "​l",​ lty = 1:3, ylab = "​n(t)",​ xlab = "Tempo (t)", xlim=)
 +legend("​topleft",​ legend = c("​Sementes",​ "​Juvenil",​ "​Adulto"​),​lty = 1:3, col = 1:3, bty = "​n"​)
 +matplot(0:​anos,​ log(t(N.projecoes)),​ type = "​l",​ lty = 1:3, ylab = "​n(t)",​ xlab = "Tempo (t)", xlim=)
 +legend("​topleft",​ legend = c("​Sementes",​ "​Juvenil",​ "​Adulto"​),​lty = 1:3, col = 1:3, bty = "​n"​)
 +par(mfrow=c(1,​1))
 +
 +</​code>​
 +
 +<box 70% red | Exercício 1: Interpretando os gráficos >
 +  * A projeção observada no gráfico (a) é condizente com o esperado pelo modelo de crescimento estruturado? ​
 +  * Como você interpretaria o padrão observado no gráfico (b). 
 +</​box> ​
 +
 +==== Uma ajuda ====
 +Abaixo uma tem uma função para projetar populações a partir da matriz de transição e do estado inicial (tmax é o tempo máximo de projeção). É basicamente o que fizemos anteriormente,​ mas agora com a ajuda da função. ​
 +
 +<box blue 90% | Função proj.mat>​
 +<​code>​
 +########################​
 +## Projeção Matricial
 +########################​
 +proj.mat<​-function(n0,​ matproj, tmax)
 +{
 +res.mat<​-matrix(NA,​nrow=tmax+1,​ncol=length(n0))
 +res.mat[1,​]<​-n0
 + for(i in 2:(tmax+1))
 + {
 + res.mat[i,​]=matproj %*% res.mat[(i-1),​]
 + }
 +return(res.mat)
 +}
 +######################​
 +## rodando a função ##
 +######################​
 +nEst<​-proj.mat(n0=N0,​ matproj=A , tmax=10)
 +matplot(1:​11,​ nEst, type="​l"​)
 +#########################​
 +# tamanho da população ##
 +########################​
 +nPop<​-apply(nEst,​1,​ sum)
 +plot(1:11, nPop)
 +
 +</​code>​
 +</​box>​
 +
 +===== Taxa de Crescimento ​ =====
 +
 +$ \lambda = \frac{N_{t}}{N_{t-1}}$
 +
 +Vamos ver como a taxa de crescimento se comporta!
 +
 +<​code>​
 +#############################​
 +# Crescimento da População ##
 +#############################​
 +lambPop<​-nPop[2:​11]/​nPop[1:​10]
 +matplot(1:​10,​ lambPop, type="​b",​ pch=1)
 +</​code>​
 +
 +<box 70% red| Exercício> ​
 +OK! Agora vamos fazer um exercício!
 +  * projete a população a tempos mais longos!
 +  * veja como se comporta a taxa de crescimento da população $\lambda= \frac{N_t}{N_{t-1}}$
 +  * faça o mesmo variando algum parâmetro da matriz de transição
 +  * como se comporta essa taxa ao longo do tempo? Ele muda (qualitativamente) quando muda algum parâmetro da população (transições,​ estado inicial)?
 +
 +</​box>​
 +
 +
 +
 +===== Distribuição de Estádios =====
 +Uma característica importante da população é a distribuição relativa dos estádios em relação ao total de indivíduos da população. Será que a importância (proporção de indivíduos) de um estágio pode variar ao longo da trajetória da população?​ Vamos ver?!
 +<​code>​
 +##########################​
 +# proporção das classes ##
 +##########################​
 +propEst<​-nEst/​nPop
 +matplot(1:​11,​ propEst, type="​l"​)
 +</​code>​
 +
 +<box 80% red | Exercício>​
 +  * 1. Qual a contribuição,​ em proporção de indivíduos,​ de cada classe (estágio) para o tamanho total da população a cada tempo?
 +  * 2. Essa contribuição das classes varia ao longo do tempo?
 +  * 3. Ilustre sua resposta com projeções de populações e gráficos dessas simulações.
 +  * 4. Calcule a taxa de crescimento da população a cada intervalo de tempo e faça o gráfico dessa taxa ao longo do tempo. ​
 +</​box>​
 +
 +<box 70% red| Exercício (de novo?​!!)>​
 +  * De novo, aumente o tempo da simulação para ver o que acontece
 +  * modifique os parâmetros da matriz de transição e do estado inicial para ver se a trajetória se modifica e quais as semelhanças qualitativas do comportamento.
 +
 +</​box>​
 +
 +===== Análise de Perturbação =====
 +
 +Podemo inferir a contribuição de cada elemento da matriz de transição para a composição da taxa de crescimento populacional através de análises de perturbação da matriz.
 +A lógica é bastante intuitiva: se modificarmos uma das transições,​ mantendo todos os outros elementos da matriz constante, a variação no $\lambda$ será um reflexo da variação do elemento que modificamos. Desse modo, podemos analisar a contribuição de cada transição e consequentemente das taxas vitais em cada estádio para o crescimento da população. Na matriz do nosso exemplo a transição (no caso permanência) na fase de adulto é correspondente à taxa vital de sobrevivência nesse estádio. Podemos então fazer a seguinte pergunta:
 +
 +  * ** Se algum fator afetar a probabilidade de sobrevivência do adulto, qual seria o efeito para a população?​ **
 +=== Vamos responder essa pergunta? ===
 + 
 +<​code>​
 +###########################################​
 +## Perturbando a sobrevivência do adulto ##
 +###########################################​
 +pert=seq(0,​1,​ by=.05)
 +resAd=rep(NA,​ length(pert)) ​
 +names(resAd)<​-paste("​p",​ pert, sep="​_"​)
 +for(i in 1:​length(resAd))
 +{
 +Ai<-A
 +Ai[3,​3]<​-pert[i]
 +projAi= proj.mat(n0=N0,​matproj=Ai,​ tmax=100)
 +nAi=apply(projAi,​ 1, sum)
 +lambi=nAi[101]/​nAi[100]
 +resAd[i]<​-lambi
 +}
 +resAd
 +</​code>​
 +
 +<box 80% red| Exercício>​
 +  * 1. A sobrevivência do adulto tem muita influência no destino da população?​
 +  * 2. Se você fosse pensar em uma extração sustentável dessa população,​ como você poderia usar esta análise para fazer alguma recomendação para o manejo?
 +  * 3. A extinção da população é imediata quanto a taxa de sobrevivência de adultos é zero?
 +  * 4. Faça o mesmo para a transição de sementes para juvenil e compare com a sobrevivência do adulto. Qual transição é mais importante para o destino da população?​
 +  * 5. A proporção dos estádios em relação ao total da população é diferente entre cenários da matriz com perturbação e da matriz original? ​
 +
 +
 +</​box>​
 +
 +
 +
 +===== Para saber mais =====
 +
 +Gotelli, N. J. 2007. Ecologia. Cap.3- Crescimento Populacional Estruturado. Pp. 49-82. Ed. Planta.
 +
 +Gurevitch, J, Scheiner, S.M, Fox, G.A. 2009. Ecologia Vegetal. Cap. 5 -  Ed. Artmed, São Paulo.
 +
 +[[http://​betterexplained.com/​articles/​linear-algebra-guide/​|An Intuitive Guide to Linear Algebra]], do excelente site [[http://​betterexplained.com|Better explained]].
 +
 +Freckleton, R.P., Silva Matos, D.M., Bovi, M.L.A & Watkinson, A.R. 2003. Predicting the impacts of harvesting using structured population models: the importance of density-dependence and timing of harvest for a tropical palm tree. Journal of Applied Ecology, 40: 846-858.
 +
 +Silva Matos, D.M., Freckleton, R.P. & Watkinson, A.R. 1999. The role of density dependence in the population dynamics of a tropical palm. Ecology, 80: 2635-2650.
 +
 +===Programas===
 +
 +Neste roteiro fizemos os cálculos passo a passo e com algumas aproximações numéricas para compreender os conceitos. Na vida real pesquisadores usam ferramentas computacionais que fazem os cálculos precisos e de um jeito mais prático. Para saber mais veja a apresentação ao pacote [[http://​www.inside-r.org/​packages/​cran/​popbio/​docs/​01.Introduction|popbio]] do ambiente de programação estatística [[http://​www.r-project.org|R]]:​
 +
 +  * Stubben, C., & Milligan, B. (2007). Estimating and analyzing demographic models using the popbio package in R. [[http://​www.jstatsoft.org/​v22/​i11|Journal of Statistical Software, 22(11), 1-23]].
 +
 +
 +
 +{{tag>R uma_população população_estruturada}} ​
ecovirt/roteiro/pop_str/pstr_mtr.txt · Última modificação: 2021/08/06 18:35 por adalardo