이번 문서의 목표: 최소제곱법으로 회귀식이 정해지는 원리를 이해하고, R의 summary(lm(...)) 출력에 나오는 모든 항목을 하나씩 읽어내며, 결정계수와 수정된 결정계수의 차이·다중공선성 문제를 판단할 수 있다.
회귀분석이란 무엇인가
왜 필요한가
17편의 상관분석은 “두 변수가 얼마나 강하게 관계돼 있는가”라는 관계의 강도를 알려줄 뿐, “한 변수의 값이 얼마일 때 다른 변수의 값이 대략 얼마가 될지” 구체적인 예측값을 계산해주지는 못한다. 예를 들어 “공부 시간과 시험 점수의 상관계수가 0.98이다”라는 사실만으로는 “공부를 7시간 하면 점수가 몇 점이 될지”를 답할 수 없다. 이 예측을 가능하게 하는 것이 회귀분석(regression analysis)이다. 회귀분석은 한 변수(또는 여러 변수)의 값으로 다른 한 변수의 값을 설명하고 예측하는 직선(또는 평면) 형태의 수식을 데이터로부터 찾아내는 기법이다.
쉽게 말하면: 회귀분석은 산점도에 흩어진 점들을 가장 잘 대표하는 직선 하나를 찾아, 그 직선으로 값을 예측하는 방법이다.
정의
회귀분석에서 예측의 대상이 되는 변수를 종속변수(dependent variable, , 반응변수·결과변수라고도 한다)라 하고, 종속변수를 설명하는 데 쓰이는 변수를 독립변수(independent variable, , 설명변수·예측변수라고도 한다)라 한다. 독립변수가 하나면 단순회귀분석(simple linear regression), 독립변수가 둘 이상이면 다중회귀분석(multiple linear regression)이라 부른다.
단순회귀모형과 최소제곱법
왜 필요한가
산점도 위에 직선을 그어보면 무한히 많은 직선을 그을 수 있다. 그중에서 “가장 데이터를 잘 대표하는” 하나의 직선을 어떻게 골라낼 것인가가 회귀분석의 핵심 문제다. 이 기준을 수학적으로 정의한 방법이 최소제곱법(least squares method, OLS라고도 하며 Ordinary Least Squares의 약자다)이다.
쉽게 말하면: 최소제곱법은 “실제 값과 직선이 예측한 값의 차이(오차)를 제곱해서 다 더한 값이 가장 작아지는” 직선을 고르는 방법이다.
정의
단순회귀모형은 다음과 같은 형태로 쓴다.
- : 번째 관측치의 종속변수 값
- : 번째 관측치의 독립변수 값
- (베타 제로): 절편(intercept). 독립변수 가 0일 때 예측되는 값
- (베타 원): 기울기(slope, 회귀계수). 독립변수 가 1단위 늘어날 때 종속변수 가 평균적으로 얼마나 변하는지
- (엡실론): 오차항(error term). 회귀직선으로 설명되지 않는, 관측치마다 다른 무작위 변동
이 모형에서 , 은 모집단 전체를 알아야 정확히 알 수 있는 참값(모수)이므로, 실제로는 표본 데이터로 이 값을 추정한 , (베타 햇, 추정치를 뜻하는 모자 기호)을 사용해 다음과 같은 추정된 회귀식을 얻는다.
- (와이 햇): 회귀식이 예측한 값(적합값, fitted value)
- 실제 관측값 와 적합값 의 차이 를 잔차(residual)라 한다. 잔차는 오차항 의 표본에서의 추정치에 해당한다.
최소제곱법은 이 잔차들의 제곱합, 즉 잔차제곱합(SSE, Sum of Squared Errors, 혹은 SSR로 표기하는 교재도 있어 표기법에 유의해야 한다 — 이 문서에서는 오차제곱합을 SSE로 통일한다)을 최소로 만드는 , 을 찾는다.
- : 잔차(오차) 제곱합. 회귀직선이 설명하지 못하고 남긴 변동의 크기.
왜 절댓값이 아니라 제곱을 쓰는가 하면, 절댓값은 미분이 매끄럽지 않아 수학적으로 최솟값을 구하는 계산이 까다롭지만, 제곱합은 미분해 0이 되는 지점을 찾는 방식으로 , 을 깔끔한 수식으로 유도할 수 있기 때문이다. 또한 제곱을 취하면 양의 오차와 음의 오차가 서로 상쇄되지 않고, 큰 오차에 더 큰 벌점을 준다는 장점도 있다.
회귀계수의 해석
왜 필요한가
회귀식을 구했다면, 그 식에 등장하는 계수들이 실제로 무엇을 의미하는지 정확히 읽어낼 수 있어야 한다. 회귀계수를 잘못 해석하면 “숫자는 맞게 계산했지만 결론은 틀린” 실수를 하게 된다.
계산·적용
주간 공부 시간(시간)과 시험 점수(점)에 대해 R로 단순회귀분석을 수행했다고 하자.
x <- c(2, 4, 6, 8, 10)
y <- c(50, 60, 70, 75, 95)
model <- lm(y ~ x)
summary(model)이 코드에서 lm(y ~ x)의 ~(물결, tilde) 기호는 “종속변수를 독립변수로 설명한다”는 뜻으로, y ~ x는 “y를 x로 설명하는 모형을 적합하라”는 R 공식(formula) 문법이다. 만약 이 회귀식이 로 추정됐다고 하면, 각 계수는 다음과 같이 해석한다.
- 절편 40: 공부 시간이 0시간일 때 예측되는 시험 점수가 40점이라는 뜻이다. 다만 절편은 항상 현실적으로 의미가 있는 것은 아니다 — 공부 시간이 정말 0인 상황이 데이터 범위 밖이라면, 이 절편값은 수학적으로 직선을 완성하기 위한 값일 뿐 실제 의미를 부여하기 어려울 수 있다.
- 기울기 5: 다른 조건이 동일할 때, 공부 시간이 1시간 늘어날 때마다 시험 점수가 평균적으로 5점 늘어난다는 뜻이다. 이때 “평균적으로”라는 표현이 중요한데, 회귀계수는 그 학생 한 명 한 명에게 정확히 적용되는 법칙이 아니라 전체 데이터에서 나타나는 평균적인 경향을 말한다.
다중회귀분석에서는 기울기 해석에 한 가지 조건이 더 붙는다. 예를 들어 라는 식이 있다면, 은 “를 일정하게 고정했을 때, 이 1단위 늘어나면 가 평균적으로 만큼 변한다”는 뜻이다. 이 “다른 변수를 고정했을 때”라는 조건을 빼먹고 해석하면 틀린 해석이 된다.
결정계수와 수정된 결정계수
왜 필요한가
회귀식을 구했다고 해서 그 식이 데이터를 잘 설명한다는 보장은 없다. “이 회귀모형이 종속변수의 변동을 얼마나 잘 설명하는가”를 평가하는 지표가 필요하다.
쉽게 말하면: 결정계수는 “종속변수가 원래 가지고 있던 흔들림(변동) 중에서, 이 회귀모형이 몇 퍼센트를 설명해냈는가”를 나타내는 숫자다.
정의
종속변수 의 전체 변동은 세 가지 제곱합으로 분해할 수 있다.
- (Sum of Squares Total, 총제곱합): 각 관측값이 종속변수의 전체 평균 로부터 벗어난 정도의 제곱합. . 종속변수가 원래 가지고 있는 전체 변동의 크기다.
- (Sum of Squares Regression, 회귀제곱합): 회귀식의 적합값 가 전체 평균 로부터 벗어난 정도의 제곱합. . 회귀모형이 “설명해낸” 변동의 크기다.
- (Sum of Squares Error, 잔차제곱합): 앞서 정의한 잔차의 제곱합. 회귀모형이 “설명하지 못하고 남긴” 변동의 크기다.
결정계수(coefficient of determination, 기호 )는 전체 변동 중 회귀모형이 설명한 비율이다.
은 0과 1 사이의 값을 가지며(단순회귀분석에서는 피어슨 상관계수 의 제곱과 같다), 1에 가까울수록 회귀모형이 종속변수의 변동을 잘 설명한다는 뜻이다.
계산·적용
예를 들어 어떤 회귀분석 결과 , 이 나왔다고 하자.
검산: 으로 같은 값이 나오는지 반대 공식으로도 확인한다. 두 방식의 결과가 일치하므로 계산이 맞았다고 확인할 수 있다. 이 결과는 “이 회귀모형이 종속변수 변동의 60퍼센트를 설명한다”고 해석한다.
자주 틀리는 함정: 을 결정계수로 착각하거나, (이는 “설명되지 않은 변동의 비율”이다)를 결정계수로 착각하는 함정이 자주 나온다. 결정계수는 반드시 SSR을 SST로 나누거나, 1에서 SSE/SST를 뺀 값이라는 두 가지 형태만 정답이다.
결정계수와 수정된 결정계수의 차이
결정계수에는 치명적인 함정이 하나 있다. 다중회귀분석에서 독립변수를 아무 의미 없는 변수라도 하나 더 추가하면, 결정계수 는 절대 감소하지 않고 항상 증가하거나 같은 값을 유지한다. 이는 변수를 추가하면 최소제곱법이 그 변수를 활용해 조금이라도 잔차를 더 줄일 여지가 생기기 때문이다. 그 결과, 만 보고 모형을 고르면 실제로는 의미 없는 변수를 잔뜩 집어넣어 억지로 를 높인, 과적합(overfitting, 훈련 데이터에만 지나치게 맞춰져 새로운 데이터에는 예측력이 떨어지는 상태)된 모형을 좋은 모형이라고 잘못 판단할 위험이 있다.
이 문제를 보완하기 위해 만든 지표가 수정된 결정계수(adjusted R-squared, )다.
- : 관측치(표본)의 개수
- : 독립변수의 개수
- : 잔차의 자유도. 전체 표본에서 절편 1개와 독립변수 개, 총 개의 모수를 추정하는 데 자유도를 썼다는 뜻이다.
수정된 결정계수는 독립변수 개수 가 커질수록 분모의 자유도 이 작아지는 방식으로 모형에 변수가 늘어나는 것에 대한 벌점(penalty)을 반영한다. 그래서 새로 추가한 변수가 실제로 설명력에 별 도움이 안 되는 변수라면, 수정된 결정계수는 오히려 감소할 수 있다. 이것이 결정계수와 수정된 결정계수의 근본적인 차이다 — 결정계수는 변수를 추가하면 항상 오르지만(같아지는 것도 포함), 수정된 결정계수는 그 변수가 실제로 쓸모가 있어야만 오른다.
| 구분 | 결정계수 () | 수정된 결정계수 () |
|---|---|---|
| 변수를 추가했을 때 | 항상 증가하거나 최소한 같은 값을 유지한다 | 유의미한 변수면 증가, 무의미한 변수면 오히려 감소할 수 있다 |
| 변수 개수 반영 여부 | 반영하지 않는다 | 변수 개수에 대한 벌점을 반영한다 |
| 용도 | 모형이 데이터를 얼마나 설명하는지의 단순 지표 | 변수 개수가 다른 여러 모형끼리 비교할 때 더 적합한 지표 |
자주 틀리는 함정 (여러 회차 반복 출제): “결정계수가 높으면 항상 좋은 모형이다”라는 서술은 틀렸다. 결정계수가 높아도 과적합, 다중공선성(뒤에서 다룬다), 인과관계와 무관한 변수 포함 등의 문제가 함께 있을 수 있으므로, 결정계수 하나만으로 모형의 좋고 나쁨을 판단해서는 안 된다. 여러 모형을 비교할 때는 독립변수 개수의 차이를 보정해주는 수정된 결정계수를 함께 확인해야 한다.
R의 회귀분석 summary 출력을 읽는 법
왜 필요한가
R에서 lm()으로 회귀모형을 적합시키고 summary()를 실행하면 한 화면에 여러 통계량이 함께 출력된다. ADsP 시험에서는 이 출력 화면을 그대로 제시하고 “해석으로 옳지 않은 것을 고르라”는 유형이 매우 자주 나오므로, 출력의 각 항목이 무엇을 뜻하는지 항목별로 정확히 읽어내는 능력이 필요하다.
정의: 항목별 해설
스위스 인구 통계 데이터(swiss)로 출산율(Fertility)을 나머지 모든 변수로 설명하는 다중회귀분석을 수행한 다음과 같은 실제 출력을 예시로 든다.
> summary(lm(Fertility ~ ., data = swiss))
Call:
lm(formula = Fertility ~ ., data = swiss)
Residuals:
Min 1Q Median 3Q Max
-15.2743 -5.2617 0.5032 4.1198 15.3213
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.91518 10.70604 6.250 1.91e-07 ***
Agriculture -0.17211 0.07030 -2.448 0.01873 *
Examination -0.25801 0.25388 -1.016 0.31546
Education -0.87094 0.18303 -4.758 2.43e-05 ***
Catholic 0.10412 0.03526 2.953 0.00519 **
Infant.Mortality 1.07705 0.38172 2.822 0.00734 **
---
Residual standard error: 7.165 on 41 degrees of freedom
Multiple R-squared: 0.7067, Adjusted R-squared: 0.671
F-statistic: 19.76 on 5 and 41 DF, p-value: 5.594e-10이 코드에서 Fertility ~ .의 마침표(.)는 “데이터프레임에 있는 나머지 모든 변수를 독립변수로 사용하라”는 R의 축약 표기다.
이제 이 출력을 위에서부터 항목별로 읽어본다.
Coefficients 표: 각 독립변수(그리고 절편)마다 한 행씩 다음 네 개의 열이 나온다.
- Estimate: 최소제곱법으로 추정한 회귀계수 값이다. 이 값의 부호와 크기로 그 변수가 종속변수에 미치는 영향의 방향과 크기를 읽는다. 예를 들어
Agriculture의 Estimate가 -0.17211이므로, 다른 변수들을 고정했을 때 농업 종사 비율(Agriculture)이 1단위 늘어나면 출산율(Fertility)이 평균 0.17211만큼 감소한다고 해석한다. - Std. Error: 그 회귀계수 추정치의 표준오차(standard error, 추정치가 표본마다 얼마나 흔들릴 수 있는지를 나타내는 값). 이 값이 작을수록 그 계수의 추정이 더 안정적(정밀)이라는 뜻이다.
- t value: 그 계수가 0과 통계적으로 다른지를 검정하는 t-검정 통계량으로,
t value = Estimate / Std. Error로 계산된다. 절댓값이 클수록 그 변수가 종속변수 설명에 유의미하게 기여한다는 증거가 강하다는 뜻이다. - Pr(
>|t|): 이 t값에 대응하는 p값이다. 16편에서 배운 대로 “이 회귀계수가 실제로는 0인데(그 변수가 실제로는 아무 영향이 없는데), 우연히 지금 추정된 값 이상으로 극단적인 결과가 나올 확률”을 뜻한다. 이 값이 유의수준(보통 0.05)보다 작으면 “그 변수는 종속변수를 설명하는 데 통계적으로 유의하다”고 판단한다. 표 옆의 별표(***,**,*)는 p값이 각각 0.001, 0.01, 0.05보다 작다는 것을 빠르게 표시해주는 관례적인 유의성 표시다.
이 표에서 Examination의 p값은 0.31546으로 0.05보다 훨씬 크므로 별표가 하나도 없는데, 이는 “Examination 변수는 이 모형 안에서 출산율을 설명하는 데 통계적으로 유의하지 않다”는 뜻이다. 이렇게 모든 독립변수의 회귀계수가 항상 유의한 것은 아니라는 점을 표에서 직접 확인해야 한다.
Residual standard error: 잔차(예측이 빗나간 정도)들의 표준편차와 비슷한 개념으로, 회귀식이 예측한 값과 실제 값이 평균적으로 얼마나 차이 나는지를 원래 종속변수와 같은 단위로 보여준다. 옆의 on 41 degrees of freedom은 잔차의 자유도로, (관측치 개수 − 독립변수 개수 − 1)로 계산된다. 이 예시에서는 독립변수가 5개이므로, 자유도 41로부터 거꾸로 관측치 개수를 구하면 개다.
Multiple R-squared: 앞서 정의한 결정계수 다. 이 값 0.7067은 “이 모형이 출산율 변동의 약 70.67퍼센트를 설명한다”는 뜻이다.
Adjusted R-squared: 수정된 결정계수 다. 값 0.671은 변수 개수를 고려해 보정한 설명력이 약 67.1퍼센트라는 뜻이다. Multiple R-squared보다 항상 작거나 같은 값을 갖는다(독립변수가 2개 이상일 때).
F-statistic: 회귀모형 전체가 통계적으로 유의미한지를 검정하는 값이다. 이 검정의 귀무가설은 “모든 독립변수의 회귀계수가 동시에 0이다(즉 이 모형 전체가 종속변수 설명에 아무 쓸모가 없다)“이고, 대립가설은 “적어도 하나의 회귀계수는 0이 아니다”이다. on 5 and 41 DF는 F분포의 두 자유도(분자 자유도 = 독립변수 개수, 분모 자유도 = 잔차 자유도)를 뜻한다. 옆의 p-value(5.594e-10, 이는 지수 표기로 이라는 뜻이며 0에 매우 가까운 극히 작은 숫자다)가 유의수준보다 훨씬 작으므로, “이 회귀모형은 전체적으로 통계적으로 유의하다”고 결론 내린다.
자주 틀리는 함정 (44회·45회 기출 반복): 잔차 자유도로부터 관측치 개수를 구할 때 절편을 빼먹고 계산하는 실수가 자주 나온다. 위 예시에서 “데이터 개수는 자유도(41)와 독립변수 개수(5)를 이용해 46으로 볼 수 있다”는 서술은 틀렸다 — 절편까지 포함해 추정한 모수가 6개()이므로 이 맞는 계산이다. 또한 “Education이 Fertility 변동의 원인이라고 단정할 수 있다”처럼 통계적 유의성을 인과관계로 확대 해석하는 보기도 자주 오답으로 나온다(17편의 상관-인과 오류 참고). 회귀분석의 유의성은 “통계적으로 연관이 있다”는 근거이지 “원인이다”라는 증명이 아니다.
회귀분석의 4가지 가정
왜 필요한가
최소제곱법으로 회귀식을 구하는 것 자체는 어떤 데이터에도 기계적으로 가능하지만, 그렇게 구한 계수의 추정치·표준오차·p값 등이 통계적으로 믿을 만한 값이 되려면 데이터가 몇 가지 전제 조건을 만족해야 한다. 이 전제 조건을 회귀분석의 가정이라 부르며, 이 가정이 깨지면 회귀분석 결과를 있는 그대로 신뢰할 수 없다.
쉽게 말하면: 회귀분석의 4가지 가정은 “오차(잔차)가 특별한 패턴 없이 무작위로 흩어져 있어야 한다”는 한 가지 큰 원칙을 네 방향에서 점검하는 것이다.
정의
| 가정 | 의미 | 위배되었을 때의 대표적 증상 |
|---|---|---|
| 선형성(linearity) | 독립변수와 종속변수 사이의 관계가 실제로 직선(또는 평면) 형태여야 한다 | 잔차를 적합값에 대해 그린 산점도에서 U자형·곡선 패턴이 나타난다 |
| 독립성(independence) | 관측치들의 오차항이 서로 영향을 주지 않고 독립이어야 한다 | 시계열 데이터처럼 관측치 순서에 따라 오차가 연쇄적으로 이어지는 자기상관(autocorrelation) 현상이 나타난다 |
| 등분산성(homoscedasticity) | 독립변수 값의 크기와 상관없이 오차의 분산이 일정해야 한다 | 잔차 산점도가 나팔(원뿔) 모양으로, 적합값이 커질수록 잔차의 흩어진 폭도 함께 커지거나 작아진다(이 위배 현상을 이분산성, heteroscedasticity이라 한다) |
| 정규성(normality) | 오차항이 정규분포(14편 참고)를 따라야 한다 | 잔차의 히스토그램이나 Q-Q 플롯이 정규분포에서 크게 벗어난 비대칭 형태를 보인다 |
이 네 가정을 점검할 때 가장 널리 쓰이는 시각적 도구가 잔차 산점도(residual plot, x축에 적합값 , y축에 잔차 를 찍은 그래프)다. 잔차 산점도에서 잔차들이 0을 중심으로 아무 규칙 없이 고르게 흩어져 있으면 선형성·등분산성 가정이 잘 지켜지고 있다는 뜻이다. 반대로 U자형 곡선이 보이면 선형성 가정이 깨진 것이고, 나팔 모양이 보이면 등분산성 가정이 깨진 것이다. 등분산성은 그래프 외에도 Breusch-Pagan 검정, White 검정 같은 통계적 검정으로 확인할 수 있고, 정규성은 Shapiro-Wilk 검정으로 확인할 수 있다.
자주 틀리는 함정 (ADsP 48회, 모의고사 117 기출): “잔차 산점도에서 U자형 곡선 패턴이 나타나면 모형이 적합하다”는 서술은 틀렸다 — U자형 패턴은 오히려 비선형 관계가 존재해 선형성 가정이 깨졌다는 신호이며, 잔차가 아무 패턴 없이 무작위로 흩어져 있어야 모형이 적합하다고 볼 수 있다. 또한 “설명변수 간 상관계수를 확인하면 회귀모형 전체의 적합성을 판단할 수 있다”는 서술도 틀렸다 — 설명변수 간 상관은 모형 전체의 설명력이 아니라 뒤에서 다룰 다중공선성을 점검하는 지표다. 마지막으로 “오차항의 분산이 독립변수 값에 따라 달라져야 한다”는 서술은 등분산성 가정을 정반대로 뒤집은 오답이다 — 분산은 독립변수 값과 무관하게 일정해야 한다.
다중공선성
왜 필요한가
다중회귀분석에서는 독립변수를 여러 개 동시에 사용하는데, 만약 독립변수들끼리 서로 너무 강하게 상관되어 있으면 문제가 생긴다. 예를 들어 “키(cm)“와 “키(m)“를 둘 다 독립변수로 넣으면, 사실상 같은 정보를 중복으로 넣은 셈이라 회귀모형이 “각 변수가 개별적으로 얼마나 기여하는지”를 구분해내지 못하게 된다. 이 문제를 다중공선성(multicollinearity)이라 한다.
쉽게 말하면: 다중공선성은 독립변수들끼리 너무 닮아 있어서, 회귀모형이 “누구 덕분에 결과가 이렇게 나왔는지” 헷갈려 하는 상태다.
정의
다중공선성은 다중회귀분석에서 두 개 이상의 독립변수 사이에 강한 상관관계가 존재하는 현상이다. 다중공선성이 심하면 다음과 같은 문제가 나타난다.
- 회귀계수 추정치의 분산(표준오차)이 크게 부풀어 올라, 계수 추정이 불안정해진다. 데이터를 아주 조금만 바꿔도 추정된 계수 값이 크게 요동칠 수 있다.
- 개별 계수의 t값이 작아지고 p값이 커져서, 실제로는 종속변수에 영향을 주는 변수인데도 “통계적으로 유의하지 않다”고 잘못 판정될 수 있다.
- 회귀계수의 부호가 이론적으로 예상한 방향과 반대로 나오는 경우가 생기기도 한다.
다중공선성을 진단하는 대표적인 지표가 VIF(Variance Inflation Factor, 분산팽창요인)다.
- : 번째 독립변수의 분산팽창요인
- : 번째 독립변수를 종속변수로 놓고, 나머지 모든 독립변수로 이 변수를 설명하는 보조 회귀분석을 했을 때 나오는 결정계수
이 공식이 뜻하는 바는 직관적이다. 만약 번째 독립변수가 나머지 독립변수들과 전혀 관계가 없다면 이 되어 이 된다(다중공선성이 전혀 없는 이상적인 상태). 반대로 번째 독립변수가 나머지 변수들로 거의 완벽하게 설명된다면 이 1에 가까워지면서 분모 가 0에 가까워지고, 값이 매우 커진다.
계산·적용: VIF 판단 기준과 해결 방법
일반적으로 통용되는 판단 기준은 다음과 같다.
| VIF 값 | 판단 |
|---|---|
1에 가까움 | 다중공선성 문제가 거의 없다 |
5 이상 | 다중공선성을 의심해봐야 한다(엄격한 기준) |
10 이상 | 다중공선성이 심각하다고 판단하는 것이 통상적인 기준이다 |
다중공선성이 발견됐을 때의 대표적인 해결 방법은 다음과 같다.
- 상관이 높은 변수 중 하나를 모형에서 제거한다. 가장 직관적이고 흔히 쓰이는 방법이다.
- 주성분분석(PCA, Principal Component Analysis)으로 서로 상관된 여러 변수를 몇 개의 새로운 독립 성분으로 압축한 뒤 그 성분을 독립변수로 사용한다.
- 정규화 회귀(regularized regression)인 릿지(Ridge) 회귀, 라쏘(Lasso) 회귀, 엘라스틱넷(Elastic Net) 회귀를 사용해, 계수 추정치가 지나치게 커지는 것을 억제하는 벌점을 회귀식에 추가한다.
자주 틀리는 함정 (47회 기출): “다중공선성이 존재하더라도 회귀계수의 분산은 항상 동일하다”는 서술은 틀렸다 — 다중공선성은 정확히 회귀계수 추정치의 분산을 크게 팽창시키는 문제이며, VIF라는 이름 자체가 “분산팽창요인”이라는 뜻이다. 또한 “설명변수 간 상관계수를 보면 회귀모형 전체의 적합성(설명력)을 알 수 있다”는 서술도 틀렸다 — 설명변수 간 상관은 다중공선성 여부를 보여줄 뿐, 모형이 종속변수를 얼마나 잘 설명하는지(그 지표는 결정계수)와는 다른 문제다.
핵심 정리
- 회귀분석은 최소제곱법으로 잔차제곱합(SSE)을 최소화하는 절편과 기울기를 찾아 종속변수를 예측하는 기법이다.
- 다중회귀분석의 기울기는 “다른 독립변수를 고정했을 때”라는 조건 아래에서 해석해야 한다.
- 결정계수()는 변수를 추가하면 항상 증가하지만, 수정된 결정계수()는 변수 개수에 벌점을 부과해 무의미한 변수를 추가하면 오히려 감소할 수 있다.
- R의
summary(lm(...))출력에서 Estimate·Std. Error·t value·Pr(>|t|)는 개별 계수의 유의성을, Multiple R-squared·Adjusted R-squared는 모형의 설명력을, F-statistic과 그 p값은 모형 전체의 유의성을 나타낸다. - 회귀분석은 선형성·독립성·등분산성·정규성 4가지 가정을 전제하며, 잔차 산점도로 위배 여부를 점검한다.
- 다중공선성은 독립변수 간 강한 상관으로 계수 추정이 불안정해지는 문제이며, VIF가 10 이상이면 심각하다고 보고 변수 제거·PCA·정규화 회귀로 해결한다.