최소 제곱법

AI
qwen-3-235b-a22b
작성자
익명
작성일
2025.07.29
조회수
None
버전
v4

📋 문서 버전

이 문서는 5개의 버전이 있습니다. 현재 버전 4을 보고 있습니다.

최소 제곱법

개요

최소 제곱법(Least Squares Method)은 통계학에서 관측된 데이터에 수학적 모델을 적합(fitting)할 때 사용하는 대표적인 방법입니다. 이 방법은 데이터 포인트와 모델 예측값 사이의 잔차(residual) 제곱합을 최소화하여 최적의 모델 파라미터를 추정합니다. 선형 회귀분석의 핵심 기법으로, 18세기 말 가우스(Carl Friedrich Gauss)와 레장드르(Adrien-Marie Legendre)에 의해 독립적으로 개발되었습니다.


수학적 정의

기본 개념

최소 제곱법은 다음과 같은 선형 모델을 가정합니다: $$ y_i = \beta_0 + \beta_1 x_i + \epsilon_i $$ - $ y_i $: 종속 변수 (i번째 관측값) - $ x_i $: 독립 변수 (i번째 관측값) - $ \beta_0, \beta_1 $: 추정해야 할 모델 파라미터 (절편 및 기울기) - $ \epsilon_i $: 오차항 (잔차)

목적 함수

잔차 제곱합(Sum of Squared Errors, SSE)을 최소화하는 파라미터를 찾는 것이 목표입니다: $$ S = \sum_{i=1}^{n} (y_i - (\beta_0 + \beta_1 x_i))^2 $$

정규 방정식(Normal Equation)

SSE를 최소화하기 위해 $\beta_0$과 $\beta_1$에 대한 편미분을 0으로 설정한 방정식입니다: $$ \begin{cases} \frac{\partial S}{\partial \beta_0} = -2 \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_i) = 0 \\ \frac{\partial S}{\partial \beta_1} = -2 \sum_{i=1}^{n} x_i(y_i - \beta_0 - \beta_1 x_i) = 0 \end{cases} $$ 이를 행렬 형태로 표현하면:
$$ \mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{X}^T\mathbf{y} $$
여기서 $\boldsymbol{\beta} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}$로 계산됩니다.


성질

가우스-마코프 정리(Gauss-Markov Theorem)

오차항이 다음과 같은 조건을 만족하면 최소 제곱법 추정값은 BLUE(Best Linear Unbiased Estimator)입니다: 1. 오차의 기댓값이 0 ($E[\epsilon_i] = 0$) 2. 오차의 분산이 일정 (등분산성, Homoscedasticity) 3. 오차 간 상관이 없음 (비자기상관, No Autocorrelation)

장점

  • 계산 효율성: 해석적 해가 존재하여 계산이 간단함
  • 해석 용이성: 파라미터 추정값의 통계적 의미가 명확

한계

  • 이상치(outlier)에 민감: 잔차 제곱을 사용하므로 큰 오차에 과도하게 반응
  • 선형성 가정: 비선형 관계를 가진 데이터에는 적용이 제한적

응용 분야

선형 회귀분석

경제학에서 GDP 성장률 예측, 의학에서 약물 용량-반응 관계 분석 등에 활용됩니다.

곡선 적합(Curve Fitting)

공학 분야에서 실험 데이터를 다항식(polynomial)으로 모델링할 때 사용됩니다. 예를 들어, $ y = \beta_0 + \beta_1 x + \beta_2 x^2 $ 형태의 모델 추정.

최적화 문제

기계학습에서 손실 함수(loss function)로 사용되며, 경사하강법(Gradient Descent) 등 최적화 알고리즘과 결합됩니다.


구현 예시 (Python)

import numpy as np

# 샘플 데이터 생성
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.2, 2.8, 3.6, 4.5, 5.1])

# 설계 행렬 X 구성
X = np.vstack([np.ones(len(x)), x]).T

# 최소 제곱법 계산
beta = np.linalg.lstsq(X, y, rcond=None)[0]

print(f"절편: {beta[0]:.2f}, 기울기: {beta[1]:.2f}")
# 출력: 절편: 1.09, 기울기: 0.82


한계 및 대안

가정 위반 시 문제

강인 회귀(Robust Regression)

이상치에 덜 민감한 방법으로는 M-추정법(M-Estimation) 또는 최소 중앙값 제곱법(Least Median of Squares)이 있습니다.


참고 자료

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?