마을 감염

Oct 15 2020

다음 문제를 고려하십시오.

바이러스에 감염된 외로운 방랑자가 외딴 마을에 들어 와서 $M$마을 사람들이 거기에 머물 렀습니다. 매주 감염된 마을 주민들은$n$무작위로 다른 마을 사람들 (각각 모든 사람 사이에서 균일하고 독립적으로 선택) 한 다음 항체를 개발하여 면역이됩니다. 기침을 한 모든 주민은 면역력이 없으면 감염됩니다. 외로운 방랑자가 도착한 후 아무도 마을을 떠나거나 들어오지 않았습니다. 시간이 이산적이고 주 단위로 측정되는 것을 고려하십시오. 우리는 누군가가 감염된 한 바이러스가 생존한다고 말합니다. 무엇을 위해$n$ 생존 예상 시간이 가장 긴가요?

여기의 국경 사건에서는 극한이 명확하게 달성되지 않았습니다.

실제로 $n = 0$ 외로운 방랑자는 다른 사람을 감염시키기 전에 면역이되므로 바이러스는 $1$ 주.

만약 $n \to \infty$ 외로운 방랑자가 첫 주에 모든 사람을 감염시킬 확률은 $1$. 따라서 바이러스의 예상 생존 시간은$2$ 이 경우.

그래서 우리는 최적의 $n$그 사이 어딘가. 그러나 나는 그것을 찾는 방법을 모릅니다 (또는 큰$M$)…

언뜻보기에 문제는 잘 연구 된 두 가지 문제, 즉 분기 프로세스 (주어진 감염된 주민에 의해 감염된 주민-분기 프로세스 측면에서 후손)와 쿠폰 수집 문제 (감염되지 않은 주민이 수집되는 쿠폰)와 다소 유사 해 보였습니다. 그러나 둘 다 다릅니다 (여기서 '하위 항목'의 수는 여기에서 매 턴 변경되므로 Galton-Watson 분기 프로세스와 다르며 '턴당 수집되는 쿠폰'수는 '쿠폰 수'에 따라 다릅니다. 기존의 쿠폰 수집기와는 다릅니다.)와이를 해결하는 데 사용되는 것과 유사한 방법은 여기서 작동하지 않을 것입니다.

답변

7 jvdhooft Oct 15 2020 at 22:22

이 답변은 확률과 Markov 체인의 원칙을 사용하여 위의 질문을 해결하기 위해 프로그래밍을 사용합니다. 결과가 표시되지만 닫힌 수학 공식은 제공되지 않습니다.$m < 100$ 곡선 피팅은 더 큰 수의 평균 생존 시간을 추정하는 데 사용됩니다.

처음에는 $1000$ 다양한 구성 실행 $3 \lt m \lt 100$$0 \leqslant n \leqslant 4$, 다음을 사용하여 결과 플로팅 $95$% 신뢰 구간:

구성의 경우 $n = 1$, 우리는 $X$ 질병이 마지막으로 새로운 희생자가되는 주이므로 다음 확률이 적용됩니다.

$$\begin{cases} P(X = 1) = \frac{1}{m} \\ P(X = x) = \frac{m}{x - 1} \frac{m - x + 1}{m} \frac{x}{m} P(X = x - 1) \end{cases} \iff P(X = x) = \frac{x}{m^x} \frac{(m - 1)!}{(m - x)!}$$

에 대한 $n > 1$, 마르코프 체인을 사용할 수 있습니다. 모든 조합$m, n$, 상태를 정의하겠습니다. $\{k, l, w\}$ 면역 인의 수를 포함하는 튜플 $k$, 감염자 수 $l$ 그리고 이번 주 $w$,와 함께 $k + l \leqslant m + 1$. 이 상태에서 모든 상태로 전환 할 수 있습니다.$\{k + l, 0, w + 1\}, \{k + l, 1, w + 1\}, \ldots, \{k + l, \min(n l, m + 1 - k - l), w + 1\}$.

가능한 각 상태 전이의 확률은 재귀를 사용하여 계산할 수 있습니다. 확률$l$ 감염성 사람들은 영향을 미칩니다 $0 \leqslant p \leqslant \min(n l, m + 1 - k - l)$ 동안 $k$사람들은 면역성이 있으며, 먼저 한 사람의 가능한 모든 행동을 고려하여 결정할 수 있습니다. 이 사람은 기침을$n$ 무작위 사람, 감염 $i \leqslant \min(n, p)$사람들. 이를 위해이 사람은 무작위로 선택해야합니다.$i$ 건강한 사람과 $n - i$ 확률로 발생하는 면역 사람들 :

$$P(i) = \underbrace{\frac{m - k - l + 1}{m} \frac{m - k - l}{m - 1} \cdots \frac{m - k - l - i + 2}{m - i + 1}}_{\text{healthy people}} \\ \underbrace{\frac{k + l - 1}{m - i} \frac{k + l - 2}{m - i - 1} \cdots \frac{k + l - n + i}{m - n + 1}}_{\text{immune people}} {n \choose i}$$

이 식을 사용하면 총 $p$ 사람들은 주어진 상태에서 감염 $\{k, l, w\}$ 다음과 같이 작성할 수 있습니다.

$$P(\{k + l, p, w + 1\} | \{k, l, w\}) = \sum_{i = 0}^{\min(p, n)} P(i) P(\{k + l, p - i, w + 1\} | \{k + i, l - 1, w\})$$

이 공식은 다음 때까지 재귀 적으로 풀 수 있습니다. $p = 0$ 또는 $l = 0$. 방문한 주를 고려할 때 항상 주에서 시작한다는 점은 주목할 가치가 있습니다.$\{0, 1, 1\}$. 그것을 가정$m \geqslant n$,이 상태는 상태로 전환됩니다. $\{1, n, 2\}$ 확률 적으로 $1$. 그런 다음 각 연속 상태의 확률을 계산하여 서로 다른 마르코프 체인을 생성 할 수 있습니다.

감염자 수가 많은 상태로 끝나는 모든 사슬을 고려하면 $l$ 같음 $0$, 우리는 변수를 고려하여 예상 생존 시간을 직접 계산할 수 있습니다. $w$. Python 기반 구현을 사용하여$3 \lt m \lt 100$$0 \leqslant n \leqslant 4$ 결과 :

결과는 예상 수리 시간이 $n = 2$ 언제 $m \leqslant 43$, 가장 높지만 $n = 1$ 언제 $m \geqslant 44$. 제곱근 곡선 피팅 결과$f(m) \approx 1.25 \sqrt{m} + 0.70$ ...에 대한 $n = 1$, 로그 곡선 피팅 결과 $f(m) \approx 2.68 \ln(m) - 1.12$ ...에 대한 $n = 2$. 전환점 주변의 가치는 다음과 같습니다.

$$\begin{array}{c|c|c} m & n = 1 & n = 2 \\ \hline \text{39} & 8.51 & 8.65 \\ \text{40} & 8.61 & 8.72 \\ \text{41} & 8.71 & 8.79 \\ \text{42} & 8.80 & 8.86 \\ \text{43} & 8.90 & 8.92 \\ \text{44} & 9.00 & 8.99 \\ \text{45} & 9.09 & 9.05 \\ \text{46} & 9.18 & 9.12 \\ \text{47} & 9.27 & 9.18 \\ \text{48} & 9.36 & 9.24 \end{array}$$

전체 Python 코드는 여기에서 사용할 수 있습니다 .

GCab Jan 03 2021 at 07:01

주에 넣어 $w$ 다음과 같은 수의 감염, 감수성 (감염성) 및 예방 접종이 있습니다. $$ I(w) = {\rm infected}\quad S(w) = {\rm infectable}\quad H(w) = {\rm immunized} $$ 그런 다음 숫자가 합리적이되도록 허용하면 $$ \left\{ \matrix{ I(0) = 1\quad S(0) = m\quad H(0) = 0 \hfill \cr I(w) + S(w) + H(w) = m + 1 \hfill \cr H(w) = I(w - 1) \hfill \cr I(w+1) = {n \over {m + 1}}S(w) \hfill \cr} \right. $$

해결 $I$ (진부한 경우 제외 $n=0$) $$ I(w) + {{m + 1} \over n}I(w + 1) + I(w - 1) = m + 1\quad \left| \matrix{ \;I(0) = 1 \hfill \cr \;I(1) = n{m \over {m + 1}} \hfill \cr} \right. $$ 초기 조건을 포함하여 다시 캐스팅하여 재귀가 모든 항목에 유효하도록 $0 \le w$, 수락하에 $w <0 \; \Rightarrow \; I(w)=0 $ $$ I(w) + {n \over {m + 1}}I(w - 1) + {n \over {m + 1}}I(w - 2) + \left[ {0 = w} \right]\left( {n - 1} \right) = n\quad \left| {\;0 \le w} \right. $$ 위의 문제는 일반적인 생성 함수를 통해 해결할 수 있습니다. $$ F(z) = \sum\limits_{0\, \le \,w} {I(w)\,z^{\,w} } $$ 쉽게 얻기 $$ \eqalign{ & F(z) = {{{n \over {1 - z}} - \left( {n - 1} \right)} \over {1 + {n \over {m + 1}}\left( {z + z^{\,2} } \right)}} = {{m + 1} \over n}{{1 + \left( {n - 1} \right)z} \over {\left( {1 - z} \right)\left( {z^{\,2} + z + {{m + 1} \over n}} \right)}} = \cr & = {{m + 1} \over n}{{1 + \left( {n - 1} \right)z} \over {\left( {1 - z} \right)\left( {z + {1 \over 2} + {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right) \left( {z + {1 \over 2} - {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} = \cr & = {A \over {\left( {1 - z} \right)}} + {B \over {\left( {z + {1 \over 2} + {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} + {C \over {\left( {z + {1 \over 2} - {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} \cr} $$ 그러나 어디에서 $A,B,C$ 다소 복잡한 표현입니다 $m,n$.

일반적으로 $n \le m$, 제곱근이 가상의 값으로 바뀝니다.