gof {occumb}R Documentation

Goodness-of-fit assessment of the fitted model.

Description

gof() calculates omnibus discrepancy measures and their Bayesian p-values for the fitted model using the posterior predictive check approach.

Usage

gof(fit, stats = c("Freeman_Tukey", "deviance"), cores = 1L, plot = TRUE, ...)

Arguments

fit

An occumbFit object.

stats

The discrepancy statistics to be applied.

cores

The number of cores to use for parallelization.

plot

Logical, determine if draw scatter plots of the fit statistics.

...

Additional arguments passed to the default plot method.

Details

A discrepancy statistic for the fitted model is obtained using a posterior predictive checking procedure. The following statistics are currently available:

Freeman-Tukey statistics (default)

T_{\textrm{FT}} = \sum_{i,j,k}\left(\sqrt{y_{ijk}} - \sqrt{E(y_{ijk} \mid \pi_{ijk})}\right)^2

Deviance statistics

T_{\textrm{deviance}} = -2 \sum_{j,k} \log \textrm{Multinomial}(\boldsymbol{y}_{jk} \mid \boldsymbol{\pi}_{jk})

where i, j, and k are the subscripts of species, site, and replicate, respectively, y_{ijk} is sequence read count data, \pi_{ijk} is multinomial cell probabilities of sequence read counts, E(y_{ijk} \mid \pi_{ijk}) is expected value of the sequence read counts conditional on their cell probabilities, and \log \textrm{Multinomial}(\boldsymbol{y}_{jk} \mid \boldsymbol{\pi}_{jk}) is the multinomial log-likelihood of the sequence read counts in replicate k of site j conditional on their cell probabilities.

The Bayesian p-value is estimated as the probability that the value of the discrepancy statistics of the replicated dataset is more extreme than that of the observed dataset. An extreme Bayesian p-value may indicate inadequate model fit. See Gelman et al. (2014), Kéry and Royle (2016), and Conn et al. (2018) for further details on the procedures used for posterior predictive checking.

Computations can be run in parallel on multiple CPU cores where the cores argument controls the degree of parallelization.

Value

A list with the following named elements:

stats

The discrepancy statistics applied.

p_value

Bayesian p-value.

stats_obs

Discrepancy statistics for observed data.

stats_rep

Discrepancy statistics for repeated data.

References

P. B. Conn, D. S. Johnson, P. J. Williams, S. R. Melin and M. B. Hooten. (2018) A guide to Bayesian model checking for ecologists. Ecological Monographs 88:526–542. doi:10.1002/ecm.1314

A. Gelman, J. B. Carlin, H. S. Stern D. B. Dunson, A. Vehtari and D. B. Rubin (2013) Bayesian Data Analysis. 3rd edition. Chapman and Hall/CRC. http://www.stat.columbia.edu/~gelman/book/

M. Kéry and J. A. Royle (2016) Applied Hierarchical Modeling in Ecology — Analysis of Distribution, Abundance and Species Richness in R and BUGS. Volume 1: Prelude and Static Models. Academic Press. https://www.mbr-pwrc.usgs.gov/pubanalysis/keryroylebook/

Examples


# Generate the smallest random dataset (2 species * 2 sites * 2 reps)
I <- 2 # Number of species
J <- 2 # Number of sites
K <- 2 # Number of replicates
data <- occumbData(
    y = array(sample.int(I * J * K), dim = c(I, J, K)),
    spec_cov = list(cov1 = rnorm(I)),
    site_cov = list(cov2 = rnorm(J),
                    cov3 = factor(1:J)),
    repl_cov = list(cov4 = matrix(rnorm(J * K), J, K)))

# Fitting a null model
fit <- occumb(data = data)

# Goodness-of-fit assessment
gof_result <- gof(fit)
gof_result


[Package occumb version 1.1.0 Index]