Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validate the analytical solution #7

Open
swo opened this issue Dec 4, 2024 · 4 comments
Open

Validate the analytical solution #7

swo opened this issue Dec 4, 2024 · 4 comments

Comments

@swo
Copy link
Contributor

swo commented Dec 4, 2024

  • Index infection
    • Starts at $t=0$
    • Is detected at time $t_\mathrm{latent} + t_\mathrm{inf} f$
    • Yields $X_0 \sim \mathrm{Pois}(R_0 f)$ offspring (infected contacts)
    • Offspring are all infected at time $t_\mathrm{latent} + t_\mathrm{inf} f - t_\mathrm{inf} / (R_0 f)$
  • Infected contacts
    • Each detected with probability $\alpha$
    • If detected:
      • Detected at a time $t_\mathrm{detect}$ after infection, i.e., $t_\mathrm{latent} + t_\mathrm{inf} f - t_\mathrm{inf} / (R_0 f) + t_\mathrm{detect}$
      • Each produces offspring $X_{1i} \sim \mathrm{Pois}(R_0 g)$, where $g$ is the proportion of their infectious period before they are detected
    • If not detected:
      • As above, but $g=1$
  • Infected contacts of contacts
    • Each detected with probability $\alpha$
    • Detection and offspring logic is as above, but replacing $g$ with $h$
  • Outcome: Are there any fourth-generation infections? (ie, did contacts of contacts have any offspring?)

https://github.com/cdcent/ring-vax-model

@pearsonca
Copy link
Collaborator

See tweaks added to ring-vax-model README. There's some adjustments that I think are necessary to the expected timing model, but should be basically the same.

@swo
Copy link
Contributor Author

swo commented Dec 9, 2024

If we do end up implementing #8 (or similar) as our simulation methodology, we'll want to double check that this stochastic simulation at least somewhat matches the analytical model setup

@swo
Copy link
Contributor Author

swo commented Dec 14, 2024

After thinking through some alternatives, I think the thing I want here is: probability of k=0, 1, 2, ... infected contacts-of-contacts-of-contacts assuming that:

  • Everyone has the opportunity for passive detection
  • There is no active detection
  • Events happen at their mean times

This is likely a conservative estimate, but it's way easier to do the math for, compared to the situation with passive and active detection (where you need to deal with the two detection times being potentially different).

Doing this with pgf's also means that we could get analytical solutions for values beyond k=0 (although I personally wouldn't do the math by hand; I'd ask Sage or sympy to do the derivatives for me).

@swo
Copy link
Contributor Author

swo commented Dec 17, 2024

Here's the simpler thing I think we can do:

  • Everyone has the opportunity for passive detection
  • All natural history parameters and detection time occur at fixed times
  • Number of offspring are random draws

In this case, all infected people produce iid numbers of offspring, Poisson with mean that is a mixture of the detected and undetected situations

If the generating function for that is $G_X$, then the generating function for the number of infected contacts-of-contacts-of-contacts is $G_X(G_X(G_X(s)))$. From this it shouldn't be hard to get the expected value and a few particular values (e.g., probability of 0, 1, 2 infected c-of-c-of-c's)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants