04 — LECTURE ·L-007 ·2026.04.15

7강 - 로지스틱 회귀분석 (Logistic Regression)

범주형 결과를 확률로 예측하는 회귀

목차
  1. 로지스틱 회귀란?
  2. 왜 선형회귀를 쓰면 안 되나?
  3. 시그모이드 함수 (Sigmoid)
  4. 오즈(Odds)와 로짓(Logit)
  5. 오즈 (Odds)
  6. 로짓 (Logit) = log(오즈)
  7. 로지스틱 회귀의 다른 표현
  8. 회귀계수 해석 — 오즈비 (Odds Ratio)
  9. 핵심 개념
  10. 계산 예시
  11. 오즈비를 확률로 착각하지 말 것
  12. 최대우도 추정 (Maximum Likelihood Estimation, MLE)
  13. 왜 최소제곱법(OLS)이 아닌가?
  14. 직관 — 동전 던지기
  15. 확률(Probability)과 우도(Likelihood)의 차이
  16. 로지스틱 회귀에서의 MLE
  17. 로그우도 (Log-Likelihood)
  18. 모형 평가
  19. 모형 전체 유의성 — 우도비 검정 (Likelihood Ratio Test)
  20. 개별 계수 유의성 — Wald 검정
  21. Pseudo R² (의사 결정계수)
  22. 분류 성능 지표
  23. 모형 가정
  24. 다중 로지스틱 회귀
  25. 다항·서수형 로지스틱 회귀
  26. 종속변수가 0/1이 아닐 때 — 비율 데이터
  27. logit 선형회귀 vs 이항 로지스틱
  28. 선형회귀 vs 로지스틱 회귀
  29. 실습 자료

로지스틱 회귀란?

종속변인이 **범주형(특히 이분형, 0/1)**일 때 사용하는 회귀분석이다. “X가 변하면 사건이 발생할 확률이 어떻게 변하는가?”를 묻는다. 결과는 0~1 사이의 확률로 나오고, 임계값(보통 0.5)을 기준으로 분류한다.

스포츠 분석에서는 다음과 같은 이분형 결과에 자주 쓰인다.

종속변인 (Y)활용 예시
승리 여부 (1=승, 0=패)패스 성공률·슈팅·점유율이 승리 확률에 미치는 영향
골 여부 (1=골, 0=노골)슛 위치·각도·거리가 골 확률에 미치는 영향 (xG 모델)
부상 여부 (1=부상, 0=정상)훈련량·연령이 부상 위험에 미치는 영향
선발 출전 여부최근 폼·경기 수가 선발 확률에 미치는 영향

왜 선형회귀를 쓰면 안 되나?

예를 들어 “슈팅 거리”로 “골 여부(1/0)“를 예측한다고 하자. 선형회귀로 적합하면 다음과 같은 직선이 나온다.

Y^=0.80.05×거리\hat{Y} = 0.8 - 0.05 \times \text{거리}

여기서 문제가 생긴다.

  • 거리 20m → Y^=0.2\hat{Y} = -0.2 (확률이 음수?!)
  • 거리 -10m → Y^=1.3\hat{Y} = 1.3 (확률이 1 초과?!)
  • 골/노골은 0/1만 있는데 모형은 +-\infty \sim +\infty 를 출력
  • 잔차가 정규분포가 아니어서 가정 위반

결국 어떤 실수 입력이든 0~1로 매핑해 주는 함수가 필요하다. 그것이 시그모이드 함수다.

시그모이드 함수 (Sigmoid)

시그모이드는 실수 전체를 0~1 구간으로 눌러 담는 S자 곡선이다.

σ(z)=11+ez=ez1+ez\sigma(z) = \frac{1}{1 + e^{-z}} = \frac{e^{z}}{1 + e^{z}}

여기서 zz 는 선형 결합 z=b0+b1X1++bkXkz = b_0 + b_1 X_1 + \dots + b_k X_k 이다.

