# Estimating extinction dates from sighting records

## Abstract

When a species has not been reliably sighted for a long time, two questions follow: is it still extant, and if not, when did it most likely disappear. Both questions can be addressed from the sighting record alone, without additional biological data, if a null model of the sighting process is assumed. This vignette summarizes the seven estimators implemented in EDE, applies them to a single worked example, and discusses where and why they disagree.

## The problem

A sighting record is a sequence of confirmed observations of a species over time, typically sparse and irregular. Extinction is rarely directly observed; what is observed is the absence of further sightings after some last confirmed date. Two related problems arise from this kind of record:

1. Persistence testing. Given a candidate year, is the absence of sightings since the last confirmed one statistically surprising under the assumption that the species is still present and being observed at its historical rate? If so, persistence is rejected.
2. Point and interval estimation. Rather than testing a single candidate year, estimate the most likely extinction date directly, with a measure of uncertainty when possible.

The estimators below differ in which of these two problems they solve, and in what they assume about the process that generates sightings.

## The estimators

Robson & Whitlock (1964). Extrapolates from the gap between the two most recent sightings, scaled by `(1 - alpha) / alpha`. Assumes the sighting process behaves, near the true endpoint, like a uniform record process. No confidence interval; a single point estimate.

Strauss & Sadler (1989). A classical confidence bound on the true endpoint of a temporal range, given only the first and last sighting and the number of sightings in between, under a uniform-occurrence model within the range. Was developed for stratigraphic ranges and applies directly to sighting ranges. Fast, but uses only three summary numbers from the record and ignores its internal spacing.

Roberts & Solow (2003), `ole()`. The best linear unbiased estimator under a Weibull-type record-value model fit to the spacing of the largest sighting times. Uses every recorded sighting time, not just the extremes, and returns both a point estimate and a confidence interval. Requires at least three sightings with a positive count.

Solow (1993). A nonparametric persistence test. Under a homogeneous Poisson sighting process, the ratio of “time since last sighting” to “total observation window” has a known null distribution; raising it to the power of the total sighting count gives the chance of persistence at a candidate year. Simple, and does not require knowing when in the window each sighting occurred beyond the last one, but treats sighting effort as constant over time.

Solow (1993b). A persistence test specifically designed for declining populations. Assumes sightings follow a non-stationary Poisson process with an exponentially decreasing rate function, using Fisher’s gap distribution to test whether recent absence reflects extinction or population decline.

Solow (2005). The same logic as Solow (1993), but the observation window is weighted by cumulative sighting effort (sighting count times time since the first sighting) instead of raw elapsed time. This matters when sighting effort was not constant: a record with many early sightings and very few late ones is not equally informative per year throughout.

Burgman, Grimson & Ferson (1995). A combinatorial persistence test. If sightings were placed uniformly at random across the candidate window, what is the probability that the largest observed gap between sightings would not exceed the gap actually seen. Computed via an inclusion-exclusion argument over Stirling numbers of the second kind. Makes no distributional assumption beyond uniform placement, at the cost of being the most computationally expensive of the seven.

`solow1993()`, `solow1993b()`, `solow2005()`, and `burgman1995()` all return either the first candidate year at which the chance of persistence drops to or below `alpha`, or, with `data_out = TRUE`, the full curve of chance against candidate year.

## A worked example

The dataset below is illustrative, built to resemble a typical sighting record for a rare, possibly extinct species: frequent early sightings, increasingly sparse later ones, and a long silence after the last confirmed observation.

    library(EDE)

    years <- c(1900, 1902, 1903, 1905, 1907, 1908, 1910, 1912, 1915, 1918,
               1920, 1923, 1925, 1928, 1930, 1933, 1936)
    sightings <- c(4, 3, 5, 2, 3, 4, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1)

    sd <- sighting_data(data.frame(year = years, sightings = sightings))
    sd
    #>    time count
    #> 1  1900     4
    #> 2  1902     3
    #> 3  1903     5
    #> 4  1905     2
    #> 5  1907     3
    #> 6  1908     4
    #> 7  1910     2
    #> 8  1912     1
    #> 9  1915     2
    #> 10 1918     1
    #> 11 1920     1
    #> 12 1923     2
    #> 13 1925     1
    #> 14 1928     1
    #> 15 1930     1
    #> 16 1933     1
    #> 17 1936     1

The last confirmed sighting is 1936. Sighting frequency was already declining well before that: the median gap between sightings is 2 years up to 1915, and grows to 3 years afterward.

### Running all seven estimators

    ole(sd)
    #> <OLE (Roberts & Solow 2003)>
    #>   estimate: 1944.02
    #>   95% CI: [1937.48, 1956.75]
    robson1964(sd)
    #> <Robson & Whitlock (1964)>
    #>   estimate: 1993
    strauss1989(sd)
    #> <Strauss & Sadler (1989)>
    #>   estimate: 1943.41
    #>   95% CI: [1936, 1943.41]
    solow1993(sd, test_year = 2000)
    #> <Solow (1993)>
    #>   estimate: 1940
    solow1993b(sd, test_year = 2000)
    #> Warning: chance of persistence never falls to alpha before `test_year`;
    #> returning NA.
    #> <Solow (1993b)>
    #>   estimate: NA
    solow2005(sd, test_year = 2000)
    #> Warning: chance of persistence never falls to alpha before `test_year`;
    #> returning NA.
    #> <Solow (2005)>
    #>   estimate: NA
    burgman1995(sd, test_year = 2000)
    #> <Burgman, Grimson & Ferson (1995)>
    #>   estimate: 1944

