04 — LECTURE ·L-006 ·2026.04.08

6강 - 다중선형회귀분석 (Multiple Linear Regression)

여러 변수가 동시에 미치는 순수 영향력을 분석한다

목차
  1. 다중선형회귀분석이란?
  2. 회귀 모형
  3. 회귀 방정식
  4. 부분회귀계수 — ‘다른 변수를 통제하고’
  5. 최소제곱법 (OLS)
  6. 변동의 분해
  7. 결정계수와 수정된 결정계수
  8. 다중 결정계수
  9. R2R^2R2의 함정
  10. 수정된 결정계수
  11. 모형의 유의성 검정
  12. 전체 모형 — F검정
  13. 개별 회귀계수 — t검정
  14. 전체 검정과 개별 검정의 관계
  15. 표준화 회귀계수 (β)
  16. 다중공선성 (Multicollinearity)
  17. 정의와 문제점
  18. 진단 — VIF (분산팽창인수)
  19. 해결 방법
  20. 변수 선택 방법
  21. 위계적 회귀의 예
  22. 단계적 회귀의 위험
  23. 회귀분석의 가정
  24. 변수 변환
  25. 자주 쓰는 변환
  26. 변환된 변수의 회귀계수 해석
  27. 종합 예시
  28. 실습 자료

다중선형회귀분석이란?

두 개 이상의 독립변인 X1,X2,,XkX_1, X_2, \dots, X_k가 하나의 종속변인 YY에 미치는 영향을 동시에 분석하는 방법이다. 단순회귀의 확장으로, 여러 요인이 동시에 작용할 때 각 요인의 순수한 영향력을 알아본다.

핵심 질문은 “X1X_1이 1단위 변할 때 YY는 얼마나 변하는가 — 다른 변수들을 통제했을 때”이다.

구분단순회귀다중회귀
독립변인 수1개2개 이상
회귀식Y^=b0+b1X\hat{Y} = b_0 + b_1 XY^=b0+b1X1++bkXk\hat{Y} = b_0 + b_1 X_1 + \cdots + b_k X_k
결정계수R2R^2 (=r2= r^2)다중 R2R^2, 수정된 R2R^2
추가 이슈다중공선성, 변수 선택

스포츠 분석에서는 슈팅 수·점유율·패스 성공률이 동시에 승리에 미치는 영향이나, 키·몸무게·점프력으로 스파이크 성공률을 예측하는 등 각 변인의 순수 기여도를 다른 변인을 통제한 상태에서 파악할 때 쓴다.

회귀 모형

회귀 방정식

Y^=b0+b1X1+b2X2++bkXk\hat{Y} = b_0 + b_1 X_1 + b_2 X_2 + \cdots + b_k X_k

  • Y^\hat{Y}: YY의 예측값
  • b0b_0: 절편 (모든 X=0X = 0일 때의 YY)
  • bjb_j: 독립변인 XjX_j의 회귀계수 (다른 변수가 일정할 때 XjX_j가 1단위 증가 시 YY의 변화량)
  • kk: 독립변인의 수

모집단 모형과 표본 모형은 다음과 같이 구분된다.

모집단:Y=β0+β1X1+β2X2++βkXk+ε\text{모집단}: \quad Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon

표본:Y^=b0+b1X1+b2X2++bkXk\text{표본}: \quad \hat{Y} = b_0 + b_1 X_1 + b_2 X_2 + \cdots + b_k X_k

여기서 β\beta는 알 수 없는 모집단 모수, bb는 표본에서 추정한 값, ε\varepsilon은 오차항이다.

부분회귀계수 — ‘다른 변수를 통제하고’

다중회귀 회귀계수의 핵심은 “다른 변수를 일정하게 유지했을 때”라는 조건이다. 예를 들어 다음 회귀식을 보자.

Y^승점=5+0.8×슈팅+0.3×패스성공률+1.2×수비액션\hat{Y}_{\text{승점}} = 5 + 0.8 \times \text{슈팅} + 0.3 \times \text{패스성공률} + 1.2 \times \text{수비액션}

  • b1=0.8b_1 = 0.8: 패스성공률과 수비액션을 일정하게 유지했을 때, 슈팅이 1회 늘면 승점이 0.8 증가한다.
  • b2=0.3b_2 = 0.3: 슈팅과 수비액션을 일정하게 유지했을 때, 패스성공률이 1% 늘면 승점이 0.3 증가한다.