곡선의 성질은 다음과 같다.

  • z=0σ=0.5z = 0 \Rightarrow \sigma = 0.5 (경계)
  • z+σ1z \to +\infty \Rightarrow \sigma \to 1
  • zσ0z \to -\infty \Rightarrow \sigma \to 0
  • 항상 0~1 사이 값이므로 확률로 해석 가능

따라서 로지스틱 회귀 모형은 선형 결합을 시그모이드에 넣어 확률로 변환한 것이다.

P(Y=1)=σ(b0+b1X1++bkXk)=11+e(b0+b1X1++bkXk)P(Y=1) = \sigma(b_0 + b_1 X_1 + \dots + b_k X_k) = \frac{1}{1 + e^{-(b_0 + b_1 X_1 + \dots + b_k X_k)}}

오즈(Odds)와 로짓(Logit)

로지스틱 회귀의 핵심 개념이다. 확률 → 오즈 → 로짓 변환을 이해해야 계수 해석이 가능하다.

오즈 (Odds)

오즈는 성공 확률과 실패 확률의 비율이다.

오즈=P1P=성공 확률실패 확률\text{오즈} = \frac{P}{1 - P} = \frac{\text{성공 확률}}{\text{실패 확률}}

확률 PP오즈의미
0.50.5/0.5=10.5 / 0.5 = 15:5
0.750.75/0.25=30.75 / 0.25 = 33:1, 성공이 3배 더 일어남
0.90.9/0.1=90.9 / 0.1 = 99:1
0.250.25/0.75=0.330.25 / 0.75 = 0.331:3

로짓 (Logit) = log(오즈)

로짓은 오즈에 로그를 씌운 값이다.

logit(P)=ln(P1P)=ln(오즈)\text{logit}(P) = \ln\left(\frac{P}{1-P}\right) = \ln(\text{오즈})

확률 PP로짓
0.5ln(1)=0\ln(1) = 0
0.75ln(3)=1.10\ln(3) = 1.10
0.9ln(9)=2.20\ln(9) = 2.20
0.25ln(0.33)=1.10\ln(0.33) = -1.10

로지스틱 회귀의 다른 표현

로짓을 쓰면 로지스틱 회귀를 선형 형태로 다시 쓸 수 있다.

ln(P1P)=b0+b1X1+b2X2++bkXk\ln\left(\frac{P}{1-P}\right) = b_0 + b_1 X_1 + b_2 X_2 + \dots + b_k X_k

즉 로지스틱 회귀는 로짓(log-odds)을 선형으로 모델링하는 것이다. 그래서 회귀계수가 로짓 단위로 나온다. 선형 결합 zz 는 시그모이드를 거쳐 확률 PP 가 되고, 이 PP 로 만든 오즈에 로그를 씌우면 다시 zz 로 돌아온다.

회귀계수 해석 — 오즈비 (Odds Ratio)

핵심 개념

회귀계수 bjb_j 는 로짓 단위이므로 직접 해석하기 어렵다. 대신 ebje^{b_j} 로 변환하면 **오즈비(Odds Ratio)**가 된다.

OR=ebj\text{OR} = e^{b_j}

해석은 이렇다. ”XjX_j 가 1단위 증가하면, Y=1Y=1 이 일어날 오즈가 ebje^{b_j} 배가 된다.”

OR의미
OR = 1X와 Y는 관련 없음 (오즈 변화 없음)
OR > 1X 증가 → 사건 발생 오즈 증가
OR < 1X 증가 → 사건 발생 오즈 감소
OR = 2X가 1단위 증가하면 오즈가 2배
OR = 0.5X가 1단위 증가하면 오즈가 절반

계산 예시

경기당 슈팅 수가 승리 확률에 미치는 영향을 다음 모형으로 적합했다고 하자.

logit(P승리)=2.5+0.3×슈팅\text{logit}(P_{\text{승리}}) = -2.5 + 0.3 \times \text{슈팅}

