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.
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!
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:
A partir dos dados obtidos podemos construir a nossa matriz de Leslie para a população em questão.
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.
# 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)
Para fazermos a projeção da população para o tempo (em anos) seguinte: $ N(t+1) = An(t) $
N1 <- A %*% N0 N1
Agora podemos projetar para um intervalo de tempo maior e ver o que acontece.
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))
Exercício 1: Interpretando os gráficos
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.
Função proj.mat
######################## ## 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)
$ \lambda = \frac{N_{t}}{N_{t-1}}$
Vamos ver como a taxa de crescimento se comporta!
############################# # Crescimento da População ## ############################# lambPop<-nPop[2:11]/nPop[1:10] matplot(1:10, lambPop, type="b", pch=1)
Exercício
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?!
########################## # proporção das classes ## ########################## propEst<-nEst/nPop matplot(1:11, propEst, type="l")
Exercício
Exercício (de novo?!!)
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:
########################################### ## 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
Exercício
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.
An Intuitive Guide to Linear Algebra, do excelente site 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.
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 popbio do ambiente de programação estatística R: