nimbleEcology: distribuições NIMBLE personalizadas para ecologistas

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon R – NIMBLE, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Preparado por Ben Goldstein.

O que é nimbleEcology?

nimbleEcology é um pacote ágil auxiliar para ecologistas.

nimbleEcology contém um conjunto de distribuições correspondentes a alguns modelos ecológicos comuns. Quando o pacote é carregado, essas distribuições são registradas no NIMBLE e podem ser usadas diretamente nos modelos.

O nimbleEcology contém distribuições frequentemente usadas na modelagem de estudos de abundância, ocupação e captura-recaptura.

Por que usar nimbleEcology?

Modelos ecológicos para abundância, ocupação e captura-recaptura geralmente envolvem muitos estados latentes discretos. Escrever esses modelos pode ser propenso a erros e, em alguns casos, pode levar a uma lenta mistura do MCMC. Reunimos uma coleção de distribuições o mais rápido possível para facilitar a escrita desses modelos

  • Fácil de usar. Usar uma distribuição nimbleEcology é mais fácil do que escrever probabilidades ou descrições de modelos hierárquicos.
  • Minimizar erros. Você não precisa perder horas procurando o sinal de menos no lugar errado; as distribuições são verificadas e testadas.
  • Integrar sobre estados latentes. As implementações da nimbleEcology integram ou somam probabilidades em estados latentes. Isso elimina a necessidade de amostrar essas variáveis ​​latentes, que em alguns casos podem fornecer ganhos de eficiência e permite métodos de estimativa de máxima verossimilhança (ML) com modelos hierárquicos.

Como usar

O nimbleEcology pode ser instalado diretamente do CRAN da seguinte maneira.

install.packages("nimbleEcology")

Depois que o nimbleEcology estiver instalado, carregue-o usando biblioteca. Também carregará ágil.

## Loading required package: nimble
## nimble version 0.10.0 is loaded.
## For more information on NIMBLE and a User Manual,
## please visit http://R-nimble.org.
## 
## Attaching package: 'nimble'
## The following object is masked from 'package:stats':
## 
##     simulate
## Loading nimbleEcology. 
## Registering the following user-defined functions: 
## dOcc, dDynOcc, dCJS, dHMM, dDHMM

Observe a mensagem indicando quais famílias de distribuição foram carregadas.

Leia Também  Tudo o que você precisa saber no PCA…

Quais distribuições estão disponíveis?

As seguintes distribuições estão disponíveis no nimbleEcology.

  • dOcc (modelo de ocupação)
  • dDynOcc (modelo de ocupação dinâmica)
  • dHMM (modelo Markov oculto)
  • dDHMM (modelo Markov dinâmico oculto)
  • dCJS (Modelo Cormack-Jolly-Seber ou recaptura de marca)
  • dNmixture (Modelo de mistura N)
  • dYourNewDistribution Você tem uma distribuição personalizada que se encaixa no pacote? Está faltando uma distribuição que você precisa? Nos informe! Incentivamos ativamente as contribuições por meio do GitHub ou da comunicação direta.

Código de exemplo

O código a seguir ilustra uma definição de modelo NIMBLE para um modelo de ocupação usando nimbleEcology. O modelo é especificado, construído e usado para simular alguns dados de acordo com a distribuição de ocupação.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
library(nimbleEcology)

occ_code  nimbleCode({
  psi ~ dunif(, 1)
  p ~ dunif(, 1)
  for (s in 1:nsite) {
    x[s, 1:nvisit] ~ dOcc_s(probOcc = psi, probDetect = p,
                            len = nvisit)
  }
})

occ_model  nimbleModel(occ_code,
               constants = list(nsite = 10, nvisit = 5),
               inits = list(psi = 0.5, p = 0.5))
## setting data and initial values...
## running calculate on model (any error reports that follow may simply reflect missing values in model variables) ... 
## checking model sizes and dimensions... This model is not fully initialized. This is not an error. To see which variables are not initialized, use model$initializeInfo(). For more information on model initialization, see help(modelInitialization).
## model building finished.
set.seed(94)
occ_model$simulate("x")
occ_model$x
##       [,1] [,2] [,3] [,4] [,5]
##  [1,]    0    0    0    0    0
##  [2,]    0    0    0    0    0
##  [3,]    0    0    0    0    0
##  [4,]    0    0    0    0    0
##  [5,]    1    1    1    0    1
##  [6,]    0    0    0    1    0
##  [7,]    0    0    0    0    0
##  [8,]    0    0    0    0    1
##  [9,]    1    1    1    0    0
## [10,]    0    1    0    0    0

Como aprender mais

Após a instalação do pacote, você pode conferir a vinheta do pacote com vinheta ("nimbleEcology").

Leia Também  psiconetria 0.7, pré-impressão com meta-análise e curso SEM online

A documentação está disponível para cada família de distribuição usando a sintaxe R ?distribuição, por exemplo

Para obter mais detalhes sobre a marginalização nessas distribuições, consulte o artigo “Um tamanho não serve para todos: Customizando métodos MCMC para modelos hierárquicos usando NIMBLE” (Ponisio et al. 2020).





cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br