| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 딥러닝
- 순서도
- 미래 사회의 단위
- 처리
- 절차적 사고의 장점
- 운영체제의 미래
- 운영체제 서비스
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 선택
- 출력
- 반복 구조 찾기
- 뿌..
- 절차적 사고
- 패킷트레이서 이용
- 말 인용
- 컴퓨터
- 소프트웨어 시대
- 공부정리
- 겁나 많아
- 프로그래밍
- 앨런 튜링
- 레지스터
- 국립과천과학관
- 운영체제 목적
- 기계어
- gensim 3.7.3 설치 오류
- 소프트웨어
- 해결 방안
- 운영체제의 발달 과정
- Today
- Total
hye-_
다중회귀분석 본문
다중회귀분석
다중회귀분석(Multiple Regression Analysis)은 하나의 결과 변수(종속변수)가 있을 때 여러 개의 원인 변수(독립변수)가 그 결과에 어떻게 영향을 미치는지를 수학적으로 추정하는 통계 모델이다.
전체 흐름은 다음 구조로 이해하면 된다.
① 다중회귀분석 개념
- 여러 독립변수 → 하나 종속변수 영향 분석
② 다중회귀 기본 수식

③ 다중회귀 가정
- 변수 형태 조건
- 다중공선성 없음
- 선형성
- 독립성
- 오차 정규성
- 등분산성
④ 회귀모델 검정 과정
- 회귀계수 추정 (최소제곱법)
- 회귀계수 유의성 검정 (t검정)
- 모델 적합성 검정 (F검정 / ANOVA / 결정계수)
⑤ 단순회귀 vs 다중회귀 차이
- 독립변수 개수 차이
- 다중공선성 문제 존재
- 변수 선택 과정 필요
다중회귀분석은 두 개 이상의 독립변수가 하나의 종속변수에 미치는 영향을 추정하는 회귀분석 기법이다.
다중회귀분석의 정의
즉 여러 개의 원인 변수(독립변수)가 하나의 결과 변수(종속변수)에 어떤 영향을 주는지를 수학적인 회귀식(regression equation)으로 추정하는 분석 방법을 의미한다.
예를 들면
집값을 예측한다고 하자.
집값에 영향을 주는 변수는
- 집 크기
- 위치
- 건물 나이
- 교통 접근성
이렇게 여러 개가 존재한다.
이 여러 변수들이 집값(Y)에 어떻게 영향을 주는지를 동시에 분석하는 것이 바로 다중회귀분석이다.
왜?
현실 세계에서는 하나의 변수만 결과에 영향을 주는 경우가 거의 없기 때문이다.
예를 들어
학생 성적을 설명하려면
- 공부시간
- IQ
- 수면시간
- 학습환경
등 여러 요인이 동시에 영향을 준다.
따라서 단순회귀

처럼 독립변수가 하나인 모델로는 현실 데이터를 설명하기 어렵기 때문에 여러 변수를 동시에 고려하는 다중회귀모델이 필요하다.
용어 설명
다중 (Multiple)
→ 여러 개
회귀 (Regression)
→ 변수 간 관계를 수학적 식으로 표현하는 통계 방법
독립변수 (Independent Variable)
→ 결과에 영향을 주는 변수, 원인변수
→ 영어: explanatory variable / predictor
종속변수 (Dependent Variable)
→ 결과 변수
추정 (Estimation)
→ 데이터를 이용해 계수 값을 계산하는 과정
수식
다중회귀 기본식

읽는 방법
Y 는
베타0 + 베타1 곱하기 X1 + 베타2 곱하기 X2 + … + 베타n 곱하기 Xn + 엡실론
기호 의미
Y
종속변수
β0 (베타0)
절편
intercept
β1 β2 … βn
회귀계수
regression coefficient
X1 X2 … Xn
독립변수
ε (epsilon)
오차
error term
예시
집값 예측 모델

면적이 커질수록 집값이 올라가면
β1 > 0
지하철 거리 멀어질수록 가격 떨어지면
β3 < 0
다변량회귀분석, 중선형회귀분석이라고도 한다.
다중회귀분석은 다른 이름으로
- 다변량 회귀분석 (Multivariate regression)
- 중선형 회귀분석 (Multiple linear regression)
이라고도 불린다
왜?
이 이름들이 붙은 이유는
두 가지 특징 때문이다.
1. 변수가 여러 개
→ 다변량
2. 관계 형태가 직선
→ 선형
용어
다변량 (Multivariate)
multi = 여러
variable = 변수
여러 변수를 동시에 사용하는 분석
중선형 (Multiple Linear)
multiple = 여러
linear = 선형
여러 변수 + 직선 관계
다중회귀분석의 가정사항
다중회귀분석의 가정사항 1) 독립변수 : 연속형 변수(2개 이상), 종속변수 : 연속형 변수( 1개).
다중회귀분석에서는
독립변수는 2개 이상 존재해야 하며
종속변수는 연속형 데이터여야 한다
왜?
회귀분석은 기본적으로 수치 데이터를 예측하는 모델이기 때문이다.
연속형 데이터 예
- 키
- 몸무게
- 집값
- 매출
이런 데이터는 실수값을 가지며 연속적으로 변화한다.
반면
성별
남 / 여
같은 범주형 변수는 그대로 사용하기 어렵기 때문에
더미변수(dummy variable) 변환이 필요하다.
용어
연속형 변수 (Continuous Variable)
값이 연속적으로 존재하는 변수
예
170.1
170.25
170.352
예시
연봉 예측
독립변수
- 경력
- 학력
- 근무시간
종속변수
- 연봉
다중회귀분석의 가정사항 2) 다중공선성 확인 :
독립변수 간 상관관계를 가지는 문제 최소화.
독립변수들 사이에 서로 강한 상관관계가 있으면 안 된다는 의미이다.
왜?
독립변수끼리 상관관계가 높으면
각 변수의 영향력을 분리해서 측정할 수 없기 때문이다.
예
키
몸무게
이 두 변수는 서로 강하게 관련되어 있다.
그러면 모델이
집값 변화가
키 때문인지
몸무게 때문인지
구분하기 어렵다.
그래서 회귀계수가 불안정해진다.
용어
다중공선성 (Multicollinearity)
multi = 여러
collinearity = 같은 직선 관계
독립변수끼리 높은 상관관계 존재
예시
독립변수
- 키
- 몸무게
- BMI
BMI는

그래서 세 변수는 강하게 연결된다.
다중회귀분석의 가정사항 4) 독립성 만족 :
각 집단은 독립적이어야 한다(독립성) - 더빈 왓슨 통계량을 이용.
데이터의 오차(residual)는 서로 영향을 주면 안 된다.
즉
한 데이터의 오차가
다른 데이터의 오차와 상관관계를 가지면 안 된다.
왜?
오차끼리 상관관계가 있으면
모델이 제대로 설명하지 못한 패턴이 데이터 안에 존재한다는 의미가 되기 때문이다.
이런 경우
회귀모델 가정이 깨진다.
더빈 왓슨 통계량
Durbin Watson Statistic
값 범위
0 ~ 4
기준
2 → 독립
0에 가까움 → 양의 자기상관
4에 가까움 → 음의 자기상관
다중회귀분석의 가정사항 6) 등분산성을 만족 :
등분산성 검정 기법: 레빈의 검정과 바틀렛 검정 등.
모든 데이터 구간에서
오차의 분산이 동일해야 한다는 의미이다.
왜?
회귀모델은
모든 구간에서 오차 크기가 일정하다는 가정으로 만들어진 모델이기 때문이다.
만약
x 값이 커질수록 오차가 커지면
이것을
이분산성 (heteroscedasticity)
이라고 한다.
하지만 단순회귀분석은 독립변수가 하나이고, 다중회귀분석은 독립변수가 n개이기 때문에 '모델에 유의미한 독립변수들을 선택하는 과정'과 '독립변수들 간의 상관관계'가 나타나는 다중공선성 문제를 해결하는 과정은 차이가 있다.
단순회귀는
독립변수 1개
다중회귀는
독립변수 n개
그래서
추가적으로 해야 하는 작업이 생긴다.
1. 변수 선택
2. 다중공선성 제거
왜?
변수가 많아질수록
불필요한 변수도 모델에 들어갈 수 있기 때문이다.
그래서
- 변수선택
- 공선성 제거
과정이 필요하다.
예시
집값 모델
가능한 변수
- 면적
- 방수
- 건물나이
- 지하철거리
- 학군
- 범죄율
- 편의시설
이 중에서
정말 중요한 변수만 선택해야 한다.
다중회귀분석의 중요 변수 결정
다중회귀분석에서는 독립변수가 여러 개 존재하기 때문에 중요한 문제가 하나 생긴다.
그 문제는 바로
어떤 독립변수를 모델에 포함해야 하는가
라는 것이다.
왜냐하면 독립변수를 많이 넣으면
- 모델이 복잡해지고
- 과적합(overfitting)이 발생할 수 있기 때문이다.
그래서 모델의 설명력과 변수 개수 사이의 균형을 평가하는 지표들이 존재한다.
대표적인 평가 기준은 다음과 같다.
모델 평가 지표 구조
1. 결정계수 (R^2)
2. 수정된 결정계수 (Adjusted\ R^2)
3. Mallows' Cp
4. AIC (Akaike Information Criterion)
5. BIC (Bayesian Information Criterion)
이 지표들은 모두 공통 목적이 있다.
좋은 모델을 선택하는 것
즉
- 설명력은 높고
- 변수는 적은
모델을 찾는 것이다.
다중회귀분석은 독립변수가 n개 존재하며, n개의 변수가 종속변수에 얼마나 큰 영향을 주는지는 회귀모델의 종속변수 설명력 평가지표를 이용하여 확인할 수 있다.
다중회귀분석에서 모델을 평가하는 기준이 필요하다는 의미
다중회귀분석에서는 독립변수가 여러 개 존재한다.
예를 들면
집값을 설명하는 모델이라고 하면
독립변수
- 집 크기
- 위치
- 건물 나이
- 교통 접근성
- 학군
- 범죄율
이렇게 여러 개가 존재한다.
이때 문제는
이 변수들이 실제로 종속변수(Y)에 얼마나 영향을 주는지를 판단해야 한다는 것이다.
그래서 단순히 회귀식을 만드는 것으로 끝나는 것이 아니라
모델이 종속변수를 얼마나 잘 설명하는지를 평가하는 지표가 필요하다.
이 평가 지표를 통해
- 어떤 모델이 좋은 모델인지
- 어떤 변수를 제거해야 하는지
판단할 수 있다.
왜?
왜 이런 평가 기준이 필요한가를 이해하려면 다중회귀 모델의 특징을 먼저 이해해야 한다.
다중회귀에서는 독립변수를 계속 추가할 수 있다.
예를 들어

이 모델보다

이 모델이 항상 데이터에 더 잘 맞는다.
그리고

이렇게 계속 변수를 추가하면
항상 설명력이 증가한다.
하지만 여기서 문제가 생긴다.
변수를 너무 많이 넣으면
- 모델이 복잡해지고
- 실제 데이터가 아니라 노이즈(noise)까지 학습하게 된다.
이것을
과적합 (overfitting)
이라고 한다.
그래서
설명력 + 모델 단순성
두 가지를 동시에 고려하는 평가 기준이 필요하다.
설명력 (Explanatory Power)
모델이 종속변수 변동을 얼마나 설명하는지
대표 지표
R^2
수식
대표적인 설명력 지표
결정계수

SSR
Regression Sum of Squares
회귀가 설명한 변동
SST
Total Sum of Squares
전체 변동
읽는 방법
R 제곱은
SSR 나누기 SST
즉
모델이 전체 변동 중 얼마나 설명했는지 비율
예시
시험 점수 예측 모델
독립변수
- 공부시간
- IQ
- 수면시간
종속변수
- 시험점수
만약
결정계수
R^2 = 0.85
이면
시험 점수 변동의
85%를 모델이 설명한다는 의미이다.
이는 곧 변수 선택의 기준으로 활용될 수 있음을 의미한다.
모델 평가 지표가 단순히 설명력을 보는 것뿐만 아니라
어떤 독립변수를 선택해야 하는지를 결정하는 기준으로도 사용된다는 의미이다.
즉
다중회귀에서는
가능한 변수들이 매우 많다.
예
집값 모델
가능 변수
- 면적
- 층수
- 방 개수
- 학군
- 지하철 거리
- 범죄율
- 편의시설
이 중에서
모든 변수를 넣는 것이 좋은 모델이 아니다.
그래서
모델 평가 지표를 이용해서
가장 좋은 변수 조합을 찾는다.
회귀모델에서 독립변수에 대해 종속변수를 얼마나 잘 설명할 수 있는가를 평가하는 척도들은 다음과 같다.
이 평가 지표들은
다중회귀에서
모델 선택 (Model Selection)
에 사용된다.
대표적인 지표는
- Mallows' Cp
- Adjusted R²
- AIC
- BIC
이다.
회귀 모델의 종속변수 설명력 평가 척도 1)
멜로우즈 Cp : 모델 내 독립변수 개수의 균형을 맞추는데 유용한 방법(오차가 적은 방향으로 변수 선택)
Mallows' Cp 는 모델의 변수 개수와 오차 사이의 균형을 평가하는 지표이다.
즉
- 변수가 너무 많으면 모델이 복잡해지고
- 변수가 너무 적으면 설명력이 떨어진다.
그래서
오차 + 변수 개수
두 가지를 동시에 고려한다.

Mallows' Cp
Cp
C = Criterion
p = number of parameters : 모델의 파라미터 개수 (독립변수 계수와 절편)
즉
모델 평가 기준이자 모델의 예측오차를 추정한 값이다.

수식
Mallows Cp

SSEp
subset model error
부분 모델 오차
MSE
Mean Square Error
평균제곱오차
n
데이터 개수
p
모델 파라미터 개수
왜?
왜 Cp가 필요한가를 이해하려면
변수 개수와 오차 사이의 관계를 이해해야 한다.
변수를 많이 넣으면
오차는 줄어든다.
하지만
모델이 복잡해진다.
그래서
Cp는
오차 감소와 변수 개수 증가 사이의 균형을 찾는 지표이다.
멜로우즈 < p이면 좋은 모델.
Cp 값이
모델의 변수 개수 (p)
보다 작으면
좋은 모델이라고 판단한다.
예시
모델 A
변수 5개
Cp = 4
좋은 모델
모델 B
변수 5개
Cp = 12
좋지 않은 모델
회귀 모델의 종속변수 설명력 평가 척도 2)
수정된 결정계수: 독립변수가 추가되어도 결정계수의 값이 감소하도록 변수의 수만큼 패널티를 주는 방법
일반 결정계수 (R^2) 는
독립변수를 추가하면 항상 증가한다.
그래서 문제를 해결하기 위해
변수 개수만큼 패널티(penalty)를 주는 결정계수 가 만들어졌다.
그것이 Adjusted R² 이다.
수식
수정된 결정계수



왜?
변수가 많아지면
모델이 복잡해지기 때문이다.
그래서
변수 개수에 대한 벌점
을 준다.
회귀 모델의 종속변수 설명력 평가 척도 3)
아카이케 정보 기준: 실제 데이터의 분포와 모델이 예측하는 분포의 차이를 데이터 수와 상관없이 패널치를 일정하게 주는 방법 AIC가 적으면 좋은 모델.
AIC 는 모델이 실제 데이터 분포를 얼마나 잘 설명하는지 평가하는 기준이다.
수식
AIC = 2k - 2ln(L)
기호
k
모델 파라미터 개수
L
Likelihood
가능도
왜?
모델이
- 설명력 높고
- 복잡하지 않은
모델이어야 하기 때문이다.
회귀 모델의 종속변수 설명력 평가 척도 4)
베이즈 정보 기준 : AIC를보완하여 데이터 수가 많아질수록 패널티도 함께 커지게 하는 방법 BIC가 적으면 좋은 모델.
BIC 는 AIC를 개선한 모델 평가 기준이다.
데이터가 많아질수록 모델 복잡도에 더 강한 패널티를 준다.
수식


정보기준: 최대가능도에 독립변수 개수에 대한 패널티를 반영하는 방법
AIC 와 BIC 는 모두 가능도(Likelihood) 를 기반으로 만든 모델 평가 기준이다.
가능도란 모델이 데이터를 얼마나 잘 설명하는지 나타내는 확률 값이다.
하지만 가능도만 사용하면 변수를 계속 추가할수록 값이 좋아진다.
그래서 변수 개수에 대한 패널티를 추가한 것이 정보 기준이다.
정리
다중회귀 모델 선택 기준
| 지표 | 의미 | 좋은 모델 |
| Mallows Cp | 변수 수 + 오차 균형 | Cp < p |
| Adjusted R² | 변수 패널티 적용 설명력 | 수정된 결정계수가 클수록 좋음 |
| AIC | 정보손실 최소 | AIC가 작을수록 좋음 |
| BIC | AIC 개선 | BIC가 작을수록 좋음 |
다중회귀분석의 변수 선택 방법
다중회귀분석에서는 독립변수가 여러 개 존재한다.
그러면 반드시 발생하는 문제가 하나 있다.
그 문제는 바로
어떤 독립변수를 모델에 포함해야 하는가
이다.
독립변수 후보가 많으면 이론적으로는
가능한 모든 변수 조합을 테스트해서 가장 좋은 모델을 찾을 수 있다.
하지만 실제로는 그 방법이 거의 불가능하다.
왜냐하면
변수가 k개이면 가능한 모델 수가
2^k
개가 되기 때문이다.
그래서 현실적으로는 모든 조합을 비교하지 않고 효율적으로 변수 선택을 하는 알고리즘을 사용한다.
대표적인 방법이 바로
단계적 변수 선택 방법 (Stepwise Variable Selection)
이다.
단계적 변수 선택 방법에는 대표적으로 세 가지가 있다.
1. 전진 선택법 (Forward Selection)
2. 후진 제거법 (Backward Elimination)
3. 단계적 방법 (Stepwise Selection)
이상적으로는 독립변수의 조합에 따라 만들어지는 선형 모델 모두를 비교하여 최고의 모델을 선정할 수있다. 이러한 방법을 모든 가능한 조합의 회귀분석이라 한다.
다중회귀 모델 선택의 가장 이상적인 방법을 설명하고 있다.
다중회귀에서는 독립변수가 여러 개 존재한다.
예를 들어
독립변수
- (X_1)
- (X_2)
- (X_3)
이렇게 3개가 있다고 하자.
그러면 가능한 모델은 다음과 같이 만들어진다.

이처럼 가능한 모든 변수 조합으로 모델을 만들고 그 중에서 가장 좋은 모델을 선택하는 방법을
모든 가능한 조합의 회귀분석 (All Possible Regression)
이라고 한다.
왜?
왜 이런 방법이 가장 이상적인지 이해하려면 다중회귀 모델의 본질을 이해해야 한다. 다중회귀에서는 어떤 독립변수가 실제로 종속변수에 영향을 주는지 사전에 완전히 알 수 없기 때문에, 가능한 모든 변수 조합을 만들어 각각의 모델 성능을 비교하면 이론적으로는 가장 좋은 모델을 선택할 수 있기 때문이다. 즉 변수 선택 과정에서 특정 변수 조합을 미리 가정하지 않고 가능한 모든 모델을 탐색하면 설명력이 가장 높고 동시에 불필요한 변수가 포함되지 않은 모델을 찾을 수 있기 때문에 통계적으로 가장 완전한 방법이라고 볼 수 있다.
용어 설명
선형 모델 (Linear Model)
선형 관계를 가정하는 모델
수식 형태

여기서
β (beta)
회귀계수
조합 (Combination)
변수를 선택하는 경우의 수
예

3개 중 2개 선택
수식
가능한 모델 개수

읽는 방법
2의 k 제곱
기호 의미
k
독립변수 개수
예시
독립변수
4개
이면
가능한 모델 수

하지만 변수가 k개인 경우, k개 변수들의 일부를 포함하는 총 모델의 수는 2^k개에 이르므로, 모델 모두를 고려하기는 현실적으로 불가능하기 떄문에 단계적 변수 선택 방법을 사요한다.
왜 단계적 변수 선택 방법이 필요한지
독립변수가 k개이면 가능한 모델 개수는
2^k
개가 된다.
예를 들어
독립변수가
10개
이면
가능한 모델 수는
2^{10} = 1024
개가 된다.
독립변수가
20개 이면
2^{20} = 1,048,576
개가 된다.
이렇게 되면 모든 모델을 계산하고 비교하는 것이 현실적으로 매우 어렵기 때문에
효율적으로 변수 선택을 하는 알고리즘이 필요하다.
그 방법이
단계적 변수 선택 방법
이다.
왜?
왜 모델 수가 이렇게 기하급수적으로 증가하는지를 이해해야 한다. 독립변수 하나는 모델에 포함될 수도 있고 포함되지 않을 수도 있기 때문에 각 변수마다 두 가지 선택이 존재하게 된다. 즉 변수 하나당 선택 경우가 두 개이고 이런 선택이 k개의 변수에 대해 반복되므로 전체 가능한 모델 수는 2 곱하기 2 곱하기 2가 k번 반복되는 구조가 된다. 그래서 가능한 모델 개수는 2의 k 제곱이 되는 것이며 변수 개수가 조금만 늘어나도 모델 수가 폭발적으로 증가하게 된다.
단계적 변수 선택 방법의 3가지 유형은 다음과 같다.
단계적 변수 선택 방법은
Stepwise Variable Selection
이라고 부른다.
이 방법은 모든 모델을 비교하지 않고
일부 모델만 탐색하면서 변수 선택을 진행하는 방법이다.
대표적으로 세 가지 방법이 존재한다.
1. Forward Selection
2. Backward Elimination
3. Stepwise Selection
단계적 변수 선택 방법 1) 전진선택법(Forward Selection):
모델적합에 가장 큰 영향을 미치는 독립변수를 순서대로 추가하여 성능지표를 비교하면서 변수를 선택하는 방법, 한 번 선택한 변수는 제거하지 않음.
전진선택법은 처음에는 독립변수를 하나도 사용하지 않고 시작한다.
그리고 종속변수를 가장 잘 설명하는 변수부터 하나씩 추가한다.
왜?
왜 처음에 변수 없이 시작하는지를 이해하려면 변수의 영향력을 단계적으로 평가하는 개념을 이해해야 한다. 전진선택법은 독립변수 중 어떤 변수가 가장 큰 설명력을 가지는지 하나씩 확인하면서 모델을 확장하는 방식이기 때문에 처음에는 아무 변수도 포함하지 않은 상태에서 시작한다. 그리고 각각의 변수 하나씩을 모델에 넣어보고 가장 설명력이 높은 변수를 선택하여 모델에 추가하게 된다. 이후에는 남은 변수 중에서 추가했을 때 모델 성능을 가장 많이 개선하는 변수를 다시 선택하여 추가하는 과정을 반복하게 된다.
Forward
앞으로
Selection
선택
예시
빈 모델 → 변수 1개 → 변수 2개 → 변수 3개
이렇게 점점 추가한다.
상황
집값을 예측한다고 하자.
목표변수
- (y) : 집값
독립변수 후보
- (x_1) : 면적
- (x_2) : 방 개수
- (x_3) : 지하철 거리
- (x_4) : 건물 나이
1단계 (빈 모델)
처음에는

절편만 있는 모델이다.
2단계 (변수 하나씩 넣어봄)
각 변수 하나씩 넣어본다.

그리고
- p값
- AIC
- Cp
- Adjusted (R^2)
같은 기준으로 가장 좋은 변수 하나 선택
예
면적 (x_1) 이 가장 좋다고 하자.

3단계 (두 번째 변수 추가)
이제

그리고 다시
- p값
- AIC
- Cp
가장 좋은 모델 선택.
예
방 개수 (x_2) 선택.
4단계 (세 번째 변수)
현재 모델

남은 변수
- (x_3)
- (x_4)
두 개를 각각 추가해본다.
멈추는 기준
다음 변수 추가했을 때
- p값 > 0.05
- AIC 증가
- Cp 증가
이면
변수 추가 중단
최종 모델 예
최종 모델

즉
- 면적
- 방 개수
두 변수만 사용.
전진선택법 특징
장점
- 계산량 적음
- 변수 많은 경우 유리
단점
- 한번 넣은 변수는 다시 제거 못함
그래서
후진제거법 (Backward)
단계선택법 (Stepwise)
같이 사용한다.
전진선택법
변수 없음 → 가장 좋은 변수 추가 → 또 추가 → 멈출 때까지 반복
장점: 이해용이, 변수 많은 경우 사용 가능.
전진선택법은 알고리즘 구조가 단순하기 때문에 이해하기 쉽고, 독립변수 개수가 매우 많은 경우에도 적용할 수 있다는 장점이 있다.
단점: 변수의 작은 변동에도 영향을 받음.
데이터가 조금만 변해도 변수 선택 결과가 달라질 수 있다는 의미이다.
단계적 변수 선택 방법 2) 후진제거법:
모델적합에 가장 약하게 영향을 미치는 독립변수를 순서대로 제거해가며 성능지표를 비교하면서 변수를 선택하는 방법.
후진제거법은 처음부터 모든 독립변수를 포함한 모델로 시작한다.
그리고 가장 영향력이 작은 변수를 하나씩 제거한다.
왜?
왜 모든 변수로 시작하는지를 이해하려면 후진제거법의 기본 철학을 이해해야 한다. 후진제거법은 모든 변수를 포함한 상태에서 시작하여 각 변수의 중요도를 평가하고 가장 영향력이 작은 변수부터 제거하는 방식으로 진행된다. 이렇게 하면 모델에서 실제로 필요 없는 변수를 제거하면서 모델을 점점 단순화할 수 있으며 처음부터 전체 정보를 가지고 시작하기 때문에 변수 간 상호작용이나 상관관계를 보다 안정적으로 평가할 수 있는 장점이 있다.
모든 변수 → 변수 제거 → 변수 제거 → 변수 제거
이렇게 줄여간다.
예시 상황
집값 예측 모델
종속변수
- (y) : 집값
독립변수 후보
- (x_1) : 면적
- (x_2) : 방 개수
- (x_3) : 지하철 거리
- (x_4) : 건물 나이
1단계 (모든 변수 넣기)
처음에는 모든 변수 사용

2단계 (가장 의미 없는 변수 제거)
각 변수의 p값 확인
예
| 변수 | p값 |
| 면적 | 0.001 |
| 방 개수 | 0.01 |
| 지하철 거리 | 0.40 |
| 건물 나이 | 0.03 |
여기서
지하철 거리 p값 = 0.40
유의수준 0.05보다 큼.
그래서
x₃ 제거

3단계 (다시 회귀분석)
새 모델

다시 p값 확인.
예
| 변수 | p값 |
| 면적 | 0.002 |
| 방 개수 | 0.03 |
| 건물 나이 | 0.12 |
이번에는
건물 나이 p값 = 0.12
그래서 제거.
4단계
최종 모델

모든 변수 p값 < 0.05
그래서 여기서 멈춤
후진제거법 특징
장점
- 변수 영향력 정확히 평가 가능
단점
- 변수 많으면 계산량 많음
또
표본 수보다 변수가 많으면 사용 불가
모든 변수 넣기 → p값 큰 변수 제거 → 반복 → 최종 모델
단계적 변수 선택 방법 3) 단계적 방법:
전진선택법과 후진제거법을 병행하는 방법, 추가된 변수에 의해 기존 변수의 중요도가 작아지면 추가된 변수를 제거.
단계적 방법은
Forward + Backward
두 방법을 동시에 사용하는 방법이다.
즉
변수를 추가하기도 하고
제거하기도 한다.
왜?
왜 이런 방법이 필요한지를 이해하려면 전진선택법과 후진제거법의 한계를 이해해야 한다. 전진선택법은 한 번 추가된 변수를 제거할 수 없기 때문에 나중에 더 좋은 변수 조합이 나타나도 수정이 어렵다. 반대로 후진제거법은 처음부터 모든 변수를 사용해야 하기 때문에 독립변수 개수가 많으면 계산이 어려워질 수 있다. 그래서 두 방법의 장점을 결합하여 변수를 추가하면서 동시에 필요 없는 변수를 제거하는 방식이 단계적 방법이다.
정리
다중회귀 변수 선택 방법
| 방법 | 시작 | 특징 |
| Forward | 변수 없음 | 하나씩 추가 |
| Backward | 모든 변수 | 하나씩 제거 |
| Stepwise | 둘 결합 | 추가 + 제거 |
1. 다중회귀분석에서 회귀계수의 유의성 검정
여기서는 각 독립변수의 회귀계수 beta_i 가
정말로 종속변수 (Y) 에 영향을 주는지, 아니면 우연히 그렇게 보이는지를 판단하기 위해
t검정(t-test) 을 수행한다.
흐름은 이렇다.

즉,
- 회귀계수를 먼저 구하고
- 그다음 그 계수가 유의한지 검정한다
2. 다중회귀분석에서 모델 전체의 적합성 검정
여기서는 개별 변수 하나하나가 아니라
모델 전체가 유의한가, 즉
이 회귀모형 전체가 종속변수를 설명하는 데 의미가 있는가를 판단한다.
이때 사용하는 것이
- 분산분석(ANOVA, Analysis of Variance)
- F검정(F-test)
이다.
흐름은 이렇다.

즉,
- t검정은 각 회귀계수 하나하나
- F검정은 모델 전체
를 본다는 점이 핵심이다.
다중회귀분석의 회귀계수는 최소제곱법으로 추정하며, 추정된 회귀계수의 유의성을 판단하기 위해서 t검정을 수행한다.
다중회귀분석에서 가장 먼저 해야 하는 두 가지 작업을 말하고 있다.
첫째, 회귀계수(regression coefficient) 를 구해야 한다.
즉 독립변수 (X_1, X_2, ..., X_k) 가 종속변수 (Y) 에 얼마나 영향을 주는지를 숫자로 추정해야 한다.
둘째, 그렇게 구한 회귀계수가 단순히 계산상 나온 값인지,
아니면 통계적으로도 의미 있는 값인지 확인해야 한다.
그 확인 방법이 바로 t검정(t-test) 이다.
즉

이라는 흐름
왜?
왜 회귀계수를 먼저 구하고, 또 그다음에 t검정을 해야 하는지를 이해하려면 회귀분석의 목적부터 봐야 한다. 회귀분석은 단순히 선을 하나 그리는 작업이 아니라, 독립변수가 종속변수에 실제로 영향을 주는지를 데이터로 판단하는 작업이다. 그런데 데이터에서 계산된 회귀계수는 항상 어떤 숫자로 나오기 때문에, 값이 나왔다는 사실만으로는 그 변수가 정말 의미 있다고 말할 수 없다. 표본의 우연한 흔들림 때문에도 계수가 0이 아닌 값으로 나올 수 있기 때문이다.
왜냐하면 현실의 데이터는 항상 오차(error), 잡음(noise), 표본 변동(sampling variation)을 포함하고 있어서, 실제로는 영향이 없는 변수도 표본에서는 마치 영향이 있는 것처럼 보일 수 있기 때문이다. 그래서 최소제곱법으로 계수를 계산한 다음, 그 계수가 0과 충분히 다르다고 볼 수 있는지 검정해야 한다. 이때 사용하는 것이 t검정이며, 결국 t검정은 “이 변수의 효과가 우연이 아니라 실제라고 볼 수 있는가?”를 따지는 절차라고 이해하면 된다.
유의성 (Significance)
통계적으로 의미가 있다는 뜻이다.
즉 단순히 숫자가 나왔다는 것이 아니라,
우연히 나온 값이 아니라 실제 효과가 있다고 볼 수 있는가를 의미한다.
t검정 (t-test)
회귀계수 하나하나에 대해
그 계수가 0인지 아닌지를 검정하는 방법이다.
수식
다중회귀모형의 기본식은

최소제곱법은 다음 값을 최소화한다.

“i가 1부터 n까지, 실제값 (y_i) 에서 예측값 hat{y}_i 를 뺀 것의 제곱을 모두 더한 값”
이다.
즉 잔차제곱합(RSS, Residual Sum of Squares) 을 최소로 만드는 계수를 찾는 것이다.
예시
예를 들어 종속변수를 시험점수 (Y), 독립변수를 공부시간 (X_1), 수면시간 (X_2) 로 둔다고 하자.
회귀식이

로 나왔다면
- 절편 30은 공부시간과 수면시간이 0일 때의 예측 점수
- (X_1) 의 회귀계수 5는 공부시간이 1시간 늘면 시험점수가 평균 5점 증가한다는 뜻
- (X_2) 의 회귀계수 2는 수면시간이 1시간 늘면 시험점수가 평균 2점 증가한다는 뜻
이다.
그런데 여기서 중요한 건 “5”와 “2”라는 숫자가 나왔다는 사실 자체가 아니라,
이 값들이 통계적으로 진짜 의미가 있는지 판단해야 한다는 점이다.
그래서 t검정을 하게 된다.
회귀계수의 t통계량은 해당 회귀계수가 통계적으로 얼마나 유의한가를 나타낸다.
t검정에서 사용하는 숫자인 t통계량(t-statistic) 이 무엇을 의미하는지
t통계량은 간단히 말하면
회귀계수 추정값이 0에서 얼마나 떨어져 있는지를,
그 계수의 불확실성 크기인 표준오차(Standard Error) 로 나누어 본 값이다.
즉
- 회귀계수가 크고
- 표준오차가 작으면
t통계량이 커진다.
반대로
- 회귀계수가 작거나
- 표준오차가 크면
t통계량이 작아진다.
왜?
왜 회귀계수의 크기만 보면 안 되고 t통계량을 따로 보는지를 이해해야 한다. 회귀계수가 3이라고 해도 그 값이 아주 안정적으로 추정된 3인지, 아니면 표본이 바뀌면 크게 흔들릴 수 있는 불안정한 3인지에 따라 의미가 완전히 달라지기 때문이다. 즉 숫자 자체보다도 그 숫자가 얼마나 믿을 만한 값인지가 중요하다. 그래서 회귀계수의 크기를 그 계수의 표준오차로 나누어 “효과 크기 대비 불확실성”을 함께 보는 것이 바로 t통계량이다.
왜냐하면 표준오차가 크다는 것은 그 회귀계수 추정값이 많이 흔들릴 수 있다는 뜻이므로, 계수가 조금 커 보여도 신뢰하기 어렵기 때문이다. 반대로 표준오차가 작으면 같은 계수값이라도 훨씬 더 안정적이고 믿을 수 있는 효과로 해석할 수 있다. 따라서 t통계량은 단순한 계수의 절대 크기가 아니라, “그 계수가 우연이라고 보기엔 얼마나 멀리 떨어져 있는가”를 보여주는 기준이라고 이해해야 한다.
t통계량 (t-statistic)
검정통계량(test statistic)의 한 종류다.
회귀계수가 귀무가설 값인 0에서 얼마나 떨어져 있는지를 측정한다.
표준오차 (Standard Error, SE)
회귀계수 추정값의 흔들림 정도를 나타낸다.
즉 표본이 달라졌을 때 회귀계수가 얼마나 변할 수 있는지를 보여준다.
- Standard = 표준
- Error = 오차
표준오차가 작으면 추정이 안정적이다.
표준오차가 크면 추정이 불안정하다.
수식
회귀계수 beta_j 에 대한 t통계량은 보통

로 쓴다.
읽는 법은
“t는 추정된 베타제이에서 귀무가설 아래의 베타값을 뺀 것을, 추정된 베타제이의 표준오차로 나눈 값”
이다.
대부분 귀무가설이

이므로 보통은

로 계산한다.
즉
- hat{beta}: 표본에서 추정한 회귀계수
- (SE(hat{beta}_j)): 그 계수의 표준오차
이다.
예시
예를 들어 어떤 변수의 회귀계수 추정값이

이고 표준오차가

이면

가 된다.
이건 0에서 표준오차 4배만큼 떨어져 있다는 뜻이므로 꽤 유의할 가능성이 크다.
반대로

이 된다.
이 경우는 0에서 멀리 떨어졌다고 보기 어려우므로 통계적으로 유의하지 않을 가능성이 크다.

유의성 검정 수행 과정
1단계:귀무가설 및 대립가설 설정. 2단계:검정통계량. 3단계:가설 검정(기각역). 4단계:유의성 검정(p값 사용).
회귀계수에 대한 t검정을 할 때의 절차를 단계별로 설명하고 있다.
즉 회귀계수 하나를 검정할 때는 그냥 t값만 보고 끝나는 것이 아니라
정해진 가설검정 절차에 따라 판단해야 한다
순서는 다음과 같다.
- 귀무가설과 대립가설 세우기
- 검정통계량 계산하기
- 기각역 방식으로 판정하기
- p값 방식으로 판정하기
왜?
왜 이런 절차를 반드시 거쳐야 하는지를 이해하려면 통계적 검정의 목적을 봐야 한다. 통계검정은 “느낌상 큰 것 같다” 혹은 “숫자가 좀 있어 보인다” 같은 직관으로 결론 내리는 것이 아니라, 표본에서 나온 결과가 우연으로 설명될 수 있는지를 형식적으로 따지는 절차다. 그래서 먼저 무엇을 기본 주장으로 둘지 정해야 하고, 그다음 그 주장 아래에서 관측된 통계량이 얼마나 드문지를 계산하여 판단해야 한다.
왜냐하면 귀무가설과 대립가설 없이 t값만 덜렁 계산해 놓으면, 그 값이 무엇을 의미하는지 해석할 기준이 사라지기 때문이다. 또 기각역과 p값을 통해 유의수준 (alpha) 와 비교해야만 “이 정도면 우연이라고 보기 어렵다”라는 통계적 결론을 내릴 수 있다. 즉 검정 절차는 형식적인 장식이 아니라, 데이터로부터 일관된 결론을 내리기 위한 최소한의 논리 구조라고 보면 된다.
1단계: 귀무가설 및 대립가설 설정
문장 의미
회귀계수 검정에서는 보통
해당 독립변수가 종속변수에 영향을 주지 않는다는 주장을 먼저 기본값으로 둔다.
즉 귀무가설은 보통

이다.
대립가설은

이다.
귀무가설 (Null Hypothesis, (H_0))
기본 가설, 변화나 효과가 없다고 보는 가설
대립가설 (Alternative Hypothesis, (H_1) 또는 (H_a))
귀무가설과 반대되는 주장, 효과가 있다고 보는 가설
왜?
왜 귀무가설을 “영향이 없다”로 두는지를 이해해야 한다. 통계학에서는 보통 특별한 효과가 있다고 바로 주장하지 않고, 먼저 아무 효과도 없다는 보수적인 출발점을 둔 다음 데이터가 충분히 강한 증거를 줄 때만 그 가설을 기각한다. 즉 회귀계수 검정에서도 해당 변수의 효과가 없다는 상태를 기본값으로 두고, 표본이 그 기본값과 너무 다를 때만 영향이 있다고 결론 내리는 구조를 취한다.
왜냐하면 실제 데이터에서는 우연한 흔들림 때문에 0이 아닌 계수가 쉽게 관측될 수 있기 때문이다. 따라서 처음부터 “효과가 있다”고 가정해 버리면 잘못된 결론을 낼 위험이 커진다. 그래서 “효과 없음”을 기본으로 두고, 그 기본값 아래에서는 지금 같은 데이터가 나오기 어렵다는 증거가 충분히 쌓였을 때만 대립가설을 받아들이는 것이 통계검정의 핵심 철학이다.
2단계: 검정통계량
가설을 세운 뒤에는 표본 데이터로부터
검정을 위한 숫자를 계산해야 한다.
그 숫자가 바로 검정통계량이고, 여기서는 t통계량이다.
수식

귀무가설이 beta_j=0) 일 때 사용하는 식이다.
왜?
왜 검정통계량이라는 숫자 하나로 판단하려는지를 이해해야 한다. 표본데이터 전체를 직접 비교하는 것은 너무 복잡하고, 매번 다른 데이터셋을 일관되게 판정하기 어렵다. 그래서 표본정보를 하나의 요약된 숫자로 압축한 것이 검정통계량이다. t통계량은 회귀계수와 표준오차를 결합하여 “효과 크기 대비 불확실성”을 한 번에 보여주므로, 가설검정에 매우 적합한 형태가 된다.
왜냐하면 회귀계수 추정값만 봐서는 그 값이 큰지 작은지, 의미 있는지 없는지를 즉시 판단할 수 없고, 표준오차만 봐서도 결론을 내릴 수 없기 때문이다. 두 정보를 합쳐서 만든 t통계량은 0에서 얼마나 멀리 떨어져 있는지를 표준화한 값이기 때문에, 서로 다른 변수끼리도 공통된 기준으로 비교할 수 있게 해준다.
3단계: 가설 검정(기각역)
문장 의미
계산한 t통계량이
미리 정해 둔 임계값보다 충분히 크거나 작으면
귀무가설을 기각한다.
예를 들어 양측검정이면

일 때 귀무가설을 기각한다.
용어 설명
기각역 (Rejection Region)
귀무가설을 버리는 영역
임계값 (Critical Value)
기각과 기각하지 않음을 가르는 기준값
자유도 (degrees of freedom, df)
회귀계수 검정에서는 보통
df = n-k-1
이다.
여기서
- (n): 표본 크기
- (k): 독립변수 개수
- (-1): 절편 하나 추정에 사용
이다.
왜?
왜 기각역이라는 개념이 필요한지를 이해해야 한다. t값이 2.1이면 큰지 작은지, 1.7이면 애매한지 아닌지는 그냥 숫자만 보고는 판단할 수 없다. 그래서 사전에 “유의수준 5%에서 이 정도보다 극단적이면 귀무가설을 기각하자”는 기준선을 정해 두는 것이 기각역이다. 이 기준이 있어야 같은 규칙으로 일관되게 판단할 수 있고, 사람마다 자의적으로 결론을 바꾸는 일을 막을 수 있다.
왜냐하면 통계검정은 단순히 눈대중으로 판단하는 것이 아니라, 귀무가설이 참일 때도 아주 드물게 나올 수 있는 극단적인 결과를 기준으로 결론을 내리기 때문이다. 기각역은 바로 그 “드문 정도”를 수치화해 놓은 영역이며, 관측된 t통계량이 그 안에 들어간다면 “이건 귀무가설 아래에서는 너무 드문 결과다”라고 보고 귀무가설을 기각하게 된다.
4단계: 유의성 검정(p값 사용)
문장 의미
기각역 방식 대신
p값(p-value) 으로도 판단할 수 있다.
기준은

이다.
보통 (alpha = 0.05) 를 많이 사용한다.
용어 설명
p값 (p-value)
귀무가설이 참이라고 가정했을 때,
지금처럼 극단적이거나 더 극단적인 결과가 나올 확률
왜?
왜 p값을 사용하는지를 이해하려면 기각역 방식과의 관계를 보면 된다. 기각역 방식은 “임계값보다 큰가 작은가”를 보는 이분법적 판단인데, p값은 현재 결과가 귀무가설 아래에서 얼마나 드문지를 확률로 직접 보여준다. 그래서 단순히 기각하느냐 마느냐뿐 아니라, 얼마나 강한 증거인지까지 해석하기 쉬워진다. 예를 들어 p값이 0.049와 0.0001은 둘 다 기각이지만, 후자가 훨씬 더 강한 증거임을 알 수 있다.
왜냐하면 p값은 현재 데이터가 귀무가설과 얼마나 충돌하는지를 정량적으로 표현해 주기 때문이다. 유의수준 (alpha) 가 허용 가능한 오판의 최대 기준이라면, p값은 실제 관측 결과가 그 기준에 비해 얼마나 작은지를 보여주는 값이다. 따라서 실무나 소프트웨어 출력에서는 보통 기각역보다 p값을 더 자주 사용하며, 회귀분석 결과표에서도 각 회귀계수 옆에 p값이 함께 제시된다.
예시
어떤 회귀계수에 대해

이 나온다.
유의수준 0.05, 자유도 적절한 상황에서 임계값이 대략 2 정도라면
(|t|=3) 은 임계값보다 크므로 귀무가설을 기각한다.
또 p값이 예를 들어

이므로 역시 귀무가설을 기각한다.
즉 이 독립변수는 종속변수에 통계적으로 유의한 영향을 준다고 해석한다.
다중회귀분석의 모델 적합성 검정
다중회귀분석의 모델 적합성 검정은 단순회귀분석의 모델 적합성 검정 과정과 동일하며 분산분석(ANOVA)를 이용하여 검정한다.
다중회귀분석에서도
모델 전체가 유의한지 검정하는 방식은 단순회귀분석과 기본 구조가 같다는 뜻이다.
단지 독립변수 개수가 하나냐 여러 개냐의 차이가 있을 뿐,
모형 전체의 설명력을 검정하는 방법 자체는 같고,
그 방법이 바로 분산분석(ANOVA) 과 F검정이라는 의미다.
왜?
왜 모델 전체에 대해서도 따로 검정해야 하는지를 이해해야 한다. t검정은 각 독립변수 하나하나의 유의성을 보여주지만, 그것만으로는 회귀모형 전체가 의미 있는지까지 바로 결론 내릴 수는 없기 때문이다. 어떤 경우에는 개별 변수 중 일부는 애매하더라도 여러 변수가 함께 있을 때 모델 전체로는 유의할 수 있고, 반대로 각 변수의 계수 추정값이 조금씩 있어 보여도 전체적으로는 설명력이 부족할 수 있다.
왜냐하면 회귀모델은 개별 계수들의 단순 나열이 아니라, 여러 독립변수가 함께 종속변수 변동을 설명하는 구조이기 때문이다. 따라서 “이 모델 전체가 종속변수 설명에 의미가 있는가?”라는 질문에 답하려면 회귀가 설명한 변동과 오차로 남은 변동을 비교해야 하고, 바로 그 비교를 체계적으로 수행하는 도구가 분산분석과 F검정이다.
용어 설명
모델 적합성 (Model Fit)
모델이 데이터를 얼마나 잘 설명하는가를 뜻한다.
분산분석 (ANOVA, Analysis of Variance)
- Analysis = 분석
- of Variance = 분산의
즉 분산을 나누어 분석하는 방법이다.
회귀분석에서는 전체 변동을
- 회귀가 설명한 부분
- 오차로 남은 부분
으로 나누어 본다.
수식
전체 변동은

- (SST): Total Sum of Squares, 전체제곱합
- (SSR): Regression Sum of Squares, 회귀제곱합, 모델이 설명한 변동
- (SSE): Error Sum of Squares, 오차제곱합, 모델이 설명하지 못한 변동
즉 전체 변동을
설명된 변동과 설명되지 않은 변동으로 나누어 보는 것이다.
예시
학생 점수 데이터에서 전체 점수 변동이 100이라고 하자.
그중 회귀모델이 설명한 변동이 70이면
SSR = 70
이고 오차로 남은 변동이 30이면
SSE = 30
이다.
따라서
SST = 70 + 30 = 100
이 된다.
즉 이 모델은 전체 변동 100 중 70을 설명하고 30은 설명하지 못한 것이다.
다중회귀분석 분산분석 과정
1단계: 귀무가설 및 대립가설 설정. 2단계: 검정통계량 F값(f). 3단계: 가설 검정(기각역). 4단계: 유의성 검정(p값 사용)
다중회귀모형 전체의 적합성을 검정할 때도
가설검정 절차를 따른다
단, 여기서는 t통계량이 아니라
F통계량(F-statistic) 을 사용한다.
즉 전체 모델 검정은
- 가설 설정
- F값 계산
- 기각역 방식 판단
- p값 방식 판단
의 순서로 진행된다.
1단계: 귀무가설 및 대립가설 설정
모델 전체 검정에서는 귀무가설을 보통

로 둔다.
즉 모든 독립변수의 회귀계수가 0이라는 뜻이다.
대립가설은

이다.
즉 최소한 하나의 독립변수는 종속변수 설명에 기여한다는 뜻이다.
왜?
왜 전체 모델 검정의 귀무가설을 “모든 회귀계수가 0이다”로 두는지를 이해해야 한다. 모델 전체가 무의미하다는 것은 결국 독립변수들을 아무리 넣어도 종속변수 설명력이 없다는 뜻이므로, 각 독립변수의 효과가 전부 0이라는 형태로 표현된다. 반대로 모델이 의미 있다는 것은 적어도 하나의 독립변수는 종속변수와 관련이 있다는 뜻이므로, 대립가설은 “적어도 하나는 0이 아니다”가 된다.
왜냐하면 다중회귀모형 전체의 유의성은 개별 변수 하나의 존재가 아니라, 여러 변수 집합이 함께 설명력을 가지는지 여부를 묻는 것이기 때문이다. 따라서 전체 검정에서는 각 계수를 하나씩 따로 보지 않고, 계수들이 전부 0이라는 극단적 상황을 귀무가설로 두고, 데이터가 그 가설과 충돌하는지를 F검정으로 판단하게 된다.
2단계: 검정통계량 F값(f)
모형 전체의 유의성을 판단하기 위해
F값(F statistic) 을 계산한다.
F값은
회귀가 설명한 평균변동과
오차의 평균변동을 비교한 값이다.
즉 회귀가 설명한 부분이 오차보다 충분히 크면
좋은 모델이라고 판단한다.
용어 설명
F값 (F-statistic)
분산비율을 보는 검정통계량이다.
회귀분석에서는

로 계산한다.
여기서
- (MSR): Mean Square Regression, 회귀평균제곱
- (MSE): Mean Square Error, 오차평균제곱
이다.
수식

- (k): 독립변수 개수
- (n): 표본 수
이다.
왜?
왜 F값이 회귀평균제곱을 오차평균제곱으로 나눈 형태인지를 이해해야 한다. 회귀가 설명한 변동이 크고 오차로 남은 변동이 작다면, 그 모델은 종속변수를 잘 설명한다고 볼 수 있다. 반대로 회귀가 설명한 부분이 오차와 별 차이가 없다면, 독립변수들을 넣어도 특별히 나아진 것이 없다고 봐야 한다. 그래서 회귀 쪽 평균변동과 오차 쪽 평균변동의 비율을 비교하는 것이 모델 전체 유의성 판단에 자연스럽게 연결된다.
왜냐하면 귀무가설이 참이라면, 즉 모든 회귀계수가 0이라면 회귀가 설명한 변동과 오차 변동이 특별히 다를 이유가 없다. 이 경우 F값은 1 근처가 되기 쉽다. 반대로 모델이 정말 유의하다면 회귀가 설명한 변동이 오차보다 훨씬 커지므로 F값이 1보다 크게 나타난다. 따라서 F검정은 “설명된 변동이 우연 수준을 넘어설 만큼 충분히 큰가?”를 보는 검정이라고 이해하면 된다.
3단계: 가설 검정(기각역)
계산한 F값이
유의수준과 자유도에 따라 정해진 F임계값보다 크면
귀무가설을 기각한다.
즉

이면 귀무가설을 기각한다.
여기서
- 첫 번째 자유도: (k), 회귀 자유도
- 두 번째 자유도: (n-k-1), 오차 자유도
왜?
왜 F검정에서는 보통 오른쪽 꼬리만 보는지를 이해해야 한다. F값은 분산의 비율이기 때문에 음수가 될 수 없고, 회귀가 설명한 변동이 오차보다 훨씬 클수록 큰 값이 나온다. 모델이 유의하지 않다면 F값은 1 근처에 머무르기 쉽고, 모델이 유의할수록 오른쪽으로 크게 치우친 값이 나온다. 그래서 F검정의 기각역은 보통 오른쪽 한쪽에만 존재하며, 임계값보다 크면 귀무가설을 기각하게 된다.
왜냐하면 회귀모형 전체 유의성의 핵심은 “설명력이 오차보다 충분히 큰가”이기 때문이다. 설명력이 작아서 문제가 되는 것이 아니라, 설명력이 우연히 기대되는 수준보다 유난히 큰지가 핵심이므로, 큰 F값만이 귀무가설에 불리한 증거가 된다. 이것이 t검정의 양측검정과 F검정의 우측검정이 구조적으로 다른 이유다.
4단계: 유의성 검정(p값 사용)
F값에 대응하는 p값을 구한 뒤

으로 판단한다.
즉 p값이 작을수록
모델 전체가 유의하다고 본다.
왜?
왜 F검정에서도 결국 p값으로 많이 판단하는지를 이해해야 한다. 실제 통계 프로그램에서는 F값만 던져 주는 것이 아니라 그 F값에 해당하는 p값까지 함께 제공하므로, 사용자는 유의수준과 직접 비교하여 훨씬 편하게 결론을 내릴 수 있다. 또한 p값은 현재 관측된 모델 설명력이 귀무가설 아래에서 얼마나 드문지를 확률로 보여 주기 때문에, 단순한 임계값 비교보다 해석이 더 직관적일 수 있다.
왜냐하면 동일하게 “기각”이라는 결론이 나와도 p값의 크기에 따라 증거의 강도를 구분할 수 있기 때문이다. 예를 들어 p값이 0.049이면 간신히 유의한 수준이고, 0.000001이면 매우 강한 증거라고 볼 수 있다. 따라서 실무와 시험 모두에서 F검정 결과를 볼 때는 F값 자체뿐 아니라 p값을 함께 읽는 습관이 중요하다.
예시
어떤 다중회귀모형에서
- (SSR = 120)
- (SSE = 80)
- (n = 30)
- (k = 2)
라고 하자.
그러면

이 값이 임계값보다 충분히 크고, p값도 0.05보다 작다면
귀무가설을 기각한다.
즉 이 모델은 전체적으로 유의한 회귀모형이라고 해석한다.
모델 설명력 확인, 결정계수
- 회귀분석에서 데이터의 전체 변동(SST) 을 먼저 본다
- 그 변동을
- 회귀가 설명한 부분(SSR)
- 설명하지 못한 오차(SSE)
로 나눈다
- 결정계수 (R^2) 는 전체 변동 중에서
회귀모델이 설명한 비율이다 - 그런데 독립변수를 계속 추가하면 R²는 무조건 증가하는 문제가 있다
- 그래서 변수 개수에 패널티를 주는 수정된 결정계수를 사용한다
다중회귀분석의 결정계수는 다음과 같다.
1- (SST-SSR/SST) = 1 -(SSE/SST) = SSR/SST.
다중회귀분석에서 모델이 데이터를 얼마나 잘 설명하는지 나타내는 지표인 결정계수 (R^2)
즉 전체 데이터의 변동 중에서 회귀모델이 설명한 변동이 얼마나 되는지를 수식으로 표현한 것이며, 전체 변동 대비 설명된 비율을 나타내는 값이 바로 결정계수라는 의미이다.
왜?
왜냐하면 회귀분석의 목적은 단순히 예측식을 만드는 것이 아니라 종속변수 (Y) 의 변동이 독립변수 (X) 들에 의해 얼마나 설명되는지를 파악하는 것이기 때문이다.
따라서 데이터의 전체 변동을 기준으로 해서 모델이 설명한 부분과 설명하지 못한 부분을 비교해야 모델의 성능을 객관적으로 판단할 수 있기 때문에 이런 형태의 비율 수식이 사용된다.
용어 설명
SST
SST = Total Sum of Squares
영어: Total Sum of Squares
의미: 전체 변동
수식

- (y_i) : i번째 관측값
- (bar{y}) : y의 평균
각 데이터가 평균에서 얼마나 떨어져 있는지를 제곱해서 모두 더한 값
즉
전체 데이터 변동
SSR
SSR = Regression Sum of Squares
영어: Regression Sum of Squares
의미: 회귀모델이 설명한 변동
수식

- (hat{y}_i) : 회귀식이 예측한 값
평균 대비 모델이 설명한 변동
SSE
SSE = Error Sum of Squares
영어: Error Sum of Squares
의미: 모델이 설명하지 못한 오차
수식

실제값과 예측값 차이
중요한 관계
SST = SSR + SSE
전체 변동 = 설명된 변동 + 설명되지 않은 변동
수식 설명

예시
학생 공부시간으로 시험점수 예측
| 학생 | 공부시간 | 점수 |
| 1 | 2 | 60 |
| 2 | 3 | 65 |
| 3 | 4 | 70 |
| 4 | 5 | 80 |
평균 점수

전체 변동
SST = 218.75
회귀가 설명한 변동
SSR = 180
오차
SSE = 38.75
결정계수

점수 변동의 82%를 공부시간이 설명
다중회귀분석은 독립변수가 n개 존재한다. 따라서 독립변수의 유의성과 관계없이 독립변수의 수가 많아지면 종속변수의 변동을 설명해주지 못하는 변수가 회귀 모델에 추가되어도 결정계수의 값이 커지는 경향이 있다.
다중회귀분석에서는 하나가 아니라 여러 개의 독립변수 (X_1, X_2, X_3 ... X_n) 이 존재하기 때문에, 설명력이 없는 변수라도 모델에 추가하면 결정계수 값이 감소하지 않고 오히려 증가하거나 유지되는 특성이 있다는 의미이다.
왜?
왜냐하면 회귀분석은 최소제곱법(OLS, Ordinary Least Squares) 을 사용하여 오차제곱합 (SSE) 를 최소화하는 방식으로 회귀식을 찾기 때문이다.
독립변수를 하나 더 추가하면 모델의 자유도가 증가하여 데이터에 더 잘 맞추는 방향으로 회귀식이 조정되기 때문에 SSE는 줄어들거나 최소한 증가하지 않게 되고, 그 결과 (R^2 = 1 - {SSE}/{SST}) 구조 때문에 R² 값은 감소하지 않고 증가하는 경향이 나타난다.
수식 구조
다중회귀식


예시
시험점수 예측
변수 1개
점수 = 공부시간
R² = 0.72
변수 추가
점수 = 공부시간 + 키 + 발사이즈
키와 발사이즈는 의미 없는 변수
그런데도
R² = 0.74
설명력 증가처럼 보임
이러한 단점을 보완하기 위해 변수가 추가되면 결정계수의 값이 감소하도록 패널티를 주는 수정된 결정계수를 활용하여 모델의 설명력을 판단할 것을 고려해야 한다
결정계수 (R^2) 는 변수가 많아질수록 무조건 커지는 문제가 있기 때문에,
변수 개수 증가에 대해 패널티를 부여하는 수정된 결정계수(Adjusted R²) 를 사용하여 모델의 설명력을 판단해야 한다
왜?
왜냐하면 실제 데이터 분석에서는 설명력이 없는 변수를 계속 추가하면 모델이 복잡해지고 과적합(overfitting) 이 발생할 수 있기 때문이다.
따라서 변수 수가 많아질수록 모델 복잡도에 대한 패널티를 부여해서 정말 설명력이 증가한 경우에만 값이 증가하도록 만든 지표가 필요하기 때문에 수정된 결정계수가 사용된다.
수정된 결정계수 수식

n
sample size
표본 개수
k
number of independent variables
독립변수 개수
의미
변수가 추가되면
분모
n-k-1
작아짐
→ 값 감소
→ 패널티 발생
수정된 결정계수는 결정계수와 동일하게 0~1 범위를 가지며, 1에 가까울수록 회귀 모델이 설명력이 높다는 것을 의미하고 또한 독립변수와 종속변수의 사이에 상관관계가 높을수록 1에 가까워지는 특성이 있다.
수정된 결정계수 역시 결정계수와 마찬가지로 0에서 1 사이의 값을 가지며, 값이 1에 가까울수록 회귀모델이 종속변수를 잘 설명한다는 의미이며, 독립변수와 종속변수 사이의 관계가 강할수록 값이 커진다
왜?
왜냐하면 수정된 결정계수도 기본적으로 설명된 변동 대비 전체 변동의 비율이라는 개념을 기반으로 만들어진 지표이기 때문에 값의 범위가 동일하며, 변수 추가에 대한 패널티만 추가된 형태일 뿐 기본적인 설명력 해석 구조는 동일하기 때문이다.
예시
모델 1
공부시간
R² = 0.82
Adjusted R² = 0.80
모델 2
공부시간 + 키 + 발사이즈
R² = 0.85
Adjusted R² = 0.79
해석
R² 는 증가했지만
Adjusted R² 감소
쓸데없는 변수 추가
정리
결정계수 (R^2)
→ 모델 설명력 비율
수정된 결정계수
→ 변수 개수 패널티를 반영한 설명력
다중회귀분석의 다중공선성 검정
다중공선성은 회귀분석에서 독립변수들 간에 강한 상관관계가 나타나는 문제이다.
다중공선성의 가장 기본 정의
즉 회귀분석에서 설명변수인 독립변수들끼리 서로 매우 비슷하게 움직이거나, 같이 증가하고 같이 감소하는 관계가 강하게 나타날 때 그 상황을 다중공선성이라고 부른다
왜?
왜냐하면 회귀분석은 원래 각 독립변수가 종속변수에 대해 각자 따로 얼마나 영향을 주는지를 나누어서 계산해야 하는데, 독립변수끼리 이미 너무 비슷하게 움직이면 모델 입장에서는 “이 영향이 X1 때문인지, X2 때문인지”를 구분하기 어려워지기 때문이다. 즉 회귀분석은 독립변수들이 어느 정도 서로 구분되는 정보를 주어야 각 변수의 고유한 역할을 계산할 수 있는데, 강한 상관관계가 생기면 그 구분이 흐려져서 문제가 된다.
용어
- 다중공선성: 여러 독립변수들 사이에 높은 선형 관계가 있는 현상
- 회귀분석(Regression Analysis): 독립변수가 종속변수에 미치는 관계를 식으로 추정하는 분석
- 독립변수(Independent Variable): 설명하는 변수, 원인 쪽 변수
- 상관관계(Correlation): 두 변수가 함께 움직이는 정도
수식/기호
독립변수 (X_1, X_2) 사이 상관계수는 보통

처럼 쓴다.
이 값이

면 강한 양의 상관관계,

면 강한 음의 상관관계이다.
예시
예를 들어 아파트 가격을 예측하는데
- 전용면적
- 방 개수
를 같이 넣으면, 보통 전용면적이 크면 방 개수도 많아질 가능성이 높다.
즉 두 독립변수가 서로 비슷한 정보를 담고 있어서 다중공선성이 생길 수 있다.
이러한 다중공선성 문제가 존재하면 정확한 회귀계수의 추정이 어려워진다.
다중공선성이 있으면 회귀분석의 결과로 나오는 회귀계수를 믿기 어려워진다
즉 모델이 각 변수의 영향력을 숫자로 잘 분리해서 추정하지 못하게 된다.
왜?
왜냐하면 회귀계수는 “다른 변수들을 고정했을 때, 이 변수 하나가 1단위 변하면 종속변수가 얼마나 변하는가”를 나타내야 하는데, 다중공선성이 있으면 다른 변수들을 고정하는 것 자체가 현실적으로 잘 안 되기 때문이다. 두 변수가 거의 같이 움직여버리면 하나만 따로 떼어서 effect를 보는 것이 어려워지고, 결국 회귀계수 추정이 흔들린다. 그래서 값이 크게 튀거나, 부호가 예상과 다르게 나오거나, 표준오차가 커지는 문제가 생긴다.
용어
- 회귀계수(Regression Coefficient): 독립변수의 영향력 크기를 나타내는 계수
- 추정(Estimation): 표본 데이터를 이용해 모형의 계수를 계산하는 것
예시
집값 예측에서
- (X_1): 면적
- (X_2): 방 개수
를 같이 넣었더니 둘이 너무 비슷해서
(beta_1)은 매우 크게 양수,
(beta_2)는 이상하게 음수로 나올 수 있다.
이러면 계수 해석이 불안정한 것이다.
즉 다중공선성을 가진 독립변수들로 회귀모델을 정의하면 분석 결과인 회귀계수가 불안정해지며, 각 독립변수의 회귀계수가 종속변수에 미치는 영향력을 올바로 설명하지 못하게 된다.
다중공선성이 있으면 회귀계수 값이 데이터에 따라 쉽게 바뀌고, 해석도 왜곡된다는 뜻이다. 그래서 “어떤 변수가 진짜 중요한가”를 잘못 판단할 수 있다.
왜?
왜냐하면 다중공선성이 있으면 독립변수끼리 설명력이 겹치기 때문이다. 회귀모형은 겹치는 설명력을 각 변수에 어떻게 나눠줄지 계산해야 하는데, 이 나눔이 매우 민감해져서 데이터가 조금만 바뀌어도 어떤 변수에 더 많이 배정할지가 달라진다. 그래서 어떤 표본에서는 (beta_1)이 크고 (beta_2)가 작게 나오고, 다른 표본에서는 반대로 나올 수 있다. 이런 상태에서는 계수가 안정적으로 해석되지 않으므로 “이 변수는 중요하다/안 중요하다”를 자신 있게 말하기 어렵다.
용어
- 모델 정의: 어떤 변수들을 넣어서 회귀식을 만드는 것
- 불안정: 표본 변화에 따라 계수가 크게 바뀌는 현상
- 영향력 해석: 독립변수가 종속변수를 얼마나 바꾸는지 해석하는 것
수식/기호
회귀계수의 표준오차가 커지면 검정통계량

가 작아질 수 있다.

다중공선성이 심해지면 보통 (SE)가 커져서 t값이 작아지고, p값은 커진다.
예시
광고비와 판촉비가 사실상 거의 같이 움직이는 기업 데이터를 넣으면,
광고비 자체는 중요해 보이는데 회귀 결과에서는 광고비 p값이 커져 유의하지 않게 나올 수 있다.
이건 광고비가 진짜 중요하지 않아서가 아니라, 판촉비와 정보가 너무 겹쳐서 생긴 현상일 수 있다.
다중공선성의 종류 1) 완전공선성:
독립변수들 간에 정확한 선형관계가 존재하여, 최소제곱법으로 회귀계수를 구할 수 없는 문제.
다중공선성 중에서도 가장 심한 경우가 완전공선성이다.
독립변수 사이에 정확하게 수식으로 딱 맞는 선형관계가 있으면 회귀계수를 아예 계산할 수 없다.
왜?
왜냐하면 최소제곱법은 행렬 계산을 통해 회귀계수를 구하는데, 독립변수 중 하나가 다른 독립변수들의 정확한 선형결합이면 독립적인 정보가 아니라 중복된 정보가 된다. 이 경우 독립변수 행렬 (X)가 선형독립이 아니게 되고, (X^TX)의 역행렬이 존재하지 않을 수 있다. 역행렬이 없으면 최소제곱법 공식 자체를 적용할 수 없으므로 회귀계수를 계산할 수 없다. 그래서 완전공선성은 단순히 “계수가 불안정하다” 수준이 아니라 “계산 자체가 막힌다”는 점에서 더 심각하다.
용어
- 완전공선성(Perfect Collinearity): 독립변수들 사이에 정확한 선형관계가 존재하는 상태
- 선형관계(Linear Relationship): 직선식 형태의 관계
- 최소제곱법(OLS, Ordinary Least Squares): 잔차제곱합을 최소로 만드는 방식으로 회귀계수를 추정하는 방법
수식/기호
예를 들어

라면 (X_3)는 새로운 정보가 아니라 (X_1, X_2)의 정확한 조합이다.
이 경우 완전공선성이다.
OLS 추정식은


인데, 완전공선성이 있으면 ((X^TX)^{-1})가 존재하지 않을 수 있다.



예시
- 월급 = 기본급 + 수당
- 총급여 = 기본급 + 수당
이때 독립변수로
기본급, 수당, 총급여를 동시에 넣으면
총급여 = 기본급 + 수당 이므로 완전공선성이 생길 수 있다.
다중공선성의 종류 2)다중공선성:
정확한 선형관계는 아니나 독립변수들 간에 높은 선형관계가 나타나는 문제.
완전공선성처럼 완벽히 수식으로 딱 맞는 관계는 아니더라도, 현실 데이터에서 독립변수들끼리 매우 높은 상관이 있으면 그것도 다중공선성 문제라는 뜻이다.
왜?
왜냐하면 실제 데이터에서는 완전공선성보다 이런 형태가 훨씬 흔하기 때문이다. 현실에서 변수들이 100% 똑같이 움직이지는 않지만 90%, 95%처럼 매우 비슷하게 움직일 수는 있다. 이 경우 계산 자체가 불가능하지는 않더라도 회귀계수가 불안정해지고 표준오차가 커지며 p값이 커져서 해석이 어렵다. 따라서 완벽한 선형관계만 문제라고 보면 안 되고, 높은 선형관계만 있어도 충분히 심각한 문제가 될 수 있다.
용어
- 높은 선형관계: 완벽하진 않지만 거의 직선적으로 같이 움직이는 관계
- 현실적 다중공선성: 실무에서 가장 자주 마주치는 형태
수식/기호
예를 들면 상관계수가

처럼 높게 나오면 다중공선성을 의심할 수 있다.
예시
학생 성적 예측에서
- 출석률
- 수업참여도
이 두 변수는 완전히 같은 것은 아니지만 보통 매우 비슷하게 움직일 수 있다.
이런 경우가 현실적인 다중공선성이다.
즉, 다중공선성을 고려하지 않고 회귀분석을 수행한 후 그 결과를 해석하면 잘못된 결론(변수의 중요성을 설명할 때)을 내리게 되는 문제가 발생한다.
다중공선성이 있는 상태에서 회귀결과를 그대로 해석하면, 어떤 변수가 중요한지에 대해 틀린 결론을 내릴 수 있다
왜?
왜냐하면 회귀분석 결과에서 많은 사람이 회귀계수의 크기, 부호, p값을 보고 변수 중요성을 판단하는데, 다중공선성이 있으면 이 값들이 왜곡될 수 있기 때문이다. 실제로 중요한 변수가 유의하지 않게 나올 수도 있고, 부호가 이상하게 나올 수도 있으며, 중요도가 뒤바뀐 것처럼 보일 수도 있다. 그러면 분석가는 잘못된 변수 제거 결정을 하거나, 정책적 판단을 틀리게 하거나, 모델을 잘못 설계할 수 있다. 그래서 다중공선성을 무시한 해석은 위험하다.
용어
- 결과 해석: 회귀계수, p값, 유의성 등을 보고 의미를 판단하는 것
- 변수의 중요성: 종속변수에 미치는 상대적 영향력
수식/기호
유의성 검정에서 p값이 커지면 보통 “유의하지 않다”고 해석한다.
그런데 다중공선성이 있으면

가 되어도 그 변수가 진짜로 중요하지 않다고 단정하기 어렵다.
여기서
- (alpha): 유의수준, 보통 0.05
예시
매출 예측에서 광고비와 프로모션비가 둘 다 실제로 중요하지만, 둘이 너무 비슷하게 움직여서 광고비 p값이 0.2로 나왔다고 해보자.
이걸 보고 “광고비는 중요하지 않다”라고 결론내리면 잘못된 해석일 수 있다.
다중공선성을 가진 데이터를 의사결정나무 알고리즘에 적용하면, 분류에 중요한 영향을 미치는 변수가 결정트리의 분리 조건에 나타나지 않게 되며, 중요 변수가 사용되지 못하여 정확도(Accuracy)가 낮아지는 문제 발생.
다중공선성 문제가 꼭 선형회귀뿐 아니라 다른 모델에서도 영향을 줄 수 있음
특히 의사결정나무에서는 서로 비슷한 변수들이 많으면 정말 중요한 변수가 분리 기준으로 선택되지 않을 수 있다
왜?
왜냐하면 의사결정나무는 매 단계에서 가장 분류를 잘 나누는 변수를 하나씩 선택하는데, 서로 비슷한 정보를 가진 변수들이 여러 개 있으면 그 중 하나만 선택되고 나머지는 선택되지 않을 수 있기 때문이다. 이때 실제로 의미가 더 중요한 변수보다 우연히 조금 더 점수가 높게 나온 다른 유사 변수가 선택될 수 있고, 결과적으로 해석 가능한 중요한 변수가 트리에서 빠질 수 있다. 또한 학습 데이터에서는 그럭저럭 되더라도 일반화 성능이 떨어져 정확도가 낮아질 가능성도 생긴다.
용어
- 의사결정나무(Decision Tree): 질문을 계속 나누면서 분류/예측하는 모델
- 분리 조건(Split Condition): 트리에서 가지를 나누는 기준
- 정확도(Accuracy): 전체 예측 중 맞춘 비율
수식/기호
정확도는 보통

로 나타낸다.
예시
고객 이탈 예측에서
- 최근 접속 빈도
- 최근 30일 로그인 수
- 최근 방문 일수
이 셋이 거의 비슷한 정보를 담고 있으면, 실제 중요한 행동 변수 대신 비슷하지만 덜 해석적인 변수가 트리의 분리 조건으로 들어갈 수 있다.
따라서 독립변수들 간 상관관계 여부, 분산팽창요인(VIF) 등으로 다중공선성을 확인한 후 문제가 있는 독립변수를 제거하거나 차원축소, 규제항 적용 등을 이용해 다중공선성을 해결해야 한다.
다중공선성은 그냥 두면 안 되고, 먼저 진단한 다음 필요하면 변수 제거나 PCA, 릿지 같은 방법으로 처리해야 한다
왜?
왜냐하면 다중공선성은 회귀계수 해석과 모델 안정성을 망가뜨릴 수 있기 때문에, 모델을 만든 뒤 바로 결과를 믿는 것이 아니라 사전에 진단 절차를 거쳐야 하기 때문이다. 특히 상관계수만 보고 끝내는 것이 아니라 VIF 같은 수치적 지표도 함께 봐야 하고, 문제 정도에 따라 대응 방법도 달라진다. 어떤 경우는 변수 하나를 제거하면 되고, 어떤 경우는 차원축소가 낫고, 또 어떤 경우는 규제기법으로 계수를 안정화하는 게 더 적절할때가 다.하다. 즉 진단과 처리가 세트로 필요하다.
용어
- 분산팽창요인(VIF, Variance Inflation Factor): 다중공선성 정도를 나타내는 지표
- 차원축소(Dimension Reduction): 변수 수를 줄이되 정보는 최대한 유지하는 방법
- 규제항(Regularization Term): 계수 크기에 제약을 주는 항
수식/기호
대표적으로

여기서
- (R_j^2): j번째 독립변수를 다른 독립변수들로 회귀했을 때의 결정계수
예시
상관계수 행렬을 보니 몇몇 변수끼리 0.9 이상이고, VIF도 12, 15처럼 높게 나왔다면
해당 변수 제거, PCA, 릿지회귀 등을 고려해야 한다.
다중공선성 검사 방법 1) 독립변수 간 상관계수 확인 :
산점도 혹은 산점도 행렬을 확인하여 선형성이 강한 변수 파악, 피어슨 상관계수를 확인하여 값이 -1과 1에 가까우면 다중공선성이 있다고 판단(연구 분야에 따라 0.5 혹은 0.7을 기준으로 판단).
첫 번째 검사 방법은 독립변수들끼리 얼마나 강하게 연결되어 있는지를 직접 시각화하거나 상관계수로 확인하는 것이다.
왜?
왜냐하면 다중공선성의 가장 직관적인 신호가 바로 독립변수들끼리 비슷하게 움직이는 모습이기 때문이다. 산점도나 산점도 행렬을 보면 두 변수가 거의 직선 모양으로 늘어서 있는지 눈으로 볼 수 있고, 피어슨 상관계수는 그것을 숫자로 요약해준다. 물론 상관계수 하나만으로 모든 다중공선성을 완벽히 잡을 수는 없지만, 가장 빠르고 기초적인 진단 도구이므로 먼저 확인하는 것이 중요하다. 또한 연구 분야나 데이터 특성에 따라 어느 정도부터 문제로 볼지 기준이 달라질 수 있다.
용어
- 산점도(Scatter Plot): 두 변수의 관계를 점으로 그린 그림
- 산점도 행렬(Scatterplot Matrix): 여러 변수 쌍의 산점도를 한 번에 보는 표
- 피어슨 상관계수(Pearson Correlation Coefficient): 선형 관계의 강도와 방향을 나타내는 값
수식/기호
피어슨 상관계수는

