선형 최소제곱법 피팅이란 무엇인가요?
\( (x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) \)이 아래의 산점도에 표시된 실험 데이터 포인트라고 하고, 다음과 같은 형태의 선형 모델을 사용하여 독립 변수 \( x \)의 다양한 값에 대한 종속 변수 \( y \)를 예측하려고 한다고 가정해 봅시다:
\[ y = ax + b \]
수학에서 널리 사용되는 절차는 아래 그래프에 표시된 바와 같이 수학적 모델 \( y = f(x) \)와 실험 데이터 포인트 사이의 수직 거리 \( d_1, d_2, \dots \)의 제곱합 \( D \)를 최소화하는 것입니다.
수학적 유도
사용할 선형 모델을 \( f(x) = ax + b \)라고 합시다. 따라서 수직 거리 \( d_1, d_2, \dots \)는 다음과 같이 주어집니다:
\[ d_1 = |y_1 - (ax_1 + b)|, \quad d_2 = |y_2 - (ax_2 + b)|, \quad \dots \]수직 거리 제곱의 합 \( D \)는 다음과 같이 쓸 수 있습니다:
\[ D = \sum_{i=1}^{N} (y_i - (ax_i + b))^2 \]\( D \)를 최소화하는 \( a \)와 \( b \)의 값은 \( D \)에 대한 \( a \)와 \( b \)의 편도함수를 동시에 0으로 만드는 값입니다. 따라서 편도함수를 계산합니다:
\[ \dfrac{\partial D}{\partial a} = \sum_{i=1}^{N} -2x_i(y_i - ax_i - b) \] \[ \dfrac{\partial D}{\partial b} = \sum_{i=1}^{N} -2(y_i - ax_i - b) \]두 도함수를 모두 0으로 설정하고 \( -2 \)로 나누면 정규방정식 시스템이 얻어집니다:
\[ \begin{cases} \sum_{i=1}^{N} x_i(y_i - ax_i - b) = 0 \\ \sum_{i=1}^{N} (y_i - ax_i - b) = 0 \end{cases} \]합을 전개합니다:
\[ \begin{cases} \sum_{i=1}^{N} x_iy_i - a \sum_{i=1}^{N} x_i^2 - b \sum_{i=1}^{N} x_i = 0 \\ \sum_{i=1}^{N} y_i - a \sum_{i=1}^{N} x_i - Nb = 0 \end{cases} \]\( a \)와 \( b \)가 포함된 항을 좌변으로 재배열합니다:
\[ \begin{cases} a \sum_{i=1}^{N} x_i^2 + b \sum_{i=1}^{N} x_i = \sum_{i=1}^{N} x_iy_i \\ a \sum_{i=1}^{N} x_i + Nb = \sum_{i=1}^{N} y_i \end{cases} \]행렬 형태로 표현하면:
\[ \begin{bmatrix} \sum_{i=1}^{N} x_i^2 & \sum_{i=1}^{N} x_i \\ \sum_{i=1}^{N} x_i & N \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} \sum_{i=1}^{N} x_iy_i \\ \sum_{i=1}^{N} y_i \end{bmatrix} \]\( 2 \times 2 \) 행렬에 대한 역행렬 공식을 사용하여 \( a \)와 \( b \)를 구합니다:
\[ a = \dfrac{N \sum_{i=1}^{N} x_iy_i - (\sum_{i=1}^{N} x_i)(\sum_{i=1}^{N} y_i)}{N \sum_{i=1}^{N} x_i^2 - (\sum_{i=1}^{N} x_i)^2} \] \[ b = \dfrac{-(\sum_{i=1}^{N} x_i)(\sum_{i=1}^{N} x_iy_i) + (\sum_{i=1}^{N} x_i^2)(\sum_{i=1}^{N} y_i)}{N \sum_{i=1}^{N} x_i^2 - (\sum_{i=1}^{N} x_i)^2} \]선형 최소제곱법 피팅 응용 예제
다음 실험 데이터 포인트에 대한 선형 최소제곱법 피팅 \( y = ax + b \)를 찾으세요:
\[ \{(1, 2), (3, 4), (2, 6), (4, 8), (5, 12), (6, 13), (7, 15)\} \]예제 풀이 보기
필요한 양들을 포함하는 표를 작성합니다:
| \( x_i \) | \( y_i \) | \( x_i y_i \) | \( x_i^2 \) |
|---|---|---|---|
| 1 | 2 | 2 | 1 |
| 3 | 4 | 12 | 9 |
| 2 | 6 | 12 | 4 |
| 4 | 8 | 32 | 16 |
| 5 | 12 | 60 | 25 |
| 6 | 13 | 78 | 36 |
| 7 | 15 | 105 | 49 |
전체 포인트 수는 \( N = 7 \)입니다.
\( \sum_{i=1}^{7} x_i = 1 + 3 + 2 + 4 + 5 + 6 + 7 = 28 \)
\( \sum_{i=1}^{7} y_i = 2 + 4 + 6 + 8 + 12 + 13 + 15 = 60 \)
\( \sum_{i=1}^{7} x_iy_i = 2 + 12 + 12 + 32 + 60 + 78 + 105 = 301 \)
\( \sum_{i=1}^{7} x_i^2 = 1 + 9 + 4 + 16 + 25 + 36 + 49 = 140 \)
공식에 대입합니다:
\[ a = \dfrac{7 \times 301 - 28 \times 60}{7 \times 140 - 28^2} = \dfrac{2107 - 1680}{980 - 784} = \dfrac{427}{196} \approx 2.1786 \] \[ b = \dfrac{-28 \times 301 + 140 \times 60}{7 \times 140 - 28^2} = \dfrac{-8428 + 8400}{196} = \dfrac{-28}{196} \approx -0.1429 \]선형 최소제곱법 피팅 계산기
실험 포인트가 주어지면, 이 계산기는 계수 \( a \)와 \( b \), 직선 방정식 \( y = ax + b \), 그리고 상관계수를 계산합니다. 또한 실험 포인트와 최적합 직선을 나란히 플롯합니다.
포인트를 쉼표로 구분하여 \((x_1, y_1), (x_2, y_2), \dots\) 형태로 입력하거나 기본 데이터를 사용하세요.
그래프를 PNG 형식으로 다운로드하려면 플롯의 우측 상단 모서리에 마우스를 올리세요.
더 많은 참고 자료 및 링크
- Edwards, A. L. An Introduction to Linear Regression and Correlation. San Francisco, CA: W. H. Freeman.
- 미적분학의 편도함수
- 풀이가 포함된 역행렬 질문
- 다변수 함수 튜토리얼 및 문제
- 풀이가 포함된 선형 회귀 문제
- Wikipedia의 선형 최소제곱법