도구스학업·수학

오즈비·상대위험도 계산기

2×2 분할표에서 오즈비와 상대위험도, 위험차와 NNT를 신뢰구간까지 함께 구합니다. 같은 자료에서 두 지표가 얼마나 다른 값을 내는지, 논문의 오즈비를 위험으로 읽으면 왜 부풀려지는지 보여 줍니다.

2×2 분할표

결과 있음결과 없음
노출·처치군
100
비노출·대조군
100

오즈비 (OR)

3.353

95% 신뢰구간 1.169 ~ 9.616. 구간이 1을 품지 않으므로 이 신뢰수준에서 유의합니다

상대위험도 (RR)3 (1.133 ~ 7.941)
위험차 (RD)10% (1.8% ~ 18.2%)
NNH (한 명이 해를 입기까지)10명
노출·처치군 위험도 Re15% (15/100)
비노출·대조군 위험도 Rc5% (5/100)
노출군 오즈 · 대조군 오즈0.1765 · 0.0526
OR이 RR을 부풀린 배수1.118
사건이 흔해 OR이 위험을 1.12배 부풀립니다. 둘의 관계는 OR = RR × (1−Rc)/(1−Re)입니다. 지금 Re = 15%, Rc = 5%이므로 OR 3.353 = 3 × (1−0.05)/(1−0.15)입니다. "위험이 3.4배"라고 읽으면 그만큼 부풀린 것으로 추정됩니다. 실제 위험비는 3배입니다.
계산 근거OR = ad/bc = (15×95)/(85×5) = 3.3529SE(lnOR) = √(1/a+1/b+1/c+1/d) = 0.53755CI = exp(ln3.353 ± 1.96×0.5375) = 1.1691 ~ 9.6158RR = Re/Rc = 0.15/0.05 = 3RD = Re − Rc = 10% → NNT = 1/|RD| = 10
신뢰구간이 값의 한가운데 있지 않은 것이 맞습니다. 오즈비의 표본분포는 오른쪽으로 길게 늘어져 대칭이 아니고, ln(OR)이 정규분포에 가깝습니다. 그래서 로그 스케일에서 구간을 잡고 되돌립니다. 원래 스케일에서 OR ± 1.96×SE로 잡으면 하한이 음수로 내려가는 등 말이 안 되는 구간이 나옵니다. 위험차만은 비율이 아니라 차이라서 원래 스케일에서 대칭으로 잡습니다.
그래도 오즈비를 쓰는 이유가 있습니다. 오즈비는 어느 쪽을 기준으로 세든 값이 같습니다 — 노출군의 발병 오즈비로 봐도, 발병군의 노출 오즈비로 봐도 ad/bc로 똑같습니다. 상대위험도는 그렇지 않아 행과 열에서 다른 값이 나옵니다. 환자-대조군 연구는 발병한 사람과 안 한 사람을 먼저 정해 놓고 뽑기 때문에 발생률 자체를 알 수 없어 상대위험도를 계산할 수 없는데, 그 상황에서도 계산되는 것이 오즈비입니다.

대조군 위험도를 그대로 두고 노출군 위험도만 바꿔 보면

ReRROR부풀림
2%0.40.390.97
5%111
10%22.111.06
20%44.751.19
40%812.671.58
60%1228.52.38
80%16764.75

대조군 위험도를 5%로 고정한 채 노출군 위험도만 올려 본 것입니다. 위험이 흔해질수록 오즈비가 상대위험도에서 급격히 멀어집니다.

이 계산기는 두 변수의 연관만 다룹니다. 나이·성별 같은 교란변수를 보정하지 않은 값이라 인과관계의 근거로 삼을 수 없습니다. 신뢰구간도 표본이 충분히 크다는 가정 아래의 정규근사라, 칸의 값이 한 자릿수로 작으면 실제 구간과 벌어지는 것으로 추정됩니다.
의학적 판단에 쓰지 마세요. 논문이나 자료에 실린 숫자를 확인하고 두 지표가 어떻게 다른지 보는 용도로만 참고해 주세요. 실제 치료나 예방 결정은 담당 의료진과 상의해야 합니다.