Method | Estimate | Notes
--- | --- | ---
Robson & Whitlock (1964) | 1993 | extrapolates only from the last two sightings (1933, 1936); with a 3-year gap and alpha = 0.05, extrapolates 57 years forward
Strauss & Sadler (1989) | 1943.4, CI [1936.0, 1943.4] | uses only the range (1900-1936) and the sighting count
Roberts & Solow (2003) | 1944.0, CI [1937.5, 1956.8] | uses the full spacing of all 17 sighting times
Solow (1993) | 1940 | first year the persistence chance drops below 0.05, weighting the window by elapsed time
Solow (1993b) | not rejected by 2000 | test for declining populations; chance flattens around 0.21
Solow (2005) | not rejected by 2000 | same test, weighted by sighting effort instead
Burgman, Grimson & Ferson (1995) | 1944 | first year the gap-occupancy chance drops below 0.05, on a decreasing run

### Why Solow (1993) and Solow (2005) disagree

    curve_1993 <- solow1993(sd, test_year = 2000, data_out = TRUE)
    curve_2005 <- solow2005(sd, test_year = 2000, data_out = TRUE)

    plot(curve_1993$time, curve_1993$chance, type = "l", lwd = 2, col = "steelblue",
         ylim = c(0, 1), xlab = "candidate extinction year", ylab = "chance of persistence")
    lines(curve_2005$time, curve_2005$chance, lwd = 2, col = "firebrick")
    abline(h = 0.05, lty = 2, col = "grey50")
    legend("topright", legend = c("Solow (1993)", "Solow (2005)", "alpha = 0.05"),
           col = c("steelblue", "firebrick", "grey50"), lty = c(1, 1, 2), lwd = c(2, 2, 1), bty = "n")

Solow (1993) treats every year of the observation window as equally informative, so the chance of persistence decays steadily as the silence after 1936 lengthens, crossing 0.05 in 1940. Solow (2005) instead weights each year by how much sighting effort it represents, inferred from the sighting record itself. Because sightings were already sparse well before 1936, the model attributes less evidential weight to the recent silence, and the chance of persistence flattens out around 0.21 instead of continuing to zero. Neither curve is wrong; they encode different assumptions about whether the observation process was stationary. A record with a long history of consistently frequent sightings up to the last one would show the two curves converge, since sighting effort would look roughly constant throughout.

### Why Robson & Whitlock (1964) gives such a late estimate here

Robson & Whitlock only look at the two most recent sighting times, 1933 and 1936. A 3-year gap scaled by `(1 - 0.05) / 0.05 = 19` places the estimate at `1936 + 3 * 19 = 1993`. This estimator is sensitive to the specific spacing of the last two observations, and can be pulled far in either direction by a single unusually short or long final gap. It is best read alongside an estimator like `ole()` that draws on the entire sighting history rather than just the last interval.

## Choosing among the estimators

There is no single correct estimator for every record. As a starting point:

- If the record is long and reasonably well sampled throughout, `ole()` gives a point estimate with an interval and uses the most information.
- If sighting effort clearly declined over time, prefer `solow1993b()` or `solow2005()` over `solow1993()`; both answer “is persistence still plausible”, not “when did extinction occur”.
- If only the endpoints and total count are available, `strauss1989()` is the minimal-assumption option.
- `robson1964()` is cheap to compute but rests entirely on the last interval; treat it as a sanity check, not a primary estimate.
- `burgman1995()` makes the weakest distributional assumption but is the slowest, since it evaluates an inclusion-exclusion sum for every candidate year.

In practice, running more than one estimator and checking whether they agree is informative in itself: sharp disagreement, as in the Solow comparison above, usually points to a specific feature of the record (here, declining sighting effort) rather than to a flaw in either method.

## References

Burgman, M. A., Grimson, R. C., & Ferson, S. (1995). Inferring threat from scientific collections. Conservation Biology, 9(4), 923-928.

Roberts, D. L., & Solow, A. R. (2003). Flightless birds: When did the dodo become extinct? Nature, 426(6964), 245.

Robson, D. S., & Whitlock, J. H. (1964). Estimation of a truncation point. Biometrika, 51(1/2), 33-39.

Solow, A. R. (1993). Inferring extinction from sighting data. Ecology, 74(3), 962-964.

Solow, A. R. (1993b). Inferring extinction in a declining population. Journal of Mathematical Biology, 32(1), 79-82.

Solow, A. R. (2005). Inferring extinction from a sighting record. Mathematical Biosciences, 195(1), 47-55.

Strauss, D., & Sadler, P. M. (1989). Classical confidence intervals and Bayesian probability estimates for ends of local taxon ranges. Mathematical Geology, 21(4), 411-427.