Skip to contents

Calculates Mohn's rho (the average proportional retrospective bias) from a long-format data frame containing terminal and peeled estimates across retrospective runs.

Usage

compute_mohns_rho(data)

Arguments

data

A data frame with columns (e.g., data frames in pop output from fit_retro()):

  • year: integer or numeric assessment year of the estimate.

  • fold: integer or numeric label for the retrospective peel (typically the terminal year of the dataset used for that run).

  • est: numeric estimate (e.g., SSB, F, recruitment) on which Mohn's rho is calculated.

  • is_proj: logical; TRUE for projection rows, FALSE otherwise.

Value

A single numeric proportional difference. Returns NaN (a missing numeric value) if there are no non-missing comparisons.

Details

Projection rows are excluded. The largest retained fold is the reference assessment. Each earlier peel contributes its estimate at year == fold, compared with the reference estimate for that same year: $$\rho=\frac{1}{K}\sum_{k=1}^K \frac{\widehat X^{(k)}_{t_k}-\widehat X^{(ref)}_{t_k}} {\widehat X^{(ref)}_{t_k}}.$$ Positive values mean the peeled fits tend to estimate higher values than the reference fit. Supply a single quantity and, for age-specific output, one age at a time. fold must already identify terminal historical years; no year shifting or relabeling is performed. Each matched peel has equal weight. If failed fits were dropped, the reference is the latest retained fit. Missing differences are omitted; zero reference estimates can yield infinite or undefined differences.

References

Mohn, R. (1999). The retrospective problem in sequential population analysis: An investigation using cod fishery and simulated data. ICES Journal of Marine Science, 56(4), 473–488.

Examples

df <- data.frame(
  year = rep(2010:2015, each = 3),
  fold = rep(c(2013, 2014, 2015), times = 6),
  est = c(
    100, 105, 110, 90, 95, 100, 85, 92, 98,
    80, 90, 95, 78, 88, 93, 76, 86, 91
  ),
  is_proj = FALSE
)
compute_mohns_rho(df)
#> [1] -0.1058291