계산 방법

  1. 12×2 표의 네 칸을 채웁니다. 위쪽이 노출·처치군, 아래쪽이 비노출·대조군입니다.
  2. 2신뢰수준을 고릅니다. 보통 95%를 씁니다.
  3. 3오즈비와 상대위험도를 나란히 봅니다. 사건이 흔할수록 둘이 크게 벌어집니다.
  4. 4신뢰구간이 1을 품는지 확인합니다. 품으면 그 신뢰수준에서 유의하지 않습니다.

자주 묻는 질문

상대위험도는 위험(확률)의 비이고 오즈비는 오즈(일어난 것 대 안 일어난 것)의 비입니다. RR = Re/Rc, OR = ad/bc이며 둘의 관계는 OR = RR × (1−Rc)/(1−Re)입니다. 사건이 드물면 두 괄호가 1에 가까워 거의 같아지지만, 흔해질수록 오즈비가 커집니다. 위험이 5%에서 15%로 오른 경우 RR은 3배인데 OR은 3.35배이고, 40%에서 70%면 RR 1.75배에 OR 3.5배로 두 배 차이가 납니다.

사건이 드문 경우에만 됩니다. 두 군의 발생률이 모두 10%쯤 아래라면 오즈비를 상대위험도로 읽어도 큰 무리가 없지만, 흔한 결과에서는 오즈비가 위험을 크게 부풀립니다. 오즈비 3.5를 "위험이 3.5배"라고 옮기면 실제 위험비가 1.75배인 경우도 있습니다. 이 계산기는 두 값을 나란히 내고 부풀려진 배수까지 보여 줍니다.

어느 쪽을 기준으로 세든 값이 같기 때문입니다. 노출군의 발병 오즈비로 봐도, 발병군의 노출 오즈비로 봐도 ad/bc로 똑같습니다. 상대위험도는 그렇지 않아 행과 열에서 다른 값이 나옵니다. 환자-대조군 연구는 발병한 사람과 안 한 사람을 먼저 정해 놓고 뽑기 때문에 발생률 자체를 알 수 없어 상대위험도를 계산할 수 없는데, 그 상황에서도 계산되는 것이 오즈비입니다.

로그 스케일에서 구간을 잡아 되돌리기 때문입니다. 오즈비의 표본분포는 오른쪽으로 길게 늘어져 대칭이 아니고, ln(OR)이 정규분포에 가깝습니다. 그래서 exp(ln OR ± z × SE)로 구하며, SE = √(1/a + 1/b + 1/c + 1/d)입니다. 원래 스케일에서 OR ± 1.96×SE로 잡으면 하한이 음수로 내려가는 등 말이 안 되는 구간이 나옵니다. 위험차만은 원래 스케일에서 대칭으로 잡습니다.

몇 명에게 처치해야 한 명에게서 결과가 갈리는지를 나타내는 수로, 위험차의 역수입니다. 위험이 15%에서 5%로 줄었다면 위험차가 10%포인트이므로 NNT는 10입니다. 위험이 오히려 늘어나는 방향이면 NNT가 아니라 NNH(한 명이 해를 입기까지의 인원)로 읽어야 합니다. 상대적인 비율보다 실제 규모를 가늠하기 좋아 임상에서 즐겨 씁니다.

네 칸에 모두 0.5를 더하는 Haldane-Anscombe 보정을 씁니다. 오즈비 식에 0이 들어가면 값이 0이나 무한대로 발산하고 신뢰구간의 1/a 항도 계산되지 않기 때문입니다. 다만 보정은 결과를 바꾸므로 이 계산기는 보정을 적용했는지 결과에 표시합니다. 보정을 켜지 않으면 계산을 거부합니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 신뢰구간은 표본이 충분히 크다는 가정 아래의 정규근사입니다. 칸의 값이 한 자릿수로 작으면 실제 구간과 벌어지므로 정확검정을 함께 보아야 하는 것으로 추정됩니다.
  • 이 계산기는 두 변수의 연관만 다룹니다. 교란변수를 보정하지 않은 값이라 인과관계의 근거로 삼을 수 없습니다.
  • 사건이 드문지 판정하는 10% 기준은 널리 쓰이는 어림이지 규격이 아닙니다.
  • 의학적 판단에 쓰지 마시고, 논문이나 자료의 숫자를 확인하는 용도로만 참고해 주세요.

함께 보면 좋은 도구

마지막 검증: 2026년 8월 31일 · 결과는 참고용 추정치입니다.