로 표현한다.

상관계수 범위는

이다.
예시
변수 A와 변수 B의 상관계수가 0.92면 매우 높은 양의 선형관계이므로 다중공선성을 의심한다.
연구 분야에 따라 0.7 이상부터 주의, 0.8 이상이면 강하게 의심하는 식으로 해석할 수 있다.
다중공선성 검사 방법 2) 결정계수 확인 :
일반적으로 결정계수는 독립변수와 종속변수의 상관계수의 제곱과 같음, 결정계수값이 높아 회귀식의 설명력은 높지만 식 안의 독립변수 p값이 커서 개별 인자들이 유의하지 않는 경우, 독립변수들 간에 다중공선성(높은 상관관계)이 있다고 판단.
전체 모델은 설명력이 높은데, 정작 개별 변수들은 유의하지 않게 나오는 모순적인 상황이 있으면 다중공선성을 의심하라는 뜻이다.
왜?
왜냐하면 다중공선성이 있으면 변수들이 함께 종속변수를 잘 설명할 수는 있다. 그래서 모델 전체의 결정계수 (R^2)는 높게 나올 수 있다. 그런데 변수들끼리 설명력이 겹치다 보니 개별 회귀계수의 표준오차가 커지고, t값은 작아지고, p값은 커져서 각 변수 하나하나를 보면 유의하지 않게 나올 수 있다. 즉 “모델 전체는 좋은 것 같은데 변수 개별 검정은 다 별로”인 이상한 패턴이 생기는데, 이것이 다중공선성의 대표적 신호 중 하나다.
용어
- 결정계수((R^2), Coefficient of Determination): 모델이 종속변수 변동을 얼마나 설명하는지 나타내는 비율
- p값(p-value): 귀무가설 하에서 현재와 같은 통계량이 나올 확률
- 유의하지 않다: 통계적으로 영향이 있다고 보기 어렵다는 뜻
수식/기호
단순회귀에서는

즉 결정계수는 상관계수의 제곱과 같다.
또 회귀계수의 t검정은

이다.
예시
모델의 (R^2 = 0.88)로 매우 높다.
그런데 독립변수 3개의 p값이 각각 0.18, 0.27, 0.31로 다 유의하지 않다면,
전체 설명력은 높은데 개별 변수는 안 보이는 상태이므로 다중공선성을 의심할 수 있다.
다중공선성 검사 방법 3) 허용오차(Tolerance, 공차한계)확인 :
한 독립변수의 분산 중 다른 독립변수들에 의해서 설명되지 않는 부분을 의미, 허용오차가 0.1 이하이면 다중공선성이 존재한다고 판다.
허용오차는 어떤 독립변수가 다른 독립변수들과 겹치지 않고 자기만의 정보를 얼마나 가지고 있는지 보는 값이다.
그 값이 너무 작으면 다중공선성이 심하다는 뜻이다.
왜?
왜냐하면 어떤 독립변수가 다른 독립변수들에 의해 거의 다 설명된다는 것은, 그 변수가 독립적인 정보를 거의 주지 못한다는 뜻이기 때문이다. 즉 그 변수는 이미 다른 변수들 속에 포함된 정보와 거의 같다는 의미이고, 이것이 바로 다중공선성의 핵심이다. 허용오차는 “겹치지 않는 고유 정보 비율”처럼 볼 수 있는데, 0.1 이하라는 것은 고유 정보가 10%도 안 남았다는 뜻이어서 다중공선성이 강하다고 판단한다.
용어
- 허용오차(Tolerance): 다른 독립변수로 설명되지 않는 자기 고유 분산의 비율
- 분산(Variance): 값들의 퍼짐 정도
수식/기호
허용오차는

이다.
여기서 (R_j^2)는 j번째 독립변수를 다른 독립변수들로 회귀했을 때의 결정계수다.
예시
어떤 변수 (X_2)를 다른 독립변수들로 회귀했더니

이다.
0.1 이하이므로 다중공선성을 의심한다.
다중공선성 검사 방법 4) 분산팽창요인 확인 :
허용오차의 역수로 그 값이 클수록 독립변수들 간의 상관성이 높음을 의미(VIF 값은 0에서 무한대의 값의 범위를 가짐), 분산팽창계수가 10이상일 때, 다중공선성이 존재한다고 판단.
네 번째 검사 방법은 VIF를 보는 것이다.
VIF가 크면 클수록 다중공선성이 심하다고 본다.
왜?
왜냐하면 VIF는 허용오차의 역수이기 때문이다. 허용오차가 작다는 것은 그 변수의 고유한 정보가 적다는 뜻이고, 역수를 취하면 그 정도를 더 직접적으로 크게 보여줄 수 있다. 즉 다른 독립변수들과 겹침이 심할수록 허용오차는 작아지고, 그 결과 VIF는 커진다. 그래서 VIF는 다중공선성을 판단할 때 매우 널리 쓰이는 대표 지표가 되었다. 다만 10이라는 기준은 절대 법칙이 아니라 경험적 기준이며, 경우에 따라 5 이상부터 주의하기도 한다.
용어
- 분산팽창요인(VIF): 다중공선성 때문에 회귀계수 분산이 얼마나 부풀려지는지 보여주는 값
- 역수: 어떤 수를 1로 나눈 값, 예를 들어 (a)의 역수는 (1/a)
수식/기호
[
VIF_j = \frac{1}{Tolerance_j} = \frac{1}{1-R_j^2}
]
주의할 점은 실제로 VIF는 1 이상이다.
원문에는 0에서 무한대라고 적혀 있지만, 통상적으로 (R_j^2)가 0 이상 1 미만이므로 VIF는 1 이상으로 해석한다.
예시
허용오차가 0.05이면

이므로 다중공선성이 매우 강하다고 본다.
다중공선성이 발생할 경우, 종속변수에 대한 다중공선성의 원인이 되는 개별 효과를 분리하기 어려우므로, 사전에 처리해주는 작업이 필요하다.
다중공선성이 생기면 어떤 변수가 실제로 얼마나 영향을 주는지 분리하기 어려워지므로, 분석 전에 또는 해석 전에 미리 처리해야 한다
왜?
왜냐하면 다중공선성은 그냥 결과를 보기 불편하게 만드는 수준이 아니라, 분석의 결론 자체를 흔들 수 있기 때문이다. 특히 “정책상 무엇을 줄이고 늘릴지”, “어떤 요인이 핵심인지”를 말해야 하는 상황에서는 개별 효과 분리가 매우 중요하다. 그런데 다중공선성이 있으면 각 변수의 효과가 서로 얽혀서 분리되지 않으므로, 처리하지 않은 상태의 결과를 그대로 이용하면 잘못된 의사결정을 할 수 있다. 그래서 사전 진단과 처리 작업이 꼭 필요하다.
용어
- 개별 효과: 각 독립변수가 종속변수에 따로 미치는 영향
- 사전 처리: 모델 해석 전에 문제를 진단하고 수정하는 작업
수식/기호
개별 효과를 보기 위해서는 보통 (beta_j)를 해석하는데,
다중공선성이 있으면 (hat{\beta}_j)의 신뢰성이 흔들린다.
예시
건강 지표 예측에서
체중, BMI, 허리둘레를 함께 넣으면 서로 비슷한 정보를 담고 있다.
그 상태로 바로 “허리둘레는 중요하지 않다”고 결론내리면 위험하므로 먼저 처리해야 한다.
위에서 분산팽창요인(VIF)이 10이상인 경우 다중공선성이 있는 변수라고 판단할 수 있다고 했는데, 그렇다면 '다중공선성이 있다고 판단되는 변수를 무조건적으로 제거해야 하나'라는 의문이 들 수 있을 것이다. 이에 대한 답은 '무조건적으로 제거하면 안 된다'이다.
VIF가 높다고 해서 해당 변수를 자동으로 삭제하면 안 된다
즉 다중공선성 진단과 변수 제거는 같은 말이 아니며, 해석과 목적을 같이 봐야 한다.
왜?
왜냐하면 어떤 변수는 다른 변수들과 높은 상관관계가 있더라도 실제로는 매우 중요한 변수일 수 있기 때문이다. 단지 VIF만 높다는 이유로 무조건 제거하면 모델이 설명해야 할 핵심 정보를 잃을 수 있다. 특히 이론적으로 중요한 변수, 정책적으로 꼭 필요한 변수, 해석상 반드시 남겨야 하는 변수는 다중공선성이 조금 있더라도 유지해야 할 수 있다. 따라서 VIF는 경고 신호이지 자동 삭제 버튼이 아니다. 결국 변수 제거는 유의성, 해석 가능성, 실무 목적, 이론적 중요성을 함께 보고 결정해야 한다.
용어
- 무조건적 제거: 다른 조건을 보지 않고 자동으로 삭제하는 것
- 판단 기준: 하나의 수치가 아니라 여러 정보를 함께 고려하는 것
수식/기호
예를 들어
VIF = 12
라고 해도, 그 변수의 p값, 이론적 중요성, 예측 성능에 미치는 영향 등을 함께 봐야 한다.
예시
소득 예측에서 학력과 자격증 개수가 서로 높은 상관을 보인다고 하자.
학력 변수는 VIF가 11이지만 실무적으로 핵심 변수라면 무조건 제거하면 안 된다.
분산팽창요인(VIF)이 높더라도 회귀계수 유의성 확인으로 p값이 유의수준보다 작은 변수라면 제거하지 않는 것이 적절하다.
VIF가 높아도 p값이 작아서 통계적으로 유의한 변수라면 남겨두는 것이 보통 더 적절하다
왜?
왜냐하면 p값이 유의수준보다 작다는 것은 그 변수가 다른 변수들을 함께 고려한 상황에서도 종속변수와 의미 있는 관련을 가진다는 신호이기 때문이다. 물론 다중공선성이 있으면 p값 해석도 조심해야 하지만, 그럼에도 불구하고 유의하게 나온 변수는 모델 안에서 일정한 설명력을 유지하고 있을 가능성이 크다. 이런 변수를 단순히 VIF가 높다고 지워버리면 오히려 모델의 의미 있는 구조를 망칠 수 있다. 즉 VIF는 높아도 중요한 변수는 남겨야 한다.
용어
- 유의수준((alpha)): 보통 0.05를 기준으로 삼는 판단 기준
- 유의하다: p값이 유의수준보다 작아 통계적으로 의미 있는 관계가 있다고 보는 것
수식/기호
유의성 판단은 보통

이면 유의하다고 본다.
예를 들어

이면 유의하다.
예시
VIF가 15인 변수라도 p값이 0.003이라면,
그 변수는 다중공선성이 있음에도 여전히 중요한 변수일 수 있으므로 바로 제거하지 않는 것이 적절하다.
이때는 다른 변수들 중에 분산팽창요인(VIF)이 높고, 유의미하지 않은 변수가 있다면 그 변수들을 제거해 본 뒤 다시 분산팽창요인(VIF)을 계산해 보아야 할 것이다.
VIF가 높고 p값도 크며 유의하지 않은 변수부터 먼저 제거해 보고, 그 후 VIF를 다시 계산해 보라
왜?
왜냐하면 다중공선성은 변수들이 서로 얽혀 만들어내는 구조적 문제이기 때문이다. 즉 하나의 변수만 단독으로 문제를 일으키는 것이 아니라 여러 변수 사이의 관계에서 생기므로, 어떤 변수를 제거하면 나머지 변수들의 VIF가 크게 떨어질 수 있다. 따라서 처음부터 중요한 변수를 지우는 것이 아니라, 먼저 덜 중요한 변수나 유의하지 않은 변수부터 제거한 뒤 구조가 어떻게 바뀌는지 다시 점검해야 한다. 이런 반복적 절차가 더 합리적이다.
용어
- 유의미하지 않은 변수: 보통 p값이 유의수준보다 큰 변수
- 재계산: 변수 제거 후 다시 진단하는 과정
수식/기호
예를 들어
변수 A: VIF 12, p=0.30
변수 B: VIF 11, p=0.01
이라면, 보통 A를 먼저 제거 검토한 뒤 다시 VIF를 본다.
예시
광고비, 프로모션비, 온라인노출 수가 서로 얽혀 있고
온라인노출 수는 p값이 0.45로 유의하지 않다면,
그 변수를 먼저 제거하고 나머지 변수들의 VIF 변화를 다시 본다.
이 과정을 거치더라도 분산팽창요인(VIF)은 높은 수치일 가능성이 높으나, 변수를 제거하는 것은 모델의 유의성을 떨어뜨리게 되니 주의해야 한다.
변수를 좀 정리해도 VIF가 여전히 높을 수 있으며, 그렇다고 계속 지우다 보면 오히려 모델 자체가 약해질 수 있으니 조심하라
왜?
왜냐하면 현실 데이터에서는 완벽하게 독립적인 변수들만 모아 모델을 만드는 것이 거의 불가능하기 때문이다. 비슷한 개념을 측정하는 변수들은 어느 정도 상관될 수밖에 없고, 그 상관관계를 다 없애려고 계속 제거하다 보면 정작 종속변수를 설명하는 중요한 정보까지 사라질 수 있다. 그러면 VIF는 낮아졌지만 모델 설명력이나 유의성이 떨어지는 역효과가 발생한다. 그래서 목표는 VIF를 무조건 낮추는 것이 아니라, 해석 가능성과 모델 성능 사이에서 균형을 찾는 것이다.
용어
- 모델의 유의성: 전체적으로 모델이 설명력이 있고 의미 있는지 여부
- 주의해야 한다: 수치 하나만 목표로 하면 안 된다는 경고
수식/기호
모형 전체 유의성은 보통 F검정으로 본다.

변수를 과하게 제거하면 전체 F검정 결과나 (R^2), 조정 (R^2)가 나빠질 수 있다.
예시
VIF를 낮추려다가 중요한 매출 설명변수들을 너무 많이 제거하면,
최종 모델은 깔끔해 보여도 예측력과 설명력이 떨어질 수 있다.
다중공선성 해결 방법 1) 독립변수의 제거 :
데이터에서 상관관계의 원인을 파악하여 해결, 상관계수가 높은 독립변수 중 하나를 제거.
첫 번째 해결 방법은 서로 지나치게 비슷한 독립변수들 중 하나를 삭제하는 것이다.
왜?
왜냐하면 가장 직접적인 해결책은 중복 정보를 줄이는 것이기 때문이다. 상관관계가 매우 높은 변수 두 개를 같이 두면 회귀모형이 둘의 역할을 나눠 가지느라 불안정해진다. 그렇다면 둘 중 하나만 남겨도 비슷한 설명력을 유지하면서 다중공선성을 완화할 수 있다. 다만 그냥 숫자만 보고 삭제하는 것이 아니라, 어떤 변수가 더 해석상 중요하고, 더 직접적인 의미를 가지며, 측정 신뢰도가 높은지를 함께 판단해야 한다.
용어
- 상관관계의 원인 파악: 왜 두 변수가 비슷하게 움직이는지 이해하는 것
- 독립변수 제거: 정보 중복이 심한 변수 삭제
수식/기호
상관계수

