다중 선형 회귀
다중 선형 회귀
다중 선형 회귀(Multiple Linear Regression)는 하나의 종속 변수(dependent variable)와 두 개 이상의 독립 변수(independent variables) 간의 선형 관계를 모델링하는 통계적 기법이다. 머신러닝과 통계학에서 널리 사용되며, 특히 수치 예측 문제(regression problems)에서 기본이 되는 모델로 자리 잡고 있다. 이 문서에서는 다중 선형 회귀의 개념, 수학적 원리, 가정 조건, 활용 사례 및 구현 방법에 대해 설명한다.
개요
다중 선형 회귀는 단순 선형 회귀의 확장된 형태로, 여러 변수가 종속 변수에 미치는 영향을 동시에 분석할 수 있게 해준다. 예를 들어, 집값을 예측할 때 방의 수, 면적, 위치, 연식 등 여러 요인이 영향을 미친다면, 이들 독립 변수를 동시에 고려하여 보다 정확한 예측 모델을 구축할 수 있다.
이 모델은 다음과 같은 형태의 방정식으로 표현된다:
[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n + \epsilon ]
- ( y ): 종속 변수 (예: 집값)
- ( x_1, x_2, \dots, x_n ): 독립 변수 (예: 면적, 방의 수 등)
- ( \beta_0 ): 절편 (intercept)
- ( \beta_1, \beta_2, \dots, \beta_n ): 각 독립 변수의 회귀 계수
- ( \epsilon ): 오차 항 (error term), 잡음 또는 모델이 설명하지 못하는 부분
모델의 수학적 원리
1. 최소제곱법 (Ordinary Least Squares, OLS)
다중 선형 회귀의 계수는 일반적으로 최소제곱법(OLS)을 통해 추정된다. 이 방법은 관측값과 모델의 예측값 사이의 제곱 오차의 합을 최소화하는 계수를 찾는다.
수식으로 표현하면:
[ \min_{\beta} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 ]
여기서 ( \hat{y}i = \beta_0 + \beta_1 x{i1} + \cdots + \beta_k x_{ik} )는 예측값이다.
행렬 형태로 표현하면 다음과 같다:
[ \hat{\beta} = (X^T X)^{-1} X^T y ]
- ( X ): 독립 변수들의 설계 행렬 (design matrix)
- ( y ): 종속 변수 벡터
- ( \hat{\beta} ): 추정된 회귀 계수 벡터
이 식은 ( X^T X )가 역행렬을 가질 수 있을 때만 적용 가능하다. 만약 독립 변수들 사이에 완전한 다중공선성(multicollinearity)이 존재하면, 역행렬 계산이 불가능해진다.
다중 선형 회귀의 가정 조건
다중 선형 회귀 모델이 유효하려면 다음과 같은 통계적 가정을 만족해야 한다. 이를 고전적 회귀 가정(classical linear regression assumptions)이라고 한다.
- 선형성(Linearity): 종속 변수와 독립 변수 간의 관계는 선형이다.
- 오차의 정규성(Normality of errors): 오차 항 ( \epsilon )은 정규분포를 따른다.
- 등분산성(Homoscedasticity): 오차의 분산은 모든 관측치에 대해 일정하다.
- 오차의 독립성(Independence): 오차 항들은 서로 독립적이다 (자기상관 없음).
- 다중공선성의 부재(No multicollinearity): 독립 변수들 사이에 완전한 선형 관계가 없다.
이 가정들이 위반되면 회귀 계수의 추정이 편향되거나 신뢰구간이 부정확해질 수 있다.
활용 사례
다중 선형 회귀는 다양한 분야에서 활용된다.
- 부동산: 집값 예측 (면적, 위치, 연식, 방의 수 등)
- 의학: 환자의 혈압을 나이, 체중, 흡연 여부 등으로 예측
- 경제학: GDP 성장률 예측 (투자, 소비, 수출 등 변수 활용)
- 마케팅: 광고비 투자 대비 매출 예측 (TV, 온라인, 인쇄 광고 등)
장점과 한계
장점
- 해석이 직관적이고 쉬움 (각 계수는 해당 변수의 영향도를 의미)
- 계산이 간단하고 빠름
- 기반 이론이 잘 확립되어 있음
한계
- 비선형 관계를 포착하지 못함
- 이상치(outliers)에 민감함
- 독립 변수가 많을 경우 과적합(overfitting) 발생 가능
- 다중공선성 문제에 취약함
구현 예시 (Python)
다음은 Python의 [scikit-learn](/doc/%EA%B8%B0%EC%88%A0/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC/scikit-learn) 라이브러리를 사용한 간단한 다중 선형 회귀 구현 예시이다.
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 가상 데이터 생성
np.random.seed(42)
X = np.random.rand(100, 3) # 3개의 독립 변수
y = 3 + 2*X[:,0] + 5*X[:,1] + 1.5*X[:,2] + np.random.randn(100)*0.1 # 종속 변수
# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)
# 예측
y_pred = model.predict(X_test)
# 평가
print("R² 점수:", r2_score(y_test, y_pred))
print("MSE:", mean_squared_error(y_test, y_pred))
print("계수:", model.coef_)
print("절편:", model.intercept_)
관련 기법
다중 선형 회귀의 한계를 보완하기 위해 다음과 같은 확장 모델이 개발되었다:
- 릿지 회귀(Ridge Regression): L2 정규화를 통해 다중공선성 문제 완화
- 라쏘 회귀(Lasso Regression): L1 정규화로 변수 선택 기능 제공
- 엘라스틱넷(Elastic Net): 릿지와 라쏘의 혼합 모델
참고 자료 및 관련 문서
- [1] James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An Introduction to Statistical Learning. Springer.
- [2] Kutner, M. H., et al. (2005). Applied Linear Statistical Models. McGraw-Hill.
- 관련 문서:
- 단순 선형 회귀
- 정규화 회귀
- 회귀 분석의 가정 검정
다중 선형 회귀는 머신러닝의 기초이자 강력한 도구로, 데이터 기반 의사결정의 핵심 역할을 한다. 적절한 전처리와 가정 검토를 통해 신뢰할 수 있는 결과를 도출할 수 있다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.