중요한 점은 단순회귀의 b1b_1과 다중회귀의 b1b_1다를 수 있다는 것이다. 다중회귀의 b1b_1은 “다른 변수의 영향을 제거한 순수 효과”를 나타낸다.

최소제곱법 (OLS)

단순회귀와 동일하게 잔차 제곱합(SSE)을 최소화한다. 차이는 변수가 여러 개라 행렬 계산이 필요하다는 점이다.

SSE=i=1n(YiY^i)2=i=1n(Yib0b1X1ibkXki)2SSE = \sum_{i=1}^{n} (Y_i - \hat{Y}_i)^2 = \sum_{i=1}^{n} (Y_i - b_0 - b_1 X_{1i} - \cdots - b_k X_{ki})^2

행렬로 표현하면 회귀계수 벡터는 다음과 같이 구해진다.

b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}

여기서 XX\mathbf{X}'\mathbf{X}가 역행렬을 가져야 하는데, 이 조건이 무너지는 것이 뒤에 나오는 다중공선성 문제와 직결된다. 실제 계산은 손으로 하지 않고 R, Python statsmodels, SPSS 등이 자동으로 수행한다.

변동의 분해

단순회귀와 동일하게 전체 변동을 회귀 변동과 잔차 변동으로 나눈다.

SST=SSR+SSESST = SSR + SSE

즉 전체 변동은 X들이 설명하는 변동(SSR)과 설명되지 않는 변동(SSE)의 합이다.

변동자유도
SSRkk
SSEnk1n - k - 1
SSTn1n - 1

결정계수와 수정된 결정계수

다중 결정계수

R2=SSRSST=1SSESSTR^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}

모든 독립변인이 함께 종속변인 변동의 몇 %를 설명하는지를 나타낸다.

R2R^2의 함정

독립변인을 늘리면 R2R^2는 거의 항상 증가한다. 심지어 의미 없는 랜덤 변수를 추가해도 증가하기 때문에, 변수를 마구 추가해 R2R^2를 부풀리는 문제가 생길 수 있다.

수정된 결정계수

이 함정을 보정한 것이 수정된 R2R^2다.

Adjusted R2=1(1R2)(n1)nk1\text{Adjusted } R^2 = 1 - \frac{(1 - R^2)(n - 1)}{n - k - 1}

변수를 추가했을 때 실제로 모형 성능이 향상되어야만 수정된 R2R^2가 증가하고, 무의미한 변수를 추가하면 오히려 감소한다. 따라서 다중회귀에서는 R2R^2보다 수정된 R2R^2를 본다.

예를 들어 모형 A(변수 3개)가 R2=0.65R^2 = 0.65, 수정 R2=0.62R^2 = 0.62이고, 모형 B(변수 5개)가 R2=0.68R^2 = 0.68, 수정 R2=0.61R^2 = 0.61이라면, B가 R2R^2는 높지만 추가한 2개 변수가 실질적 기여를 못해 수정 R2R^2는 낮아졌으므로 A가 더 나은 모형이다.

모형의 유의성 검정

전체 모형 — F검정

“이 회귀 모형 전체가 통계적으로 의미가 있는가?”를 검정한다.

H0:β1=β2==βk=0H_0: \beta_1 = \beta_2 = \cdots = \beta_k = 0 H1:적어도 하나의 βj0H_1: \text{적어도 하나의 } \beta_j \neq 0

변동원SSdfMSF
회귀SSRkkMSR=SSR/kMSR = SSR/kMSR/MSEMSR/MSE
잔차SSEnk1n-k-1MSE=SSE/(nk1)MSE = SSE/(n-k-1)
전체SSTn1n-1

F=MSRMSEF = \frac{MSR}{MSE}

p<.05p < .05이면 H0H_0을 기각하고 “모형 전체가 유의하다”고 본다.

개별 회귀계수 — t검정

각 독립변인이 개별적으로 의미가 있는지 검정한다.

H0:βj=0,H1:βj0H_0: \beta_j = 0, \qquad H_1: \beta_j \neq 0

t=bjSE(bj),df=nk1t = \frac{b_j}{SE(b_j)}, \qquad df = n - k - 1