둘 중 하나 제거를 고려할 수 있다.
예시
- 몸무게
- BMI
가 둘 다 건강 위험 예측에 들어갔는데 너무 겹친다면,
상황에 따라 하나만 남길 수 있다.
다중공선성 해결 방법 2) : 새로운 데이터 적용 :
변수를 변형하거나, 새로운 데이터(관측값) 이용.
두 번째 방법은 변수 형태를 바꾸거나, 관측값을 더 추가해서 다중공선성을 완화하는 것이다.
왜?
왜냐하면 다중공선성은 현재 가지고 있는 표본 구조 때문에 심해질 수 있기 때문이다. 표본이 너무 적거나 특정 범위에 몰려 있으면 변수들 사이 관계가 지나치게 강하게 보일 수 있다. 이때 더 다양한 데이터를 수집하면 변수들이 서로 완전히 같은 정보만 주는 것이 아니라는 점이 드러날 수 있다. 또한 원래 변수를 그대로 쓰지 않고 비율, 차이, 로그 등으로 변형하면 상관구조가 달라져 다중공선성이 줄어들 수 있다.
용어
- 변수 변형: 로그변환, 차분, 비율화 등
- 관측값: 실제 데이터 한 행 한 행의 사례
수식/기호
예를 들면 원변수 (X) 대신

같은 형태를 사용할 수 있다.
예시
매출과 광고비가 특정 시즌 데이터에만 몰려 있으면 상관이 과도하게 높아 보일 수 있다.
다른 시즌 데이터까지 추가하면 관계가 덜 극단적으로 보일 수 있다.
다중공선성 해결 방법 3) 차원축소 알고리즘 적용 :
주성분분석(PCA)등의 차원축소 알고리즘을 적용하여 의미를 함축하여 독립변수 줄여줌.
서로 상관이 높은 여러 변수를 몇 개의 새로운 축으로 합쳐서 변수 수를 줄이는 방법이다.
왜?
왜냐하면 다중공선성의 핵심은 원래 변수들 사이 정보 중복이 크다는 것이므로, 그 중복 정보를 하나의 대표 축으로 요약하면 문제를 줄일 수 있기 때문이다. PCA는 원래 변수들의 선형결합으로 서로 독립적인 새로운 축을 만들어내므로, 회귀모형에 이 축들을 넣으면 원래 변수들보다 공선성 문제가 줄어든다. 다만 단점은 새 축이 원래 변수처럼 직관적으로 해석되기 어렵다는 점이다.
용어
- 차원축소(Dimension Reduction): 변수 수를 줄이는 것
- 주성분분석(PCA, Principal Component Analysis): 분산을 최대한 보존하면서 새로운 축으로 변환하는 기법
- 의미를 함축: 여러 변수의 정보를 요약한다는 뜻
수식/기호
PCA의 주성분은 보통

처럼 원래 변수들의 선형결합으로 만든다.
예시
- 국어 점수
- 영어 점수
- 수학 점수
- 과학 점수
가 모두 비슷하게 움직이면,
이를 “학업성취” 같은 1~2개의 주성분으로 요약할 수 있다.
다중공선성 해결 방법 4) 규제항 적용:
릿지회귀 등을 이용하여 독립변수에 제약을 주어 회귀계수의 영향도를 낮추는 방법 적용.
네 번째 방법은 릿지회귀 같은 규제기법을 써서 계수가 과도하게 흔들리지 않도록 제약을 주는 것이다.
왜?
왜냐하면 다중공선성이 있으면 회귀계수가 너무 커지거나 불안정해질 수 있는데, 규제항은 계수 크기를 억제해서 이런 불안정을 완화하기 때문이다. 특히 릿지회귀는 계수들의 제곱합에 패널티를 부여하므로, 서로 겹치는 정보를 가진 변수들 사이에서 계수가 과하게 튀는 현상을 줄여준다. 즉 변수를 아예 제거하지 않고도 계수를 안정화할 수 있다는 점에서 유용하다.
용어
- 규제항(Regularization): 모델 복잡도를 벌점처럼 제어하는 항
- 릿지회귀(Ridge Regression): L2 규제를 사용한 회귀
- 제약: 계수가 너무 커지지 못하게 제한하는 것
수식/기호
릿지회귀는 보통 다음을 최소화한다.

여기서

예시
광고비, 프로모션비, SNS노출량처럼 서로 비슷한 변수들이 많은 마케팅 데이터에서는
일반 회귀보다 릿지회귀가 더 안정적인 계수를 줄 수 있다.
다중공선성 해결 방법 5) 중요 변수 선택:
종속변수에 영향을 미치는 유의미한 독립변수들을 선택하는 방법 적용, 전진선택법, 후진제거법, 단계적 방법.
다섯 번째 방법은 모든 변수를 다 쓰지 말고, 의미 있는 변수들만 선택해서 모델을 만드는 것이다.
왜?
왜냐하면 다중공선성은 대개 너무 많은 비슷한 변수를 동시에 넣을 때 심해지기 때문이다. 따라서 변수선택 기법을 이용해 실제로 종속변수 설명에 도움이 되는 변수만 남기면, 중복 정보가 줄고 모델도 단순해진다. 또한 변수 수가 줄면 해석도 쉬워지고, 불필요한 노이즈도 줄일 수 있다. 다만 자동 선택 기법이 항상 정답은 아니므로, 이론적 중요성과 함께 써야 한다.
용어
- 전진선택법(Forward Selection): 아무 변수도 없는 상태에서 하나씩 추가
- 후진제거법(Backward Elimination): 모든 변수에서 시작해 하나씩 제거
- 단계적 방법(Stepwise): 추가와 제거를 반복하며 선택
수식/기호
선택 과정 자체는 하나의 고정 수식보다 알고리즘 절차에 가깝다.
보통 p값, AIC, BIC, 조정 (R^2) 등을 기준으로 선택한다.
예시
10개 변수 중 4개만 실제로 의미 있고 나머지는 비슷한 정보라면,
변수선택을 통해 핵심 4개만 남겨 다중공선성을 줄일 수 있다.
위 방법 외에도 오토인코더 등의 비지도학습 기반 머신러닝 기법들을 이용하여, 전체 변수를 대표하는 잠재변수를 모델에 적용하거나 혹은 중요하지 않는 변수들에 대해 영향력을 줄이는 방법으로 다중공선성을 줄일 수도 있다.
PCA 말고도 오토인코더 같은 비지도학습 기법으로 여러 변수를 압축한 잠재표현을 만들어 다중공선성을 줄일 수 있다는 뜻이다.
왜?
왜냐하면 다중공선성의 본질은 여러 변수들이 서로 중복된 정보를 많이 담고 있다는 점이기 때문이다. 오토인코더는 입력 데이터를 더 낮은 차원의 잠재공간으로 압축한 뒤 다시 복원하도록 학습하므로, 중복 정보를 요약한 잠재변수를 만들 수 있다. 이렇게 얻은 잠재변수는 원래 변수들보다 차원이 작고 중복이 덜할 수 있어서 모델 입력으로 쓸 경우 다중공선성을 완화하는 데 도움이 된다. 또한 모델이 자동으로 덜 중요한 특징의 영향력을 줄여주는 방향으로 작동할 수 있다.
용어
- 오토인코더(Autoencoder): 입력을 압축했다가 다시 복원하도록 학습하는 신경망
- 비지도학습(Unsupervised Learning): 정답 라벨 없이 데이터 구조를 학습하는 방법
- 잠재변수(Latent Variable): 보이지 않지만 여러 관측변수를 요약하는 숨은 표현
수식/기호
오토인코더 개념은 보통

처럼 본다.
여기서
- (x): 원래 입력
- (z): 잠재표현
- (hat{x}): 복원된 입력
예시
수십 개 고객 행동 변수가 서로 얽혀 있을 때,
오토인코더로 3~5개의 잠재특징으로 압축해서 예측모델에 넣을 수 있다.
다만 다중공선성을 완전히 제거하는 것은 불가능에 가깝다.
현실 데이터에서는 다중공선성을 0으로 완벽히 없애는 것은 거의 어렵다
왜?
왜냐하면 현실의 변수들은 서로 완전히 독립적으로 존재하지 않기 때문이다. 사회과학 변수든 경제 변수든 마케팅 변수든, 비슷한 개념을 측정하는 변수들은 본질적으로 어느 정도 상관될 수밖에 없다. 예를 들어 소득과 소비, 키와 몸무게, 광고비와 노출량처럼 서로 연결된 변수들은 자연스럽게 같이 움직인다. 따라서 목표는 다중공선성을 완전 제거하는 것이 아니라, 해석과 성능에 큰 문제 없을 정도로 관리하는 것이다.
용어
- 완전 제거: 상관성을 사실상 0에 가깝게 다 없애는 것
- 불가능에 가깝다: 실무적으로 거의 달성하기 어려움
수식/기호
실무에서는 상관이 완전히 0인 변수 집합을 만드는 것보다
적정 수준의 VIF, 합리적 해석, 적절한 예측 성능을 목표로 둔다.
예시
고객 분석에서 연령, 직업, 소득, 소비 수준은 서로 일정 부분 연결될 수밖에 없다.
이걸 완전히 끊어내는 것은 현실적으로 어렵다.
따라서 데이터 엔지니어링의 많은 경험과 데이터의 통찰력을 바탕으로 이를 해결하려는 반복적 노력이 무엇보다 중요하다.
결국 다중공선성 해결은 공식 하나로 끝나는 문제가 아니라, 데이터에 대한 이해와 반복적인 점검이 중요하다
왜?
왜냐하면 다중공선성은 단순히 숫자 기준만으로 기계적으로 처리할 수 있는 문제가 아니기 때문이다. 어떤 변수는 VIF가 높아도 꼭 남겨야 하고, 어떤 변수는 낮아 보여도 제거하는 것이 더 나을 수 있다. 또한 분석 목적이 설명인지 예측인지, 이론 검증인지 실무 적용인지에 따라 최선의 처리 방법도 달라진다. 그래서 데이터 생성 과정, 변수 의미, 현업 맥락, 모델 목적을 함께 이해하고 여러 번 진단하고 수정하는 과정이 핵심이다. 즉 경험과 통찰력이 정말 중요하다.
용어
- 데이터 엔지니어링의 경험: 데이터 구조, 수집, 전처리, 모델링 경험
- 통찰력: 숫자 뒤에 있는 의미를 읽는 능력
- 반복적 노력: 한 번에 끝내지 않고 계속 점검하는 과정
수식/기호
특정 수식보다 분석 절차의 원칙
즉 상관계수, VIF, p값, 조정 (R^2), 예측 성능 등을 반복적으로 함께 봐야 한다.
예시
처음 모델에서 VIF가 높아 변수 하나 제거 → 다시 VIF 계산 → 예측 성능 확인 → 해석 가능성 검토 → 필요 시 규제모형 비교
이런 식의 반복이 실제 분석 과정이다.
다중회귀분석 해석 예시
다중회귀분석 해석 예시
- 회귀식이 무엇인지 먼저 제시
- 각 회귀계수 (beta_1, beta_2) 가 유의한지 t검정
- 모델 전체가 유의한지 F검정
- 모델이 전체 변동을 얼마나 설명하는지 결정계수 (R^2) 와 수정된 결정계수
- 각 숫자를 보고 최종적으로 이 회귀모델을 어떻게 해석하는지 결론
즉
회귀식 제시 → 개별 변수 검정 → 모델 전체 검정 → 설명력 확인 → 최종 해석
다중회귀분석 해석 예시
다중회귀분석 결과를 실제로 어떻게 읽고 해석하는지
다중회귀분석은 단순히 식만 세우는 것으로 끝나는 게 아니라, 그 식의 계수들이 어떤 뜻인지, 그 계수들이 통계적으로 믿을 만한지, 그리고 모델 전체가 설명력이 있는지를 순서대로 해석해야 한다.
- 다중회귀분석: 독립변수가 2개 이상인 회귀분석
제시한 사례는 다중회귀분석 모델의 결과 해석을 확인하기 위해, 각 관찰값(데이터)은 작성하지 않고 통계도구(Python, SPSS 등)로 산출한 결과를 기반으로 작성했다.
원래의 개별 데이터 12개를 하나하나 다 보여주지는 않고, 이미 통계 프로그램이 계산해 준 결과표만 가지고 해석 연습
왜?
왜냐하면 데이터 원본을 가지고 직접 회귀분석을 수행하는 과정 자체가 아니라, 회귀분석 결과표를 읽는 법을 익히는 게 먼저이기 때문이다. 실제 시험이나 실무에서도 종종 원자료 전체보다 결과표가 먼저 주어지고, 그 숫자들을 보고 회귀식, 유의성, 설명력을 해석해야 한다.
용어
- 관찰값(observation): 데이터 한 행 한 행의 실제 값
- 통계도구: Python, SPSS, R 같은 분석 프로그램
- 산출한 결과: 프로그램이 계산해 준 회귀계수, p값, F값 같은 결과
예시
예를 들어 학생 12명의
- 입시 수학성적
- 결석횟수
- 통계학 성적
원자료를 다 안 보여주고, 이미 계산된
- 회귀계수
- 표준오차
- t값
- p값
만 보여주고 해석하는 식이다.
다중회귀분석 모델 적합성 검정 사례
다중회귀모델이 적절한지, 즉 모델이 통계적으로 쓸 만한지 검정하는 사례
회귀식이 나왔다고 해서 무조건 좋은 모델은 아니기 때문이다. 회귀식이 있어도 독립변수들이 실제로 종속변수를 설명하지 못할 수도 있고, 계수들이 우연히 나온 것일 수도 있다. 그래서 “이 모델이 적합한가?”를 보기 위해 개별 계수 검정과 전체 모델 검정을 한다.
- 모델 적합성: 이 모델이 데이터 설명에 적절한가
- 검정: 가설을 세워서 통계적으로 판단하는 절차
어느 대학 통계학 강좌 1학년 수강생 12명의 입시 수학성적((X_1)), 결석횟수((X_2)), 통계학 성적((Y))을 비교하여 정리한 회귀식은 다음과 같다.
분석 대상 데이터
즉 학생 12명에 대해
- (X_1): 입시 수학성적
- (X_2): 결석횟수
- (Y): 통계학 성적
을 가지고 다중회귀분석을 했다
왜?
왜냐하면 회귀분석에서는 무엇을 설명하려는지, 그리고 어떤 변수들로 설명하려는지가 가장 먼저 정해져야 하기 때문이다. 여기서는 통계학 성적을 결과변수로 두고, 입시 수학성적과 결석횟수가 통계학 성적에 어떤 영향을 주는지를 보려는 것이다. 즉 “수학을 잘했던 학생이 통계도 잘하나?”와 “결석이 많으면 성적이 나빠지나?”를 동시에 보려는 모델이다.
용어
- (X_1): 첫 번째 독립변수, 입시 수학성적
- (X_2): 두 번째 독립변수, 결석횟수
- (Y): 종속변수, 통계학 성적
- 비교하여 정리한 회귀식: 데이터를 바탕으로 적합시킨 예측식
수식