b1=0.3b_1 = 0.3 이므로 OR=e0.3=1.35\text{OR} = e^{0.3} = 1.35. 즉 “슈팅이 1회 늘면 승리 오즈가 1.35배(35% 증가)“이다. 실제로 확인해 보면,

  • 슈팅 10 → z=2.5+0.3×10=0.5z = -2.5 + 0.3 \times 10 = 0.5P=σ(0.5)=0.62P = \sigma(0.5) = 0.62 → 오즈 =0.62/0.38=1.63= 0.62/0.38 = 1.63
  • 슈팅 11 → z=2.5+0.3×11=0.8z = -2.5 + 0.3 \times 11 = 0.8P=σ(0.8)=0.69P = \sigma(0.8) = 0.69 → 오즈 =0.69/0.31=2.23= 0.69/0.31 = 2.23

오즈비 =2.23/1.63=1.371.35= 2.23 / 1.63 = 1.37 \approx 1.35 로 일치한다.

오즈비를 확률로 착각하지 말 것

오즈비는 오즈의 비율이지 확률의 비율이 아니다. “OR = 1.35니까 승리 확률이 35% 증가한다”는 틀린 해석이다. 확률 변화는 시작점에 따라 다르기 때문이다.

  • P=0.5P=0.5 에서 슈팅 1↑: 0.50.570.5 \to 0.57 (7%p 증가)
  • P=0.9P=0.9 에서 슈팅 1↑: 0.90.920.9 \to 0.92 (2%p 증가)

오즈비를 ”% 증감”으로 옮길 때는 다음 공식을 쓴다.

(OR1)×100=% 변화(\text{OR} - 1) \times 100 = \text{\% 변화}

예를 들어 OR = 1.35는 오즈 35% 증가, OR = 0.80은 오즈 20% 감소를 뜻한다.

최대우도 추정 (Maximum Likelihood Estimation, MLE)

관측된 데이터가 가장 그럴듯하게 나올 확률이 되도록 하는 모수(parameter)를 찾는 방법이다.

왜 최소제곱법(OLS)이 아닌가?

선형회귀의 OLS는 잔차(실제값 − 예측값)의 제곱합을 최소화한다. 종속변인이 연속형일 때 잘 작동한다. 그런데 로지스틱 회귀는 실제값 yy 가 0 또는 1이고 예측값은 0~1 사이 확률이다. “0.7 확률 예측”과 “1 실제값”의 차이를 제곱하는 것은 의미가 약하다. 그래서 다른 방법이 필요하다. “내가 본 0/1 패턴이 가장 잘 나오게 하는 β\beta 를 찾자”는 것이 MLE다.

직관 — 동전 던지기

동전을 10번 던졌더니 앞면 7번, 뒷면 3번 나왔다. 이 동전의 앞면 확률 pp 는 얼마일까? 여러 후보에 대해 “이 결과가 나올 확률(우도, Likelihood)“을 계산해 본다.

pp 후보우도 (Likelihood)
p=0.1p = 0.10.17×0.930.00000007290.1^7 \times 0.9^3 \approx 0.0000000729
p=0.5p = 0.50.57×0.530.0009770.5^7 \times 0.5^3 \approx 0.000977
p=0.7p = 0.70.77×0.330.002220.7^7 \times 0.3^3 \approx 0.00222 ← 가장 큼
p=0.9p = 0.90.97×0.130.0004780.9^7 \times 0.1^3 \approx 0.000478

p=0.7p = 0.7 일 때 우도가 최대이므로 MLE 추정값은 0.7이다. 핵심 아이디어는 “내가 본 데이터가 가장 잘 설명되는 모수가 진짜 모수일 것”이라는 것이다.

확률(Probability)과 우도(Likelihood)의 차이

구분무엇이 고정?무엇이 변함?
확률 (Probability)모수 pp (예: p=0.5p=0.5)데이터 (앞/뒷 결과)
우도 (Likelihood)데이터 (앞7, 뒤3 관측됨)모수 pp (뭐였을지 추정)

확률은 ”p=0.5p=0.5 인 동전을 10번 던지면 앞면 7번 나올 확률은?”을 묻고, 우도는 “앞면 7번 나왔다. 그럼 pp 는 얼마였을까?”를 묻는다. MLE는 우도를 최대로 만드는 모수를 찾는 것이다.

