---
id: wiki-2026-0508-etiology-of-disease
title: Etiology of Disease
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Disease Causation, Pathogenesis, Causal Inference (Medicine)]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [medicine, epidemiology, causal-inference, pathology]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: r
  framework: epidemiology
---

# Etiology of Disease

## 매 한 줄
> **"매 disease 의 cause = single agent 가 아닌 web of necessary + sufficient + component causes"**. 매 1840 Henle-Koch 의 single-pathogen postulate → 매 Rothman 1976 sufficient-component model → 매 2026 의 multi-omics + Mendelian randomization + DAG-based causal inference.

## 매 핵심

### 매 causation models
- **Henle-Koch postulates**: 매 isolation, transmission, re-isolation — 매 monocausal infectious era.
- **Bradford Hill criteria (1965)**: 9 viewpoints — strength, consistency, specificity, temporality, biological gradient, plausibility, coherence, experiment, analogy.
- **Rothman sufficient-component**: 매 disease = sum of "pies", each pie = sufficient cause = set of component causes. 매 same disease 의 multiple sufficient sets.
- **Counterfactual / DAG**: 매 Pearl 의 do-calculus, 매 confounder identification.

### 매 causal categories
- **Necessary**: 매 cause 없이 disease 없음 (예: HIV → AIDS).
- **Sufficient**: 매 cause 만 으로 disease (rare in practice).
- **Component**: 매 sufficient cause 의 part (예: 흡연 + asbestos + genetic).
- **Risk factor**: 매 association 만 — causality 의 unconfirmed.

### 매 응용
1. Smoking → lung cancer (Doll & Hill 1950).
2. H. pylori → peptic ulcer (Marshall 1984).
3. HPV → cervical cancer (zur Hausen 2008 Nobel).
4. APOE4 → Alzheimer (genetic risk, not deterministic).

## 💻 패턴

### Bradford Hill scoring
```python
from dataclasses import dataclass

@dataclass
class HillCriteria:
    strength: float          # RR or OR
    consistency: int         # # of confirming studies
    temporality: bool        # exposure precedes outcome
    gradient: bool           # dose-response
    plausibility: bool       # mechanism known
    coherence: bool          # fits prior knowledge
    experiment: bool         # RCT / natural experiment
    specificity: bool

def hill_score(c: HillCriteria) -> int:
    score = 0
    score += 2 if c.strength >= 3 else 1 if c.strength >= 2 else 0
    score += min(c.consistency // 3, 3)
    score += [c.temporality, c.gradient, c.plausibility,
              c.coherence, c.experiment, c.specificity].count(True)
    return score  # ≥7 = strong causal evidence
```

### Confounder adjustment via DAG (DoWhy)
```python
import dowhy
from dowhy import CausalModel

model = CausalModel(
    data=df,
    treatment="smoking",
    outcome="lung_cancer",
    common_causes=["age", "sex", "ses"],
    instruments=["tobacco_tax"],
)
identified = model.identify_effect()
estimate = model.estimate_effect(identified, method_name="backdoor.linear_regression")
refute = model.refute_estimate(identified, estimate, method_name="placebo_treatment_refuter")
```

### Mendelian randomization
```python
# Instrumental variable: SNP → exposure → outcome
# (SNP independent of confounders)
import statsmodels.api as sm

# Wald ratio: beta_outcome / beta_exposure
def mendelian_ratio(snp_exposure_beta: float, snp_outcome_beta: float) -> float:
    return snp_outcome_beta / snp_exposure_beta
```

### Population attributable fraction
```python
def paf(prevalence: float, relative_risk: float) -> float:
    """Fraction of disease attributable to exposure in population."""
    return prevalence * (relative_risk - 1) / (1 + prevalence * (relative_risk - 1))

# Smoking prevalence 25%, RR for lung cancer 20:
print(paf(0.25, 20))  # ~0.83 → 83% of lung cancer attributable to smoking
```

### Sufficient-component pie visualization
```python
def sufficient_pies(disease: str) -> list[set[str]]:
    """Each pie = a set of component causes that together suffice."""
    return [
        {"smoking", "genetic_susceptibility"},      # pie 1
        {"asbestos", "smoking"},                     # pie 2
        {"radon", "smoking", "vitamin_deficiency"},  # pie 3
    ]
```

## 매 결정 기준
| 상황 | Method |
|---|---|
| Single pathogen, acute | Koch postulates (modernized) |
| Chronic, multifactorial | Bradford Hill + Rothman |
| Observational with confounders | DAG + backdoor adjustment |
| Genetic causation suspected | Mendelian randomization |
| RCT impossible (ethics) | quasi-experiment + sensitivity analysis |

**기본값**: 매 Bradford Hill + DAG-based confounder adjustment + sensitivity analysis (E-value).

## 🔗 Graph
- 부모: [[Causal Inference]]

## 🤖 LLM 활용
**언제**: 매 literature synthesis 의 mechanism aggregation, 매 DAG 의 candidate confounder enumeration, 매 sufficient-component 의 component proposal.
**언제 X**: 매 final causation claim 의 LLM 의 의존 — 매 effect estimate 의 source data + statistical method 의 검증 필수.

## ❌ 안티패턴
- **Single-cause thinking**: 매 multifactorial disease 의 monocausal explanation — 매 H. pylori 발견 전 의 stress 의 ulcer 의 단일 cause 의 오해.
- **Correlation = causation**: 매 RR 만 으로 causal claim — 매 confounding, reverse causation, selection bias 의 무시.
- **Ignoring temporality**: 매 cross-sectional study 의 causal direction 의 결정 X.
- **Hill criteria 의 checklist 화**: 매 의 mechanical scoring — 매 viewpoints, not rules (Hill 의 의도).

## 🧪 검증 / 중복
- Verified (Rothman & Greenland "Modern Epidemiology" 4th ed, Hernán & Robins "Causal Inference: What If" 2024, Pearl "Causality" 2nd ed).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — Hill criteria, Rothman pies, DAG/MR patterns 추가 |