각 변수마다 t값과 p값을 따로 산출하며, p<.05p < .05인 변수만 유의한 영향력이 있다고 해석한다.

전체 검정과 개별 검정의 관계

  • F 유의 + 모든 t 유의: 모든 변수가 기여하는 이상적 경우
  • F 유의 + 일부 t 유의: 가장 일반적. 의미 없는 변수가 섞여 있음
  • F 유의 + 모든 t 비유의: 다중공선성 의심. 개별로는 약하지만 함께는 의미 있는 상태
  • F 비유의: 모형 전체가 의미 없음. 변수 재선택 필요

표준화 회귀계수 (β)

비표준화 계수 bb는 원래 단위 그대로여서 단위가 다른 변수끼리 영향력을 비교하기 어렵다. 표준화 계수 β\beta는 모든 변수를 표준편차 단위로 환산해 변수 간 영향력 비교를 가능하게 한다.

β=b×SXSY\beta = b \times \frac{S_X}{S_Y}

β\beta는 “XX가 1 표준편차 증가할 때 YY가 몇 표준편차 변하는가”로 해석한다. 예를 들어 슈팅(b=0.8b = 0.8, S=5S = 5)과 패스성공률(b=0.3b = 0.3, S=10S = 10)을 비교할 때, 비표준화 계수로는 단위가 달라 직접 비교할 수 없지만 표준화하면 다음과 같다(SY=15S_Y = 15 가정).

β슈팅=0.8×515=0.27,β패스=0.3×1015=0.20\beta_{\text{슈팅}} = 0.8 \times \frac{5}{15} = 0.27, \qquad \beta_{\text{패스}} = 0.3 \times \frac{10}{15} = 0.20

따라서 슈팅(β=0.27\beta = 0.27)이 패스성공률(β=0.20\beta = 0.20)보다 영향력이 크다. 다만 다중공선성이 심하면 β\beta도 불안정해지므로, 보고할 때는 bbβ\beta를 함께 제시하는 것이 표준이다.

다중공선성 (Multicollinearity)

정의와 문제점

독립변인들 사이에 높은 상관이 존재하는 현상이다. 독립변인끼리 비슷한 정보를 담고 있으면 회귀 결과가 불안정해진다. 다중공선성이 심하면 다음 문제가 나타난다.

  • 회귀계수 bb가 불안정해져 표본이 조금만 바뀌어도 크게 변한다.
  • 표준오차가 커져 t값이 작아지고, 유의하지 않게 보인다.
  • 개별 변수의 기여도를 분리할 수 없다.
  • 회귀계수의 부호가 비상식적으로 뒤집힐 수 있다.
  • XX\mathbf{X}'\mathbf{X} 역행렬 계산이 불안정해진다.

진단 — VIF (분산팽창인수)

VIFj=11Rj2VIF_j = \frac{1}{1 - R_j^2}

여기서 Rj2R_j^2XjX_j를 다른 모든 독립변인으로 회귀했을 때의 결정계수다.

  • VIF=1VIF = 1: 다른 변수들과 전혀 관련 없음 (이상적)
  • VIF=5VIF = 5: 상당히 관련 있음 (주의)
  • VIF10VIF \geq 10: 심각한 다중공선성 (조치 필요)

같은 정보를 다르게 표현한 공차한계(Tolerance)도 쓴다.

Tolerance=1VIF=1Rj2\text{Tolerance} = \frac{1}{VIF} = 1 - R_j^2

Tolerance>0.2\text{Tolerance} > 0.2이면 양호, 0.10.1 미만이면 다중공선성을 의심한다.

해결 방법

방법설명예시
변수 제거VIF가 가장 높은 변수 제거슈팅과 유효슈팅 중 하나만 사용
변수 합성비슷한 변수를 비율/합으로 묶기슈팅 정확도 = 유효슈팅/슈팅
주성분 분석(PCA)변수를 독립적인 성분으로 변환여러 체력 지표 → 2~3개 성분
릿지 회귀정규화로 계수 안정화고급 기법
표본 크기 증가nn이 커지면 추정 안정실무적으로 어려운 경우 많음

변수 선택 방법

독립변인이 많을 때 어떤 변수를 모형에 포함할지 결정하는 방법이다.