이 수식은 이 예제의 다중회귀식이다.
즉 예측된 통계학 성적은
- 절편 53.68
- 수학성적이 1점 증가할 때 0.61점 증가
- 결석횟수가 1회 증가할 때 1.94점 감소
하도록 계산된다는 뜻이다.
왜?
왜냐하면 다중회귀식은 종속변수 (Y) 를 여러 독립변수 (X_1, X_2) 의 선형결합으로 설명하는 방식이기 때문이다. 여기서 절편은 모든 독립변수가 0일 때의 기준값 역할을 하고, 각 회귀계수는 다른 변수들을 고정했을 때 그 변수가 1단위 증가할 때 종속변수가 얼마나 바뀌는지를 나타낸다. 그래서 이 식 하나로 각 독립변수의 방향과 영향 크기를 동시에 해석할 수 있다.
용어

수식 읽기

이건 문장으로 읽으면
“예측된 통계학 성적은 53.68에
입시 수학성적의 0.61배를 더하고,
결석횟수의 1.94배를 뺀 값이다.”
예시
예를 들어
입시 수학성적 (X_1=80), 결석횟수 (X_2=3) 이면

즉 예측 통계학 성적은 약 96.66점이 된다.

(hat{beta}_2=-1.94) 가 음수라는 것은 결석횟수가 많아질수록 통계학 성적이 떨어지는 방향의 관계라는 뜻이다.
왜?
왜냐하면 회귀계수의 부호는 독립변수와 종속변수의 관계 방향을 나타내기 때문이다. 계수가 양수이면 독립변수가 증가할수록 종속변수도 증가하는 방향이고, 계수가 음수이면 독립변수가 증가할수록 종속변수는 감소하는 방향이다. 따라서 결석횟수의 계수가 (-1.94) 라는 것은, 다른 조건이 같다면 결석을 한 번 더 할수록 예측 성적이 평균적으로 1.94점 정도 내려간다는 뜻이다.
예시
같은 수학성적을 가진 두 학생이 있다고 하자.
한 학생은 결석 1번, 다른 학생은 결석 2번이면
결석이 1번 더 많은 학생의 예측 성적은 약 1.94점 낮아진다.
회귀계수 유의성 검정
절편 ((beta_0)): 계수 53.68, 표준오차 14.18, t=3.78, p=0.004
수학성적 ((beta_1)): 계수 0.61, 표준오차 0.20, t=3.06, p=0.014
결석횟수 ((beta_2)): 계수 -1.94, 표준오차 0.91, t=-2.12, p=0.063
각 회귀계수가 0이 아닌지, 즉 각 독립변수가 통계학 성적을 설명하는 데 실제로 의미가 있는지 본다.
왜?
왜냐하면 회귀식에 들어갔다고 해서 모든 변수가 반드시 중요한 것은 아니기 때문이다. 어떤 변수는 계수값이 있어 보이더라도 표본 오차 때문에 우연히 그렇게 나온 것일 수 있다. 그래서 “이 회귀계수가 정말 0이 아닌가?”를 t검정으로 확인하고, 그 결과를 p값으로 판단한다.
용어
회귀계수(Coefficient)
각 독립변수의 영향 크기
표준오차(STD. Error)
회귀계수 추정값이 얼마나 흔들릴 수 있는지 나타내는 값
t-statistic

즉 계수 ÷ 표준오차
유의확률(P값)
귀무가설이 맞다고 할 때 지금 같은 결과가 나올 확률
절편 행
절편 계수 53.68, 표준오차 14.18, t=3.78, p=0.004
절편이 0이 아니라는 증거가 강하다는 뜻이다.
왜?
왜냐하면 p값 0.004는 유의수준 0.05보다 작기 때문에, 절편이 0이라는 귀무가설을 기각할 수 있기 때문이다. 즉 이 모델에서 기준선 역할을 하는 절편은 통계적으로 유의하다고 볼 수 있다.
수식 확인

표의 t값과 맞는다.
수학성적 행
계수 0.61, 표준오차 0.20, t=3.06, p=0.014
수학성적 변수는 통계학 성적을 설명하는 데 유의한 변수라는 뜻이다.
왜?
왜냐하면 유의확률 (p=0.014) 가 유의수준 (0.05) 보다 작으므로, 수학성적의 회귀계수가 0이라는 귀무가설을 기각할 수 있기 때문이다. 즉 입시 수학성적은 통계학 성적에 통계적으로 의미 있는 영향을 준다고 해석한다. 그리고 계수가 양수이므로 수학성적이 높을수록 통계학 성적도 높아지는 방향이다.
수식 확인

반올림해서 3.06이다.
예시
수학성적이 10점 높아지면, 결석횟수가 같다고 할 때 통계학 성적은 평균적으로

점 정도 높아진다고 해석할 수 있다.
결석횟수 행
계수 -1.94, 표준오차 0.91, t=-2.12, p=0.063
결석횟수는 계수 방향은 음수이지만, 유의수준 0.05 기준에서는 통계적으로 유의하지 않다는 뜻이다.
왜?
왜냐하면 p값 0.063이 유의수준 0.05보다 크기 때문이다. 즉 표본에서는 결석횟수가 많을수록 성적이 떨어지는 방향은 보이지만, 그 효과가 통계적으로 충분히 강하다고 확신할 정도는 아니라는 뜻이다. 다시 말해 “영향이 아예 없다”라고 단정하는 것은 아니지만, 이 표본만으로는 결석횟수 효과가 유의하다고 말하기 어렵다.
수식 확인

반올림해서 -2.12이다.
예시
결석 1회 증가할 때 1.94점 감소 방향이 보이지만, 표본 수가 12명으로 작고 변동이 있을 수 있으니 이 결과를 아주 강하게 단정하긴 어렵다.
유의수준 (alpha=0.05)
검정 기준선을 5%로 두겠다는 뜻이다.
왜?
왜냐하면 통계에서 보통 5%를 기준으로 삼아, p값이 0.05보다 작으면 우연히 나왔을 가능성이 낮다고 보고 귀무가설을 기각하기 때문이다.
귀무가설 (H_0)
- 수학성적 ((beta_1)) 회귀계수가 0이다 ((beta_1=0))
- 결석횟수 ((beta_2)) 회귀계수가 0이다 ((beta_2=0))
각 변수의 영향력이 없다는 가설을 먼저 세운 것이다.
왜?
왜냐하면 통계 검정은 보통 “효과가 없다, 차이가 없다, 계수가 0이다”를 기본 가설인 귀무가설로 두고, 데이터가 충분히 강한 증거를 주면 그 귀무가설을 깨는 방식으로 진행되기 때문이다.
결론
- 수학성적: (p=0.014 < 0.05), 귀무가설 기각 → 설명력 있음
- 결석횟수: (p=0.063 > 0.05), 귀무가설 채택 → 설명력 없음
수학성적은 유의하고, 결석횟수는 5% 기준에서 유의하지 않다고 결론낸 것이다.
왜?
왜냐하면 p값 비교 규칙이 바로 그 기준이기 때문이다. p값이 유의수준보다 작으면 “회귀계수가 0이라고 보기 어렵다”가 되고, p값이 유의수준보다 크면 “0이 아닐 만큼 충분한 증거가 없다”가 된다.
주의
여기서 결석횟수의 설명력이 없다는 말을 너무 세게 이해하면 안 된다.
정확히는 이 표본과 이 유의수준 기준에서는 유의하다고 말하기 어렵다는 뜻이다.
모델 적합도 검정
통계학 성적의 평균 ((bar{Y}) = 84.25)
학생 12명의 통계학 성적 평균이 84.25점이라는 뜻이다.
왜?
왜냐하면 회귀분석의 변동 분해는 평균을 기준점으로 하기 때문이다. 전체 변동 (SST), 회귀제곱합 (SSR), 오차제곱합 (SSE) 모두 평균과 예측값, 실제값 사이 거리의 제곱합으로 계산된다.

회귀모델이 설명한 변동의 양이 603.59라는 뜻이다.
왜?
왜냐하면 예측값 (hat{Y}_i) 가 평균 (bar{Y}) 로부터 얼마나 떨어져 있는지를 보면, 모델이 평균보다 더 잘 설명해낸 변동량을 알 수 있기 때문이다. 즉 (SSR) 가 크다는 것은 모델이 평균만 쓰는 것보다 데이터를 더 많이 설명했다는 뜻이다.

모델이 설명하지 못하고 남긴 오차의 양이 124.66이라는 뜻이다.
왜?
왜냐하면 실제값과 예측값의 차이를 제곱해서 더한 값이기 때문이다. 이 값이 작을수록 모델 예측이 실제값에 더 가깝다.

전체 데이터가 평균으로부터 퍼져 있는 총변동이 728.25라는 뜻이다.
왜?
왜냐하면 종속변수의 전체 변동을 먼저 알아야 그중에서 얼마를 회귀모델이 설명했고, 얼마가 오차로 남았는지 나눌 수 있기 때문이다.
관계식
SST = SSR + SSE
수치로 보면
728.25 = 603.59 + 124.66
맞아떨어진다.
의미
전체 변동은
설명된 변동 + 설명되지 않은 변동
으로 분해된다
분산분석표(ANOVA)
- 회귀식(SSR): 제곱합 603.59, 자유도 (k=2)
- 오차(SSE): 제곱합 124.66, 자유도 (n-k-1=9)
- 전체변동(SST): 제곱합 728.25, 자유도 (n-1=11)
왜 자유도가 이렇게 되나?
회귀 자유도 (k=2)
독립변수가 2개이기 때문이다.
즉 수학성적, 결석횟수 두 개가 설명하는 차원 수가 2개다.
오차 자유도 (n-k-1=9)
전체 표본 12명에서
절편 1개와 회귀계수 2개를 추정했기 때문에
12-2-1=9
전체 자유도 (n-1=11)
평균 하나를 사용했기 때문이다.
평균제곱 계산

회귀가 설명한 변동을 자유도 2로 나눈 평균 변동량이다.
왜?
왜냐하면 제곱합은 자유도 영향을 받기 때문에(이미 평균이라는 제약을 받은 상태에서 계산됨 ), 비교를 위해 자유도로 나눈 평균제곱으로 바꾸어야 하기 때문이다.

오차의 평균적인 크기
왜?
왜냐하면 오차제곱합 자체는 표본 수에 따라 커질 수 있으므로, 자유도로 나누어 오차의 평균적 수준을 봐야 모델 검정에 쓸 수 있기 때문이다.
F값 계산

회귀가 설명한 평균 변동이 오차 평균 변동보다 약 21.8배 크다는 뜻이다.
왜?
왜냐하면 모델이 정말 설명력이 있다면, 회귀가 설명한 변동 (MSR) 이 오차의 평균 변동 (MSE) 보다 충분히 커야 하기 때문이다. F값은 바로 그 비율을 보는 값이다. F가 클수록 “이 모델은 우연이 아니라 실제 설명력이 있다”는 방향으로 간다.
모델 적합도 검정 설명
귀무가설 (H_0)

모든 회귀계수가 0, 즉 독립변수들이 종속변수와 관련이 없다는 가설이다.
왜?
왜냐하면 모델 전체 검정은 “적어도 하나의 독립변수는 의미가 있나?”를 보는 검정이기 때문이다. 그래서 기본 가설은 아예 모두 0이라고 두고 시작한다.
결론

이므로 귀무가설 기각
모델 전체는 유의하다는 뜻이다.
즉 적어도 하나 이상의 독립변수가 통계학 성적 설명에 기여하고 있다는 말이다.
왜?
왜냐하면 F검정의 p값이 유의수준보다 훨씬 작기 때문이다. 따라서 “수학성적과 결석횟수가 둘 다 전혀 관계 없다”는 가설은 기각된다. 즉 개별 검정에서는 결석횟수가 유의하지 않았더라도, 모델 전체로 보면 최소한 하나는 의미가 있다는 결론이 나온다. 여기서는 수학성적이 그 역할을 하고 있다고 볼 수 있다.
- 개별 t검정: 각 변수 하나하나를 봄
- 전체 F검정: 모델 전체를 봄
그래서
개별적으로는 결석횟수가 유의하지 않아도
모델 전체는 유의할 수 있다.
결정계수와 수정된 결정계수

통계학 성적의 전체 변동 중 약 83%를 이 회귀모델이 설명한다는 뜻이다.
왜?
왜냐하면 결정계수는 전체 변동 (SST) 중에서 오차로 남은 비율 ({SSE}/{SST}) 을 1에서 뺀 값이기 때문이다. 즉 전체 변동에서 설명 못한 부분을 제외하면 설명한 비율이 남는다. 0.83이라는 값은 꽤 높은 설명력을 의미한다.
해석
학생들의 통계학 성적 차이가 100만큼 퍼져 있다고 생각하면,
그중 약 83만큼은 수학성적과 결석횟수로 설명되고,
나머지 약 17만큼은 다른 요인이나 오차라는 뜻이다.
즉, 종속변수(통계학 성적)의 변동 중 약 83% 정도는 독립변수(회귀식)에 의해 설명 가능하다.
왜?
왜냐하면 결정계수는 본질적으로 “설명된 비율”이기 때문이다.
그래서 0.83이면 83% 설명 가능이라고 문장으로 바꿔 읽는다.
수정된 결정계수

독립변수 개수에 대한 패널티를 반영한 수정된 설명력은 약 79.1%라는 뜻이다.
왜?
왜냐하면 일반 결정계수 (R^2) 는 독립변수를 추가하면 대체로 증가하거나 유지되는 경향이 있어서, 변수 수가 많아질수록 설명력이 과장될 수 있기 때문이다. 그래서 수정된 결정계수는 자유도를 반영해서, 변수 수가 많을수록 패널티를 주어 더 보수적으로 설명력을 본다. 여기서는 0.83에서 0.791로 조금 내려갔는데, 이는 변수 2개를 넣은 데 대한 조정이 반영된 결과다.
용어
- Adjusted (R^2): 수정된 결정계수
- 패널티: 변수 수가 많아질수록 자동으로 불이익을 주는 장치
예시
그냥 (R^2) 만 보면 83% 설명이라 좋아 보이지만,
변수 수를 감안하면 실제로는 79% 정도 설명한다고 더 조심스럽게 보는 것이다.
즉, 종속변수(통계학 성적)의 변동 중 약 79% 정도는 독립변수(회귀식)에 의해 설명 가능하다.
왜?
왜냐하면 Adjusted (R^2) 도 결국 설명력 지표이기 때문이다.
다만 일반 (R^2) 보다 더 보수적으로 본 수치라는 점이 다르다.
'3. 빅데이터 모델링 > 분석 기법 적용' 카테고리의 다른 글
| 의사결정나무 (0) | 2026.03.20 |
|---|---|
| 로지스틱회귀분석 (0) | 2026.03.19 |
| 비선형회귀와 규제가 있는 회귀분석, 일반화 선형 모델 (1) | 2026.03.19 |
| 단순회귀분석 (0) | 2026.03.13 |
| 회귀분석 (0) | 2026.03.12 |