로지스틱 회귀에서의 MLE

선수 5명의 결과가 y=[1,0,1,1,0]y = [1, 0, 1, 1, 0] (1=승리, 0=패배)이라고 하자. 후보 β0,β1\beta_0, \beta_1 로 각 선수의 승리 확률 p1,,p5p_1, \dots, p_5 를 시그모이드로 계산한 뒤, 관측된 결과가 일어날 확률(우도)을 모두 곱한다.

L=p1×(1p2)×p3×p4×(1p5)L = p_1 \times (1 - p_2) \times p_3 \times p_4 \times (1 - p_5)

y=1y=1 이면 pp 를, y=0y=0 이면 (1p)(1-p) 를 곱한다. 이 LL 을 가장 크게 만드는 β0,β1\beta_0, \beta_1 이 MLE 추정값이다.

로그우도 (Log-Likelihood)

실제 계산에서는 우도 LL 대신 로그우도 logL\log L 을 최대화한다. 확률을 여러 개 곱하면 매우 작은 수가 되어 컴퓨터가 underflow를 일으킬 수 있는데, 로그를 씌우면 곱셈이 덧셈으로 바뀌어 계산이 안정된다.

logL=i[yilog(pi)+(1yi)log(1pi)]\log L = \sum_{i} \left[ y_i \log(p_i) + (1 - y_i)\log(1 - p_i) \right]

이것은 머신러닝에서 말하는 이진 교차 엔트로피(Binary Cross-Entropy) 손실함수와 동일하다. 우도 최대화는 logL-\log L 최소화와 같다. 실제로는 Newton-Raphson, IRLS 같은 반복 알고리즘으로 푼다.

통계 패키지(R, Python statsmodels, SPSS)가 자동으로 MLE를 수행하므로 사용자는 결과만 해석하면 된다. **수렴(convergence)**이 잘 됐는지 확인하고, 출력되는 -2 Log Likelihood(deviance), AIC, BIC 로 모형을 비교한다(낮을수록 좋음).

모형 평가

선형회귀의 R2R^2·F검정 대신 다른 지표를 쓴다.

모형 전체 유의성 — 우도비 검정 (Likelihood Ratio Test)

가설은 다음과 같다.

  • H0H_0: 모든 회귀계수 = 0 (모형이 무의미)
  • H1H_1: 적어도 하나의 회귀계수 ≠ 0

검정통계량은 귀무모형과 연구모형의 deviance 차이로, χ2\chi^2 분포를 따른다.

2LL귀무(2LL연구)χ2-2\,LL_{\text{귀무}} - (-2\,LL_{\text{연구}}) \sim \chi^2

p<.05p < .05 이면 모형이 유의하다.

개별 계수 유의성 — Wald 검정

Wald=(bjSE(bj))2χ2(1)\text{Wald} = \left(\frac{b_j}{SE(b_j)}\right)^2 \sim \chi^2(1)

또는 z=bj/SE(bj)z = b_j / SE(b_j) 통계량을 쓴다. p<.05p < .05 이면 해당 변수가 유의하다.

Pseudo R² (의사 결정계수)

선형회귀의 R2R^2 와 비슷한 개념이지만 계산 방식이 다르다.

종류특징
Cox & Snell R²흔히 보고. 최댓값이 1보다 작음 (한계)
Nagelkerke R²Cox & Snell을 보정해 0~1 범위
McFadden R²가장 보수적 (값이 작게 나옴)

Nagelkerke 기준으로 .10 미만은 약함, .10~.30은 보통, .30 이상은 강함으로 본다. 선형회귀의 R2R^2 와 기준이 다르므로, 로지스틱은 Pseudo R²가 작아도 의미 있을 수 있다.

분류 성능 지표

혼동행렬(Confusion Matrix)은 예측과 실제를 교차한 표다.

실제 Y=1실제 Y=0
예측 Y=1TP (맞춤)FP (잘못된 양성)
예측 Y=0FN (놓침)TN (맞춤)