방법설명사용 시점
입력 (Enter)모든 변수를 한 번에 투입이론적으로 모든 변수가 중요할 때
단계적 (Stepwise)한 변수씩 추가/제거 반복탐색적 분석
전진 선택 (Forward)빈 모형에서 변수 하나씩 추가변수를 적게 쓰고 싶을 때
후진 제거 (Backward)모든 변수에서 하나씩 제거의미 없는 변수 제거
위계적 (Hierarchical)이론적 순서로 단계별 투입통제변수 → 핵심변수 순서

위계적 회귀의 예

스포츠심리학에서 자주 쓰이는 방식으로, 통제변수를 먼저 넣고 핵심 변수의 추가 설명력을 본다.

  • 1단계 (통제변수): 나이, 성별 투입 → R2=0.10R^2 = 0.10
  • 2단계 (인구학적): 학력, 경력 추가 → R2=0.18R^2 = 0.18 (ΔR2=0.08\Delta R^2 = 0.08)
  • 3단계 (핵심 변수): 자기효능감, 동기 추가 → R2=0.42R^2 = 0.42 (ΔR2=0.24\Delta R^2 = 0.24)

이는 “통제변수와 인구학적 변수를 통제한 후에도 자기효능감과 동기가 추가로 24%의 설명력을 더한다”는 뜻이다.

단계적 회귀의 위험

단계적 회귀는 통계적 기준만으로 변수를 자동 선택하기 때문에 이론적 근거가 부족하고, 표본이 다르면 선택되는 변수가 달라져 재현성이 낮으며, 다중공선성에 매우 취약하다. 따라서 입력 또는 위계적 방법이 권장된다.

회귀분석의 가정

다중회귀는 단순회귀의 기본 가정(LINE)에 더해 추가 가정이 필요하다.

가정약자진단 방법
선형성L (Linearity)부분잔차도
독립성I (Independence)Durbin-Watson 검정
정규성N (Normality)잔차의 Shapiro-Wilk
등분산성E (Equal variance)잔차 플롯

여기에 다중회귀 고유의 추가 가정이 붙는다.

가정의미진단
다중공선성 없음독립변인 간 높은 상관 없음VIF<10VIF < 10
표본 크기변수 수에 비해 충분히 큼n10kn \geq 10k 권장
이상치 영향 작음극단값이 결과를 왜곡하지 않음Cook’s Distance

표본 크기는 변수 1개당 최소 10명(n10kn \geq 10k), 안정적으로는 20명(n20kn \geq 20k)을 권장한다. 예를 들어 독립변인이 5개면 최소 50명, 권장 100명 이상이다.

변수 변환

회귀 가정(정규성·선형성·등분산성)이 위반될 때, 변수에 수학 함수를 씌워 가정을 충족시키는 기법이다. 예를 들어 선수 연봉처럼 오른쪽으로 길게 늘어진(right-skewed) 분포는 정규성 가정을 위반하고 극단값에 회귀계수가 끌려가 왜곡되는데, log\log 변환을 하면 분포가 압축되어 정규에 가까워진다.

위반 양상예시 자료변환 후보
오른쪽 꼬리연봉, 인구, 매출log\log,  \sqrt{\ }
왼쪽 꼬리만족도(상한 있음)제곱, 세제곱
이분산성X 클수록 잔차도 큼logY\log Y, Y\sqrt{Y}
곡선 관계변화율이 다름log\log, 다항식
0~1 비율패스성공률logit

자주 쓰는 변환

  • 로그 변환 X=log(X)X' = \log(X): 양수 데이터이면서 오른쪽으로 늘어진 분포에 사용. X=0X = 0이 있으면 X=log(X+1)X' = \log(X + 1)로 처리한다.
  • 제곱근 변환 X=XX' = \sqrt{X}: 약한 오른쪽 꼬리나 횟수(count) 데이터에 사용.
  • 역수 변환 X=1/XX' = 1/X: 매우 강한 오른쪽 꼬리에 사용. 예를 들어 100m 기록(초)을 속도로 바꿀 때.
  • 제곱 변환 X=X2X' = X^2: 왼쪽으로 꼬리진 분포에 사용.
  • 로짓 변환 X=log ⁣(p1p)X' = \log\!\left(\dfrac{p}{1-p}\right): 0~1 사이 비율·확률 데이터에 사용.
  • 박스-콕스 변환: X=Xλ1λX' = \dfrac{X^\lambda - 1}{\lambda} (λ0\lambda \neq 0), X=log(X)X' = \log(X) (λ=0\lambda = 0)로, 데이터에 가장 적합한 λ\lambda를 자동으로 찾는다. λ=1\lambda = 1은 변환 없음, λ=0.5\lambda = 0.5는 제곱근, λ=1\lambda = -1은 역수에 해당한다.

