최소제곱법

최소제곱법, 또는 최소자승법, 최소제곱근사법, 최소자승근사법(틀:Lang)은 어떤 계의 해방정식을 근사적으로 구하는 방법으로, 근사적으로 구하려는 해와 실제 해의 오차의 제곱의 합(SS)이 최소가 되는 해를 구하는 방법이다.
이 방법은 값을 정확하게 측정할 수 없는 경우에 유용하게 사용될 수 있으며, 특히 그 계의 방정식이 어떤 형태인지를 알고 있을 때 방정식의 상수 값들을 추정하는 데에 사용된다.
문제 정의
어떤 계에서 개의 관측값 ()가 있다고 가정할 때 설명변수와 종속변수간의 관계식을 추정하고자 한다. 회귀식의 설명변수는 m개가 있다고 가정한다. 설명변수 는 표본의 번째 관측값의 번 설명변수의 값으로 표기한다. 이 경우 회귀식은 다음과 같이 표현할 수 있다.
이 식을 행렬의 꼴로 축약해 나타내면 다음과 같은 형태로 표현할 수 있다.
여기서 는 종속변수 관측값을 나타낸 벡터이고, 는 설명변수를 모아 둔 디자인 행렬이다. 는 모수 벡터이고, 은 오차항을 모은 벡터이다. 이들을 행렬로 나타내면 다음과 같다.
- , , ,
오차항의 제곱합 의 값을 최소로 만드는 를 구하는 것이 문제의 목표이다.
선형 최소제곱법
틀:Mvar에 대응하는 틀:Mvar의 자료들이 있다고 할 때, 여기에 맞는 일차방정식은 이다. 여기서 틀:Mvar의 값을 알기 위해선 다음의 '정규방정식(normal equation)'을 연립한다.
응용
상수도 시설의 규모를 결정할 때 해당 상수도를 이용하게 될 도시의 장래 인구수를 추정해야 한다. 여러 가지 추정법 중 하나가 최소제곱법을 이용한 방법이다. 장래 인구수는 과거의 인구 통계자료를 가지고 연도에 따른 인구수의 방정식을 먼저 구한 뒤, 이를 이용해 계산하여 구한다.
n개의 연도와 인구 수 자료가 있다고 하자.
| 연도 | 인구 수 |
|---|---|
| x1 | y1 |
| x2 | y2 |
| … | … |
| xn | yn |
구하고자 하는 방정식은 이다. 상수 틀:Mvar값을 안다면, 장래의 연도 틀:Mvar를 대입했을 때 장래 인구 수 틀:Mvar를 알 수 있을 것이다. 틀:Mvar는 다음으로 계산한다.
예를 들어 1990년부터 1996년까지 기록된 인구 자료가 다음과 같다고 하자.
| 연도 | 인구(Y) |
|---|---|
| 1990 | 177800 |
| 1991 | 182500 |
| 1992 | 187000 |
| 1993 | 192300 |
| 1994 | 194500 |
| 1995 | 199200 |
| 1996 | 203700 |
계산의 편의를 위해 연도를 다음과 같이 치환한다.
| 연도(X) | 인구(Y) |
|---|---|
| -3 | 177800 |
| -2 | 182500 |
| -1 | 187000 |
| 0 | 192300 |
| 1 | 194500 |
| 2 | 199200 |
| 3 | 203700 |
정규방정식에 필요한 값들을 계산하면
정규방정식에 이 값들을 대입하면 a, b를 알 수 있다.
1993년이 으로 되었으므로 2000년은 을 대입하여 계산한다. 따라서 2000년의 인구 수는 220,650명으로 예측할 수 있다.