1 왜 회귀 모형의 “지도”가 필요한가
회귀 분석(Regression Analysis)은 통계학과 머신러닝에서 가장 널리 사용되는 도구이다. 그런데 회귀 모형은 종류가 많다 — SLR, MLR, 다항 회귀, 로지스틱 회귀, 포아송 회귀, Ridge, Lasso, 혼합 모형, GAM 등. 각각을 개별적으로 배우면 “언제 무엇을 써야 하는가?”라는 질문에 답하기 어렵다.
이 포스트의 목적은 회귀 모형들을 하나의 계보(genealogy)로 연결하는 것이다. 각 모형이 이전 모형의 어떤 한계를 극복하기 위해 등장했는지를 따라가면, 전체 구조가 자연스럽게 보인다.
핵심 흐름:
SLR → MLR → 다항 회귀 → GLM → 혼합 모형
↓
정규화 회귀 (Ridge, Lasso)
↓
비모수 회귀 (GAM, 커널)
이 계보는 주요 교재의 구성과 일치한다:
- Casella & Berger (2002): Ch.11에서 ANOVA와 SLR을 같은 선형 모형으로 통합하고, Ch.12에서 로지스틱 회귀·로버스트 회귀·측정오차 회귀로 확장한다
- McCullagh & Nelder (1989): Ch.2에서 GLM의 세 구성 요소(분포, 선형예측자, 연결함수)를 정의하고, Ch.3~8에서 정규·이항·포아송·감마 데이터로 확장한다
- Faraway (2006): 선형 모형 복습(Ch.1) → GLM(Ch.2~7) → 혼합 모형(Ch.8~10) → 비모수(Ch.11~13)으로 “하나의 프레임워크를 점진적으로 확장”하는 구조를 취한다
2 회귀 모형의 공통 구조
모든 회귀 모형은 다음 세 가지 요소를 공유한다.
\[ \underbrace{g(E[Y|X])}_{\text{변환된 기대값}} = \underbrace{f(X; \beta)}_{\text{예측 함수}} \]
이 수식이 말하는 것은 단순하다: “반응변수의 기대값을 어떤 함수로 변환하면(g), 예측변수의 선형결합(f)과 같아진다.” 모형마다 g와 f의 선택이 다를 뿐, 이 틀은 모든 회귀 모형에 공통이다.
| 요소 | 역할 | 모형마다 달라지는 부분 |
|---|---|---|
| 반응변수 \(Y\) | 예측 대상 | 연속형, 이진형, 카운트, 시간 등 |
| 연결 함수 \(g(\cdot)\) | \(E[Y]\) 와 선형 예측자를 연결 | 항등(identity), 로짓(logit), 로그(log) 등 |
| 예측 함수 \(f(X; \beta)\) | 설명변수와 모수의 관계 | 선형, 다항, 비모수 등 |
“어떤 회귀 모형을 쓸 것인가”는 이 세 요소를 결정하는 것이다. \(Y\) 의 분포가 정규가 아니면 GLM으로, \(f\) 가 비선형이면 다항 회귀나 GAM으로, 관측치가 독립이 아니면 혼합 모형으로 확장한다.
3 단순 선형 회귀 (Simple Linear Regression, SLR)
\[ Y_i = \beta_0 + \beta_1 X_i + \varepsilon_i, \quad \varepsilon_i \overset{iid}{\sim} N(0, \sigma^2) \]
핵심 가정: 선형성, 등분산성, 독립성, 정규성 (LINE: Linearity, Independence, Normality, Equal variance)
추정: 최소제곱법(OLS)으로 \(\hat{\beta} = (X^TX)^{-1}X^TY\) 를 구한다. Gauss-Markov 정리에 의해 OLS 추정량은 선형 비편향 추정량 중 최소 분산을 갖는다(BLUE). Casella & Berger (2002, §11.3)는 SLR을 “ANOVA와 같은 선형 모형의 연속형 공변량 버전”으로 정의하며, 변동 분해(SSR + SSE = SST)와 \(F\) 검정을 ANOVA와 동일한 구조로 전개한다.
한계: 설명변수가 1개뿐이다. 현실에서는 \(Y\) 에 영향을 미치는 변수가 여러 개이다.
상세: Simple Linear Regression: Overview 및 후속 시리즈 (133~138)
4 다중 선형 회귀 (Multiple Linear Regression, MLR)
\[ Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \cdots + \beta_p X_{ip} + \varepsilon_i \]
행렬 표기: \(\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\)
SLR의 자연스러운 확장이다. 설명변수가 \(p\) 개로 늘어나면서 새로운 문제가 등장한다.
| SLR에서는 없던 문제 | MLR에서 발생 | 해결 방향 |
|---|---|---|
| 다중공선성(Multicollinearity) | 설명변수 간 높은 상관 → \(\hat{\beta}\) 불안정 | VIF 진단, 변수 제거, 정규화(Ridge) |
| 변수 선택(Variable Selection) | \(p\) 가 크면 어떤 변수를 포함할지 결정 필요 | Stepwise, AIC/BIC, Lasso |
| 차원의 저주 | \(p > n\) 이면 OLS 자체가 불가 | Ridge, Lasso, PCA 회귀 |
추정: OLS는 동일하다. \(\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{Y}\). 행렬 \(\mathbf{X}^T\mathbf{X}\) 가 가역이어야 한다.
한계: \(Y\) 가 정규분포를 따르지 않으면(이진, 카운트 등) OLS를 적용할 수 없다. \(X\) 와 \(Y\) 의 관계가 비선형이면 잔차에 패턴이 남는다.
상세: Multiple Linear Regression — 행렬 OLS, Gauss-Markov, F-검정, 다중공선성
5 다항 회귀와 상호작용 (Polynomial Regression & Interactions)
\[ Y_i = \beta_0 + \beta_1 X_i + \beta_2 X_i^2 + \cdots + \beta_d X_i^d + \varepsilon_i \]
\(X\) 와 \(Y\) 의 관계가 비선형일 때, \(X\) 의 고차항(\(X^2, X^3, \ldots\))을 추가하여 비선형 패턴을 포착한다. 모수 \(\beta\) 에 대해서는 여전히 선형이므로 OLS로 추정할 수 있다.
상호작용 항(\(X_1 X_2\))을 추가하면 두 변수의 효과가 서로에 의존하는 경우를 모형화할 수 있다.
한계: 차수 \(d\) 가 높아지면 과적합(overfitting) 위험이 증가한다. 과적합이 위험한 이유는 모형이 학습 데이터의 잡음(noise)까지 외우게 되어, 한 번도 본 적 없는 새 데이터에서는 예측이 크게 빗나가기 때문이다. \(X\) 의 범위 밖에서 예측이 급격히 발산한다는 점도 실무 적용을 어렵게 한다.
6 일반화 선형 모형 (Generalized Linear Model, GLM)
\[ g(E[Y_i | X_i]) = \mathbf{X}_i^T \boldsymbol{\beta} \]
\(Y_i\) 는 지수족(Exponential Family) 분포를 따르고, \(g(\cdot)\) 는 연결 함수(Link Function)이다.
GLM은 SLR/MLR의 두 가지 제약을 동시에 제거한다:
- \(Y\) 가 정규분포가 아니어도 된다 — 이항, 포아송, 감마, 역가우시안 등
- \(E[Y]\) 와 \(X\beta\) 의 관계가 항등 함수가 아니어도 된다 — logit, log, probit 등
| GLM 특수 경우 | 반응변수 분포 | 연결 함수 | 용도 |
|---|---|---|---|
| 선형 회귀 | 정규 | 항등 (\(\mu\)) | 연속형 반응 |
| 로지스틱 회귀 | 이항 | 로짓 (\(\log\frac{p}{1-p}\)) | 이진 분류, 확률 추정 |
| 포아송 회귀 | 포아송 | 로그 (\(\log\mu\)) | 카운트 데이터 |
| 감마 회귀 | 감마 | 역수 (\(1/\mu\)) | 양의 연속형, 비대칭 |
추정: OLS 대신 최대우도추정(MLE)을 사용한다. 닫힌 형태의 해가 없으므로 반복 재가중 최소제곱(IRLS, Iteratively Reweighted Least Squares) 알고리즘으로 수치적으로 구한다. IRLS는 매 반복에서 가중치를 갱신하며 가중 최소제곱을 반복하는 것으로, McCullagh & Nelder (1989, Ch.2)에서 GLM 추정의 표준 알고리즘으로 제시한다. Casella & Berger (2002, Ch.12)도 로지스틱 회귀의 MLE를 IRLS로 유도한다.
왜 중요한가: t-test, ANOVA, 로지스틱 회귀, 포아송 회귀가 모두 GLM의 특수 경우이다. GLM을 이해하면 이 모든 방법을 하나의 프레임워크 안에서 일관되게 다룰 수 있다. McCullagh & Nelder는 이를 “통계 모형의 통합(unification)”이라 부른다.
한계: 관측치가 독립이어야 한다. 동일 개체에서 반복 측정한 데이터(종단 데이터, 클러스터 데이터)에는 적용할 수 없다.
7 정규화 회귀 (Regularized Regression)
7.1 왜 필요한가
MLR에서 설명변수 \(p\) 가 많아지면 두 가지 문제가 발생한다:
- 과적합: 모형이 학습 데이터의 잡음까지 학습하여 새 데이터에 대한 예측력이 떨어진다
- \(p > n\) 문제: 설명변수가 관측치보다 많으면 \(\mathbf{X}^T\mathbf{X}\) 가 가역이 아니라 OLS 자체가 정의되지 않는다
정규화는 손실 함수에 벌칙항(penalty)을 추가하여 \(\beta\) 의 크기를 제약한다.
7.2 Ridge 회귀 (L2 정규화)
\[ \hat{\boldsymbol{\beta}}^{\text{Ridge}} = \arg\min_{\boldsymbol{\beta}} \left\{ \|\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}\|^2 + \lambda \|\boldsymbol{\beta}\|_2^2 \right\} \]
닫힌 형태의 해: \(\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X} + \lambda \mathbf{I})^{-1}\mathbf{X}^T\mathbf{Y}\)
\(\lambda \mathbf{I}\) 가 대각에 더해지므로 \(p > n\) 이어도 항상 가역이다. \(\beta\) 를 0에 가깝게 축소(shrink)하지만, 정확히 0으로 만들지는 않는다.
7.3 Lasso 회귀 (L1 정규화)
\[ \hat{\boldsymbol{\beta}}^{\text{Lasso}} = \arg\min_{\boldsymbol{\beta}} \left\{ \|\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}\|^2 + \lambda \|\boldsymbol{\beta}\|_1 \right\} \]
L1 벌칙은 일부 \(\beta_j\) 를 정확히 0으로 만든다. 따라서 Lasso는 변수 선택(feature selection)을 자동으로 수행한다.
7.4 Elastic Net
\[ \lambda \left[ \alpha \|\boldsymbol{\beta}\|_1 + (1-\alpha) \|\boldsymbol{\beta}\|_2^2 \right] \]
L1과 L2를 혼합한다. \(\alpha = 1\) 이면 Lasso, \(\alpha = 0\) 이면 Ridge이다. 상관이 높은 변수 그룹이 있을 때 Lasso보다 안정적으로 동작한다.
| 방법 | 벌칙 | \(\beta = 0\) 가능 | 변수 선택 | 상관 변수 처리 |
|---|---|---|---|---|
| Ridge | L2 (\(\|\beta\|_2^2\)) | 불가 | 불가 | 안정적 |
| Lasso | L1 (\(\|\beta\|_1\)) | 가능 | 자동 수행 | 불안정 (하나만 선택) |
| Elastic Net | L1 + L2 | 가능 | 자동 수행 | 안정적 (그룹 선택) |
Lasso가 상관 변수 처리에 불안정한 이유: L1 벌칙은 비미분점(0 근처)에서 하나의 변수만 살리고 나머지를 0으로 만드는 경향이 있다. 따라서 강한 상관의 두 변수 \(x_1, x_2\) 가 있을 때, Lasso는 둘 중 어느 것이 선택될지 데이터의 작은 변화에도 달라진다. Elastic Net은 L2 벌칙이 이 그룹을 함께 유지하도록 안정화한다.
8 혼합 모형 (Mixed Effects Model)
\[ Y_{ij} = \mathbf{X}_{ij}^T \boldsymbol{\beta} + \mathbf{Z}_{ij}^T \mathbf{b}_i + \varepsilon_{ij}, \quad \mathbf{b}_i \sim N(\mathbf{0}, \mathbf{D}), \quad \varepsilon_{ij} \sim N(0, \sigma^2) \]
\(\boldsymbol{\beta}\) 는 고정효과(Fixed Effects), \(\mathbf{b}_i\) 는 랜덤효과(Random Effects)이다.
8.1 왜 필요한가
GLM까지의 모든 모형은 관측치의 독립성을 가정한다. 하지만 현실에서는:
- 같은 환자에서 반복 측정한 데이터 (종단 연구)
- 같은 학교의 학생들 (클러스터 데이터)
- 같은 실험실에서 나온 결과 (네스팅 구조)
이런 데이터에서 관측치 간 상관을 무시하면 표준오차가 과소 추정되어 거짓 양성(false positive)이 증가한다.
혼합 모형은 고정효과로 모집단 수준의 관계를 추정하면서, 랜덤효과로 개체 간 이질성(heterogeneity)을 모형화한다.
8.2 GLM과의 관계
| GLM | 혼합 모형 (GLMM) | |
|---|---|---|
| 관측치 간 상관 | 독립 가정 | 랜덤효과로 상관 모형화 |
| 반응변수 분포 | 지수족 | 지수족 (동일) |
| 추정 | MLE (IRLS) | REML, PQL, Laplace 근사 |
상세: 종단 데이터 분석 시리즈
9 비모수 회귀 (Nonparametric Regression)
9.1 왜 필요한가
지금까지의 모형은 모두 \(f(X; \beta)\) 의 함수적 형태를 미리 지정한다 (선형, 로짓 등). 하지만 실제 관계가 어떤 수식으로도 깔끔하게 표현되지 않을 수 있다.
비모수 회귀는 \(f\) 의 형태를 사전에 고정하지 않고, 데이터로부터 유연하게 학습한다. Faraway (2006, Ch.11~13)는 이를 “선형 모형의 마지막 확장”으로 다루며, 커널 회귀 → 스플라인 → 가법 모형 → 의사결정 나무의 순서로 유연성을 높여 간다.
9.2 일반화 가법 모형 (GAM, Generalized Additive Model)
\[ g(E[Y]) = \beta_0 + f_1(X_1) + f_2(X_2) + \cdots + f_p(X_p) \]
각 \(f_j\) 는 스플라인(spline) 등의 유연한 함수이다. 선형 관계를 가정하지 않으면서도 해석 가능성을 유지한다는 장점이 있다. 변수별로 편효과(partial effect)를 시각화할 수 있다.
9.3 커널 회귀 (Kernel Regression)
\[ \hat{f}(x) = \frac{\sum_{i=1}^n K_h(x - X_i) Y_i}{\sum_{i=1}^n K_h(x - X_i)} \]
예측하려는 점 \(x\) 근처의 관측치에 높은 가중치를 부여하여 지역적(local)으로 평균을 구한다. 대역폭(bandwidth) \(h\) 가 편향-분산 트레이드오프를 결정한다.
| 방법 | 유연성 | 해석 가능성 | 차원 확장 |
|---|---|---|---|
| GAM | 높음 (변수별 비선형) | 높음 (편효과 그래프) | 가법 구조로 확장 가능 |
| 커널 회귀 | 매우 높음 | 낮음 (블랙박스에 가까움) | 차원의 저주에 취약 |
| 의사결정 나무 | 높음 | 높음 (규칙 기반) | 앙상블(RF, GBM)로 확장 |
10 모형 선택 가이드
각 모형의 원리와 한계를 파악했으니, 이제 실무에서 어떤 기준으로 선택하는지를 세 가지 축으로 정리한다. \(Y\) 의 분포, 데이터의 구조, 분석 목적을 순서대로 점검하면 대부분의 상황에서 1차 후보가 결정된다.
10.1 반응변수 \(Y\) 의 유형
| \(Y\) 유형 | 1차 후보 | 확장 |
|---|---|---|
| 연속형 (무제한) | 선형 회귀 (OLS) | Ridge/Lasso, GAM |
| 이진형 (0/1) | 로지스틱 회귀 | GLMM (클러스터 시) |
| 카운트 (0, 1, 2, …) | 포아송 회귀 | 음이항 (과대산포 시), ZIP (영과잉 시) |
| 양의 연속형 (비대칭) | 감마 회귀 | 로그 변환 후 OLS |
| 사건 발생 시간 | Cox 비례위험 모형 | 생존분석 시리즈 참조 |
10.2 데이터 구조
| 구조 | 영향 | 대응 모형 |
|---|---|---|
| iid 관측치 | 없음 | GLM으로 충분 |
| 반복 측정 / 클러스터 | 관측치 간 상관 | 혼합 모형 (GLMM), GEE |
| 시계열 | 시간 자기상관 | 시계열 회귀, ARIMA |
| 고차원 (\(p \gg n\)) | OLS 불가 | Lasso, Elastic Net, PCA 회귀 |
10.3 예측 vs 설명
| 목적 | 우선시할 것 | 추천 모형 |
|---|---|---|
| 설명 (인과 추론, 계수 해석) | 해석 가능성, 비편향 추정 | OLS, GLM, 혼합 모형 |
| 예측 (새 데이터 정확도) | 예측 오차 최소화 | Lasso, GAM, 앙상블 |
| 둘 다 | 균형 | Elastic Net, GAM |
11 코드 예시: 모형 비교
11.1 Python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression, Ridge, Lasso
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import mean_squared_error
# 데이터 생성
np.random.seed(42)
n = 100
X = np.sort(np.random.uniform(0, 10, n)).reshape(-1, 1)
y = 3 * np.sin(X).ravel() + 0.5 * X.ravel() + np.random.normal(0, 1, n)
# 모형 적합
models = {
'OLS': LinearRegression(),
'Ridge (lambda=1)': Ridge(alpha=1),
'Lasso (lambda=0.1)': Lasso(alpha=0.1),
}
# 다항 회귀 (5차)
poly = PolynomialFeatures(degree=5)
X_poly = poly.fit_transform(X)
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
X_plot = np.linspace(0, 10, 200).reshape(-1, 1)
for ax, (name, model) in zip(axes, models.items()):
model.fit(X, y)
y_pred = model.predict(X_plot)
ax.scatter(X, y, alpha=0.5, s=20)
ax.plot(X_plot, y_pred, 'r-', linewidth=2)
ax.set_title(name)
ax.set_xlabel('X')
ax.set_ylabel('Y')
plt.tight_layout()
plt.show()이 Python 코드는 동일한 데이터에 OLS·Ridge·Lasso를 적합하여 시각적으로 비교한다. OLS는 데이터에 가장 가깝지만 잡음에 민감하고, Ridge·Lasso는 계수가 축소되면서 새 데이터 예측이 더 안정적임을 확인할 수 있다.
11.2 R
library(tidyverse)
library(glmnet)
library(mgcv)
# 데이터 생성
set.seed(42)
n <- 100
x <- sort(runif(n, 0, 10))
y <- 3 * sin(x) + 0.5 * x + rnorm(n)
df <- tibble(x = x, y = y)
# OLS
fit_ols <- lm(y ~ x, data = df)
# 다항 회귀
fit_poly <- lm(y ~ poly(x, 5), data = df)
# GAM
fit_gam <- gam(y ~ s(x), data = df)
# 비교 시각화
x_new <- seq(0, 10, length.out = 200)
pred_df <- tibble(
x = rep(x_new, 3),
y_hat = c(
predict(fit_ols, newdata = tibble(x = x_new)),
predict(fit_poly, newdata = tibble(x = x_new)),
predict(fit_gam, newdata = tibble(x = x_new))
),
model = rep(c("OLS", "Polynomial (d=5)", "GAM"), each = 200)
)
ggplot() +
geom_point(data = df, aes(x, y), alpha = 0.5) +
geom_line(data = pred_df, aes(x, y_hat, color = model), linewidth = 1) +
facet_wrap(~model) +
theme_minimal() +
labs(title = "회귀 모형 비교", x = "X", y = "Y")이 R 코드는 동일한 데이터에 OLS(직선) · 다항 회귀(고차 곡선) · GAM(유연한 비모수 곡선)을 나란히 그린다. OLS는 직선만 그릴 수 있어 비선형 패턴을 놓치고, 다항 회귀는 구불구불하게 과적합하며, GAM은 데이터 흐름을 자연스럽게 따라가면서도 과적합을 억제함을 시각적으로 확인할 수 있다.
12 전체 계보 요약
| 모형 | 반응변수 | 관계 | 독립성 | 추정 | 이전 모형의 한계 극복 |
|---|---|---|---|---|---|
| SLR | 연속 | 선형 | iid | OLS | (출발점) |
| MLR | 연속 | 선형 | iid | OLS | 설명변수 1개 → 여러 개 |
| 다항 회귀 | 연속 | 비선형 (모수적) | iid | OLS | 비선형 관계 포착 |
| GLM | 지수족 | 연결 함수 | iid | MLE (IRLS) | 비정규 반응변수 |
| 정규화 | 연속 | 선형 | iid | 벌칙 OLS | 고차원, 과적합 |
| 혼합 모형 | 지수족 | 연결 함수 | 클러스터 | REML | 비독립 관측치 |
| GAM | 지수족 | 비선형 (비모수) | iid/클러스터 | 벌칙 우도 | 함수적 형태 미지정 |
13 관련 주제
선행 지식
- ANOVA와 회귀의 통합 관점 — ANOVA와 회귀는 같은 선형 모형
- Simple Linear Regression: Overview — SLR 전체 로드맵
개별 모형 심화
- SLR 최소제곱 추정 — OLS 유도와 기하학적 해석
- SLR 분포와 가정 — Gauss-Markov 가정 상세
- Multiple Linear Regression — 행렬 OLS, Gauss-Markov, F-검정, 다중공선성
- GLM 프레임워크 — 지수족, 연결 함수, IRLS
- Logistic Regression: The Model — GLM 3요소, 로짓, 오즈비
- Logistic Regression: Estimation — Newton-Raphson, IRLS, 이탈도
- Robust Regression — OLS 취약성, LAD, M-추정, Huber ρ
- Regression with Errors in Variables — Functional vs Structural, 감쇠 편향
- 혼합 모형 입문 — 랜덤효과의 동기와 구조
관련 카테고리
- 선형대수 — 최소자승법 — OLS의 선형대수적 기초 (열 공간 위 정사영)