FINDINGS — T10 Extinction-risk scaling: Size vs Generation Time
Supplied working report; original verdicts not validated.
Review status: Needs review. This is an archival source note, not a passed proof.
FINDINGS.md
# FINDINGS — T10 Extinction-risk scaling: Size vs Generation Time
Date: 2026-10-30 · Exploratory, not peer reviewed · Estimators: self-contained
numpy ML (see `code/README-estimators.md`); support rules were pre-registered
in `hypothesis.md` before fitting.
## Verdicts
| Hypothesis | Verdict |
| --- | --- |
| Vol V #21 "Extinction Risk Scales With Size" — P1 power-law form | **Not supported** |
| Vol V #21 — P2 exponent differs between hunting- and climate-driven events | **Supported** |
| Vol V #21 overall (P1+P2) | **Conditional** |
| Vol VIII #025 "Extinction Risk Scales With Generation Time" (P1 horse race) | **Conditional** (supported on data-derived GL subset only) |
| Vol VIII #025 P2 "small long-lived species high risk" (illustration) | **Weak / mixed** |
## A. Size power law (Vol V #21)
### A1 — power law vs stepwise: NOT SUPPORTED
Pre-registered rule: continuous log-mass must beat a categorical size-bin
model by ΔAIC ≥ 4 **and** have a positive coefficient. The coefficient is
positive, but the **categorical model wins** on AIC in both variants:
| outcome | AIC continuous | AIC 10-bin categorical | ΔAIC (cont − cat) | log-mass coef (cont) |
| --- | --- | --- | --- | --- |
| ordered threat level (n=4701) | 9716.4 | 9687.6 | **+28.8** | +0.464 (SE 0.028) |
| binary threatened (n=4701) | 5034.5 | 5014.1 | **+20.4** | +0.470 (SE 0.028) |
Positive ΔAIC = categorical preferred. The bin coefficients (`results/
A1_coefficient_tables.csv`) show a broadly monotone staircase: risk rises
with size in steps rather than tracking a smooth power law. Interpretation:
the data support **size selectivity**, but in a stepwise form; the
1-parameter power law is too rigid (AIC also penalises the step model's 9
extra parameters, so the step fit genuinely absorbs real nonlinearity).
Consequence for A2: the "exponent" language is downgraded to descriptive
logit slopes (per pre-registration).
### A2 — exponent differs by driver: SUPPORTED
Binary logit slopes of extinct-vs-log10(mass); for rare events the logit
slope ≈ the power exponent.
| subset | Pleistocene mainland (hunting-suspect) | Holocene island | contemporary threatened |
| --- | --- | --- | --- |
| all sizes | **1.91 [1.70, 2.13]** n=4874 (185 ex) | **0.88 [0.70, 1.07]** n=837 (127 ex) | 0.47 [0.42, 0.52] n=4701 |
| ≥ 1 kg | 1.99 [1.72, 2.26] | 1.20 [0.75, 1.66] | 0.28 [0.13, 0.43] |
| ≥ 10 kg | 1.61 [1.27, 1.94] | −0.01 [−0.96, 0.94] (n=72) | 0.13 [−0.14, 0.40] |
| ≥ 44 kg | 1.33 [0.86, 1.79] | 2.93 [0.51, 5.35] (n=40) ⚠ sparse | 0.22 [−0.18, 0.62] |
- Difference (Pleistocene − island, all sizes): **+1.03, SE 0.14, z = 7.3**;
≥1 kg: +0.79, z = 2.9; ≥10 kg: +1.62, z = 3.2. Rule (diff ≥ 2 SE, both
slopes > 0) **met** on the all-size, ≥1 kg and ≥10 kg subsets.
- Pooled interaction model agrees: logm × island interaction −1.03 (SE 0.14).
- The Pleistocene slope is robust to removing the giant species (1.90–1.94
when the >1 t or >33 t species are excluded).
- ⚠ The ≥44 kg island cell is exactly the sparse case the prompt warned
about: n=40 (23 extinct) — island megafauna extinctions are near-saturated
(23 of 40 species >44 kg went extinct, mostly Madagascar/Caribbean/
Mediterranean taxa), so no within-band gradient is estimable and the point
estimate is unstable. Claims are restricted accordingly.
- Contemporary threatened status has the shallowest slope (0.47), consistent
with the theory's narrative that current drivers are less size-selective.
Verdict A overall: **Conditional** — the diagnostic exponent idea (P2) is
strongly supported on PHYLACINE data; the power-law form (P1) is not.
## B. Generation-time horse race (Vol VIII #025)
Sample: extant assessable species with GL (n=4690). r(log mass, log GL) =
0.53 (full) / 0.71 (estimated-GL subset). GL construction: Pacifici et al.
(2013) method (GL = AFR + 0.29·Rspan), with 1,490 species data-derived
("estimated") and 3,200 filled by the Pacifici mass-bin hierarchy
("imputed", hence mass-contaminated). Standardised (z-scored) coefficients.
| sample | model | std coef mass | std coef GL | ΔAIC (GL-only − mass-only) | mass shrinkage \|βj\|/\|βs\| |
| --- | --- | --- | --- | --- | --- |
| full n=4690 (ord / bin) | solo | 0.56 / 0.57 | 0.52 / 0.51 | +83.7 / +81.4 (mass wins) | 0.73 / 0.75 |
| full n=4690 | joint | **0.41 / 0.42** | 0.28 / 0.25 | — | — |
| estimated-GL n=1490 (ord / bin) | solo | 0.72 / 0.72 | **0.85 / 0.84** | **−21.9 / −19.0 (GL wins)** | **0.49 / 0.48** |
| estimated-GL n=1490 | joint | 0.35 / 0.34 | **0.57 / 0.57** | — | — |
- Full sample: mass wins on every arm → the pre-registered B rule fails.
- Estimated-GL subset (the pre-registered decisive sensitivity): **all four
arms pass** — GL carries the larger standardised effect solo and joint,
the mass partial shrinks to ≤ 0.5 of its solo value, AIC(GL-only) beats
AIC(mass-only) by ≥ 4, and the GL coefficient is positive (longer
generation ⇒ higher risk; also refutes the page's canonical sentence
"small *short*-lived … higher risk").
- The full-sample result is driven by the 68% imputed GL values, which are
mass-bin means (mass information injected into GL). Removing them flips
the horse race. Per pre-registration ("if imputed GL drives the result,
verdict is Conditional") → **Conditional**.
- Unique-R² (dominance) on the estimated subset: GL unique 0.013–0.023 vs
mass unique 0.007–0.010 (ordered/binary) — GL contributes more unique
explanatory power; the shared component dominates (collinearity 0.71).
### B-P2 illustration: small + long-lived + high risk — weak/mixed
Among extant species (n=4690), threatened fraction by quadrant:
| quadrant | n | threatened % |
| --- | --- | --- |
| small (<500 g) & long GL (>5 y) | 630 | 21.3% |
| small & short GL | 2720 | 17.9% |
| large & long GL | 938 | **47.4%** |
| large & short GL | 402 | 30.9% |
- Within small species, long-lived are modestly more threatened (+3.4 pp),
but the size gradient dominates; the highest-risk quadrant is large+long.
- 18 extant CR species are small+long (mostly island bats; e.g. Murina
tenebrosa 3.7 g/6.3 y, Myotis yanbarensis 4.3 g/7.5 y, Pteropus
rodricensis 254 g/10.5 y) — listed in `results/B_P2_small_long_CR.csv`.
So P2's existence claim is illustrated, but the marginal effect is weak.
## Headline numbers
- Contemporary: +0.46 logit per 10× body mass (odds of being threatened
×1.6 per order of magnitude of mass).
- Extinct-strata slopes: Pleistocene mainland **1.9**, Holocene islands
**0.9**, contemporary **0.5**.
- Horse race: on data-derived GL, std coef GL 0.57 vs mass 0.35 (joint,
ordered); ΔAIC(GL vs mass) = −21.9; r = 0.71.
## Limitations (honest)
1. **Ordinal/coarse status**: IUCN categories are an ordinal proxy for risk;
DD (777) species excluded from contemporary analyses.
2. **Imputed masses**: PHYLACINE fills all masses; ~15% are imputed/assumed
isometric (Mass.Method column), adding noise in log-mass.
3. **GL is reconstructed, not IUCN official**: captive maximum longevities
inflate GL for short-lived species; z=0.29 (Pacifici) not species
specific. The actual Pacifici GL dataset (Dryad gd0m3) blocks anonymous
downloads; COMBINE (Soria et al. 2021) is also paywalled/blocked.
4. **Collinearity**: r(log mass, log GL) = 0.53–0.71 → joint-model partials
are noisy and sensitive to sample composition.
5. **Sparse extinct subsets**: island ≥44 kg (n=40); island ≥10 kg (n=72).
PHYLACINE has no per-species extinction dates — "Late Pleistocene" vs
"Holocene" is inferred from the EP (<1500 CE) vs EX flag and island
endemicity, not from dating.
6. **Fossil preservation bias**: small-species prehistoric extinctions are
under-recorded, likely inflating the Pleistocene slope (all our
Pleistocene fits are therefore conservative *upper* bounds on the true
exponent if under-recording is strong, but the Pleistocene–island
*contrast* uses the same data-collection logic on both sides).
7. **No phylogeny**: species treated as independent; clades (bats dominate
the small+long CR list) can drive patterns.
8. **"Once abundance is controlled"** (VIII/025's mechanism caveat) is not
testable with PHYLACINE (no abundance data) — the horse race here is
marginal, not conditional on abundance.
9. P3 of both hypotheses (region-consistent exponent; recovery-rate scaling)
untested in this package.
## What would change each conclusion
- **A1 (power-law form)**: currently rejected because a 10-bin step function
fits better. It would flip to support if (a) a *nonlinear continuous*
model (e.g. log-mass + log-mass² or a 2-parameter power-with-offset)
beats the bins, or (b) bin count is chosen by cross-validation and the
continuous model still wins. The theory only requires "power law, not
stepwise" — a curvature test is the cleanest next experiment.
- **A2 (driver exponents)**: supported at all sizes; would be strengthened
by dated extinction records (Pleistocene vs Holocene per species) and a
larger island sample. Could flip if small-species Pleistocene extinctions
are systematically missing (the slope contrast would shrink once the
under-recorded small extinct species are included).
- **B (GL horse race)**: would be settled by fitting on *real* IUCN/COMBINE
GL values for the full 4.7k species instead of reconstructed+mass-imputed
values; if GL still wins there, B flips to Supported; if mass wins, B is
Not supported. A phylogeny-aware model would also reduce clade-level
pseudoreplication.
hypothesis.md
# T10 — Extinction Risk Scaling: Size (Vol V #21) vs Generation Time (Vol VIII #025)
Test package for the Incoprea hypothesis-testing programme. Exploratory, not peer reviewed.
All support rules in this file were written **before** any model was fit (pre-registered).
Fits and verdicts are in `FINDINGS.md`; estimator documentation is in `code/README-estimators.md`.
## Hypotheses under test (quoted from source pages)
### Hypothesis 1 — Vol V #21 "Extinction Risk Scales With Size"
Source: https://incoprea.com/research-library/original-theories-vol5-20261030/theories/extinction-risk-scales-with-size.html
(fetched 2026-10-30, saved at `raw_pages/vol5-21-extinction-size.html`)
> **The claim**: "Extinction risk in mammals scales as a power of body size rather than
> depending on size categorically, so the selectivity of an extinction event can be predicted
> from the exponent, and the exponent itself indicates which mechanism is operating."
> **The theory**: "If risk scales as a power of body size, then the selectivity of an event is
> summarised by the exponent, and different mechanisms produce different exponents. Hunting,
> for instance, should select more steeply than climate, because it targets large individuals directly."
> **Predictions**:
> - P1 "Risk should scale as a power of body size rather than stepwise."
> - P2 "The exponent should differ between hunting-driven and climate-driven events."
> - P3 "The same driver should give a consistent exponent across regions."
> **Evidence base (as cited on page)**: "A three-quarter power scaling of extinction risk in Late
> Pleistocene mammals has been reported" (KNAW research portal, three-quarter power scaling of
> extinction risk in late Pleistocene mammals); "Body size downgrading of mammals over the late
> Quaternary has been documented as a systematic pattern".
Note: the page's claim text says "a small short-lived species can be at higher risk than a large
long-lived one" is NOT in Vol V; that formulation belongs to Vol VIII #025 (below). Vol V #21's
own tension section reads: "Extinction selectivity is described categorically: large-bodied
species are more vulnerable. That description fits the data and cannot predict how much more
vulnerable, or why the degree of selectivity differs between events. A category has no magnitude."
### Hypothesis 2 — Vol VIII #025 "Extinction Risk Scales With Generation Time"
Source: https://incoprea.com/research-library/original-theories-vol8-20261030/theories/extinction-scales-with-generation-time.html
(fetched 2026-10-30, saved at `raw_pages/vol8-025-generation-time.html`)
> **The claim**: "Extinction risk scales inversely with generation time rather than with body
> size, so a small short-lived species can be at higher risk than a large long-lived one in the
> same habitat."
> **The mechanism**: "A population recovers from a bottleneck at a rate set by generation time.
> Species with long generations recover slowly and accumulate risk across disturbances, while
> short-lived species can rebound between events. That makes generation time the mechanism, and
> it predicts risk should track it better than size once abundance is controlled."
> **Predictions**:
> - P1 "Risk should correlate with generation time better than with mass."
> - P2 "Small long-lived species should be high risk."
> - P3 "Recovery rate should scale with generation time."
> **Evidence (as cited on page)**: "Extinction risk correlates with body size across many groups,
> but the correlation weakens when generation time is included, and some small-bodied groups show
> high risk."
> **Refutation clause**: "Risk tracking mass at controlled generation time would restore the proxy."
(NB: the claim's canonical text says "a *small short-lived* species can be at higher risk than a
*large long-lived* one", which conflicts with the page's own mechanism (long generations ⇒ higher
risk) and with its P2 ("small *long-lived* species should be high risk"). The P2/majority reading
is that LONG generation time ⇒ higher risk, so risk scales POSITIVELY with generation time. We
test that majority reading and flag the internal inconsistency in FINDINGS.md. The prompt's
wording "inversely" in the task header matches neither reading; we note this too.)
## Data
- PHYLACINE 1.2.1 (Faurby et al. 2020), zip sha256 in `PROVENANCE.md`.
`Trait_data.csv`: 5,831 mammal species; columns used: `Binomial.1.2`, `Order.1.2`,
`Family.1.2`, `Genus.1.2`, `Mass.g`, `Island.Endemicity`, `IUCN.Status.1.2`.
- IUCN.Status.1.2 distribution: LC 3157, DD 777, VU 525, EN 464, NT 350, EP 270, CR 205,
EX 82, EW 1. "EP" = PHYLACINE's unofficial status "extinct in prehistory" — species extinct
before 1500 CE (late Quaternary; largely Late Pleistocene–early Holocene), per the metadata PDF.
- `Island.Endemicity`: mainland 4492, isolated islands 837, large land-bridge islands 400,
exclusively marine 81, small land-bridge islands 21.
- Generation length is NOT in PHYLACINE. We construct it per species following the published
method of Pacifici et al. (2013, Nature Conservation 5: 87–94; data paper for the IUCN GL
dataset): GL = AFR + z·Rspan with z = 0.29 (their fitted value; sensitivity z = 0.5), where
AFR = age at first reproduction and Rspan = max longevity − AFR. AFR/longevity come from
PanTHERIA (Jones et al. 2009), the Amniote database (Myhrvold et al. 2015) and AnAge. Missing
values are filled by the Pacifici hierarchy: mean GL of congenerics in the same log-mass bin →
confamilials in the same bin → congenerics → confamilials → order-mean. Each species' GL is
flagged `estimated` (AFR+longevity data available) vs `imputed`; the horse race is re-run on
the estimated subset as a sensitivity test because imputed GL inherits mass information.
## Pre-registered support rules (written BEFORE fitting)
### A. Size power law (Vol V #21)
Outcomes (contemporary): extant species with IUCN status in {LC, NT, VU, EN, CR} (DD, EW, EX, EP
excluded). Threat level ordinal: LC=0, NT=1, VU=2, EN=3, CR=4. Binary threatened: VU/EN/CR = 1,
LC/NT = 0.
- **A1 (P1: power law, not stepwise).** Fit ordered logit of threat level on log10(mass):
(a) continuous log-mass, (b) categorical size bins (10 log-mass deciles). **Support A1** =
ΔAIC ≥ 4 in favour of the continuous model AND the log-mass coefficient positive (larger ⇒
more threatened). Repeat with the binary threatened logit as the robust variant; both must
point the same way for a clean "Supported"; disagreement ⇒ "Conditional".
- **A2 (P2: exponent differs by driver).** Binary logit of "extinct" vs log10(mass) on three
era/driver strata, with the logit slope ≈ power-law exponent for rare events:
1. *Pleistocene (hunting-suspect, continental)*: EP mainland species (n≈185) vs extant
mainland species.
2. *Holocene island extinctions*: EX + EP species endemic to isolated islands (42 + 85)
vs extant island-endemic species.
3. *Contemporary*: binary threatened vs not among extant species (same as A1-binary).
**Support A2** = slope(1) > slope(2) with the difference ≥ 2 SE (i.e. 95% CIs roughly
non-overlapping), AND both slopes > 0. Report CIs for all three; slope(3) is context, not
part of A2. Sensitivity: repeat within mass ≥ 1 kg, ≥ 10 kg, ≥ 44 kg (fossil preservation
bias is the classic confound: small species' prehistoric extinctions are under-recorded).
If any extinct stratum has < 40 species, the claim is restricted to "subset too sparse"
per stratum and A2 is reported Conditional with honest limitation.
- A1 additionally qualifies the whole A block: if the continuous model does NOT beat the
categorical model, the "exponent" language of A2 is downgraded to descriptive slopes.
### B. Generation-time horse race (Vol VIII #025)
Outcomes as in A (ordered threat level; binary variant). x1 = log10(mass g), x2 = log10(GL yr).
- **B-main (P1: GL beats mass).** Fit: (i) ordered logit of threat on x2 alone, (ii) on x1
alone, (iii) on both. **Support B** = |std.coef(x2)| > |std.coef(x1)| in the joint model AND
the x1 partial shrinks toward zero relative to its solo value (|β1,joint|/|β1,solo| ≤ 0.5)
AND AIC(GL-only) < AIC(mass-only) by ΔAIC ≥ 4 AND the sign of the GL coefficient is positive
(longer generation ⇒ higher risk). Binary threatened variant must agree qualitatively;
disagreement ⇒ "Conditional".
- Report r(x1, x2) (expected high, ~0.7–0.9) and the fraction of GL values that are imputed;
re-run the joint model on estimated-GL species only as the decisive sensitivity. If imputed
GL drives the result, verdict is "Conditional".
- **B-P2 illustration (descriptive, not part of support rule):** list CR species with mass
< 500 g AND GL > 5 yr ("small long-lived, high risk"), plus the mass ≤ 10th percentile
GL ≥ 90th percentile threatened fraction vs its complement.
### Verdict vocabulary
Supported / Not supported / Conditional / Undecisive, per programme convention, with headline
numbers, limitations (imputed masses, ordinal status, collinearity, sparse extinct subsets,
GL construction), and a statement of what evidence would flip each conclusion.
Included code and results
- tests/T10-extinction-size/code/build_analysis_data.py
- tests/T10-extinction-size/code/logit.py
- tests/T10-extinction-size/code/run_analysis_A.py
- tests/T10-extinction-size/code/run_analysis_B.py
- tests/T10-extinction-size/data/analysis_data.csv
- tests/T10-extinction-size/results/A1_coefficient_tables.csv
- tests/T10-extinction-size/results/A1_model_comparison.csv
- tests/T10-extinction-size/results/A2_interaction_model.csv
- tests/T10-extinction-size/results/A2_slope_differences.csv
- tests/T10-extinction-size/results/A2_strata_slopes.csv
- tests/T10-extinction-size/results/B_P2_quadrants.csv
- tests/T10-extinction-size/results/B_P2_small_long_CR.csv
- tests/T10-extinction-size/results/B_collinearity.csv
- tests/T10-extinction-size/results/B_models.csv
- tests/T10-extinction-size/results/subset_sizes.csv