Tutorial da vers˜ ao beta do pacote sads
Paulo In´acio Prado e Murilo Dantas Miranda Laborat´orio de Ecologia Te´orica
Depto de Ecologia, IB, USP http://ecologia.ib.usp.br/let/
prado@ib.usp.br 21 de janeiro de 2013
1 Introdu¸ c˜ ao
A dominˆancia num´erica de poucas esp´ecies nas comunidades biol´ogicas ´e uma das poucas leis gerais da ecologia (McGill et al., 2007). A maioria das esp´ecies nas comunidades s˜ao representadas por poucos indiv´ıduos, e poucas s˜ao as esp´ecies abundantes, resultando em um histograma de distribui¸c˜ao de abundˆancias tipicamente cˆoncavo, conhecido na literatura como“hollow curve”. H´a pouqu´ıssimas exce¸c˜oes a este padr˜ao, o que o torna um descritor b´asico da estrutura das comunidades. Embora o padr˜ao seja ´unico, muitas distribui¸c˜oes te´oricas de probabilidade foram propostas para descrevˆe-lo. Portanto, o uso de sads para descrever e comparar comunidades demanda ferramentas estat´ısticas para ajustar os v´arios modelos dispon´ıveis e identificar o que melhor descreve os dados.
Uma das ferramentas mais promissoras baseiam-se no princ´ıpio de verossimilhan¸ca estat´ıs- tica (Edwards, 1972; Royall, 2000) para criar protocolos de ajuste e compara¸c˜ao simultˆanea de v´arias hip´oteses estat´ısticas concorrentes. Um dos mais simples ´e a sele¸c˜ao de modelos baseada em ´ındices de informa¸c˜ao (Burnham & Anderson, 2002), que ordena um conjunto de modelos de acordo com sua plausibilidade frente aos dados, levando em conta sua par- cimˆonia. Na escala proposta recentemente por McGill (2003), essa seria a categoria mais rigorosa de testes de ajustes dos dados a modelos te´oricos. O uso crescente destes conceitos
´e considerada uma mudan¸ca no paradigma de an´alise de dados, em resposta `as limita¸c˜oes que as abordagens tradicionais imp˜oem a muitas ´areas da biologia (Johnson & Omland, 2004).
O pacote sads do ambiente estat´ıstico R(R Development Core Team, 2012) tem fun¸c˜oes para ajustar modelos de distribui¸c˜ao de abundˆancia de esp´ecies pelo m´etodo da m´axima verossimilhan¸ca, e diagnosticar a qualidade do ajuste. Tamb´em permite a compara¸c˜ao de diferentes modelos ajustados ao mesmo conjunto de dados com gr´aficos e m´etodos de sele¸c˜ao
de modelos (Burnham & Anderson, 2002). Este documento ´e um tutorial para uso deste pacote, que apresenta os conceitos estat´ısticos b´asicos envolvidos.
2 Instala¸ c˜ ao
O pacote ainda est´a em testes, por isso n˜ao est´a dispon´ıvel no reposit´orio CRAN do R. No momento temos uma vers˜ao beta compilada para Linux. Para instalar a vers˜ao de teste do pacotesads, vocˆe precisa adicionar os seguintes pacotes `a sua instala¸c˜ao de R:
• bbmle(Bolker & Team, 2012)
• poilog (Grøtan & Engen, 2008)
• VGAM(Yee, 2012)
• untb(Hankin, 2007)
Ap´os adicionar os pacotes acima `a sua instala¸c˜ao deR, v´a ao s´ıtio do Laborat´orio de Ecologia Te´orica do IBUSP, se¸c˜aoR codes (http://ecologia.ib.usp.br/let/doku.php?id=engl:
tutorials:rcode). Baixe o arquivosads_0.1.01.tar.gzpara um diret´orio. Execute oR, carregue e chame o pacote com
> install.packages("diretorio/sads_0.1.01.tar.gz", repos=NULL)
> library(sads)
ondediretorio´e o caminho para o diret´orio onde vocˆe copiou o arquivo.
3 An´ alise explorat´ oria
O objeto de dados b´asico para as an´alises desads ´e um vetor com valores das abundˆancias de cada uma das esp´ecies, registradas em uma amostra ou comunidade. Neste tutorial usaremos a abundˆancia de esp´ecies de mariposas capturadas em armadilhas luminosas na Inglaterra (Fisher et al., 1943) e biomassa de animais bentˆonicos em substratos artificiais (Arntz & Rumohr, 1982). Objetos com esses dois vetores de abundˆancias est˜ao dispon´ıveis no pacote sads. Veja as p´aginas de ajuda para mais informa¸c˜oes. Carregue os objetos na
´
area de trabalho com os comandos:
> data(moths)# William's moth data
> data(ARN82.eB.apr77)# Arntz et al. benthos data
3.1 Qual o melhor gr´afico?
As sads s˜ao a maneira como o total de indiv´ıduos (ou biomassa) na amostra se distribuem pelas esp´ecies. Trata-se, portanto, de uma distribui¸c˜ao de frequˆencia, e a primeira escolha para visualiz´a-la ´e um histograma, cujo resultado est´a na Figura 1:
> par(mfrow=c(2,1))
> hist(moths, xlab="Abundancia (n de indiv´ıduos)", ylab="N de especies",main="Mariposas")
> hist(ARN82.eB.apr77, xlab="Abundancia (biomassa, g)", ylab="N de especies", main="Animais bent^onicos")
> par(mfrow=c(1,1))
Os gr´aficos que vocˆe obteve mostram um problema comum de se usar histogramas com escala aritm´etica para representar SADs. Como na maioria das amostras tomadas de comu- nidades, h´a muitas esp´ecies raras e pouqu´ıssimas abundantes. O resultado ´e um histograma fortemente cˆoncavo, e fica dif´ıcil comparar a frequˆencia de esp´ecies abundantes. As duas alternativas mais usadas s˜ao o gr´afico de oitavas (Preston, 1948) e de rank-abundˆancia 1 (MacArthur, 1957).
3.2 Tabela e gr´afico de oitavas
Nos histogramas de SADs com escala aritm´etica as primeiras classes (abundˆancias baixas) concentram a maioria das esp´ecies. Uma solu¸c˜ao ´e aumentar o intervalo de classe para as esp´ecies abundantes. Preston (1948) propˆos escalas em potˆencia de base de dois, que ele chamou de oitavas. O limite das classes s˜ao dados por essas potˆencias:
Primeira oitava: 20 = 1 indiv´ıduo Segunda oitava: 21 = 2 indiv´ıduos
Terceira oitava: mais que 21= 2 at´e 22= 4 indiv´ıduos n-´esima oitava: mais que 2n−2 at´e 2n−1 indiv´ıduos
Assim, a amplitude das classes aumenta com a abundˆancia, o que compensa o fato de que esp´ecies mais abundantes s˜ao poucas. Por exemplo, a primeira oitava ´e o n´umero de esp´ecies com apenas um indiv´ıduo2, mas a d´ecima oitava inclui as esp´ecies com abundˆancias entre 257 e 512 indiv´ıduos, um intervalo bem mais amplo. Como qualquer escala logar´ıtmica, as oitavas de Preston ’aproximam’ valores altos. Use a fun¸c˜ao octav para gerar uma tabela com o n´umero de esp´ecies por oitava em cada amostra:
1tamb´em conhecido por diagrama de Whittaker ou diagrama de abundˆancia
2singletons
Mariposas
Abundancia (n de indivíduos)
N de especies
0 500 1000 1500 2000
0100200
Animais bentônicos
Abundancia (biomassa, g)
N de especies
0 10 20 30 40 50 60 70
01030
Figura 1: N´umero de esp´ecies por classes de abundˆancia em n´umero de indiv´ıduos (acima) e em biomasa (abaixo).
> (moths.oc <- octav(moths)) Object of class "octav"
octave upper Freq
1 1 1 35
2 2 2 11
3 3 4 29
4 4 8 32
5 5 16 26
6 6 32 32
7 7 64 31
8 8 128 13
9 9 256 19
10 10 512 5
11 11 1024 6
12 12 2048 0
13 13 4096 1
> (arn.oc <- octav(ARN82.eB.apr77)) Object of class "octav"
octave upper Freq
1 -5 0.015625 3
2 -4 0.031250 5
3 -3 0.062500 4
4 -2 0.125000 6
5 -1 0.250000 3
6 0 0.500000 5
7 1 1.000000 2
8 2 2.000000 4
9 3 4.000000 3
10 4 8.000000 1
11 5 16.000000 2
12 6 32.000000 0
13 7 64.000000 1
14 8 128.000000 1
Para os dados de biomassa temos oitavas negativas, pois para representar valores de bio- massa menores que um precisamos de expoentes negativos:
Primeira oitava negativa: 2−1= 0.5 a 20= 1 unidades de biomassa Segunda oitava negativa: 2−2 = 0.25 a 2−1= 0.5 unidades de biomassa n-´esima oitava negativa: mais que 22−n at´e 21−n unidades de biomassa
Para criar um gr´afico de oitavas, basta aplicar a fun¸c˜ao plotao objeto que vocˆe criou com a fun¸c˜ao octav 3. Tamb´em ´e poss´ıvel alterar qualquer parˆametro gr´afico do histograma.
Os comandos abaixo exemplificam, e o resultado est´a na figura 2
3Nota t´ecnica: o comandooctavcria um objeto da classeoctav, para qual h´a um m´etodo espec´ıfico para a fun¸c˜aoplot. Para entender melhor a m´agica, ´e preciso ler sobre classes e m´etodos emR. Mas n˜ao ´e necess´ario para que ela funcione.
> par(mfrow=c(2,1))
> plot(moths.oc)
> ##Changing graphical parameters
> plot(moths.oc, col="white", ylab="N de esp´ecies", xlab="Oitavas de abund^ancia")
> par(mfrow=c(1,1))
O gr´afico de oitavas para dados de biomassa ter´a alguns intervalos de classe menores do que um, que correspondem `as oitavas negativas (fig 3):
> plot(arn.oc)
Cuidado: n˜ao se esque¸ca que os intervalos de classe nos histogramas de oitavas n˜ao est˜ao mais numa escala aritm´etica e sim logar´ıtmica. Assim, quanto maior a classe, maior o intervalo de abundˆancia que ela cont´em. Uma maneira mais honesta de representar esse histograma seria (fig 4):
> hist(moths[moths<=128],breaks=c(0,2^(0:7)), xlab="Abundance class",
ylab="Number os species", main="")
Nesse histograma as larguras das barras variam, indicando corretamente que os intervalos de classe s˜ao diferentes. No gr´afico de oitavas todas as barras s˜ao ajustadas para a mesma largura. Em uma analogia geom´etrica, as barras longas e finas s˜ao alargadas e diminuem de altura. As largas e baixas s˜ao estreitadas, e se elevam. Com isso as classes de menor abundˆancia n˜ao dominam a escala das ordenadas (y), permitindo avaliar diferen¸cas nas classes de maior abundˆancia. O pre¸co que se paga ´e uma distor¸c˜ao da escala aritm´etica, que n˜ao pode ser ignorada.
3.3 Tabelas e gr´afico de rank-abundˆancia
Para esse gr´afico, primeiro criamos uma tabela com as esp´ecies ordenadas da maior para a menor abundˆancia, com a fun¸c˜ao rad:
> head(moths.rad <- rad(moths)) rank abund
1 1 2349
2 2 823
3 3 743
Abundance class
N of species 01025
1 4 16 64 256 1024 4096
Oitavas de abundância
N de espécies 01025
1 4 16 64 256 1024 4096
Figura 2: N´umero de esp´ecies por oitavas de abundˆancia em uma amostra de mariposas capturadas com armadilhas luminosas (Fisher et al., 1943). As oitavas s˜ao classes de abun- dˆancia em escala logar´ıtmica de base 2. Assim, a primeira oitava inclui esp´ecies com um indiv´ıduo, a segunda com dois, a terceira com 3 a 4, e assim sucessivamente. Acima: padr˜ao do m´etodo plot para um objeto da classe octav; abaixo: gr´afico com alguns parˆametros modificados pelo usu´ario.
4 4 604
5 5 589
6 6 572
> head(arn.rad <- rad(ARN82.eB.apr77))
Abundance class N of species 0123456
0.015625 0.25 1 4 16 64
Figura 3: N´umero de esp´ecies por oitavas de biomassa em uma amostra de animais marinhos bentˆonicos (Arntz & Rumohr, 1982).
rank abund sp17 1 67.21 sp11 2 54.67 sp33 3 14.67 sp9 4 9.90 sp30 5 5.71 sp10 6 2.88
Em seguida, plotamos a abundˆancia de cada esp´ecie em escala logar´ıtmica em fun¸c˜ao do rank da esp´ecie. O gr´afico ser´a sempre uma linha descendente, mas a sua inclina¸c˜ao nos informa sobre a dominˆancia. O comprimento da linha revela o n´umero de esp´ecies. Para obter os gr´aficos (fig. 5), aplique o comandoplot `as tabelas obtidas com o comandorad:
Abundance class
Number os species
0 20 40 60 80 100 120
0.000.050.100.15
Figura 4: Histograma honesto com classes em potˆencia de 2: a largura das barras ´e pro- porcional ao intervalo de cada classe. Os dados s˜ao n´umeros de mariposas capturadas em armadilhas luminosas (Fisher et al., 1943). O histograma mostra abundˆancias at´e 27 = 128 indiv´ıduos, para fins ilustrativos.
> par(mfrow=c(2,1))
> plot(moths.rad, ylab="Number of individuals")
> plot(arn.rad, ylab="Biomass")
> par(mfrow=c(1,1))
4 Ajuste de modelos
V´arios modelos matem´aticos foram criados para descrever as sads. Um dos mais simples
´e a s´erie logar´ıtmica de Fisher et al. (1943), em que o n´umero esperado de esp´ecies com n
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Species Rank Number of individuals 110500
20 40 60 80 120 160 200 240
● ●
● ●●
● ● ● ●● ● ● ●
● ● ● ●● ●
● ● ● ●● ● ● ● ● ●● ● ● ● ●● ● ●
● ● ●
Species Rank
Biomass 0.010.5050.00
5 10 15 20 25 30 35 40
Figura 5: Diagramas de rank-abundˆancia das amostras de mariposas capturadas com ar- madilhas luminosas (Fisher et al., 1943) (acima), e organismos bentˆonicos em substratos artificiais (Arntz & Rumohr, 1982) (abaixo). Cada ponto representa uma esp´ecie. Nas ordenadas est´a oranking de abundˆancia das esp´ecies (a mais abundante temranking um), e nas abcissas est´a a abundˆancia, em escala logar´ıtmica.
indiv´ıduos ´e
S(n) = αXn
n (1)
Sendoαo ´unico parˆametro desse modelo, conhecido comoalfa de Fisher. A constanteX ´e uma fun¸c˜ao deα e do total de indiv´ıduos na comunidade, N, e ´e sempre menor do que 1, mas tende a esse valor `a medida que tamanho da amostra aumenta:
X = N
N+α (2)
Para ajustar a s´erie logar´ıtmica a um conjunto de dados temos que descobrir o valor do parˆa- metroα que resulta na melhor previs˜ao do n´umero de esp´ecies em cada abundˆancia. Fisher descobriu um m´etodo num´erico para fazer isto (Fisher et al., 1943) , que est´a implementado no pacotesads, que tem tamb´em fun¸c˜oes para avalia¸c˜ao da qualidade do ajuste.
4.1 Ajuste: objeto fitsad
Os dados de mariposas que usamos foram os originalmente utilizados por Fisher para desen- volver sua s´erie logar´ıtmica (Fisher et al., 1943). Para fazer o ajuste use a fun¸c˜ao fitsad:
> (moths.ls <- fitsad(moths,"ls")) Call:
mle2(minuslogl = LL, start = list(alpha = alfa), method = "Brent", data = list(x = x), lower = 0, upper = upper)
Coefficients:
alpha 40.24728
Log-likelihood: -1087.71
A fun¸c˜aofitsadusa a fun¸c˜aomle2do pacotebbmle(Bolker & Team, 2012), que implementa um m´etodo gen´erico de ajuste de modelos estat´ısticos por m´axima verossimilhan¸ca (Bolker, 2008). O ajuste de modelos desads ´e um caso particular desses procedimentos, e a fun¸c˜ao fitsadpode ser vista como uma aplica¸c˜ao particular, que ”aproveita”4 os procedimentos da aplica¸c˜ao mais gen´erica. Por isso, o objeto resultante do ajuste guarda todas as informa¸c˜oes sobre o modelo, que podem ser acessadas com fun¸c˜oes e m´etodos j´a definidos. Abaixo os comandos para obter um resumo do modelo, seu coeficiente, e sua log-verossimilhan¸ca e valor de AIC:
4Outra nota t´ecnica: a fun¸c˜aofitsad gera um objeto da classefitsad, que herda toda a estrutura do objetomle2.
> summary(moths.ls)
Maximum likelihood estimation Call:
mle2(minuslogl = LL, start = list(alpha = alfa), method = "Brent", data = list(x = x), lower = 0, upper = upper)
Coefficients:
Estimate Std. Error z value Pr(z) alpha 40.247 6.961 5.7818 7.391e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 -2 log L: 2175.425
> coef(moths.ls) alpha
40.24728
> logLik(moths.ls)
'log Lik.' -1087.713 (df=1)
> AIC(moths.ls)
[1] 2177.425
4.2 Avalia¸c˜ao do ajuste
Outro comando importante herdado ´e o de c´alculo do perfil de verossimilhan¸ca do modelo.
A verossimilhan¸ca expressa o qu˜ao plaus´ıvel ´e um modelo estat´ıstico como descri¸c˜ao dos dados. Ela varia com o valor do(s) parˆametro(s) do modelo, e uma maneira de buscar o melhor ajuste ´e encontrar os valores de parˆametros que resultam na maior verossimi- lhan¸ca poss´ıvel. Chamamos esse procedimento de ajuste de m´axima verossimilhan¸ca e os valores resultantes dos parˆametros suasestimativas de m´axima verossimilhan¸ca (mle). Um diagn´ostico importante do modelo ´e investigar como sua verossimilhan¸ca (portanto sua qua- lidade como descri¸c˜ao dos dados) varia quando fazemos os parˆametros variar um pouco em torno dosmles. A tabela desses valores e a verossimilhan¸ca resultante ´e chamadaperfil de verossimilhan¸ca.
A fun¸c˜ao profile gera o perfil 5, que ´e usado para calcular o intervalo de confian¸ca dos parˆametros. Fa¸ca isso para nosso ajuste da s´erie logar´ıtmica:
> moths.ls.prf <- profile(moths.ls)
> confint(moths.ls.prf) # conf intervals 2.5 % 97.5 %
28.01537 55.36267
Vocˆe pode plotar os perfis em duas escalas, o que permite avaliar seus intervalos de veros- similhan¸ca e confian¸ca (fig. 6):
> par(mfrow=c(1,2))
> plotprofmle(moths.ls.prf)# log-likelihood profile
> plot(moths.ls.prf)# z-transformed profile
> par(mfrow=c(1,1))
Os perfis indicam a precis˜ao dos parˆametros estimados. Para avaliar o ajuste do modelo aos dados, o pacotesads faz a fun¸c˜ao plot produzir quatro gr´aficos de diagn´ostico (fig.7), quando aplicados a um objeto de modelo desads:
> par(mfrow=c(2,2))
> plot(moths.ls)
> par(mfrow=c(1,1))
O dois primeiros gr´aficos s˜ao os diagramas de rank-abundˆancia e de oitavas, com os valores previstos pelo modelo sobrepostos (linhas azuis). Os dois outros gr´aficos s˜ao duas maneiras mais efetivas, por´em mais abstratas de avaliar o ajuste:
Gr´afico de quantis: para cada esp´ecie, plota o valor de abundˆancia previsto pelo modelo (theoretical quantile)em fun¸c˜ao do observado (empirical quantile).
Gr´afico de percentis: para cada esp´ecie, plota a probabilidade pelo modelo de que uma esp´ecie tenha sua abundˆancia ou maior (theoretical percentile, que ´e probabilidade acumulada te´orica) em fun¸c˜ao da propor¸c˜ao observada de esp´ecies que teve um valor igual ou superior de abundˆancia (empirical percentile, que a probabilidade acumulada emp´ırica,ecdf)
Para esses dois gr´aficos, um ajuste perfeito do modelo resultaria em todos os valores obser- vados iguais aos previstos. Neste caso, todos os pontos deveriam estar sobre uma linha de intercepto zero e inclina¸c˜ao um. Esta linha ´e indicada em vermelho nos dois gr´aficos.
5como isso implica me ajustar muitos modelos (um para cada novo valor de parˆametros), esta fun¸c˜ao pode demorar, e est´a muito sujeita a erros. Mas h´a maneiras de amenizar isso, veja Bolker (2008).
20 30 40 50 60
0123456
alpha
Negative relative log−likelihood
30 40 50 60
0.00.51.01.52.02.5
Likelihood profile: alpha
alpha
z
99%
95%
90%
80%
50%
Figura 6: Esquerda: Perfil de verossimilhan¸ca do alfa de Fisher ajustado aos dados de mariposas capturadas com armadilhas luminosas (Fisher et al., 1943). A linha vermelha delimita o intervalo de verossimilhan¸ca, que s˜ao valores dos parˆametro alfa que resultariam em modelos t˜ao plaus´ıveis quanto o de m´axima verossimilhan¸ca. Este intervalo d´a expressa a precis˜ao da estimativa do parˆametro. Direita: o mesmo perfil, com a verossimilhan¸ca transformada para uma vari´avel normal padronizada (vari´avel z). Aceitando-se que o parˆa- metro tem distribui¸c˜ao normal, nesta escala ´e poss´ıvel identificar os intervalos de confian¸ca, que est˜ao indicados pelas linhas pontilhadas vermelho-claras.
Abundance class N of species 010203040
1 4 16 64 1024
●
●
● ● ● ● ●
●
●
●
●
● ●
●
●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Species Rank Species Abundance 1550500
20 60 120 180 240
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ● ●
● ●
●
0 200 600 1000
05001500
Q−Q plot
Theoretical Quantile
Sample Quantiles
●●
●●
●●
●
●●
●●
●●
●●
●
●●
●●
●●
●●
●●
●
●●
●●
●●
●● ●●●●●●●●●●● ●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
0.2 0.4 0.6 0.8 1.0
0.00.40.8
P−P plot
Theoretical Percentiles
Sample Percentiles
Figura 7: Gr´aficos para avalia¸c˜ao do ajuste do modelo desad. Acima `a esquerda: histo- grama em classes de abundˆancia logar´ıtmicas de base 2 (oitavas);Acima `a direita: gr´afico de rank-abundˆancia;Abaixo `a esquerda: gr´afico de quantil;Abaixo `a direita: gr´afico de percentis.Os pontos pretos s˜ao os valores observados e as linhas s˜ao os esperados pelo modelo. Veja texto para a interpreta¸c˜ao dos gr´aficos.
.
5 Compara¸ c˜ ao de modelos
A fun¸c˜aofitsadajusta outros modelos al´em da s´erie logar´ıtmica, que vocˆe pode indicar no segundo argumento da fun¸c˜ao, chamado sad. Consulte a p´agina de ajuda da fun¸c˜ao para conhecer todas os modelos dispon´ıveis.
Para cada modelo, vocˆe pode ainda usar o argumento truncpara truncar a distribui¸c˜ao de abundˆancia em um valor m´ınimo. Como alguns modelos permitem o valor zero, ´e comum impedir esse valor com a truncagem, pois n˜ao h´a esp´ecies com abundˆancia zero. Os mode- los com distribui¸c˜ao discreta 6 que incluem o zero (Poisson-lognormal, binomial negativa, geom´etrica) est˜ao truncadas por padr˜ao no ajuste pela fun¸c˜ao fitsad. As distribui¸c˜oes cont´ınuas7 n˜ao est˜ao truncadas por padr˜ao.
Vamos ajustar aos dados das mariposas de Fisher tamb´em as distribui¸c˜oes lognormal trun- cada em 0,5 e Poisson-lognormal:
> (moths.pl <- fitsad(x=moths,sad="poilog"))#default is zero-truncated Call:
mle2(minuslogl = LL, start = as.list(pl.par), data = list(x = x)) Coefficients:
mu sig
1.996469 2.187126
Log-likelihood: -1086.07
> (moths.ln <- fitsad(x=moths,sad="lnorm", trunc=0.5)) # lognormal truncated at 0.5 Call:
mle2(minuslogl = LL, start = list(meanlog = meanlog, sdlog = sdlog), data = list(x = x))
Coefficients:
meanlog sdlog 2.274346 2.039740
Log-likelihood: -1085.47
Comparamos os modelos com o crit´erio de informa¸c˜ao de Akaike, que expressa a distˆancia relativa de cada modelo a um modelo verdadeiro te´orico. O modelo de menor o AIC ´e o
6que descrevem contagens, como n´umero de indiv´ıduos
7que podem descrever tamb´em vari´aveis cont´ınuas, como biomassa.
que est´a mais pr´oximo dessa “verdade” te´orica, ou seja, a descri¸c˜ao mais plaus´ıvel para os dados,entre os modelos concorrentes. Modelos com uma diferen¸ca de AIC menor que 2 s˜ao considerados igualmente plaus´ıveis. Para facilitar a compara¸c˜ao, atabela de sele¸c˜ao de modelos mostra os AICs em ordem crescente, e tamb´em a diferen¸ca de cada um ao menor AIC, que ´e chamado ∆AIC. Os graus de liberdade (dfna tabela) correspondem ao n´umero de parˆametros de cada modelo.
> AICtab(moths.ls, moths.pl, moths.ln, base=T) AIC df dAIC
moths.ln 2174.9 2 0.0 moths.pl 2176.1 2 1.2 moths.ls 2177.4 1 2.5
A sele¸c˜ao de modelos indica que a distribui¸c˜ao lognormal truncada em 0,5 ´e a descri¸c˜ao mais plaus´ıvel desses dados, mas que as distribui¸c˜ao Poisson-lognormal ´e um modelos igualmente bons. Podemos avaliar isso plotando as linhas dos previstos por esses modelos sobre os histogramas de oitavas. Para isso, primeiro calculamos o n´umero esp´ecies em cada oitava previstos pelos modelos com a fun¸c˜aooctavpred
> head(moths.ls.oc <- octavpred(moths.ls)) octave upper Freq
1 1 1 40.14377
2 2 2 20.02026
3 3 4 23.27123
4 4 8 25.12674
5 5 16 25.86285 6 6 32 25.67116
> head(moths.pl.oc <- octavpred(moths.pl)) octave upper Freq
1 1 1 27.58735
2 2 2 19.48216
3 3 4 26.76472
4 4 8 31.88374
5 5 16 33.16140 6 6 32 30.49061
> head(moths.ln.oc <- octavpred(moths.ln))
octave upper Freq
1 1 1 15.41886
2 2 2 22.44066
3 3 4 29.13034
4 4 8 33.72746
5 5 16 34.82976 6 6 32 32.08088
Em seguida usamos a fun¸c˜aoplotpara criar o histograma e a fun¸c˜ao linespara adicionar as linhas dos previstos (fig. 9):
> plot(moths.oc)
> lines(moths.ls.oc, col="blue")
> lines(moths.pl.oc, col="red")
> lines(moths.ln.oc, col="green")
> legend("topright",
c("Logseries", "Poisson-lognormal", "Truncated lognormal"), lty=1, col=c("blue","red", "green"))
Para comparar os modelos no diagrama de rank-abundˆancia primeiro criamos as tabelas com as abundˆancias previstas para cadarank:
> head(moths.ls.rad <- radpred(moths.ls)) rank abund
1 1 1180
2 2 854
3 3 710
4 4 619
5 5 554
6 6 503
> head(moths.pl.rad <- radpred(moths.pl)) rank abund
1 1 4348 2 2 1973 3 3 1322 4 4 1001
5 5 807
6 6 676
Abundance class N of species 05101520253035
1 4 16 64 256 1024 4096
●
●
●
● ● ●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Logseries
Poisson−lognormal Truncated lognormal
Figura 8: Histogramas de oitavas de abundˆancias de esp´ecies de mariposas capturadas em armadilhas luminosas (Fisher et al., 1943), e n´umero de esp´ecies em cada oitava previsto por trˆes modelos de distribui¸c˜ao de abundˆancia de esp´ecies.
> head(moths.ln.rad <- radpred(moths.ln)) rank abund
1 1 3524.2394 2 2 1674.8603 3 3 1148.3539 4 4 883.6309 5 5 720.7864 6 6 609.2707
e em seguida criamos o gr´aficos e inclu´ımos das linhas dos valores previstos:
> plot(moths.rad)
> lines(moths.ls.rad, col="blue")
> lines(moths.pl.rad, col="red")
> lines(moths.ln.rad, col="green")
> legend("topright",
c("Logseries", "Poisson-lognormal", "Truncated lognormal"), lty=1, col=c("blue","red", "green"))
Embora os dados tenham sido usado por Fisher para exemplificar sua s´erie logar´ıtmica, a Poisson-lognormal parece ser um modelo melhor ou equivalente, e a lognormal tamb´em ´e um modelo plaus´ıvel.
●
●●
●●●●
●
●●●●
●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●
●●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●
●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Species Rank Species Abundance 151050500
20 40 60 80 120 160 200 240
Logseries
Poisson−lognormal Truncated lognormal
Figura 9: Gr´afico derank-abundˆancia de esp´ecies de mariposas capturadas em armadilhas luminosas (Fisher et al., 1943), e as abundˆancias prevista para cada esp´ecie por trˆes modelos de distribui¸c˜ao de abundˆancia de esp´ecies.
Referˆ encias
Arntz, W. E. & H. Rumohr, 1982. An experimental study of macrobenthic colonization and succession, and the importance of seasonal variation in temperate latitudes. Journal of experimental marine biology and ecology 64:17–45.
Bolker, B., 2008. Ecological Models and Data in R. Princeton University Press, Princeton.
Bolker, B. & R. D. C. Team, 2012. bbmle: Tools for general maximum likelihood estimation.
R package version 1.0.5.1.
Burnham, K. P. & D. R. Anderson, 2002. Model Selection and Multimodel Inference - A Practical-Theoretic Approach. Springer-Verlag.
Edwards, A. W. F., 1972. Likelihood: An Account of the Statistical Concept of Likelihood and its Application to Scientific Inference. Cambridge University Press.
Fisher, R., A. Corbet, & C. Williams, 1943. The relation between the number of the species and the number of individuals in a random sample from animal population. Journal of Animal Ecology 12:42–58.
Grøtan, V. & S. Engen, 2008. poilog: Poisson lognormal and bivariate Poisson lognormal distribution. R package version 0.4.
Hankin, R. K. S., 2007. Introducing untb, an r package for simulating ecological drift under the unified neutral theory of biodiversity. Journal of Statistical Software 22.
Johnson, J. & K. Omland, 2004. Model selection in ecology and evolution.Trends in Ecology and Evolution 19:101–108.
MacArthur, R., 1957. On the relative abundance of bird species.Proceedings of the National Academy of Sciences of the United States of America 43:293.
McGill, B., 2003. Strong and weak tests of macroecological theory. Oikos 102:679–685.
McGill, B., R. Etienne, J. Gray, D. Alonso, M. Anderson, H. Benecha, M. Dornelas, B. En- quist, J. Green, F. He, A. Hurlbert, A. E. Magurran, P. Marquet, B. Maurer, A. Ostling, C. Soykan, K. Ugland, & E. White, 2007. Species abundance distributions: moving beyond single prediction theories to integration within an ecological framework. Ecology Letters 10:995–1015.
Preston, F. W., 1948. The commonness and rarity of species. Ecology 29:254–283.
R Development Core Team, 2012. R: A Language and Environment for Statistical Compu- ting. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0.
Royall, R., 2000. Statistical Evidence: A Likelihood Paradigm. Chapman & Hall, London.
Yee, T. W., 2012. VGAM: Vector Generalized Linear and Additive Models. R package version 0.8-7.