Regression Models Overview

선형 회귀에서 혼합 모형까지 — 회귀 모델 전체 계보

회귀 분석의 전체 지형을 한 포스트에서 조망한다. 단순 선형 회귀(SLR)에서 출발하여 다중 회귀, 일반화 선형 모형(GLM), 정규화 회귀(Ridge/Lasso), 혼합 모형, 비모수 회귀까지 각 모형이 왜 필요한지, 이전 모형의 어떤 한계를 극복하는지, 그리고 실무에서 어떻게 선택하는지를 체계적으로 정리한다.

Statistics
Regression
저자

Kwangmin Kim

공개

2026년 04월 07일

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의 두 가지 제약을 동시에 제거한다:

  1. \(Y\) 가 정규분포가 아니어도 된다 — 이항, 포아송, 감마, 역가우시안 등
  2. \(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)”이라 부른다.

상세: GLM — t-test부터 로지스틱 회귀까지

한계: 관측치가 독립이어야 한다. 동일 개체에서 반복 측정한 데이터(종단 데이터, 클러스터 데이터)에는 적용할 수 없다.


7 정규화 회귀 (Regularized Regression)

7.1 왜 필요한가

MLR에서 설명변수 \(p\) 가 많아지면 두 가지 문제가 발생한다:

  1. 과적합: 모형이 학습 데이터의 잡음까지 학습하여 새 데이터에 대한 예측력이 떨어진다
  2. \(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 관련 주제

선행 지식

개별 모형 심화

관련 카테고리

Subscribe

Enjoy this blog? Get notified of new posts by email: