Barker 2018 - Poisson Alternative and Model Discrimination
Summary
If counts are Poisson given (sampling with replacement) only the product is estimable. Binomial and Poisson are near-identical for sparse counts, and a two-parameter double Poisson-lognormal model with identical first and second moments is often preferred or indistinguishable (within 1 AIC) from the generating N-mixture model: 82%, 59%, 41% of runs in scenarios A, B, C.
Overview
Section 3 shows that what identifies and separately in N-mixtures is the binomial assumption, and that data are weak at checking it. Section 3.1 quantifies this by simulation.
Main Content
Single site, Poisson counts (Eq. 3-4)
Identifiability fails under Poisson sampling
Binomial: gives , identifiable provided and binomial variation holds (Eq. 3). Poisson: gives, with ,
The first factor does not involve or (the given are ancillary), and the second depends on only through . So only is estimable. Replication in space or time cannot repair this.
Contrast: in capture-recapture, modelling counts as Poisson does not make abundance non-identifiable, because recaptures supply the extra information (Cormack 1992; Schofield and Barker 2016).
The Poisson is the limit of the binomial as , with fixed. For sparse data (small ) the two are near indistinguishable, which also explains the instability of the binomial fit when the sample mean and variance are close (Dennis et al. 2015). N-mixtures were designed for sparse data, so the Poisson alternative is plausible exactly where they are used.
Site-level Poisson model (Eq. 6)
Same marginal mean=variance as the N-mixture marginal (Eq. 5), but covariances among counts at the same site are zero here and non-zero in the N-mixture; and conditional on the N-mixture allows variance below the mean while the Poisson does not. Under constant , estimates relative abundance. The hierarchical model on is needed in N-mixtures for identifiability; the ability to separate from rests entirely on the covariance structure it induces.
Discrimination by counterexample (Sec. 3.1)
Competing models
Model 1 (N-mixture): , . Model 2 (DPLN, double Poisson-lognormal): (Efron 1986), , with restriction . The double Poisson adds a dispersion parameter ( under-dispersed, over-dispersed, Poisson). The restriction matches first and second moments with the N-mixture; it is for comparison, not recommended for fitting.
Table 1 (moments common to both models).
| Scenario | |||||
|---|---|---|---|---|---|
| A | 30 | 0.1 | 3 | 3 | 0.3 |
| B | 30 | 0.3 | 9 | 9 | 2.7 |
| C | 30 | 0.5 | 15 | 15 | 7.5 |
(The covariance equals : , , .) Scenarios are ordered by decreasing realism. Realism check from the paper: the Swiss mallard data in R unmarked has 239 sites, 3 visits, mean count 0.24 and median 0; the great-tit data (Kery and Royle 2016, Ch. 6) has 263 sites, mean 6.45, median 4; the early simulation in Kery and Royle Ch. 6 has 150 sites, 2 visits, mean 1.0.
Design. 1000 simulations per model and scenario, 50 sites, ; both models fitted by marginal likelihood (2 marginal parameters each, so twice the log-likelihood difference is the AIC difference). Code is in the Biometrics supplement.
Results (Figure 2, stated percentages)
Data generated by Scenario A () Scenario B (9) Scenario C (15) N-mixture: double Poisson preferred or within 1 AIC 82% 59% 41% Double Poisson: N-mixture preferred or within 1 AIC 77% 51% 42% Interpretation. Even at with (far richer than typical data), the non-generating model is chosen or tied about 40% of the time, and “even in the best scenario we prefer the non-generating model about 25% of the time”. Model fit alone cannot discriminate between families with very different implications for (cf. Gelman et al. 2014, p. 190).
Examples
Why the covariance carries the identification
For the N-mixture, and . Given the empirical mean and within-site covariance : and . Under Poisson, so no exists. Sparse data make essentially unmeasurable (a few off-diagonal pairs of small counts), so is dominated by noise: this is how the model produces in Dennis et al. (2015).
import numpy as np
rng = np.random.default_rng(0)
I, J, nu, p = 50, 5, 30, 0.1
N = rng.poisson(nu, I); n = rng.binomial(N[:, None], p, (I, J))
m = n.mean(); c = np.mean([np.cov(n[i, :], n[i, :][::-1])[0, 1] for i in range(I)])
# crude moment check: cov across visits within a site, pooled
cc = np.mean([(n[i, j]-m)*(n[i, k]-m) for i in range(I) for j in range(J) for k in range(J) if j != k])
print("mean", m, "pooled cross-visit cov", cc, "-> p_hat", cc/m, "(truth", p, ")")Connections
- Sparse-count N-mixture vs Poisson regression: Monsters and Mixtures (overdispersion).
- Model comparison caveats: Posterior Predictive Checking.