여기서 주요 지표를 계산한다.

지표공식의미
정확도 (Accuracy)(TP+TN)/전체(TP+TN)/\text{전체}전체 중 맞춘 비율
정밀도 (Precision)TP/(TP+FP)TP/(TP+FP)예측 1 중 실제 1 비율
재현율/민감도 (Recall)TP/(TP+FN)TP/(TP+FN)실제 1 중 예측 1 비율
특이도 (Specificity)TN/(TN+FP)TN/(TN+FP)실제 0 중 예측 0 비율
F1 score2×정밀도×재현율정밀도+재현율2 \times \dfrac{\text{정밀도} \times \text{재현율}}{\text{정밀도} + \text{재현율}}정밀도·재현율 조화평균

ROC 곡선은 임계값을 0~1로 바꿔가며 (1-특이도, 민감도)를 그린 곡선이고, AUC는 그 아래 면적이다.

AUC판별력
0.5무작위 추측 수준
0.7보통
0.8좋음
0.9매우 좋음
1.0완벽

불균형 데이터(예: Y=1Y=1 이 5%, Y=0Y=0 이 95%)에서는 “전부 0”으로 예측해도 정확도가 95%가 나온다. 이럴 때 정확도는 성능을 잘못 보여주므로 AUC나 F1 score 같은 지표를 함께 봐야 한다.

모형 가정

로지스틱 회귀는 선형회귀보다 가정이 적다. 잔차의 정규성·등분산성 가정이 없다(잔차 자체가 이분형이라 의미가 없다). 대신 다음이 중요하다.

가정의미검정
종속변인이 이분형0 또는 1변수 확인
관측치 독립한 경기 결과가 다른 경기에 영향 X연구 설계
로짓의 선형성연속형 X와 로짓이 선형Box-Tidwell 검정
다중공선성 없음독립변인 간 높은 상관 XVIF

특히 로짓의 선형성이 핵심으로, 연속형 XXlogit(P)\text{logit}(P) 가 선형이어야 한다. 위반 시 변수 변환(log, √, 제곱), 다항 항 추가(X2X^2), 구간화로 대응한다.

표본 크기는 단순히 nn 이 아니라 **드문 집단(Y=1Y=1Y=0Y=0 중 작은 쪽)**의 크기가 핵심이며, EPV(Events Per Variable) ≥ 10 을 권장한다. 예를 들어 전체 500명 중 부상 30명이면 드문 집단이 30명이므로 변수는 최대 3개 정도가 적절하다.

다중 로지스틱 회귀

독립변인이 2개 이상인 경우로, 다중회귀와 같은 방식으로 확장한다.

logit(P)=b0+b1X1+b2X2++bkXk\text{logit}(P) = b_0 + b_1 X_1 + b_2 X_2 + \dots + b_k X_k

계수 해석은 “다른 변수가 일정할 때, XjX_j 가 1단위 증가하면 Y=1Y=1 이 일어날 오즈가 ebje^{b_j} 배가 된다”로, 다른 변수를 통제한 효과다.

다항·서수형 로지스틱 회귀

종속변인의 범주가 3개 이상일 때의 확장이다.

**다항 로지스틱(Multinomial)**은 순서 없는 3개 이상 범주(예: 승/무/패, 포지션 GK/DF/MF/FW)에 쓴다. 기준 범주(reference category)를 정하고 나머지 각 범주에 대해 이항 로지스틱을 각각 수행한다. 예를 들어 무승부를 기준으로 하면,

ln(P()P())=b0+b1X1+\ln\left(\frac{P(\text{승})}{P(\text{무})}\right) = b_0 + b_1 X_1 + \dots

회귀계수는 항상 기준 범주 대비 해석한다(“슈팅 1회 증가 시, 무승부 대비 승리 오즈가 ebe^{b} 배”).

**서수형 로지스틱(Ordinal)**은 순서가 있는 범주(평점 척도, 선수 등급, 만족도)에 쓴다. 순서 정보를 활용하므로 회귀계수가 훨씬 적게 추정되어 효율적이며, 모든 임계값에서 오즈비가 동일하다는 비례 오즈 가정이 필요하다.

