| jSDM-package {jSDM} | R Documentation |
joint species distribution models
Description
jSDM is an R package for fitting joint species distribution models (JSDM) in a hierarchical Bayesian framework.
The Gibbs sampler is written in 'C++'. It uses 'Rcpp', 'Armadillo' and 'GSL' to maximize computation efficiency.
| Package: | jSDM |
| Type: | Package |
| Version: | 0.2.1 |
| Date: | 2019-01-11 |
| License: | GPL-3 |
| LazyLoad: | yes |
Details
The package includes the following functions to fit various species distribution models :
| function | data-type |
jSDM_binomial_logit | presence-absence |
jSDM_binomial_probit | presence-absence |
jSDM_binomial_probit_sp_constrained | presence-absence |
jSDM_binomial_probit_long_format | presence-absence |
jSDM_poisson_log | abundance |
-
jSDM_binomial_probit:
Ecological process:y_{ij} \sim \mathcal{B}ernoulli(\theta_{ij})where
if n_latent=0andsite_effect="none"probit (\theta_{ij}) = X_i \beta_jif n_latent>0andsite_effect="none"probit (\theta_{ij}) = X_i \beta_j + W_i \lambda_jif n_latent=0andsite_effect="fixed"probit (\theta_{ij}) = X_i \beta_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha)if n_latent>0andsite_effect="fixed"probit (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iif n_latent=0andsite_effect="random"probit (\theta_{ij}) = X_i \beta_j + \alpha_iif n_latent>0andsite_effect="random"probit (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha) -
jSDM_binomial_probit_sp_constrained:
This function allows to fit the same models than the functionjSDM_binomial_probitexcept for models not including latent variables, indeedn_latentmust be greater than zero in this function. At first, the function fit a JSDM with the constrained species arbitrarily chosen as the first ones in the presence-absence data-set. Then, the function evaluates the convergence of MCMC\lambdachains using the Gelman-Rubin convergence diagnostic (\hat{R}). It identifies the species (\hat{j}_l) having the higher\hat{R}for\lambda_{\hat{j}_l}. These species drive the structure of the latent axisl. The\lambdacorresponding to this species are constrained to be positive and placed on the diagonal of the\Lambdamatrix for fitting a second model. This usually improves the convergence of the latent variables and factor loadings. The function returns the parameter posterior distributions for this second model. -
jSDM_binomial_logit:
Ecological process :y_{ij} \sim \mathcal{B}inomial(\theta_{ij},t_i)where
if n_latent=0andsite_effect="none"logit (\theta_{ij}) = X_i \beta_jif n_latent>0andsite_effect="none"logit (\theta_{ij}) = X_i \beta_j + W_i \lambda_jif n_latent=0andsite_effect="fixed"logit (\theta_{ij}) = X_i \beta_j + \alpha_iif n_latent>0andsite_effect="fixed"logit (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iif n_latent=0andsite_effect="random"logit (\theta_{ij}) = X_i \beta_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha)if n_latent>0andsite_effect="random"logit (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha) -
jSDM_poisson_log:
Ecological process :y_{ij} \sim \mathcal{P}oisson(\theta_{ij})where
if n_latent=0andsite_effect="none"log (\theta_{ij}) = X_i \beta_jif n_latent>0andsite_effect="none"log (\theta_{ij}) = X_i \beta_j + W_i \lambda_jif n_latent=0andsite_effect="fixed"log (\theta_{ij}) = X_i \beta_j + \alpha_iif n_latent>0andsite_effect="fixed"log (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iif n_latent=0andsite_effect="random"log (\theta_{ij}) = X_i \beta_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha)if n_latent>0andsite_effect="random"log (\theta_{ij}) = X_i \beta_j + W_i \lambda_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha) -
jSDM_binomial_probit_long_format:
Ecological process:y_n \sim \mathcal{B}ernoulli(\theta_n)such as
species_n=jandsite_n=i, whereif n_latent=0andsite_effect="none"probit (\theta_n) = D_n \gamma + X_n \beta_jif n_latent>0andsite_effect="none"probit (\theta_n) = D_n \gamma + X_n \beta_j + W_i \lambda_jif n_latent=0andsite_effect="fixed"probit (\theta_n) = D_n \gamma + X_n \beta_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha)if n_latent>0andsite_effect="fixed"probit (\theta_n) = D_n \gamma + X_n \beta_j + W_i \lambda_j + \alpha_iif n_latent=0andsite_effect="random"probit (\theta_n) = D_n \gamma + X_n \beta_j + \alpha_iif n_latent>0andsite_effect="random"probit (\theta_n) = D_n \gamma + X_n \beta_j + W_i \lambda_j + \alpha_iand\alpha_i \sim \mathcal{N}(0,V_\alpha)
Author(s)
Ghislain Vieilledent <ghislain.vieilledent@cirad.fr>
Jeanne Clément <jeanne.clement16@laposte.net>
Frédéric Gosselin <frederic.gosselin@inrae.fr>
References
Chib, S. and Greenberg, E. (1998) Analysis of multivariate probit models. Biometrika, 85, 347-361.
Warton, D. I.; Blanchet, F. G.; O'Hara, R. B.; O'Hara, R. B.; Ovaskainen, O.; Taskinen, S.; Walker, S. C. and Hui, F. K. C. (2015) So Many Variables: Joint Modeling in Community Ecology. Trends in Ecology & Evolution, 30, 766-779.
Ovaskainen, O., Tikhonov, G., Norberg, A., Blanchet, F. G., Duan, L., Dunson, D., Roslin, T. and Abrego, N. (2017) How to make more out of community data? A conceptual framework and its implementation as models and software. Ecology Letters, 20, 561-576.