변환된 변수의 회귀계수 해석

변환을 하면 회귀계수의 의미가 달라진다. 특히 log\log 변환은 회귀식 형태에 따라 해석이 네 가지로 나뉜다.

모형형태해석
Linear-LinearY=b0+b1XY = b_0 + b_1 XXX 1단위 ↑ → YYb1b_1 단위 변화
Log-LinearlogY=b0+b1X\log Y = b_0 + b_1 XXX 1단위 ↑ → YY는 약 b1×100%b_1 \times 100\% 변화
Linear-LogY=b0+b1logXY = b_0 + b_1 \log XXX 1% ↑ → YYb1/100b_1/100 단위 변화
Log-LoglogY=b0+b1logX\log Y = b_0 + b_1 \log XXX 1% ↑ → YYb1%b_1\% 변화 (탄력성)
  • Log-Linear: 정확히는 XX 1단위 증가 시 YY(eb11)×100%(e^{b_1} - 1) \times 100\% 변화한다. b1<0.1|b_1| < 0.1이면 약 b1×100%b_1 \times 100\%로 근사한다. 예를 들어 log(연봉)=8.5+0.05×경력\log(\text{연봉}) = 8.5 + 0.05 \times \text{경력}이면 경력 1년당 연봉이 약 5% 증가한다(e0.051=0.0513e^{0.05} - 1 = 0.0513).
  • Log-Log: b1b_1이 곧 탄력성(elasticity)이라 가장 직관적이다. log(관중 수)=5.2+1.3×log(승점)\log(\text{관중 수}) = 5.2 + 1.3 \times \log(\text{승점})이면 승점 1% 증가 시 관중 수가 1.3% 증가한다.

로짓 변환의 경우, log ⁣(p1p)=b0+b1X\log\!\left(\dfrac{p}{1-p}\right) = b_0 + b_1 X에서 XX 1단위 증가 시 오즈가 eb1e^{b_1}배가 된다. 예를 들어 b1=0.4b_1 = 0.4이면 오즈가 e0.41.49e^{0.4} \approx 1.49배, 즉 약 50% 증가한다.

종합 예시

“축구 경기에서 슈팅 수, 패스 성공률, 점유율이 승점에 미치는 영향은?”

모형 적합도는 F(3,96)=28.45F(3, 96) = 28.45, p<.001p < .001, R2=0.471R^2 = 0.471, 수정 R2=0.455R^2 = 0.455였고 회귀계수는 다음과 같다.

변수bbSESEβ\betattppVIF
(상수)1.200.851.41.161
슈팅0.850.21.424.05<.0011.32
패스성공률0.420.18.252.33.0221.45
점유율0.180.22.090.82.4151.65
  • 모형 전체: F(3,96)=28.45F(3, 96) = 28.45, p<.001p < .001로 유의하며, 세 변수가 승점 변동의 약 45.5%를 설명한다(수정 R2=0.455R^2 = 0.455).
  • 슈팅 (β=.42\beta = .42, p<.001p < .001): 가장 큰 영향력. 다른 변수를 통제하면 슈팅 1회 증가 시 승점이 0.85 증가한다.
  • 패스성공률 (β=.25\beta = .25, p=.022p = .022): 유의하며, 다른 변수 통제 시 1% 증가마다 승점이 0.42 증가한다.
  • 점유율 (β=.09\beta = .09, p=.415p = .415): 유의하지 않다. 슈팅·패스성공률을 통제하면 독립적 효과가 없다(점유율이 슈팅·패스로 이어지는 매개효과 가능성).
  • 다중공선성: 모든 VIF가 2 미만이라 문제없다.

승점에 미치는 영향력은 슈팅 > 패스성공률 > 점유율 순이다.

실습 자료