종속변수가 0/1이 아닐 때 — 비율 데이터

일반 이항 로지스틱 회귀는 종속변수가 0 또는 1(이분형)이어야 한다. 종속변수가 0~1 사이 연속적 비율(예: 패스 성공률 0.65)이면 다른 접근이 필요하다. 단, 독립변수가 비율인 것은 상관없다. YY 가 0/1이고 XX 가 비율이면 이항 로지스틱을 그대로 쓸 수 있다.

종속변수 자체가 비율일 때의 선택지는 다음과 같다.

옵션 1: 횟수 데이터로 변환 (가장 권장). 비율 0.84를 성공/시도 형태(예: 420/500)로 바꿔 이항 로지스틱에 (성공 수, 시도 수)로 입력한다. R은 glm(cbind(성공, 실패) ~ X, family=binomial), Python은 statsmodels의 GLM(binomial)을 쓴다.

옵션 2: 베타 회귀. 비율만 있고 분모 정보가 없을 때 베타 분포를 가정한 회귀(R betareg, Python statsmodels)를 쓴다.

옵션 3: logit 변환 + 선형회귀. 비율에 로짓을 씌워 일반 선형회귀를 적합한다.

Y=ln(Y1Y),Y=b0+b1XY' = \ln\left(\frac{Y}{1-Y}\right), \qquad Y' = b_0 + b_1 X

간단하지만 Y=0Y=0 또는 Y=1Y=1 이면 발산하므로 padj=p(n1)+0.5np_{\text{adj}} = \dfrac{p(n-1) + 0.5}{n} 같은 조정이 필요하다.

logit 선형회귀 vs 이항 로지스틱

둘 다 같은 logit 함수를 쓰지만 데이터 생성 모델과 추정 방법이 다르다.

구분logit 변환 + 선형회귀이항 로지스틱 회귀
입력 데이터비율 (예: 0.84)성공/실패 횟수 (예: 420/500)
추정 방법OLS (잔차 제곱 최소화)MLE (최대우도)
오차항 가정정규분포이항분포
표본 가중모든 데이터 동일 가중시도 횟수가 자동 가중치
0/1 처리발산 → 조정 필요자연스럽게 처리
계수 해석”logit이 bb 만큼 변화""오즈가 ebe^b 배 (OR)”

핵심 차이는 표본 크기 반영이다. “500번 중 420번 성공(0.84)“과 “10번 중 8번 성공(0.80)“은 신뢰도가 다르다. logit 선형회귀는 둘을 비율로만 봐서 동등하게 취급하지만, 이항 로지스틱은 시도 횟수가 큰 데이터에 자동으로 더 큰 가중치를 준다. 또 이항 로지스틱은 데이터 생성 과정(YiBinomial(ni,pi)Y_i \sim \text{Binomial}(n_i, p_i))을 직접 모델링하고, 0/1을 자연스럽게 처리하며, 오즈비와 95% 신뢰구간을 표준 형식으로 제공한다.

정리하면, 시도 횟수(분모)가 있으면 이항 로지스틱이 정석이고, 분모가 없으면 베타 회귀가 차선이다. logit 선형회귀는 빠른 탐색 분석에서만 쓰고 정식 보고에는 권장하지 않는다.

선형회귀 vs 로지스틱 회귀

구분선형회귀로지스틱 회귀
종속변인연속형이분형(또는 범주형)
출력+-\infty \sim +\infty0 ~ 1 (확률)
모형 함수직선S자 곡선 (sigmoid)
추정 방법OLS (최소제곱)MLE (최대우도)
회귀계수 단위Y와 같은 단위로짓 단위 (ebe^b = OR)
모형 검정F검정우도비 χ2\chi^2 검정
적합도 지표R2R^2, Adjusted R2R^2Pseudo R2R^2, AUC
잔차 정규성필요불필요
표본 크기 기준변수당 10명EPV ≥ 10 (드문 집단 기준)

실습 자료