Skip to content

Replace multi-disease acquisition probability formula with naturally bounded hazard-based form #153

@debog

Description

@debog

Current behaviour

The multi-disease acquisition probability for disease $i$ is computed as

$$p^{(i)} = \left(1 - \frac{p_\text{NI}^{(i)}}{c_S^{(i)}}\right)\left(1 - c_I^{(i)}\right)$$

where $p_\text{NI}^{(i)}$ is the daily probability of avoiding infection from contacts, $c_S^{(i)}$ is the co-susceptibility coefficient, and $c_I^{(i)}$ is the cross-immunity coefficient. Two corrections are applied at sample time: $p^{(i)}$ is overridden to zero when $p_\text{NI}^{(i)} = 1$, and negative values are produced as zero infection events through the standard uniform-draw comparison.

Issue

The formula is not naturally bounded in $[0,1]$:

  • For $p_\text{NI}^{(i)} = 1$ (no infectious contacts) and $c_S^{(i)} > 1$, the first factor evaluates to $1 - 1/c_S^{(i)} > 0$, yielding a non-zero acquisition probability with no infectious agent present.
  • For $c_S^{(i)} < p_\text{NI}^{(i)}$, the first factor is negative.

Both regimes are handled by out-of-band code paths rather than by the stated equation. The resulting parameter-dependent clipping is non-differentiable and obscures interpretation of co-susceptibility sweeps.

Proposed change

Replace the formula with the multiplicative-hazard form

$$p^{(i)} = \left(1 - \left(p_\text{NI}^{(i)}\right)^{c_S^{(i)}}\right)\left(1 - c_I^{(i)}\right)$$

The form is bounded in $[0,1]$ for all $p_\text{NI}^{(i)} \in [0,1]$, $c_S^{(i)} > 0$, and $c_I^{(i)} \in [0,1]$. The interpretation is that $c_S^{(i)}$ scales the per-day cumulative hazard $-\ln p_\text{NI}^{(i)}$.

Limits

  • $p_\text{NI}^{(i)} = 1 \Rightarrow p^{(i)} = 0$ for all $c_S^{(i)} > 0$.
  • $c_S^{(i)} = 1 \Rightarrow p^{(i)} = \left(1 - p_\text{NI}^{(i)}\right)\left(1 - c_I^{(i)}\right)$, recovering the neutral-coupling form.
  • $c_I^{(i)} = 1 \Rightarrow p^{(i)} = 0$.
  • $c_S^{(i)} \to \infty \Rightarrow p^{(i)} \to 1 - c_I^{(i)}$, bounded above by the residual susceptibility after cross-immunity.
  • $c_S^{(i)} \to 0 \Rightarrow p^{(i)} \to 0$.

Implementation impact

  • Modify the per-step acquisition probability in the multi-disease infection update kernels.
  • The two out-of-band corrections (override at $p_\text{NI}^{(i)} = 1$ and the implicit clip for $p^{(i)} < 0$) can be removed.
  • All multi-disease validation scenarios will require re-execution; quantitative outputs will shift, though the form agrees with the current implementation at $c_S^{(i)} = 1$ and for small per-day infection probabilities.
  • The change affects only the multi-disease coupling layer; single-disease behaviour is unchanged.

Reference

Reported in the internal review of the multi-disease paper (Nugent, 2026-04-25), major issue 1. The paper retains the current formula with an explicit piecewise specification and physical justification; the formula change is deferred to this issue.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions