어린이집에 가면 왜 자꾸 아플까: 반 크기와 '아프면 쉬기'
어린이집에 다니기 시작하면 감기를 달고 산다고들 합니다. 아이가 약해서 그렇다고 생각하기 쉽지만, 이 단순한 모델에서는 아이가 특별히 약하지 않아도 같은 반 아이 20명 사이에서 한 해에 네 번 넘게 감염이 돕니다. 그리고 "아프면 쉬기"를 모두가 지켜도 횟수는 절반쯤만 줄어듭니다. 증상이 나타나기 전 하루 동안 이미 반에 퍼뜨리기 때문이에요. 누구의 잘못도 아니고, 아이들이 한 교실에서 가까이 지내는 구조가 만드는 일입니다.
모델은 이렇게 움직입니다
- 아이들은 반(교실)마다 모여 있고, 평일(월~금)에는 같은 반 아이끼리만 만납니다. 주말에는 반 안의 접촉이 없고, 반과 반 사이의 접촉도 없습니다. 아이는 건강 → 잠복(걸렸지만 아직 퍼뜨리지 않음, 평균 2일) → 아픔(평균 5일 동안 퍼뜨림) → 회복 후 면역(정해진 기간 동안 안 걸림) → 다시 건강으로 돌아갑니다.
- 그날 등원한 아픈 아이가 한 명이면, 같은 반의 건강한 아이 한 명이 걸릴 확률은 하루 접촉 강도 × 1%(손씻기·환기를 하면 그만큼 줄어듦)입니다. 아픈 아이가 여럿이면 확률이 쌓입니다. 그래서 반이 클수록 만나는 짝이 많아져 퍼지는 속도가 빨라집니다.
- 아프면 쉬기: 아프기 시작한 첫날은 증상이 아직 없어 모두 등원합니다. 둘째 날부터는 정한 비율의 아이가 집에서 쉬고, 나머지는 계속 등원합니다. 쉬는 아이는 반을 감염시키지 못하지만, 그만큼 결석 일수가 늘어납니다.
- 반 밖(집·동네)에서 들어오는 감염은 아주 단순한 항 하나로만 넣었습니다(하루 0.15%에, 아픈 아이가 많을수록 조금 더). 나은 뒤에는 면역 지속 기간 동안 안 걸리고, 그 뒤에도 걸릴 때마다 면역이 쌓여 걸릴 확률이 낮아집니다(걸린 횟수가 1번이면 약 77%, 3번이면 약 53%). 한 해(365일)를 돌려 아이 한 명이 걸린 평균 횟수를 셉니다.
직접 돌려보기
① 여덟 반을 지켜보기
점 하나가 아이 한 명입니다. 파랑은 건강, 노랑은 잠복, 빨강 채움은 아파도 등원한 아이, 빨강 고리는 집에서 쉬는 아이, 초록은 막 나아서 면역이 있는 아이입니다. 한 반에서 시작한 감염이 번지고 다시 가라앉는 모습을 보세요. 주말에는 반이 회색으로 바뀝니다.
② 주마다 아픈 아이는 얼마나 될까
가로는 학기가 시작된 뒤 몇 주째인지, 세로는 그 주에 아팠던 아이의 비율입니다. 빨간 선이 이번에 돌린 결과, 짙은 선은 그 중 집에서 쉰 아이, 회색 선은 같은 설정에서 아무도 쉬지 않을 때의 평균입니다. 처음에는 모두 건강해서 크게 퍼지고, 면역이 쌓이면서 줄어듭니다.
③ 한 해 동안 몇 번 걸렸을까
아이마다 한 해 동안 걸린 횟수를 세어 비율로 쌓았습니다. 초록 막대는 한 번도 안 걸린 아이입니다. 점선은 평균입니다. 같은 반이라도 아이마다 운에 따라 몇 번씩 차이가 납니다.
④ 아프면 쉬는 아이가 늘어나면
가로는 아프면 쉬는 아이의 비율, 세로는 한 해 아이 한 명이 걸린 횟수입니다(점은 여섯 번 돌린 각각, 선은 평균). 지금 설정에서 비율만 바꿔 훑은 것입니다. 비율이 100%여도 0회가 되지 않는 점을 보세요.
⑤ 반 크기를 바꾸면
가로는 반 크기, 세로는 한 해 아이 한 명이 걸린 횟수입니다. 반이 작아지면 만나는 짝이 줄어 횟수도 줄지만, 반이 아주 작아져도 반 밖에서 들어오는 감염 때문에 0이 되지는 않습니다.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 아픈 아이가 쉬면 감염은 줄지만 절반까지만 줄고, 대신 쉬는 날이 늘어요. 이 모델에선 쉬기 0%일 때 한 해 5.0회, 100%일 때 2.5회였고, 쉰 평일은 0일에서 약 7일이 됐어요.
- 증상이 나타나기 전 하루 동안 이미 퍼지고, 반 밖에서도 들어와서 모두가 쉬어도 0은 되지 않아요. 반 크기도 커서, 쉬기 30%에서 8명 반은 2.5회, 30명 반은 5.5회였어요.
- 그래서 감염 횟수는 개별 가정의 선택만이 아니라 반의 크기, 접촉, 면역이 함께 만든 결과로 볼 수 있어요. 손씻기·환기로 전파를 30% 줄이면 4.4회에서 3.7회가 됐어요.
- 그렇다면 감염 횟수를 볼 때 무엇을 먼저 볼까? 이 모델에선 반 크기·전파를 함께 줄이면 쉬는 날 없이도 줄었어요(쉬기 0%·전파 30%↓·12명 반: 3.2회, 쉰 날 0일).
상세 설명
말하는 것: 반 20명, 접촉 5단계, 면역 30일, 손씻기·환기 0%인 설정에서 스무 번 돌린 평균입니다(예시 숫자). 아프면 쉬는 비율이 0%이면 한 해 아이 한 명이 5.0회 걸렸고, 30%이면 4.4회, 70%이면 3.5회(0%보다 30% 적음), 100%이면 2.5회(절반)였습니다. 대신 아파서 집에서 쉰 평일은 0일에서 70%일 때 6.9일, 100%일 때 7.0일로 늘었습니다. 100%여도 0이 되지 않는 이유는 증상 전 첫날의 등원과 반 밖에서 들어오는 감염입니다. 반 크기는 쉬기 30%에서 8명이면 2.5회, 10명이면 2.9회, 20명이면 4.4회, 30명이면 5.5회였고, 쉬기 0%→70%의 효과는 반 10명에서 3.3→2.3회, 20명에서 5.0→3.5회, 30명에서 6.0→4.3회였습니다. 손씻기·환기로 전파를 30% 줄이면 4.4→3.7회, 60%이면 2.9회였습니다. 접촉 강도 2단계는 2.9회, 8단계는 5.2회였고, 면역이 14일이면 6.0회, 90일이면 2.7회, 180일이면 1.8회였습니다. 면역이 쌓이는 효과는 첫 3개월에 아이 1명당 1.6회, 이후 3개월마다 1.0, 1.0, 0.9회로 줄어드는 모습에서 보입니다. 시드 1로 한 번 돌리면(기본 설정) 4.2회, 쉰 날 3.4일, 아픈 아이가 가장 많았던 때는 3주째였습니다. 쉬기 0%, 손씻기·환기 30%, 반 12명을 합치면 3.2회였습니다.
말하지 않는 것:
- 이 시뮬레이션이 직접 보여 준 쪽은 쉬기·반 크기·접촉·면역에 따른 횟수 변화예요. '아이가 약해서가 아니라 구조 때문'이라는 건 생각해 볼 점이고, 아이 개인의 체질은 모델에 없어요.
- 실제 어린이집의 감염 횟수를 예측하거나 아이를 어떻게 돌볼지 권하는 모델이 아니에요. 쉬기를 고르는 가정이든 등원을 고르는 가정이든 각자 사정이 있고, 숫자는 예시예요.
- 실제 판단은 소아과 의사·교사 등 전문가와 하세요. 형제자매를 거치는 감염, 병원균별 차이, 다른 반과의 접촉은 이 모델에 없어요.
상세 설명
말하지 않는 것: 실제 어린이집의 감염 횟수를 예측하거나 재현한 것이 아닙니다. 병원균을 특정하지 않은 "감기 같은 호흡기 감염"을 가정한 이 프로젝트의 단순화된 모델이고, 기본값(접촉 강도, 면역 기간 등)은 예시 숫자입니다. 실제 감염 횟수나 결석 일수를 말해 주는 통계가 아닙니다. 어떻게 아이를 돌볼지, 아플 때 등원할지, 어떤 예방을 할지를 권하거나 판단하지 않으며, 쉬기를 선택하는 가정이든 등원을 선택하는 가정이든 각자 사정이 있습니다. 참고용 모델이며 실제 판단은 소아과 의사·교사 등 전문가와 하시기 바랍니다. 이 모델에는 형제자매와 부모를 거치는 감염, 병원균별 차이, 다른 반과의 접촉, 아이마다 다른 체질, 방학과 개학의 영향, 어린이집의 실제 운영 방식이 없습니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 감염병 구획 모델의 고전인 Kermack & McKendrick (1927), 「A contribution to the mathematical theory of epidemics」(Proceedings of the Royal Society A)의 SIR 모델이 뿌리입니다. 집단을 걸릴 수 있는 사람(S), 감염된 사람(I), 회복한 사람(R)으로 나누고, 처음 한 명이 퍼뜨리는 평균 인원(R0)이 1보다 큰지 작은지에 따라 유행이 커지거나 사라진다는 내용입니다.
- 핵심 가정과 수식: 한 반 안은 모두가 서로 섞이는 균질 혼합으로 보고, 감염된 아이가 평균
R0 = τ × (반 크기 − 1) × 등원하는 아픈 날수명을 감염시킵니다. τ는 한 쌍이 하루에 만나 퍼질 확률(접촉 강도 × 1% × (1 − 줄인 전파))이고, 등원하는 아픈 날수는1 + (5 − 1) × (1 − 쉬는 비율)입니다. 유행이 끝났을 때 걸린 비율 z는z = 1 − e−R0·z를 만족합니다. 슬라이더는 반 크기, 접촉 강도(τ), 쉬는 비율, 전파 감소(τ)입니다. - 이 프로젝트의 단순화: 원래의 SIR에 이 프로젝트가 덧붙인 것이 많습니다: 잠복기(평균 2일), 평일과 주말, 겨울에 25% 더 잘 퍼지는 계절 효과, 반 밖에서 들어오는 단순한 감염 항, 면역 지속과 걸릴 때마다 쌓이는 면역(1/(1+0.3×걸린 횟수)), 증상 전 첫날의 등원. 이 값들은 모두 이 프로젝트가 정한 예시 숫자이고 실제 병원균을 맞춘 것이 아닙니다. 가정으로 퍼지는 2차 감염은 반 밖 감염 항(하루 0.15%에 전체 아픈 아이 비율의 20%를 더함) 하나로 뭉뚱그렸습니다.
- 이론값과 시뮬레이션: 이론이 맞는 조건(한 반 500명, 주말·계절·바깥 감염·재감염 없음, 처음 5명 감염)에서 스무 번 돌린 평균과 비교했습니다. R0 1.5에서 이론 58.3%, 시뮬레이션 56.8%. R0 2에서 79.7%와 80.6%. R0 3에서 94.0%와 94.6%. 쉬는 비율 50%(R0 2)에서 79.7%와 77.7%, 70%(R0 3)에서 94.0%와 95.0%였습니다. R0 0.8에서는 이론상 큰 유행이 없고 시뮬레이션도 처음 5명에 더해 4.2%만 걸렸습니다. 기본 설정(주말·계절·반 밖 감염·재감염 포함)에는 닫힌 식이 없어 시뮬레이션만으로 확인했습니다.
- 더 읽을거리: Kermack & McKendrick (1927), Proceedings of the Royal Society A / Anderson & May (1991), Infectious Diseases of Humans: Dynamics and Control, Oxford University Press / Keeling & Rohani (2008), Modeling Infectious Diseases in Humans and Animals, Princeton University Press.
- 시뮬레이션은 하루를 한 걸음으로 하고 시드 난수(mulberry32)를 써서 같은 시드면 같은 결과가 나옵니다. 통계 카드의 "쉬기 0% → 70%"는 지금 설정에서 시드 8개를 각각 돌려 평균한 값이고, ④·⑤번 그래프는 시드 6개씩입니다. 그래서 슬라이더를 바꾸면 잠시 뒤에 갱신됩니다.
- 검증은
node tools/validate-daycare.js로 할 수 있습니다. 이 페이지의 숫자는 모두 이 출력과 같습니다.