Files
2nd/10_Wiki/Topics/Other/Etiology-of-Disease.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

5.9 KiB

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

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)

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

# 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

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

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

🤖 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 추가